Mam dane z 3 grup biomasy alg ( , , ), które zawierają nierówne wielkości próbek ( n_A = 15 , n_B = 13 , n_C = 12 ) i chciałbym porównać, czy te grupy pochodzą z tej samej populacji.B C n A = 15 n B = 13 n C = 12
Jednokierunkowa ANOVA zdecydowanie byłaby właściwą drogą, jednak po przeprowadzeniu testów normalności na moich danych, heteroskedascity wydaje się głównym problemem. Moje nieprzetworzone dane, bez żadnej transformacji, wytworzyły współczynnik wariancji ( ), który jest znacznie wyższy niż wartość krytyczna ( ) i dlatego nie mogę wykonać jednokierunkowej ANOVA .
Próbowałem także transformacji, aby znormalizować moje dane. Nawet po próbach różnych transformacji (log, pierwiastek kwadratowy, kwadrat), najniższy uzyskany po transformacji z transformacją wynosił , co było wciąż wyższe w porównaniu do .
Czy ktoś może mi doradzić, gdzie mam się udać? Nie mogę wymyślić innych metod transformacji normalizujących dane. Czy są jakieś alternatywy dla jednokierunkowej ANOVA?
PS: moje surowe dane są poniżej:
A: 0.178 0.195 0.225 0.294 0.315 0.341 0.36 0.363 0.371 0.398 0.407 0.409 0.432
0.494 0.719
B: 0.11 0.111 0.204 0.416 0.417 0.441 0.492 0.965 1.113 1.19 1.233 1.505 1.897
C: 0.106 0.114 0.143 0.435 0.448 0.51 0.576 0.588 0.608 0.64 0.658 0.788 0.958
Odpowiedzi:
Istnieje wiele opcji dostępnych w przypadku danych heteroscedastycznych. Niestety, żadna z nich nie gwarantuje, że zawsze będzie działać. Oto kilka znanych mi opcji:
Aktualizacja: Oto demonstracja
R
niektórych sposobów dopasowania modelu liniowego (tj. ANOVA lub regresji), gdy masz heteroscedastyczność / heterogeniczność wariancji.Zacznijmy od spojrzenia na twoje dane. Dla wygody mam je wczytane do dwóch ramek danych o nazwie
my.data
(które mają strukturę jak wyżej z jedną kolumną na grupę) istacked.data
(która ma dwie kolumny:values
z liczbami iind
ze wskaźnikiem grupy).Możemy formalnie przetestować heteroscedastyczność za pomocą testu Levene'a:
Rzeczywiście, masz heteroscedastyczność. Sprawdzimy, jakie są wariancje grup. Ogólna zasada jest taka, że modele liniowe są dość odporne na niejednorodność wariancji, o ile maksymalna wariancja jest nie większa niż większa niż wariancja minimalna, więc znajdziemy również ten stosunek:4×
Twoje wariancje różnią się zasadniczo, z największym,19×
B
będąc najmniejsze, . Jest to problematyczny poziom heteroscedsatyczności.A
Pomyślałeś, aby użyć transformacji, takich jak log lub pierwiastek kwadratowy, aby ustabilizować wariancję. W niektórych przypadkach będzie to działać, ale transformacje typu Box-Cox stabilizują wariancję, ściskając dane asymetrycznie, albo ściskając je w dół, gdy najwyższe dane są ściśnięte najbardziej, albo ściskając je w górę, gdy najniższe dane są ściśnięte najbardziej. Dlatego potrzebujesz wariancji danych, aby zmienić się ze średnią, aby działało to optymalnie. Twoje dane mają ogromną różnicę wariancji, ale stosunkowo niewielką różnicę między średnimi a medianami, tzn. Rozkłady w większości pokrywają się. Jako ćwiczenie możemy stworzyć niektóre2.7 .7
parallel.universe.data
, dodając do wszystkich wartości i do.7B
C
aby pokazać, jak to będzie działać:Zastosowanie transformacji pierwiastka kwadratowego dość dobrze stabilizuje te dane. Tutaj możesz zobaczyć poprawę danych równoległego wszechświata:
Zamiast tylko próbować różnych transformacji, bardziej systematycznym podejściem jest optymalizacja parametru Box-Cox (chociaż zwykle zaleca się zaokrąglenie tego do najbliższej możliwej do interpretacji transformacji). W twoim przypadku albo pierwiastek kwadratowy, , albo log, , są dopuszczalne, chociaż tak naprawdę nie działa. W przypadku danych z równoległego wszechświata pierwiastek kwadratowy jest najlepszy: λ = .5 λ = 0λ λ=.5 λ=0
Ponieważ ten przypadek jest ANOVA (tj. Bez zmiennych ciągłych), jednym ze sposobów radzenia sobie z heterogenicznością jest zastosowanie korekcji Welcha do mianownika stopni swobody w teście (nb , zamiast wartości ułamkowej ):F
df = 19.445
df = 38
Bardziej ogólnym podejściem jest stosowanie ważonych najmniejszych kwadratów . Ponieważ niektóre grupy (
B
) rozprzestrzeniają się bardziej, dane w tych grupach dostarczają mniej informacji o lokalizacji średniej niż dane w innych grupach. Możemy pozwolić modelowi uwzględnić to, podając wagę dla każdego punktu danych. Powszechnym systemem jest stosowanie odwrotności wariancji grupowej jako wagi:Daje to nieco inne wartości i niż nieważona ANOVA ( , ), ale dobrze rozwiązuje problem niejednorodności: pF p
4.5089
0.01749
Jednak najmniej ważone kwadraty nie są panaceum. Jednym niewygodnym faktem jest to, że jest to właściwe tylko wtedy, gdy wagi są odpowiednie, co oznacza między innymi, że są one znane z góry. Nie dotyczy to również nienormalności (takiej jak pochylenie) ani wartości odstających. Korzystanie z wagi szacunkowe dane często praca w porządku, chociaż, szczególnie jeśli masz wystarczająco dużo danych, aby oszacować wariancję z rozsądną dokładnością (ta jest analogiczna do idei używając -Tabela zamiast -Tabela gdy masz lubt 50 100 N.z t 50 100 stopnie swobody), twoje dane są wystarczająco normalne i nie wydajesz się mieć żadnych wartości odstających. Niestety masz stosunkowo niewiele danych (13 lub 15 na grupę), niektóre wypaczenia i być może pewne wartości odstające. Nie jestem pewien, czy są one wystarczająco złe, aby zrobić z tego wielką sprawę, ale można mieszać ważone najmniejsze kwadraty z niezawodnymi metodami. Zamiast używać wariancji jako miary rozprzestrzeniania się (która jest wrażliwa na wartości odstające, szczególnie przy niskim ), możesz użyć odwrotności zakresu międzykwartylowego (na co nie ma wpływu nawet 50% wartości odstających w każdej grupie). Wagi te można następnie połączyć z solidną regresją przy użyciu innej funkcji utraty, takiej jak bisquare Tukeya: N
Ciężary tutaj nie są tak ekstremalne. Przewidziane środki grupy różnią się nieznacznie (
A
: WLS0.36673
, wytrzymałe0.35722
;B
: WLS0.77646
, wytrzymałe0.70433
;C
: WLS0.50554
, niezawodny0.51845
), przy czym środkiB
iC
są mniej ciągnięte ekstremalnych wartości.W ekonometrii błąd standardowy Hubera-White'a („sandwich”) jest bardzo popularny. Podobnie jak w przypadku korekcji Welcha, nie wymaga to uprzedniej znajomości odchyleń i nie wymaga oszacowania wag na podstawie danych i / lub uzależnienia od modelu, który może być nieprawidłowy. Z drugiej strony nie wiem, jak to włączyć z ANOVA, co oznacza, że dostajesz je tylko do testów poszczególnych kodów fikcyjnych, co wydaje mi się mniej pomocne w tym przypadku, ale i tak je pokażę:
Funkcjat t t
vcovHC
oblicza heteroscedastyczną spójną macierz wariancji-kowariancji dla twoich bet (kodów fikcyjnych), co oznaczają litery w wywołaniu funkcji. Aby uzyskać standardowe błędy, wyodrębnij główną przekątną i weź pierwiastki kwadratowe. Aby uzyskać testy dla twoich bet, dzielisz swoje oszacowania współczynnika przez SE i porównujesz wyniki z odpowiednim rozkładem ( rozkład z resztkowym stopniem swobody). t tWp
R
szczególności dla użytkowników @TomWenseleers zauważa w komentarzach poniżej, że funkcja ? Anova wcar
pakiecie może zaakceptowaćwhite.adjust
argument, aby uzyskać wartość dla czynnika wykorzystującego błędy spójne z heteroscedastycznością.Możesz spróbować uzyskać empiryczny szacunek tego, jak wygląda rzeczywisty rozkład próbkowania statystyki testowej przez ładowanie początkowe . Po pierwsze, tworzysz prawdziwy zerowy, czyniąc wszystkie środki grupy dokładnie równymi. Następnie ponownie próbkujesz z zastępowaniem i obliczasz swoją statystykę testową ( ) na każdej próbce, aby uzyskać empiryczną ocenę rozkładu próbkowania poniżej wartości zerowej z twoimi danymi, niezależnie od ich statusu w odniesieniu do normalności lub jednorodności. Proporcja tego rozkładu próbkowania, która jest tak ekstremalna lub bardziej ekstremalna niż obserwowana statystyka testu, to wartość : F pF F p
Pod pewnymi względami ładowanie początkowe jest ostatecznym podejściem z ograniczonym założeniem do przeprowadzania analizy parametrów (np. Średnich), ale zakłada, że twoje dane stanowią dobrą reprezentację populacji, co oznacza, że masz rozsądną wielkość próby. Ponieważ twoje są małe, może być mniej wiarygodne. Prawdopodobnie ostateczną ochroną przed nienormalnością i niejednorodnością jest zastosowanie testu nieparametrycznego. Podstawową nieparametryczną wersją ANOVA jest test Kruskala-Wallisa :n
Chociaż test Kruskala-Wallisa jest zdecydowanie najlepszą ochroną przed błędami typu I, można go stosować tylko z jedną zmienną kategorialną (tj. Bez ciągłych predyktorów lub układów czynnikowych) i ma najmniejszą moc ze wszystkich omawianych strategii. Innym nieparametrycznym podejściem jest użycie porządkowej regresji logistycznej . Dla wielu osób wydaje się to dziwne, ale wystarczy założyć, że dane odpowiedzi zawierają prawidłowe informacje porządkowe, które z pewnością robią, w przeciwnym razie każda inna strategia powyżej również jest nieprawidłowa:
Wynik może nie być jasny, ale test modelu jako całości, który w tym przypadku jest testem twoich grup, jestp
chi2
poniżejDiscrimination Indexes
. Wymieniono dwie wersje: test ilorazu wiarygodności i test punktowy. Test współczynnika prawdopodobieństwa jest zwykle uważany za najlepszy. Daje wartość wynoszącą .0.0363
źródło
car
jest również opcja ustawieniawhite.adjust=T
radzenia sobie z heteroskedacity za pomocą standardowych błędów skorygowanychlm
„s, ale wydaje się również do pracy naaov
” S (opcjewhite.adjust
sąwhite.adjust=c(FALSE, TRUE, "hc3", "hc0", "hc1", "hc2", "hc4")
- więcej informacji można znaleźć?hccm
)