Háttér. Mint a legtöbb szoftvernél, a CogStat (CS) esetében is van egy automatikus ellenőrző programunk, amely minden új kiadás előtt megnézni, hogy a CS helyesen számolja-e ki az eredményeket. Ehhez van egy adatsorunk és egy sor elemzés, amit az ellenőrző program lefuttat, és megnézni, hogy a CS még mindig azt az eredményt számlja-e ki, amit elvárunk. És azt várjuk el, amit más programok is kihoznának eredményként az adott adatsorra és elemzésre. Ezért van szükség arra, hogy megnézzük, hogy egyes elemzésekre más szoftverek, milyen eredményt számolnak ki.

A teszt adatokról és a teszt elemzésekről. Az oldal alján található az adatsor, amit a teszteléskor használunk. Az ellenőrző program (script), ami a tesztelést csinálja itt található: https://github.com/cogstat/cogstat/blob/devel/cogstat/test/validate_calculations.py. Itt a 90. sor környékétől kezdődik a lényeg. Mindig szerepel egy results = valami rész, ami valamilyen elemzést kér a CS-tól. Remélhetőleg a kódból kitalálható, hogy mit kér: a data. utáni rész mondja meg, hogy mi a kérdés (egy változó vizsgálata, csoportok összehasonlítása, stb.), és a zárójelben aposztrófok közt van megadva, hogy melyik változókat használjuk. Időnként szerepel néhány egyéb paraméter, remélhetőleg többnyire kitalálható, hogy melyek azok. Majd ezután jönnek olyan sorok, hogy self.assert..., és itt szerepelnek szövegek és számok, amik azt jelenti, hogy ezeket az eredményeket várjuk a kimeneten, mert elvileg ezek a helyesek. Az adott sorok előtt pedig # jel után látható, hogy melyik program melyik változatával milyen eredményt kaptunk.

Eredmények validálása más szoftverrel. A feladat, hogy a teszt elemzéseket lefuttassátok más szoftverekkel, és a megfelelő helyre beírjátok az eredményt. Az oldal alján található adatsor elvileg másolás-beillesztéssel berakható a legtöbb statisztikai szoftverbe. Ezek után neked kell megkeresni, hogy az adott szoftverben hogyan lehet az adott elemzést elvégezni. A validáló szoftver által kiszámolt eredményt pedig írd be a tesztelő scripbe. Technikailag csak töltsd le a validáló program fájlját, nyisd meg bármilyen szövegszerkesztővel, és abba írd bele az új szoftverre vonatkozó eredményeket. Minden ilyen sorba rakd be a monogramod a sor végére, és onnan tudom majd, hogy melyik sorokat raktad te be. Ha kész a feladat, akkor ezt a módosított .py fájlt küldd majd el nekem. 

A feladat az, hogy ahol a fenti ellenőrző scriptben a self.assert sor előtt nem szerepel olyan sor, ami megadná, hogy az adott elemzésre más szoftver milyen eredményt adna, akkor azt ki kell számolni, és bevinni a fájlba. Ha az adott self.assert fájl előtt már szerepel más szoftverre vonatkozó eredmény, de te másik szoftverrel való validálást végzel, akkor a te szoftveredre vonatkozó adatokat is fel kell vinni. Ha az adott elemzés nem érhető el a validáló szoftverben, akkor írj NA-t arra a helyre, ahová a kiszámított eredményed kerülne.

Elvileg a CS-től elvárt eredmény ugyanaz kellene legyen, mint amit más programoknál látunk. Néhol azonban a CS eredménye eltérhet más szoftverétől, és ez sokszor szándékos. Ezek némelyikéről van is leírás a CS dokumentációjában: https://doc.cogstat.org/Differences-in-calculations-between-CogStat-and-other-programs Némely más eltérésről a fenti ellenőrző program kódjában vannak megjegyzések. Ha azt látod, hogy a CS másként számol, mint a te szoftvered, akkor írj oda egy megjegyzést. Ha netán azt is tudod, hogy miért számol másként (pl. milyen változatot használ az egyik és a másik szoftver), akkor azt is odaírhatod, de ez opcionális.

További infó. A feladat leírásának néhány részlete megtalálható a test_stat.py fájl elején is az import részek után, illetve néhol hasznos információk szerepelnek a fájlban a # jelek után.


A teszteléshez használt adatsor


        a         b    c    d       e       f       g       h    i    j    k      l    m    n       o       p    q       r           s

0   3.445    15.702  0.0  1.0   3.104   8.238   4.930  -5.250  1.0  1.0  1.0 -0.547  1.0  1.0   1.852   7.002  1.0  -0.349  -13.428233

1   4.060    17.008  2.0  1.0   2.141  14.041   7.693   8.789  0.0  1.0  0.0  3.889  1.0  2.0   6.732  -3.659  1.0   3.826  102.985120

2  -0.262  1102.876  0.0  1.0   2.484   3.582   8.408   3.519  1.0  1.0  1.0  3.249  1.0  2.0   1.702   1.191  1.0   3.435   64.272700

3   3.741     9.061  1.0  2.0   1.554   5.558   9.929   6.795  0.0  1.0  0.0  1.519  1.0  2.0   0.265   1.626  1.0   7.663  164.448453

