Testul Cochran pentru compararea mai multor esantioane. Program aplicativ.
Costescu, Mihai-Radu
Este un test aplicat pentru verificarea omogenitatii mai multor
esantioane intrun caz particular si anume cazul in care variabila luata
in considerare este dihotomica sau poate fi dihotomizata. Dihotomizarea
unei variabile se poate face prin alocarea semnului "+" acelei
valori a variabilei care depaseste un anumit nivel de referinta ales (de
obicei, mediana) sau a semnului "-" in cazul in care acea
valoare este mai mica decat nivelul de referinta ales. In cazul
variabilei dihotomice, semnul "+" va semnala prezenta
fenomenului (admis, promovat, prezent, raspuns afirmativ etc.), iar
semnul "-" va semnala absenta fenomenului (respins,
nepromovat, absent, raspuns negativ etc.). Se bazeaza pe o statistica
[X.sup.2].
Se testeaza deci ipoteza:
[H.sub.0] : cele k esantioane sunt omogene; cu alternativa
[H.sub.1] : cel putin doua esantioane difera semnificativ.
Pentru aplicarea testului se calculeaza statistica:
[X.sup.2] = (k - 1) k x [suma] [C.sup.2.sub.j] - [T.sup.2]/k x T -
[suma][L.sup.2.sub.i]
unde:
[C.sub.j] = totalul semnelor "+" pentru coloana j;
[L.sub.i] = totalul semnelor "+" pentru linia i;
T = totalul general al semnelor "+";
k = numarul probelor (coloanelor).
Valoarea [X.sup.2] astfel calculata se compara cu valoarea
[X.sup.2.sub.k-1[alfa] tabelara corespunzatoare numarului k - 1 al
gradelor de libertate (k fiind numarul probelor) si nivelului de
semnificatie [alfa] ales.
In cazul in care aceasta valoare calculata este mai mica decat cea
tabelara se accepta ipoteza conform careia distributiile nu difera,
respingandu-se in caz contrar.
Pentru utilizarea acestui test s-a realizat o procedura Turbo
Pascal, prezentata in continuare. Restrictiile impuse pentru aplicarea
procedurii privesc numarul de sondaje (probe), maxim 20 si volumele
probelor (egale), maxim 100. In final, procedura decide daca
esantioanele pot fi considerate omogene, sau nu.
procedure cochran_omogenitate;
{Procedura realizeaza verificarea omogenitatii unui numar de maxim
20 sondaje, fiecare de volum maxim 100 datele sondajelor fiind
dihotomizate, + simbolizand prezenta fenomenului, iar--absenta lui}
const plus= '+';
type matr=array[1..20,1..100] of char;
vector_linie=array[1..20] of integer;
vector_coloana=array[1..100] of integer;
var i,j,k,n:integer;
hi,hi_calculat,t,c2,I2:real;
r:matr;
c:vector_linie;
l:vector_coloana;
begin
write('Introduceti numarul sondajelor k = ');
readln(k);
write('Introduceti volumul sondajelor n = ');
readln(n);
writeln('Introduceti valoarea hi patrat corespunzatoare');
writeln('numarului de sondaje k-1');
write('si nivelului de semnificatie ales hi = ');
readln(hi);
t:=0;
for j:=1 to k do
c[j]:=0;
for i:=1 to n do
l[i]:=0;
for j:=1 to k do
begin
writeln('Sondajul ',j); for
for i:=1 to n do begin
write('r(',i,',',j,')=');
readln(r[i,j]);
end;
end;
for j:=1 to k do
for i:=1 to n do
if r[i,j]=plus then begin
c[j]:=c[j]+1;
l[i]:=l[i]+1;
t:=t+1;
end;
c2:=0;
l2:=0;
for j:=1 to k do
c2:=c2+sqr(c[j]);
for i:=1 to n do
l2:=l2+sqr(l[i]);
hi_calculat:=[(k-1).sup.*]([k.sup.*]c2-[t.sup.*]t)/
([k.sup.*]t-l2);
if hi_calculat<hi
then
begin
writeln('hi calculat = ',hi_calculat:5:2,'
< ',hi:5:2,' = hi');
writeln('sondajele sunt omogene');
end
else
begin
writeln('hi calculat = ',hi_calculat:5:2,'
> ',hi:5:2,' = hi');
writeln('sondajele nu sunt omogene');
end;
end;
De exemplu, sa presupunem ca un grup de 15 candidati a raspuns la 7
teste. Se cere verificarea ipotezei potrivit careia raspunsurile nu
difera semnificativ intre testele analizate, rezultatele fiind apreciate
prin admis/ respins.
Cand. Test1 Test2 Test3 Test4 Test5 Test6 Test7
1 + + - + - - +
2 - + + - - + +
3 + - + + + + -
4 - + + + - + +
5 + + + - + + +
6 + - + + + + -
7 - - - + - - -
8 + + + + + - +
9 - + - + - + -
10 + + - - - + +
11 + + + + + + -
12 + - - - - - +
13 - + - - + - +
14 + + + + - + +
15 - + + - - + -
[C.sub.j] 9 11 9 9 6 10 9
[C.sub.2] 81 121 81 81 36 100 81
Cand. [L.sub.i] [L.sup.2.sub.i]
1 4 16
2 4 16
3 5 25
4 5 25
5 6 36
6 5 25
7 1 1
8 6 36
9 3 9
10 4 16
11 6 36
12 2 4
13 3 9
14 6 36
15 3 9
[C.sub.j] 63 299
[C.sub.2] 581
Avem:
[suma][C.sup.2.sub.j] = 581; [suma][L.sup.2.sub.i] = 299 ;
[T.sup.2] = [63.sup.2] = 3969.
Inlocuind, obtinem:
[X.sup.2] = (k - 1)k x [suma][C.sup.2.sub.j] - [T.sup.2]/k x T -
[suma][L.sup.2.sub.i] = (7 - 1) 7 x 581 - 3969/7 x 63 - 299 = 6 x 98/142
= 4,14
Pentru un nivel de semnificatie [alfa] = 0,05 si k = 7 -1 = 6 grade
de libertate, avem [X.sup.2.sub.6;0,05 = 12,59.
Deoarece
4,14 = [X.sup.2] < [X.sup.2.sub.6;0,05 = 12,59,
acceptam cu o probabilitate de 95% ipoteza conform careia
raspunsurile nu difera semnificativ intre testele analizate.
Ruland procedura prezentata, pentru acest exemplu, obtinem:
hi calculat = 4.14 < 12.59 = hi sondajele sunt omogene
Bibliografie
(1.) Costescu, Mihai-Radu, Metode statistice aplicate in stiintele
sociale, Casa de presa si editura Libertatea, Panciova, 2007
(2.) Costescu, Mihai-Radu, Ionascu, Costel, Prelucrarea electronica
a informatiei, Editura Universitaria, Craiova, 2001