Ogólny model liniowy
Twórcy Autor statystyki testowej Wyprowadził wzór na gęstość rozkładu statystyki testowej Ronald Aylmer Fisher ( 1890-1962 ) angielski genetyk George W. Snedecor (1881-1974) amerykański matematyk
Ogólny model liniowy GLM jest zbiorem testów, w których zakłada się: 1. dane pochodzą z rozkładów normalnych o takiej samej wariancji przesunięte co najwyżej względem siebie 2. Dla pary zmiennych ciągłych to w obrębie jednej grupy danych ich przesunięcie względem siebie jest liniowe. 3. Statystyka testowa polega na porównywaniu sum kwadratów odchyleń średnich grupowych od wielkości wyliczanej poprzez równanie modelu do sum kwadratów odchyleń danych od średnich grupowych.
Statystyka testowa jednoczynnikowej analizy wariancji Programy pokazujące działanie testu gdy nie jest spełniona i gdy jest spełniona hipoteza zerowa
Regresja i korelacja Po odpowiednich przekształceniach (n 2) R 2 F 2 1 R Najczęściej stosowany test na sprawdzenie czy zależność Y od X istotnie różni się od 0.
Niepokojąco mocne założenia 1. Normalność rozkładu - Można się odwoływać do mocnego prawa wielkich liczb. - Można się odwoływać do prawa Lindenberga-Levy ego. 2. Jednakowość (jednorodność) wariancji - W przyrodzie częściej obserwuje się zjawisko wzrostu wariancji przy wzroście wartości oczekiwanej. 3. Liniowość współzależności - Nie ma żadnego modelu pokazującego, że liniowość jest lepsza od jakiejś innej krzywej. - Można stosować tu filozoficzne kryteria prostoty.
Błędy popełniane przy użyciu testów W połowie XX wieku pojawił się pomysł testowania testów stosowanych do analizy tego samego zagadnienia Zdefiniowano: Błąd I rodzaju wykazywanie istotności tam gdzie nie powinna być wykazywana Błąd II rodzaju nie wykazywanie istotności tam gdzie ona występuje Jerzy Spława- Neyman 1894-1981 Uznano, że ten test jest lepszy, który minimalizuje te oba błędy. Wykazano, że testy GLM są bardzo odporne na: nienormalność rozkładu (byle nie bardziej skośnych od rozkładu wykładniczego), różnice wariancji (nawet gdy wykazujemy istotne różnice między wariancjami), nieliniowość zależnościach (byle kierunkowych) Częstość popełniania błędów I i II rodzaju po zmianach założeń nie odbiega od częstości popełniania takich błędów gdy dane spełniają założenia testów ANOVA
Założenie normalności Obowiązująca zasada sprawdź czy twoje dane maja rozkład normalny (najlepiej za pomocą testu Shapiro Wilka) i w każdej populacji/grupie osobno jeżeli wynik testu jest nieistotny (p>0.05) stosuj testy parametryczne, (np. GLM,Studenta) jeżeli wynik testu jest istotny (p 0.05) stosuj testy nieparametryczne (np. Wilkoxona) Matematyczna reguła przy małej próbie rzadziej uzyskujemy istotny (p<0.05) wynik w teście Shapiro- Wilka, ale częściej się mylimy się wykonując test parametryczny niż test nieparametryczny przy dużej próbie częściej uzyskujemy istotny (p<0.05) wynik w teście Shapiro- Wilka, ale rzadziej się mylimy się wykonując test parametryczny niż test nieparametryczny Obowiązująca zasada nie ma uzasadnienia matematycznego i prowadzi do błędów
Popularność Najpopularniejsze testy wykonywane do tej pory w biologii
Model statystyczny Model statystyczny jest eksperymentem fizycznym (obecnie komputerowym) polegającym na losowaniu próby z rozkładu w różnych układach. Model nie jest hipotezą zerową. W przypadku jednoczynnikowej analizy wariancji jest to ogół eksperymentów polegających na losowaniu prób (o dowolnej liczności) z rozkładów normalnych dowolnie przesuniętych względem siebie. Model można utożsamić z algorytmem jakiegoś programu (funkcji w R) losującego liczby z rozkładu. modelanova=function(k, n, mi, sig) { x=null for (i in 1:k){ for (j in 1:n[i]) x=c(x,rnorm(1,mi[i],sig)) } x }
Model statystyczny W przypadku analizy regresji jest to ogół eksperymentów polegających na losowaniu próby złożonej z par liczb (x,y) gdzie x jest losowane z rozkładu normalnego N(, 1 ) a y jest losowane z rozkładu normalnego N(ax+b, 1 ). modelregr=function(n, mi, sig1, sig2, a, b) { z=null x=rnorm(n,mi,sig1) y=null for (i in 1:n){y=c(y,rnorm(1,a*x[i]+b,sig2))} matrix(cbind(x,y),,2) }
Model - nomenklatura N zmienna losowa o rozkładzie normalnym standaryzowanym Jeżeli będą losowane liczby z rozkładu normalnego standaryzowanego, mnożone przez stałą s i do wyniku dodawane m, to otrzymane liczby pochodzić będą z rozkładu normalnego o wartości oczekiwanej m o odchyleniu standardowym s. U oznacza zmienna losowa o rozkładzie normalnym standaryzowanym N(0,1) Zapis X= + U oznacza zmienną X o rozkładzie normalnym N(, ) Ogólny zapis modelu dla jednoczynnikowej analizy wariancji X i U dla i=1,2,,k Ogólny zapis modelu dla regresji X 1 U Y ax b 2 U
Hipoteza zerowa i hipotezy alternatywne W jednoczynnikowej analizie wariancji prawie zawsze hipoteza zerowa brzmi: 1 = 2 =. = k Możliwe hipotezy alternatywne: Nieprawda, że 1 = 2 =. = k 1 2 = 3 =. = k 1 = 2 3 =. = k 1 2 lub 1 3 lub. lub 1 k KONTRASTY Zaprzeczenie logiczne każdej hipotezy alternatywnej formułuje hipotezę zerową
Wykonanie jednoczynnikowej Anovy w R Porównujemy następujące średnie: > lm(y~as.factor(x)) Call: lm(formula = y ~ as.factor(x)) Coefficients: (Intercept) as.factor(x)1 as.factor(x)2-0.2062 0.8366 2.1057 > lm(y~as.factor(x)) Call: aov(formula = y ~ as.factor(x)) Terms: as.factor(x) Residuals Sum of Squares 24.36460 46.33392 Deg. of Freedom 2 47 Residual standard error: 0.9928888 Estimated effects may be unbalanced
Wykonanie jednoczynnikowej Anovy w R Porównujemy następujące średnie: > anova(lm(y~as.factor(x))) Analysis of Variance Table Response: y Df Sum Sq Mean Sq F value Pr(>F) as.factor(x) 2 24.365 12.1823 12.357 4.87e-05 *** Residuals 47 46.334 0.9858 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 > anova(aov(y~as.factor(x))) Analysis of Variance Table Response: y Df Sum Sq Mean Sq F value Pr(>F) as.factor(x) 2 24.365 12.1823 12.357 4.87e-05 *** Residuals 47 46.334 0.9858 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1
Wykonanie jednoczynnikowej Anovy w R > summary(lm(y~as.factor(x))) Call: lm(formula = y ~ as.factor(x), data = zz) Residuals: Min 1Q Median 3Q Max -1.6352-0.9409 0.1731 0.6694 1.8591 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -0.2062 0.2866-0.719 0.4754 as.factor(x)1 0.8366 0.3426 2.442 0.0184 * as.factor(x)2 2.1057 0.4251 4.953 9.86e-06 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.9929 on 47 degrees of freedom Multiple R-squared: 0.3446, Adjusted R-squared: 0.3167 F-statistic: 12.36 on 2 and 47 DF, p-value: 4.87e-05 > summary(aov(y~as.factor(x))) Df Sum Sq Mean Sq F value Pr(>F) as.factor(x) 2 24.36 12.182 12.36 4.87e-05 *** Residuals 47 46.33 0.986 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1
Dwuczynnikowa analiza wariancji
Ocena pierwszej zmiennej ciągłej 1 zmienna dyskretna A B 2 zmienna dyskretna a b c Możliwe do wykonania testy: 1. Połączenie danych A z B i sprawdzenie czy jest istotna różnica między średnimi w grupach a, b i c 2. Połączenie danych a, b i c i sprawdzenie czy jest istotna różnica między średnimi w grupach A, B. Błąd pseudoreplikacji dane w każdej grupie połączonych danych nie są całkowicie niezależne od siebie
Ocena pierwszej zmiennej ciągłej 1 zmienna dyskretna A B 2 zmienna dyskretna a b c Możliwe do wykonania testy: 1. Sprawdzenie czy jest istotna różnica między średnimi w grupach a, b i c w grupie A i w grupie B. 2. Sprawdzenie czy jest istotna różnica między średnimi w grupach A, B w grupach a, b i c osobno. 5 testów wykonanych na tych samych danych możliwość uzyskania przypadkowej istotności.
Ocena pierwszej zmiennej ciągłej 1 zmienna dyskretna A B 2 zmienna dyskretna a b c Możliwe do wykonania testy: 1. Sprawdzenie jednym testem czy są różnice między aa, ab, ba, bb, ca, cb i zastosowanie testów post-choć albo kontrastów Porównywanie wielkości osobnika w grupach Ab z Bc, Aa z Bb itd. nie ma merytorycznego sensu. Uzyskanie dużej istotnej różnicy zupełnie nie moglibyśmy zinterpretować. Potrzebne nam są czyste odpowiedzi: Czy wielkość osobnika zależy od 1 zmiennej dyskretnej? Czy wielkość osobnika zależy od 2 zmiennej dyskretnej?
Pomysł Ronalda Fishera 1. Dane należące do zmiennej ciągłej X zależą od zmiennych dyskretnych płeć =(A, B) i sezon =(a, b, c) 2. Gdy pytamy się czy X zależy od sezonu : Wyliczamy najpierw średnią X 1* dla płci = A i X 2* dla płci = B Dla każdej wartości x zmiennej X wyliczamy x- X 1* (dla x o płci = A) albo x- X 2* (dla x o płci = B) Zapisujemy te dane pod nazwą X el_płeć. Wykonujemy jednoczynnikową analizę wariancji sprawdzającą czy X eld zależy od sezonu. 3. Gdy pytamy się czy X zależy od płci : Wyliczamy najpierw średnią X *1 dla sezonu = a, X *2 dla sezonu = b i X *3 dla sezonu = c Dla każdej wartości x zmiennej X wyliczamy x- X *1 (gdy x jest z sezonu = a) albo x- X *2 (gdy x z sezonu = b) albo x- X *3 (gdy x jest sezonu = c) Zapisujemy te dane pod nazwą X el_sezon. Wykonujemy jednoczynnikową analizę wariancji sprawdzającą czy X ele zależy od płci.
Pomysł Ronalda Fishera A B sezon = a A B sezon = b A B sezon = c 0
Pomysł Ronalda Fishera A B sezon = a A B Wpływ sezonu wyeliminowany sezon = b A B Wykonanie jednoczynnikowej analizy wariancji sezon = c 0
Pomysł Ronalda Fishera sezon = a lub b lub c A B Wpływ sezonu wyeliminowany Wykonanie jednoczynnikowej analizy wariancji 0 Połączenie danych i wykonanie dla nich jednoczynnikowej analizy wariancji
Model Model dwuczynnikowej analizy wariancji bez interakcji X i,* *, j U Wielkość generalna Poprawka związana z działaniem na X zmiennej D i,* 0 Poprawka związana z działaniem na X zmiennej D i *, j 0 j Model dwuczynnikowej analizy wariancji (z interakcją) X i, * *,j i, j U i i,j 0 j i,j 0 dla każdego j dla każdego i Poprawka na nieaddytywne oddziaływania na X zmiennych D i C
Model 2-Anova bez interakcji model2anova=function(k1, k2, n, mi, mi1, mi2, sig) { x=null for (i1 in 1:k1){ for (i2 in 1:k2){ for (j in 1:n[i1,i2]) x=c(x,rnorm(1,mi+mi1[i1]+mi2[i2],sig)) }} x }
Model 2-Anova z interakcją model2anovaint=function(k1, k2, n, mi, mi1, mi2, mi12, sig) { x=null for (i2 in 1:k2){ for (i1 in 1:k1){ for (j in 1:n[i1,i2]) x=c(x,rnorm(1,mi+mi1[i1]+mi2[i2]+mi12[i1,i2],sig)) } } x }
Dwuczynnikowa analiza wariancji - interakcje całkowity brak interakcji interakcja
Obowiązująca zasada Problem z istotną interakcją Istotna interakcja powoduje, że wyniki uzyskane dla efektów głównych są nieinterpretowalne sprawdź czy interakcja jest istotna (p-wartość<0.05) jeżeli jest istotna podziel dane na grupy wyróżnione przez jedną ze zmiennych i wykonaj test jednoczynnikowej ANOVA dla drugiej zmiennej. jeżeli jest nieistotna zacytuj w pracy wyniki efektów głównych Matematyczna reguła przy małej próbie rzadziej istotne interakcje, ale cytując wyniki dla efektów głównych popełniamy mniej błędów niż cytując wyniki wielu testów wynikających z podziału materiału najczęściej nieistotnych przy dużej próbie częściej uzyskujemy istotną interakcję, ale też wtedy najczęściej uzyskujemy istotne wyniki w testach zrobionych dla podzielonego materiału i w dodatku różnić się będą one interpretacją Obowiązująca zasada ma uzasadnienie matematyczne
Hipotezy zerowe 1. 1,* = 2,* = = k1,* =0 2. *,1 = *,2 = = *,k2 =0 3. Wszystkie i,j =0 dla i=1,2,,k 1, j=1,2,,k 2 Testowane równolegle do siebie. Oceniane jest prawdopodobieństwo zachodzenia hipotez alternatywnych dla każdej hipotezy osobno. Mnogość hipotez alternatywnych. KONTRASTY Dla biologów najważniejszy jest test GLM bez kontrastów.
Problem z wyliczaniem sum kwadratów odchyleń w układzie niezbalansowanym
Układ zbalansowany Czynnik 1 A B Z a... n n n b... Czynnik 2 n n n......... z n n... n Układ zbalansowany układ w którym liczby pomiarów obiektów dla każdej wartości 1 i 2 zmiennej dyskretnej są takie same
Tabela dwuczynnikowej analizy wariancji z interakcją
Problemy matematyczne W układzie zbalansowanym mamy: SS m,1 SS m,2 SS int SS w SS c Jest spełniony warunek, że po odjęciu średnich odpowiednich dla 1 zmiennej dyskretnej można robić jednoczynnikową analizę wariancji względem drugiej zmiennej dyskretnej i tylko p odczytywać z innego rozkładu F. W układzie niezbalansowanym mamy: SS m,1 SS m,2 SS int SS w SS c Przeszacowywanie wartości F? Ale którego?
Poprawianie testu dwuczynnikowej ANOVA Szukanie takiej reguły rozdzielania sum kwadratów między znane źródła zmienności aby po dodaniu czynników lub ich redukcji obowiązywała ta sama reguła rozdzielania sum kwadratów. Uogólnienie zjawiska obowiązującego dla układu zbalansowanego, że sumy kwadratów dla dodanego czynnika wylicza się tak jakby odjęto od danych średnie wynikłe z grupowania przez inne czynniki i wykonano na różnicach test jednoczynnikowej analizy wariancji. Pojawił się test GLM reguły zapisane w rachunku macierzowym Sprawdzenie doświadczalne, że błędy I rodzaju (uzyskiwanie istotności przy braku różnic między średnimi) oraz błędy II rodzaju (nie uzyskiwanie istotności gdy jest różnica między średnimi) są najmniejsze gdy stosowany jest test GLM
Problem z nadmiarem testów Nie istnieje jeden test GLM. Prawidłowe rozdzielanie sum kwadratów odchyleń między różne hipotezy (model uproszczony vs. model) można robić na wiele sposobów. I typ wyliczania sum kwadratów II typ wyliczania sum kwadratów III typ wyliczania sum kwadratów Drobne różnice w postawieniu hipotezy zerowej versus hipoteza alternatywna i niuanse interpretacyjne implikują koniecznością stosowania różnych testów. Biolodzy szukają testu odpowiadającego sposobowi rozumowania zaproponowanego prze Fishera: - III typ wyliczania sum kwadratów odchyleń. - Na ogół bez kontrastów (testy z kontrastami są opisywane post-hoc )
GLM GLM GLM ANOVA Problem z nadmiarem testów GLM Źródło St. sw. ANOVA Suma kw. Średnia kwadratów Wartość F Pr. > F SEZON 2 0.43452317 0.21726158 0.69 0.5060 PLEC 1 0.78003247 0.78003247 2.48 0.1222 SEZON*PLEC 2 0.43007929 0.21503964 0.68 0.5094 Źródło St. sw. Typ I Suma kw. Średnia kwadratów Wartość F Pr. > F SEZON 2 0.43452317 0.21726158 0.69 0.5060 PLEC 1 0.91338279 0.91338279 2.91 0.0951 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266 Źródło St. sw. Typ II Suma kw. Średnia kwadratów Wartość F Pr. > F SEZON 2 0.56787349 0.28393674 0.90 0.4122 PLEC 1 0.91338279 0.91338279 2.91 0.0951 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266 Źródło St. sw. Typ III Suma kw. Średnia kwadratów Wartość F Pr. > F SEZON 2 0.71927294 0.35963647 1.15 0.3274 PLEC 1 0.94842483 0.94842483 3.02 0.0892 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266
GLM GLM GLM ANOVA Problem z nadmiarem testów GLM Źródło St. sw. ANOVA Suma kw. Średnia kwadratów Wartość F Pr. > F PLEC 1 0.78003247 0.78003247 2.48 0.1222 SEZON 2 0.43452317 0.21726158 0.69 0.5060 SEZON*PLEC 2 0.43007929 0.21503964 0.68 0.5094 Źródło St. sw. Typ I Suma kw. Średnia kwadratów Wartość F Pr. > F PLEC 1 0.78003247 0.78003247 2.48 0.1222 SEZON 2 0.56787349 0.28393674 0.90 0.4122 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266 Źródło St. sw. Typ II Suma kw. Średnia kwadratów Wartość F Pr. > F PLEC 1 0.91338279 0.91338279 2.91 0.0951 SEZON 2 0.56787349 0.28393674 0.90 0.4122 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266 Źródło St. sw. Typ III Suma kw. Średnia kwadratów Wartość F Pr. > F PLEC 1 0.94842483 0.94842483 3.02 0.0892 SEZON 2 0.71927294 0.35963647 1.15 0.3274 SEZON*PLEC 2 0.29672897 0.14836448 0.47 0.6266
Problem z nadmiarem testów GLM > anova(aov(ciezar~sezon*plec,skunks)) Analysis of Variance Table Response: CIEZAR Df Sum Sq Mean Sq F value Pr(>F) SEZON 2 0.4345 0.21726 0.6919 0.50596 PLEC 1 0.9134 0.91338 2.9090 0.09514. SEZON:PLEC 2 0.2967 0.14836 0.4725 0.62656 Residuals 44 13.8154 0.31399 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 > > anova(aov(ciezar~plec*sezon,skunks)) Analysis of Variance Table Response: CIEZAR Df Sum Sq Mean Sq F value Pr(>F) PLEC 1 0.7800 0.78003 2.4843 0.1222 SEZON 2 0.5679 0.28394 0.9043 0.4122 PLEC:SEZON 2 0.2967 0.14836 0.4725 0.6266 Residuals 44 13.8154 0.31399 I typ wyliczania sum kwadratów
Problem z nadmiarem testów GLM > drop1(aov(ciezar ~ SEZON*PLEC,skunks),.~., test="f") Single term deletions Model: CIEZAR ~ SEZON * PLEC Df Sum of Sq RSS AIC F value Pr(>F) <none> 13.815-52.312 SEZON 2 0.80548 14.621-53.479 1.2827 0.2875 PLEC 1 0.21363 14.029-53.545 0.6804 0.4139 SEZON:PLEC 2 0.29673 14.112-55.250 0.4725 0.6266 > drop1(aov(ciezar ~ PLEC*SEZON,skunks),.~., test="f") Single term deletions Model: CIEZAR ~ PLEC * SEZON Df Sum of Sq RSS AIC F value Pr(>F) <none> 13.815-52.312 PLEC 1 0.21363 14.029-53.545 0.6804 0.4139 SEZON 2 0.80548 14.621-53.479 1.2827 0.2875 PLEC:SEZON 2 0.29673 14.112-55.250 0.4725 0.6266 > III typ wyliczania sum kwadratów z kontrastem prostym (treatment)
Problem z nadmiarem testów GLM > options(contrasts = c("contr.sum","contr.poly")) > drop1(aov(ciezar ~ PLEC*SEZON,skunks),.~.,test="F") Single term deletions Model: CIEZAR ~ PLEC * SEZON Df Sum of Sq RSS AIC F value Pr(>F) <none> 13.815-52.312 PLEC 1 0.94842 14.764-50.992 3.0206 0.08921. SEZON 2 0.71927 14.535-53.774 1.1454 0.32740 PLEC:SEZON 2 0.29673 14.112-55.250 0.4725 0.62656 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 > drop1(aov(ciezar ~ SEZON*PLEC,skunks),.~.,test="F") Single term deletions Model: CIEZAR ~ SEZON * PLEC Df Sum of Sq RSS AIC F value Pr(>F) <none> 13.815-52.312 SEZON 2 0.71927 14.535-53.774 1.1454 0.32740 PLEC 1 0.94842 14.764-50.992 3.0206 0.08921. SEZON:PLEC 2 0.29673 14.112-55.250 0.4725 0.62656 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 III typ wyliczania sum kwadratów bez kontrastów
Dwuczynnikowa analiza kowariancji
Ocena drugiej zmiennej ciągłej A 1 zmienna dyskretna B 2 zmienna dyskretna a b c (x1,1,1,y1,1,1 ),...,(x 1,1,n,y1,1, ) (x1,2,1,y1,2,1),...,(x 1,2,n,y1,2, ) 1,1 n1,1 1,2 n1,2 (x2,1,1,y2,1,1 ),...,(x 2,1,n,y2,1, ) (x2,2,1,y1,2,1),...,(x 2,2,n,y2,2, ) 2,1 n2,1 2,2 n2,2 (x3,1,1,y3,1,1 ),...,(x 3,1,n,y3,1, ) (x3,2,1,y3,2,1),...,(x 3,2,n,y3,2, ) 3,1 n3,1 3,2 n3,2 Założymy, że zmienne ciągłe są od siebie zależne tak samo w każdej grupie. Wyeliminujemy wpływ pierwszej zmiennej ciągłej. Zastosujemy dwuczynnikową analizę wariancji.
Ocena drugiej zmiennej ciągłej Co to znaczy, że zmienne ciągłe są tak samo zależne od siebie w różnych grupach? Y Dla bardzo dużych prób mają tak samo nachylone regresje tylko przesunięte względem siebie. Regresja wspólna aggregation regresssion X
Regresja wspólna Zespół k 1 k 2 prostych mających jednakowe nachylenie do osi 0X y i,j = ax i,j +b i,j takich, że suma sum kwadratów odchyleń danych dla i-tej wartości pierwszej zmiennej dyskretnej i j-tej wartości drugiej zmiennej od prostej y i,j = ax i,j +b i,j ma wartość minimalną. k1 k2 ni, j i 1 j 1 L 1 2 ( y i,j,l ax i,j,l bi,j) ma wartość minimalną. Warunek ten pozwala na wyprowadzenie wzorów dla a i wszystkich b i,j.
Likwidowanie wpływu X na Y Y X
Likwidowanie wpływu X na Y Y X
Likwidowanie wpływu X na Y Y X
Likwidowanie wpływu X na Y Y X
Likwidowanie wpływu X na Y Y Wykonujemy dwuczynnikową analizę wariancji dla zmiennej Y X
Model Model dwuczynnikowej analizy kowariancji X Y i,* ax b b i,* *,j b *,j i,j b i,j x U y U i,* 0 i *, j 0 j i j b b i,* *, j 0 0 i i,j 0 j i,j 0 dla każdego j dla każdego i i j b b i,j i,j 0 0 dla każdego j dla każdego i
Model 2-Ancova model2ancova=function(k1, k2, n, mi, mi1, m2, m12, a, b, b1, b2, b12, sigx, sigy) { x=null y=null for (i2 in 1:k2){ for (i1 in 1:k1){ for (j in 1:n[i1,i2]) x=c(x,rnorm(1,mi+mi1[i1]+mi2[i2]+mi12[i1,i2],sigx)) y=c(y,rnorm(1,b+b1[i1]+b2[i2]+b12[i1,i2],sigy)) } } cbind(x,y) }
GLM Problem z nadmiarem testów GLM Źródło St. sw. Typ III Suma kw. Średnia kwadratów Wartość F Pr. > F CIEZAR 1 324.14044 324.14044 1.00 0.3234 PLEC 1 39955.48908 39955.48908 123.02 <.0001 SEZON 2 32960.31362 16480.15681 50.74 <.0001 SEZON*PLEC 2 241.16917 120.58458 0.37 0.6920 > options(contrasts = c("contr.sum","contr.poly")) > drop1(aov(fluor~ciezar+plec*sezon,skunks),.~., test="f") > > drop1(aov(fluor~ciezar+plec*sezon,skunks), anova(aov(fluor~ciezar+plec*sezon,skunks)).~., test="f") Single term deletions Single Analysis term of deletions Variance Table Model: Model: Response: FLUOR FLUOR ~ CIEZAR + PLEC * SEZON FLUOR ~ CIEZAR Df + Sum PLEC Sq * Mean SEZON Sq F value Pr(>F) Df Sum of Sq RSS AIC F value Pr(>F) CIEZAR Df1 Sum 3483 of Sq 3483 RSS 10.7229 AIC F 0.002094 value ** Pr(>F) <none> 13966 295.62 <none> PLEC 1 32021 13966 32021 295.62 98.5890 1.071e-12 *** CIEZAR 1 324.1 14290 294.77 0.9980 0.3234 CIEZAR SEZON 12 36054 324 14290 18027 294.77 55.5033 1.223e-12 0.9980 *** 0.3234 PLEC 1 11163.8 25130 322.99 34.3723 5.787e-07 *** PLEC:SEZON 12 39955 241 53922 121 361.16 0.3713123.0189 0.692049 3.393e-14 *** SEZON 2 11674.2 25640 321.99 17.9718 2.125e-06 *** SEZON Residuals 243 13966 32960 46926 325 352.22 50.7407 4.826e-12 *** PLEC:SEZON 2 241.2 14207 292.47 0.3713 0.6920 PLEC:SEZON --- 2 241 14207 292.47 0.3713 0.6920 --- --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 Signif. 1 codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 1
Wykonywanie GLM w R R nie pokazuje jaki typ wyliczania sum kwadratów został zaprogramowany. R nie pokazuje, że standardowo stosuje test z kontrastami prostymi, w którym porównuje się średnie z kolejnych grup do grupy pierwszej. Gdy wykonuje się próbne testy dla układu zbalansowanego, nie widać błędów. W wielu podręcznikach do R polecane jest wykonanie testu za pomocą funkcji anova(aov( )). Wydaje się, że autorzy tych podręczników nie zdają sobie z tego sprawy, że jest to test z I typem wyliczania sum kwadratów i kontrastem prostym. Pisząc w metodach pracy, że posługiwano się programem R przy wykonywaniu obliczeń statystycznych, w tym testu GLM, należy opisywać zastosowany model (z III typem wyliczania sum kwadratów i w układzie bez kontrastów), co nie jest konieczne gdy używamy programów SAS, Statistica, SPSS i wielu innych.
Koniec