Mam wykres wartości resztkowych modelu liniowego w funkcji dopasowanych wartości, w których heteroscedastyczność jest bardzo wyraźna. Jednak nie jestem pewien, jak powinienem postępować teraz, ponieważ o ile rozumiem ta heteroscedastyczność powoduje, że mój model liniowy jest nieważny. (Czy to prawda?)
Użyj solidnego dopasowania liniowego za pomocą
rlm()
funkcjiMASS
pakietu, ponieważ jest najwyraźniej odporny na heteroscedastyczność.Ponieważ standardowe błędy moich współczynników są błędne z powodu heteroscedastyczności, mogę po prostu dostosować standardowe błędy, aby były odporne na heteroscedastyczność? Korzystając z metody opublikowanej w sekcji Przepełnienie stosu tutaj: regresja z heterometryczną korekcją błędów standardowych
Której metody najlepiej użyć do rozwiązania mojego problemu? Jeśli użyję rozwiązania 2, to czy moje możliwości przewidywania mojego modelu są całkowicie bezużyteczne?
Test Breuscha-Pagana potwierdził, że wariancja nie jest stała.
Moje resztki w funkcji dopasowanych wartości wyglądają następująco:
(większa wersja)
źródło
gls
i jednej ze struktur wariancji z pakietu nlme.Odpowiedzi:
To dobre pytanie, ale myślę, że to niewłaściwe pytanie. Z twojego rysunku jasno wynika, że masz bardziej fundamentalny problem niż heteroscedastyczność, tzn. Twój model ma nieliniowość, której nie uwzględniłeś. Wiele potencjalnych problemów, jakie może mieć model (nieliniowość, interakcje, wartości odstające, heteroscedastyczność, nienormalność) może maskować się nawzajem. Nie sądzę, żeby istniała twarda i szybka zasada, ale ogólnie sugerowałbym radzenie sobie z problemami w kolejności
(np. nie martw się nieliniowością przed sprawdzeniem, czy istnieją dziwne obserwacje, które wypaczają dopasowanie; nie martw się o normalność, zanim zaczniesz martwić się heteroscedastycznością).
W tym konkretnym przypadku pasowałbym do modelu kwadratowego
y ~ poly(x,2)
(lubpoly(x,2,raw=TRUE)
luby ~ x + I(x^2)
i sprawdziłbym, czy to rozwiązuje problem.źródło
Poniżej wymienię kilka metod radzenia sobie z heteroscedastycznością (z
R
przykładami): Alternatywy dla jednokierunkowej ANOVA dla danych heteroskedastycznych . Wiele z tych zaleceń byłoby mniej idealnych, ponieważ masz jedną zmienną ciągłą, a nie wielopoziomową zmienną kategorialną, ale i tak warto przeczytać ją jako przegląd.W tej sytuacji rozsądnym wyborem będzie najmniej ważona liczba kwadratów (być może w połączeniu z solidną regresją, jeśli podejrzewasz, że występują pewne wartości odstające). Przydałoby się również użycie błędów kanapki Huber-White.
Oto kilka odpowiedzi na konkretne pytania:
źródło
Załaduj
sandwich package
i oblicz macierz var-cov swojej regresji za pomocąvar_cov<-vcovHC(regression_result, type = "HC4")
(przeczytaj instrukcjęsandwich
). Teraz zalmtest package
pomocącoeftest
funkcji:źródło
Jak wygląda dystrybucja twoich danych? Czy to w ogóle wygląda jak krzywa dzwonowa? Czy z normalnej tematyki można go w ogóle rozpowszechniać? Czas trwania połączenia telefonicznego może na przykład nie być ujemny. Tak więc w tym konkretnym przypadku połączeń rozkład gamma dobrze to opisuje. A z gamma możesz użyć uogólnionego modelu liniowego (glm w R)
źródło