Nou în

Teste neparametrice pentru tendință

Testele de tendință implică răspunsuri în grupuri ordonate. Ei testează dacă valorile răspunsului tind să crească sau să scadă între grupuri.
Testele de tendință sunt utilizate în mod obișnuit atunci când există doar o cantitate mică de date și nu există covariabile de controlat și se dorește un test care să dea o valoare p valabilă în eșantioane mici. nptrend are o opțiune de a calcula valorile p exacte bazate pe permutări Monte Carlo sau o enumerare completă a distribuției permutării (aceasta din urmă practică doar pentru eșantioane extrem de mici).
nptrend efectuează patru teste diferite pentru tendință:
• Testul Cochran–Armitage,
• Testul Jonckheere–Terpstra
• Testul liniar cu liniar, și
• Un test care folosește nivele dezvoltat de Cuzick
Pentru a calcula statistica Cochran – Armitage pentru tendință, tastați

. nptrend relief, group(dose) carmitage

Repere

  • nptrend efectuează patru teste nonparametrice pentru tendință
    • Testul Cochran–Armitage
    • Testul Jonckheere–Terpstra
    • Test liniar cu liniar
    • Testul lui Cuzick cu nivele
  • opțiune pentru valorile p exacte

Să vedem cum funcționează

Pentru testul Cochran – Armitage (când răspunsul este 0/1), testul tendinței liniar cu liniar și testul lui Cuzick, grupurile au și scoruri. Testează tendința în proporțiile răspunsurilor pozitive în cadrul grupurilor.
Aici avem date fictive dintr-un studiu clinic al unui nou medicament pentru tratarea migrenelor. Doza variabilă conține doza de medicament administrată unui subiect. Relieful variabil este 0/1, cu 0 care nu indică relief și 1 relief parțial sau total.
Iată o tabelare a datelor:

. webuse migraine
(Fictional migraine drug data)

. tabulate dose relief, row nokey


Relief of migraine

after 2 hours

0 1
Total

80 120
200

40.00 60.00
100.00

92 108
200

46.00 54.00
100.00

83 117
200

41.50 58.50
100.00

63 137
200

31.50 68.50
100.00

318 482
800

39.75 60.25
100.00

Mycureit dose in mg 10 20 30 40 Total

Vom testa dacă există o tendință în funcție de doză în proporția subiecților care au raportat scutire.

. nptrend relief, group(dose) carmitage

Cochran–Armitage test for trend

   Number of observations =      800
         Number of groups =        4
Number of response levels =        2


Mean

response Number

Group score score of obs

10 .6 200

20 .54 200

30 .585 200

40 .685 200

Group dose 10 20 30 40

Statistic = .003 Std. err. = .0015476 z = 1.939 Prob > |z| = 0.0526 Test of departure from trend: chi2(2) = 5.45 Prob > chi2 = 0.0656

nptrend afișează mai întâi un tabel cu scorul mediu de răspuns al grupului. Scorul mediu de răspuns în acest caz este pur și simplu proporția subiecților din grupul care a raportat scutirea.
Testele statistice Cochran – Armitage z pentru o tendință liniară. De asemenea, se calculează o statistică X2 care testează abaterea de la o tendință liniară.
Atunci când statistica z pentru tendința liniară sau statistica X2 pentru abaterea de la tendința liniară este mare, înseamnă că testul pentru independența dintre răspuns și grup este respins. z fiind mare înseamnă că există o tendință liniară care respinge independența. X2 fiind mare înseamnă că există diferențe, altele decât tendința liniară care respinge independența.
În exemplul de mai sus, testul liniar pentru tendință a dat o valoare p de 0,0526, care nu a atins prea multă semnificație la nivelul 0,05. Testul de abatere de la tendință a dat o valoare p de 0,0656, ceea ce înseamnă că există dovezi slabe, care nu ating semnificația, pentru o asociere neliniară între doză și ameliorare.
Tendințele, altele decât cele liniare, pot fi, de asemenea, testate folosind opțiunea scoregroup(). Pentru acest exemplu, specificarea scoregroup (1 4 9 16) ar testa o tendință pătratică în doză.
Testul Cochran – Armitage necesită ca răspunsurile să fie 0/1 sau altfel indicatorul grupului să fie 0/1. Celelalte teste de tendință calculate de nptrend nu au nicio restricție asupra răspunsului; variabila de răspuns poate avea orice valoare.
Iată un exemplu cu răspunsurile la expunerea oculară la radiații ultraviolete pentru 32 de perechi de ochelari de soare. Ochelarii de soare sunt clasificați în 3 grupe în funcție de cantitatea de lumină vizibilă transmisă. Enumerăm câteva dintre datele:

