Pitanje:
Zašto linearna regresija i ANOVA daju različitu $ p $ -vrijednost u slučaju razmatranja interakcije između varijable?
ccshao
2012-05-22 20:44:22 UTC
view on stackexchange narkive permalink

Pokušavao sam uklopiti podatke iz jedne vremenske serije (bez replikata) koristeći regresijski model. Podaci izgledaju kako slijedi:

  > xx.2 value time treat 1 8.788269 1 0 2 7.964719 6 0 3 8,204051 12 0 4 9,041368 24 0 5 8,181555 48 0 6 8,041419 96 0 7 7,992336 144 0 8 7,948658 1 1 9 8,090211 6 1 10 8,031459 12 1 11 8,118308 24 1 12 7,699051 48 1 13 7,537120 96 1 14 7,268570 144 1 

Zbog nedostatka replika, vrijeme tretiram kao kontinuiranu varijablu. Stupac "poslastica" prikazuje podatke o slučaju i kontrolne podatke.

Prvo, u model "value = time * treat" uklapam model "lm" u R :

  sažetak (lm (vrijednost ~ vrijeme * poslastica, podaci = xx.2)) Poziv: lm (formula = vrijednost ~ vrijeme * postupanje, podaci = xx.2) Rezidualni podaci: Min 1Q Medijan 3Q Max -0,50627 -0,12345 0,00296 0,04124 0,63785 Koeficijenti: Procjena Std. Vrijednost pogreške t Pr (> | t |) (Presretanje) 8,493476 0,156345 54,325 1,08e-13 *** vrijeme -0,003748 0,002277 -1,646 0,1307 poslastica -0,411271 0,221106 -1,860 0,0925. time: treat -0.001938 0.003220 -0.602 0.5606 

Vrijednost vremena i poslastice nije značajna.

Iako sam s anovom postigla različite rezultate:

  sažetak (aov (vrijednost ~ vrijeme * tretman, podaci = xx.2)) Df Zbir Sq Srednja Sq F vrijednost Pr (>F) vrijeme 1 0,7726 0,7726 8,586 0,0150 * tretman 1 0,8852 0,8852 9,837 0,0106 * vrijeme: postupati 1 0,0326 0,0326 0,362 0,5606 Preostali ostaci 10 0,8998 0,0900 

Vrijednost vremena i tretmana promijenjena je.

S linearnom regresijom, ako sam u pravu, to znači vrijeme i poslastica nema značajan utjecaj na vrijednost, ali s ANOVA-om to znači da vrijeme i poslastica imaju značajan utjecaj na vrijednost.

Može li mi netko objasniti zašto postoje razlike u ove dvije metode i koja se koristiti?

Možda ćete htjeti potražiti različite vrste zbrojeva kvadrata. Točnije, vjerujem da linearna regresija vraća zbroj kvadrata tipa III, dok anova vraća drugu vrstu.
Ako spremite rezultate `lm` i` aov`, možete provjeriti da li proizvode identično; npr. usporedite njihove ostatke s funkcijom `ostaci` ili ispitajte njihove koeficijente (utor za` $ koeficijente` u oba slučaja).
četiri odgovori:
gregmacfarlane
2012-05-23 05:31:26 UTC
view on stackexchange narkive permalink

Odgovor Petera Ellisa je izvrstan, ali treba istaknuti još jednu stvar. Statistika $ t $ -testa (i njezina $ p $ -vrijednost) test je je li $ \ beta = 0 $. $ F $ -test na ispisu anova () je da li dodana varijabla značajno smanjuje preostali zbroj kvadrata.

$ t $ -test neovisan je o redoslijedu, dok $ F $ -test nije. Otuda i Petrov prijedlog da probate varijable različitim redoslijedom. Također je moguće da varijable značajne u jednom testu možda neće biti značajne u drugom (i obrnuto).

Moj osjećaj (i drugi suradnici su dobrodošli da me isprave) je da kada pokušavate za predviđanje pojava (kao u sistemskoj aplikaciji), najviše vas zanima smanjenje varijance s najmanje prediktora, i zato želite rezultate anova () . Ako pokušavate uspostaviti granični učinak $ X $ na $ y $, najviše ćete biti zabrinuti zbog značaja vašeg određenog $ \ beta $ interesa, a sve ostale varijable samo će kontrolirati alternativna objašnjenja vaših recenzenata pokušat će pronaći.

Peter Ellis
2012-05-23 00:48:30 UTC
view on stackexchange narkive permalink

Pogodnosti za lm () i aov () su identične, ali izvještavanje je različito. T testovi su granični utjecaj dotičnih varijabli, s obzirom na prisutnost svih ostalih varijabli. F testovi su sekvencijalni - tako se ispituje važnost vremena u nazočnosti ničega osim presretanja, liječenja u prisutnosti ničega osim presretanja i vremena te interakcije u prisutnosti svega navedenog.