4   2.529  2289.004  0.0  0.0   1.706   4.174   1.472  -7.085  0.0  0.0  0.0 -1.375  1.0  2.0   5.984   5.925  1.0  -3.444  -79.661560

5   4.311   564.067  2.0  2.0   6.213   5.715   6.407   9.422  1.0  0.0  1.0 -0.582  1.0  2.0  -1.113  -0.057  1.0   2.649   61.307080

6   0.461    18.739  2.0  0.0  10.130   3.003   3.874   7.349  1.0  0.0  0.0  2.173  1.0  2.0   1.479   3.788  1.0   0.528   18.060360

7   9.500   210.706  1.0  0.0   0.896   4.281  10.111   3.633  1.0  0.0  1.0  8.369  1.0  2.0   8.320   7.300  1.0   8.712  178.047240

8   4.003     0.697  2.0  2.0   3.606   2.912   4.501  18.771  0.0  1.0  0.0  4.328  1.0  2.0   8.140   6.855  1.0   2.373   74.963640

9   1.866    87.791  1.0  2.0   2.295  16.458   7.015  19.450  1.0  1.0  0.0  3.931  1.0  2.0  -2.327   6.029  1.0   7.476  203.658640

10  4.789     7.167  0.0  1.0   6.196   7.438  -0.752  10.636  0.0  0.0  1.0  4.823  1.0  2.0   8.414   6.478  2.0   6.663  116.888640

11  9.160     0.163  0.0  2.0   2.155   2.854   6.336   7.670  1.0  0.0  1.0  0.368  1.0  2.0  -1.838   8.894  2.0   6.033  138.787200

12  2.880    18.265  0.0  1.0  -0.309   2.228   7.261   0.729  1.0  1.0  0.0  7.723  1.0  2.0  -0.011   5.539  2.0   5.391  108.441180

13  1.270    80.701  0.0  1.0   3.004   4.015   4.397   3.338  1.0  1.0  0.0 -2.142  1.0  2.0   5.030   0.072  2.0   5.621  102.754753

14  2.817  1177.480  0.0  2.0   2.095   4.927   9.368   3.943  1.0  0.0  1.0  2.248  1.0  2.0   4.378   3.605  2.0   7.356  149.984120

15  5.993     5.383  1.0  0.0   4.039   3.693   6.660   4.803  1.0  0.0  1.0  3.520  2.0  2.0   0.959  -5.975  2.0   7.409  170.665813

16  8.325     0.451  2.0  2.0   5.870   5.781   2.146   9.453  1.0  1.0  1.0  1.174  2.0  2.0   2.734   7.186  2.0  -0.119    7.683073

17 -1.014     3.516  0.0  2.0   5.825   3.247   8.161   2.947  0.0  1.0  0.0  4.055  2.0  2.0  12.313   1.455  2.0   1.966   30.418573

18  5.395     0.726  2.0  2.0   3.604   2.726   4.925   2.896  1.0  0.0  1.0  6.195  2.0  2.0  19.284   9.064  3.0  10.741  244.854927

19 -2.289     1.016  0.0  1.0   7.673   2.239   1.012   8.148  1.0  1.0  0.0  9.976  2.0  2.0   3.893   4.881  3.0   1.727   45.888707

20  2.206    76.687  1.0  1.0  -3.616  11.663   8.319  13.888  0.0  0.0  0.0  7.676  2.0  2.0   6.432  16.469  3.0   7.376  131.117227

21  2.829     2.873  1.0  0.0  -0.338   1.883   2.536  10.667  0.0  1.0  0.0  3.602  2.0  2.0   1.509  -4.643  3.0   2.407   56.817213

22 -2.803     3.099  0.0  0.0   1.408   4.370   4.978   6.758  0.0  0.0  0.0  6.572  2.0  2.0  40.497   1.393  3.0  10.607  240.819133

23 -1.486   501.308  0.0  2.0  -0.774   1.851   8.718  -2.255  0.0  1.0  1.0 -0.217  2.0  2.0   3.817  -1.394  3.0   9.854  165.328693

24  3.136     3.773  1.0  0.0   1.617   5.135   9.203   9.888  1.0  0.0  1.0  3.461  2.0  2.0  31.534  14.284  3.0   5.034  102.647840

25  9.981     0.868  2.0  2.0   2.134   2.018   2.403   0.755  0.0  1.0  0.0  6.083  2.0  2.0  82.679   4.364  3.0   6.314  143.830240

26  4.413     3.059  0.0  0.0   2.509  10.131   8.727  13.423  1.0  0.0  0.0  2.556  2.0  2.0  18.217   5.841  3.0   9.039  160.698440

27  0.139    13.684  0.0  0.0   7.827   2.947   0.186  -0.745  0.0  1.0  1.0  2.359  2.0  2.0  25.358  -4.746  3.0  10.240  190.606467

28  2.486   711.179  0.0  1.0   6.557   8.728   9.308  17.613  1.0  1.0  1.0  4.778  2.0  2.0   3.217  10.952  3.0   5.471   98.109647

29  2.432    31.064  0.0  1.0  -0.098   5.207   3.653   7.411  0.0  1.0  0.0  6.848  2.0  2.0  49.939  -2.133  3.0   8.084  195.822093