Регрессионное моделирование с неравной дисперсией


22

Я хотел бы соответствовать линейной модели (лм), где дисперсия остатков явно зависит от объясняющей переменной.

Я знаю, как это сделать, используя glm с семейством Gamma для моделирования дисперсии, а затем поместив ее обратно в веса в функции lm (пример: http://nitro.biosci.arizona.edu/r/chapter31 .pdf )

Я размышлял:

  • Это единственная техника?
  • Какие еще подходы актуальны?
  • Какие R пакеты / функции относятся к этому типу моделирования? (кроме ГЛМ, ЛМ)

4
Где они используют glm()тогда lm()в главе, на которую вы ссылаетесь. Мне кажется, glm()это все, что требуется и используется там, но я, возможно, что-то упустил. Вы можете попробовать обобщенный метод наименьших квадратов ( gls()в формате nlme ), который позволяет оценивать веса, чтобы контролировать тип гетероскедастичности, который вы упоминаете; посмотрите ?varFuncи перейдите по ссылкам оттуда. IIRC varFixed()будет делать то, что вы хотите.
Восстановить Монику - Дж. Симпсон

В 'proc mixed', subject = option 'создает блочно-диагональную структуру в матрице дисперсии-ковариации невязок. Рассматривали ли вы, таким образом, общую линейную смешанную модель, чтобы изменить гипотезу гомоскедастичности?
Октябрь

Спасибо Гэвин, я немного посмотрел на эти функции. Два вопроса: 1) Вы рекомендуете какие-нибудь учебники? (Я подозреваю, что книга МАСС может быть хорошим началом, но мне было интересно, если вы подумали об этом). 2) Так как модель, которую я подгоняю, представляет собой простую OLS, насколько отличается оценка при использовании функции gls? (Если я правильно помню - не так много, так как он должен работать в некотором итеративном приближении первой степени, но я совсем не уверен в этом). Ocram - спасибо, но я не пользуюсь SAS.
Тал Галили

Здесь, в разделе 2, объясняется, как это сделать в STATA для квазипуассонной регрессии: stata.com/meeting/fnasug08/gutierrez.pdf . Если бы кто-нибудь мог предложить способ перекодировать это в R, я был бы очень благодарен.
a11msp

Ответы:


17

Таблетки против «эффекта мегафона» включают (среди прочего):

  1. Y . Это не точно, но иногда укрощает расширение.
  2. Используйте взвешенную регрессию наименьших квадратов . При таком подходе каждому наблюдению присваивается свой коэффициент дисперсии. В этом ответе показано, как использовать WLSR в R (например, если дисперсия невязок пропорциональна средним, вы можете указать в качестве весов обратную величину для подобранного значения в невзвешенной модели).
  3. Используйте надежную регрессию. Функция rlm()вMASS пакете R выполняет M-оценку, которая должна быть устойчивой к неравенству дисперсий.

Редактирование в июле 2017 года. Похоже, что обобщенный метод наименьших квадратов, как предлагается в ответе Грега Сноу, является одним из лучших вариантов.


2
Я построил этот ответ для вопроса переполнения стека .
Питер Эллис

1
Возможно, стоит обратить внимание и на обобщенную опцию наименьших квадратов, используя gls с опцией weights, установленной в varFixed () - для меня это может показаться одним из более элегантных опций ...
Том Венселерс

@ TomWenseleers Я согласен. Обратите внимание, что это ответ Грега Сноу.
gui11aume

9

С пакетом gamlss вы можете смоделировать распределение ошибок ответа как линейную, нелинейную или гладкую функцию объясняющих переменных. Это довольно мощный подход (я много узнал обо всех возможностях, которые могут возникнуть в процессе выбора модели), и все это хорошо объясняется в нескольких публикациях (включая книги), на которые есть ссылки по ссылке выше.


8

glsФункция в nlmeпакете для R можно оценить регрессии и отношения с дисперсией в то же время. Смотрите weightsаргумент и 2-й пример на странице справки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.