Pod pretpostavkom da vas zanima značaj poslastice, predlažem da uklopite dva modela, jedan s jednim i jedan bez, usporedite dva stavljajući oba modela u anova () i upotrijebite taj F test. Ovo će istodobno testirati tretman i interakciju.

Uzmite u obzir sljedeće:

  > xx.2 <- as.data.frame (matrica (c (8.788269, 1, 0, + 7,964719, 6, 0, + 8,204051, 12, 0, + 9,041368, 24, 0, + 8,181555, 48, 0, + 8,041419, 96, 0, + 7,992336, 144, 0, + 7,948658, 1, 1 , + 8.090211, 6, 1, + 8.031459, 12, 1, + 8.118308, 24, 1, + 7.699051, 48, 1, + 7.537120, 96, 1, + 7.268570, 144, 1), byrow = T, ncol = 3)) > imena (xx.2) <- c ("vrijednost", "vrijeme", "liječenje") > > mod1 <- lm (vrijednost ~ vrijeme * liječenje, podaci = xx.2) > anova (mod Analiza varijanse TableOdgovor: vrijednost Df Zbir Sq Srednja Sq F vrijednost Pr (>F) vrijeme 1 0,77259 0,77259 8,5858 0,01504 * tretman 1 0,88520 0,88520 9,8372 0,01057 * vrijeme: tretman 1 0,03260 0,03260 0,3623 0,56064 Reziduali 10 0,89985 0,08998 --- Signi. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 > mod2 <- aov (vrijednost ~ vrijeme * tretman, podaci = xx.2) > anova (mod2) Analiza Tablica varijanceOdgovor: vrijednost Df Zbir Sq Srednja Sq F vrijednost Pr (>F) vrijeme 1 0,77259 0,77259 8,5858 0,01504 * tretman 1 0,88520 0,88520 9,8372 0,01057 * vrijeme: tretman 1 0,03260 0,03260 0,3623 0,56064 Reziduali 10 0,89985 0,08998 ---
Signif. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 Sažetak > (mod2) Df Zbir Sq Srednja Sq F vrijednost Pr (>F) vrijeme 1 0,7726 0,7726 8,586 0,0150 * tretman 1 0,8852 0,8852 9,837 0,0106 * vrijeme: tretirati 1 0,0326 0,0326 0,362 0,5606 Preostali ostaci 10 0,8998 0,0900 --- Oznaka. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 Sažetak > (mod1) Poziv: lm (formula = vrijednost ~ vrijeme * tretman, podaci = xx.2) Rezidualni: Min. 1Q Medijan 3Q Maks. -0,50627 -0,12345 0,00296 0,04124 0,63785 Koeficijenti: Procjena Std. Vrijednost pogreške t Pr (> | t |) (Presretanje) 8,493476 0,156345 54,325 1,08e-13 *** vrijeme -0,003748 0,002277 -1,646 0,1307 poslastica -0,411271 0,221106 -1,860 0,0925. vrijeme: poslastica -0,001938 0,003220 -0,602 0,5606 --- Oznaka. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 Preostala standardna pogreška: 0,3 na 10 stupnjeva slobode Višestruki R-kvadrat: 0,6526, Prilagođeni R-kvadrat: 0,5484 F-statistika : 6,262 na 3 i 10 DF, p-vrijednost: 0,01154  
Hvala na temeljitom objašnjenju, podsjeća me na ANCOVA (analizu kovarijance). Prvi korak ANCOVA-e je testirati interakciju između kategorijskog faktora i kovarijante kako bi se utvrdilo imaju li identičan nagib za oba stanja. Prilično je slično onome što sam radio ovdje. U ANCOVA-i daje istu vrijednost za interakciju u t-testu i F-testu, jer je interakcija posljednji pojam u `aov`.
Constantino
2016-02-25 04:45:09 UTC
view on stackexchange narkive permalink

Gornja dva odgovora su sjajna, ali mislio bih dodati malo više. Još jedan grumen informacija možete pronaći ovdje ovdje.

Kada prijavite rezultate lm () s pojmom interakcije, kažete nešto poput: "poslastica 1 razlikuje se od poslastice 0 (beta! = 0, p = 0,0925), kada je vrijeme postavljeno na osnovnu vrijednost 1 ". Dok rezultati anova () ( kao što je prethodno spomenuto ) ignoriraju bilo koje druge varijable i tiču ​​se samo razlika u varijanci.

To možete dokazati uklanjanje termina interakcije i korištenje jednostavnog modela sa samo dva glavna učinka ( m1 ):

  > m1 = lm (vrijednost ~ vrijeme + poslastica, podaci = dat) Sažetak > (m1) Poziv: lm (formula = vrijednost ~ vrijeme + poslastica, podaci = dat) Preostali ostaci: Min 1Q Medijan 3Q Max -0,54627 -0,10533 -0,04574 0,11755 0,61528 Koeficijenti: Procjena Std. Vrijednost pogreške t Pr (> | t |) (Presretanje) 8.539293 0,132545 64,426 1,56e-15 *** vrijeme -0,004717 0,001562 -3,019 0,01168 * liječenje -0,5050906 0,155626 -3,232 0,00799 ** --- Oznaka. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 Rezidualna standardna pogreška: 0,2911 na 11 stupnjeva slobode Višestruki R-kvadrat: 0,64, Prilagođeni R-kvadrat: 0,5746 F-statistika: 9,778 na 2 i 11 DF, p-vrijednost: 0,003627> anova (m1) Analiza varijance TablicaOdgovor : vrijednost Df Zbir Sq Srednja Sq F vrijednost Pr (>F) vrijeme 1 0,77259 0,77259 9,1142 0,011677 * poslastica 1 0,88520 0,88520 10,4426 0,007994 ** Rezidualni ostaci 11 0,93245 0,08477 --- Oznaka. kodovi: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1  

U ovom slučaju vidimo da su prijavljene p-vrijednosti iste; to je zato što je u slučaju ovog jednostavnijeg modela

Ovaj odgovor nažalost izgleda nedovršen.Još uvijek +1 za vezu i za spominjanje da je učinak posljedica različitih shema kodiranja.
Također treba dodati da `sažetak (lm)` i `anova (lm)` neće uvijek dati identičan rezultat ako ne postoji pojam interakcije.Slučajno je da su u tim podacima "vrijeme" i "liječenje" pravokutni i tako zbrojevi kvadrata tipa I (sekvencijalni) i III (marginalni) daju identične rezultate.
Sextus Empiricus
2017-06-08 16:22:59 UTC
view on stackexchange narkive permalink
  • Razlika je povezana s usporedbom tipova kaskadnih modela.
  • Također, funkcija aov () ima problem s odabirom stupnjeva slobode. Čini se da miješa dva pojma: 1) zbroj kvadrata iz stepenastih usporedbi, 2) stupnjeve slobode iz cjelokupne slike.