. webuse sg
(Ultraviolet radiation exposure with sunglasses)

. list in 1/12, separator(6)


group exposure

< 25% 1.4

< 25% 1.4

< 25% 1.4

< 25% 1.6

< 25% 2.3

< 25% 2.5

25% to 35% .9

25% to 35% 1

25% to 35% 1.1

25% to 35% 1.1

25% to 35% 1.2

25% to 35% 1.2

  1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

Testul Jonckheere – Terpstra este util atunci când nu este clar care ar putea fi tendința și pur și simplu dorim să testăm pentru orice tendință. Testează dacă ordonarea răspunsurilor este asociată cu ordonarea grupurilor.
Pentru a calcula testul Jonckheere – Terpstra, specificăm opțiunea jterpstra.

To compute the Jonckheere–Terpstra test, we specify the option jterpstra.

. nptrend exposure, group(group) jterpstra

Jonckheere–Terpstra test for trend

   Number of observations =       32
         Number of groups =        3
Number of response levels =       23


Mean

response Number

Group score score of obs

1 1.766667 6

2 2.311111 18

3 4.85 8

Group group < 25% 25% to 35% > 35%

Statistic = 82 Std. err. = 54.80056 z = 1.496 Prob > |z| = 0.1346

Vedem că scorul de răspuns mediu crește pe măsură ce indicatorul grupului crește, dar valoarea p din testul Jonckheere – Terpstra este de 0,1346, neavând o semnificație la nivelul 0,05.
Deoarece testele statistice Jonckheere – Terpstra pentru orice tip de tendință în răspunsurile la grupuri ordonate, nu va fi la fel de puternic ca un test care să ipotezeze cu exactitate adevărata tendință. Testul de tendință liniar cu liniar vă permite să faceți exact acest lucru. Testul de tendință liniar cu liniar utilizează valorile numerice ale răspunsurilor pentru a specifica tendința testată. Modul în care se presupune că tendința variază între grupuri este specificat de valorile numerice ale variabilei grupului.
Statistica liniar cu liniar este echivalentă cu coeficientul de corelație Pearson, diferența fiind că coeficientul de corelație Pearson este standardizat de abaterile standard ale scorurilor. Valorile p sunt ușor diferite, deoarece valoarea p pentru testul liniar cu liniar se bazează pe distribuția sa de permutare, în timp ce valoarea p pentru coeficientul de corelație Pearson își asumă normalitatea.
Pentru a calcula testul liniar cu liniar, specificăm opțiunea liniear. De asemenea, specificăm notable pentru a suprima afișarea scorurilor de răspuns mediu pe grupe.

. nptrend exposure, group(group) linear notable

Linear-by-linear test for trend

   Number of observations =       32
         Number of groups =        3
Number of response levels =       23

                Statistic = .7035156
                Std. err. = .3063377
                        z =    2.297
               Prob > |z| =   0.0216

Valoarea p din testul liniar cu liniar este de 0,0216, ceea ce este considerabil diferit de valoarea p calculată de testul Jonckheere – Terpstra, care a fost 0,1346. Acest lucru nu este surprinzător deoarece testul liniar cu liniar presupune o tendință specifică bazată pe valori numerice, în timp ce testele statistice Jonckheere – Terpstra pentru orice tendință.
Al patrulea test de tendință calculat de nptrend este un test bazat pe rangurile dezvoltate de Cuzick.

