Modelowanie regresji z nierówną wariancją

22

Chciałbym dopasować model liniowy (lm), w którym wariancja reszt jest wyraźnie zależna od zmiennej objaśniającej.

Wiem, że to robię, używając glm z rodziną Gamma do modelowania wariancji, a następnie umieść odwrotność w wagach funkcji lm (przykład: http://nitro.biosci.arizona.edu/r/chapter31 .pdf )

Zastanawiałem się:

  • Czy to jedyna technika?
  • Jakie inne podejścia są istotne?
  • Jakie pakiety R / funkcje istotne dla tego typu modelowania? (inne niż glm, lm)
Tal Galili
źródło
4
Gdzie oni używają, glm()a następnie lm()w rozdziale, do którego prowadzi link. Wydaje mi się, że glm()to wszystko, co jest tam wymagane i użyte, ale mogłem coś przeoczyć. Możesz wypróbować uogólnione najmniejsze kwadraty ( gls()w nlme ), które pozwalają oszacować wagi w celu kontroli rodzaju heteroscedastyczności, o której wspominasz; zobacz ?varFunci postępuj zgodnie z linkami stamtąd. IIRC varFixed()zrobi, co chcesz.
Przywróć Monikę - G. Simpson
W „proc mix” „podmiot = opcja” tworzy blokowo-diagonalną strukturę w macierzy wariancji-kowariancji reszt. Czy rozważałeś zatem ogólny liniowy model mieszany w celu zmiany hipotezy homoscedastyczności?
ocram
Dzięki Gavin, spojrzałem trochę na te funkcje. Dwa pytania: 1) Czy polecasz jakieś samouczki? (Podejrzewam, że książka MASS może być dobrym początkiem, ale zastanawiałam się, czy pomyślałeś o tym). 2) Ponieważ model, który dopasowuję, jest prostym OLS, jak różne będą szacunki podczas korzystania z funkcji gls? (Jeśli dobrze pamiętam - nie wiele, ponieważ powinno to działać nad pewnym iteracyjnym przybliżeniem pierwszego stopnia, ale nie jestem wcale tego pewien). Ocram - dziękuję, ale nie używam SAS.
Tal Galili,
W sekcji 2 wyjaśniono, jak to zrobić w STATA dla regresji quasipoisson : stata.com/meeting/fnasug08/gutierrez.pdf . Byłbym bardzo wdzięczny, gdyby ktoś mógł zasugerować sposób przekodowania tego w języku R.
a11msp

Odpowiedzi:

17

Pigułki przeciw „efektowi megafonowemu” obejmują (między innymi):

  1. Użyj transformacji log lub pierwiastka kwadratowego Y
  2. Użyj ważonej regresji metodą najmniejszych kwadratów . W tym podejściu każda obserwacja ma swój własny współczynnik wariancji. Ta odpowiedź pokazuje, jak używać WLSR w R (na przykład, jeśli wariancja reszt jest proporcjonalna do średnich, możesz podać jako ciężar odwrotność dopasowanej wartości w modelu nieważonym).
  3. Użyj solidnej regresji. Funkcja rlm()w MASSpakiecie R wykonuje oszacowanie M, które powinno być odporne na nierówności wariancji.

Edycja z lipca 2017 r .: Wydaje się, że uogólniona metoda najmniejszych kwadratów, zgodnie z sugestią Grega Snowa, jest jedną z najlepszych opcji.

gui11aume
źródło
2
Oparłem się na tej odpowiedzi na pytanie przepełnienia stosu .
Peter Ellis
1
Warto też zwrócić uwagę na uogólnioną opcję najmniejszych kwadratów, używając gls z opcją wag ustawioną na varFixed () - dla mnie wydaje się to jedną z bardziej eleganckich opcji ...
Tom Wenseleers
@TomWenseleers Zgadzam się. Zauważ, że to odpowiedź Grega Snowa.
gui11aume
9

Za pomocą pakietu gamlss możesz modelować rozkład błędów odpowiedzi jako liniową, nieliniową lub płynną funkcję zmiennych objaśniających. Wydaje się, że jest to dość potężne podejście ( wiele się nauczyłem o wszystkich możliwościach, które mogą pojawić się podczas procesu wyboru modelu) i wszystko to jest ładnie wyjaśnione w kilku publikacjach (w tym książkach), do których odwołuje się powyższy link.

ils
źródło
8

glsFunkcji w nlmepakiecie dla R można oszacować regresji i związek z odchylenia w tym samym czasie. Zobacz weightsargument i drugi przykład na stronie pomocy.

Greg Snow
źródło