REPRODUKCIJA PROBLEMA

  > podaci <- popis (vrijednost = c (8.788269,7.964719,8.204051,9.041368,8.181555,8.0414149,7.992336,7.948658,8.090211,8.031459,8.118308,7.699051,7.537120,7.268570), , 6,12,24,48,96,144,1,6,12,24,48,96,144), poslastica = c (0,0,0,0,0,0,0,1,1,1,1, 1,1,1))
Sažetak > (lm (vrijednost ~ tretman * vrijeme, podaci = podaci))
Sažetak > (aov (vrijednost ~ 1 + tretman + vrijeme + I (tretman * vrijeme), podaci = podaci))
 

NEKI MODELI KORIŠTENI U OBJAŠNJENJU

  # svi linearni modeli korišteni u objašnjenju u nastavku
> model_0 <- lm (vrijednost ~ 1, podaci)
> model_time <- lm (vrijednost ~ 1 + vrijeme, podaci)
> model_treat <- lm (vrijednost ~ 1 + poslastica, podaci)
> model_interaction <- lm (vrijednost ~ 1 + I (tretman * vrijeme), podaci)
> model_treat_time <- lm (vrijednost ~ 1 + poslastica + vrijeme, podaci)
> model_treat_interaction <- lm (vrijednost ~ 1 + tretman + I (tretman * vrijeme), podaci)
> model_time_interaction <- lm (vrijednost ~ 1 + vrijeme + I (tretman * vrijeme), podaci)
> model_treat_time_interaction <- lm (vrijednost ~ 1 + vrijeme + tretman + I (tretman * vrijeme), podaci)
 

KAKO LM T_TEST RADI I ODNOSI NA F-TEST

  # t-test s procjeniteljem i njegova varijanca, srednja kvadratna pogreška, je
# vezano za F test parne usporedbe modela ispuštanjem 1
# parametar modela

> anova (interakcija_vremena_mod_model, model_vremena_interakcija)

Analiza tablice varijance

Model 1: vrijednost ~ 1 + vrijeme + tretman + I (tretman * vrijeme)
Model 2: vrijednost ~ 1 + vrijeme + I (tretman * vrijeme)
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 10 0,89985
2 11 1,21118 -1 -0,31133 3,44598 0,09251.
---
Signif. kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1

> anova (interakcija_vremena_mod_model, model_treat_interaction)

Analiza tablice varijance