. nptrend exposure, group(group) cuzick

. nptrend exposure, group(group) cuzick notable

Cuzick's test with rank scores

   Number of observations =       32
         Number of groups =        3
Number of response levels =       23

                Statistic =  1.65625
                Std. err. = 1.090461
                        z =    1.519
               Prob > |z| =   0.1288

În acest caz, produce o valoare p care este similară cu valoarea p din testul Jonckheere – Terpstra.

Valori exacte ale lui p

nptrend va calcula, de asemenea, valorile p exacte folosind permutările Monte Carlo atunci când este specificată opțiunea exact. Aici calculăm valoarea p exactă pentru testul Jonckheere – Terpstra.

. nptrend exposure, group(group) jterpstra notable exact

Permutations (10,000): ..........1,000..........2,000..........3,000..........4,000..........5,00
> 0..........6,000..........7,000..........8,000..........9,000..........10,000 done

Jonckheere–Terpstra test for trend

   Number of observations =       32
         Number of groups =        3
Number of response levels =       23

                Statistic =       82
                Std. err. = 54.80056
                        z =    1.496
               Prob > |z| =   0.1346
               Exact prob =   0.1510 (10,000 Monte Carlo permutations)

În mod implicit, sunt utilizate 10.000 de permutări Monte Carlo. Acest lucru a dat o valoare p exactă de 0,1510, diferit ușor de valoarea p de 0,1346, calculată utilizând o aproximare normală.
Permutările Monte Carlo dau rezultate cu erori aleatorii, astfel încât pentru mai multă precizie, pot fi calculate mai multe permutări. Mai jos, folosim 100.000 de permutații și avem un punct afișat la fiecare 1.000 de permutații pentru a monitoriza progresul. Specificăm un seed cu număr aleator, astfel încât să putem duplica rezultatele și opțiunea arată, care afișează un tabel detaliat al rezultatelor Monte Carlo.

. nptrend exposure, group(group) jterpstra notable ///
> exact(montecarlo, reps(100000) dots(1000) rseed(1234) show)

Permutations (100,000): ..........10,000..........20,000..........30,000..........40,000....
> ......50,000..........60,000..........70,000..........80,000..........90,000..........100,
> 000 done

Monte Carlo permutation results                Number of observations =      32
Permutation variable: group                    Number of permutations = 100,000


 

Monte Carlo error

T(obs) Test c n pSE(p) [95% CI(p)]

82 lower 93358 100000 .9336.0008 .9320 .9351

upper 6874 100000 .0687.0008 .0672 .0703

two-sided .1375.0011 .1353 .1396

T _pm_1

Notes: For lower one-sided test, c = #{T <= T(obs)} and p = p_lower = c/n. For upper one-sided test, c = #{T >= T(obs)} and p = p_upper = c/n. For two-sided test, p = 2*min(p_lower, p_upper); SE and CI approximate. Jonckheere–Terpstra test for trend Number of observations = 32 Number of groups = 3 Number of response levels = 23 Statistic = 82 Std. err. = 54.80056 z = 1.496 Prob > |z| = 0.1346 Exact prob = 0.1375 (100,000 Monte Carlo permutations)

Valoarea exactă a lui p din calculul Monte Carlo este 0,1375, aproape de valoarea p aproximativă de 0,1346. Din tabelul detaliat al rezultatelor, vedem că intervalul de încredere de 95% pentru valoarea p Monte Carlo este [0.1353, 0.1396], care nu include valoarea lui p aproximativă.
Acest exemplu are doar 32 de observații. Dacă dorim să publicăm rezultatele, probabil că am dori să rulăm din nou nptrend, specificând 1.000.000 sau mai multe permutări pentru a reduce în continuare eroarea Monte Carlo. Permutările sunt generate folosind un algoritm rapid, iar calculul nu necesită mult timp.
Pentru seturi de date extrem de mici, opțiunea exact(enumerate) poate fi utilizată pentru a enumera complet distribuția permutării. Oferă o valoare p exactă fără nicio eroare Monte Carlo.