Model 1: vrijednost ~ 1 + vrijeme + tretman + I (tretman * vrijeme)
Model 2: vrijednost ~ 1 + poslastica + I (vrijeme liječenja *)
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 10 0,89985
2 11 1,14374 -1 -0,2439 2,7104 0,1307

> anova (interakcija_vremena_model_modal, vrijeme_treata_modula)

Analiza tablice varijance

Model 1: vrijednost ~ 1 + vrijeme + tretman + I (tretman * vrijeme)
Model 2: vrijednost ~ 1 + poslastica + vrijeme
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 10 0,89985
2 11 0,93245 -1 -0,032599 0,3623 0,5606

> # što je isto što i
> drop1 (model_treat_time_interaction, scope = ~ vrijeme + tretman + I (tretman * vrijeme), test = "F")

Brisanja u jednom terminu

Model:
vrijednost ~ 1 + vrijeme + poslastica + I (tretman * vrijeme)
                Df Zbroj m2 RSS AIC F vrijednost Pr (>F)
<none> 0,89985 -30,424
vrijeme 1 0,243896 1,14374 -29,067 2,7104 0,13072
poslastica 1 0,311333 1,21118 -28,264 3,4598 0,09251.
Ja (vrijeme liječenja *) 1 0,032599 0,93245 -31,926 0,3623 0,56064
---
Signif. kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1
 

KAKO AOV RADI I ODABIRAVA DF U F-TESTOVIMA

  > #aov funkcija vrši postupno dodavanje / ispuštanje
>
> #prvo vrijeme, pa liječenje, pa interakcija
> anova (model_0, model_ vrijeme)

Analiza tablice varijance

Model 1: vrijednost ~ 1
Model 2: vrijednost ~ 1 + vrijeme
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 13 2,5902
2 12 1,8176 1 0,7726 5,1006 0,04333 *
---
Signif. kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1

> anova (model_time, model_treat_time)

Analiza tablice varijance

Model 1: vrijednost ~ 1 + vrijeme
Model 2: vrijednost ~ 1 + poslastica + vrijeme
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 12 1.81764
2 11 0,93245 1 0,8852 10,443 0,007994 **
---
Signif. kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1

> anova (model_treat_time, model_treat_time_interaction)

Analiza tablice varijance

Model 1: vrijednost ~ 1 + poslastica + vrijeme
Model 2: vrijednost ~ 1 + vrijeme + tretman + I (tretman * vrijeme)
  Res.Df RSS Df Zbir Sq F Pr (>F)
1 11 0,93245
2 10 0,89985 1 0,032599 0,3623 0,5606

>
> # imajte na umu da je zbroj kvadrata za varijaciju modela jednak
> #, ali F vrijednosti i p-vrijednosti nisu iste jer aov
> # funkcija nekako odlučuje koristiti stupnjeve slobode u
> # cjelovit model u svim stupnjevitim promjenama
>
 

VAŽNA NAPOMENA

  > # Iako se vrijednosti p i F ne podudaraju točno, to je taj efekt
> # reda i odabira kaskadnog ili ne u usporedbi modela.
> # Važnu napomenu je da usporedbe čine
> # postepeno dodavanje i promjena redoslijeda varijabli ima
> # utjecaj na ishod!
>
> # Dodatna napomena o promjeni redoslijeda 'poslastice' i 'vremena' nema br
> # efekt jer nisu u korelaciji

Sažetak > (aov (vrijednost ~ 1 + tretman + vrijeme + I (tretman * vrijeme), podaci = podaci))

        Df Zbir Sq Srednja Sq F vrijednost Pr (>F)
poslastica 1 0,8852 0,8852 9,837 0,0106 *
vrijeme 1 0,7726 0,7726 8,586 0,0150 *
Ja (vrijeme liječenja *) 1 0,0326 0,0326 0,362 0,5606
Preostali ostaci 10 0,8998 0,0900
---
Signif. kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1
Sažetak > (aov (vrijednost ~ 1 + I (tretman * vrijeme) + tretman + vrijeme, podaci = podaci))

                Df Zbir Sq Srednja Sq F vrijednost Pr (>F)
Ja (vrijeme liječenja *) 1 1,33144 1,31444 14,606 0,00336 **
poslastica 1 0,1321 0,1321 1,469 0,25343
vrijeme 1 0,2439 0,2439 2,710 0,13072
Preostali ostaci 10 0,8998 0,0900
---
Signif.kodovi: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1

> # Ovo je često zaboravljena hirovitost
> # najbolje je koristiti ručne usporedbe koje znate
> # i shvatite svoje hipoteze
> # (što se često zaboravlja klikom i
> # point anova alati za modeliranje)
> #
> # anova (model1, model2)
> # ili koristite
> # stepAIC iz biblioteke MASS
 


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...