Я хотел бы соответствовать линейной модели (лм), где дисперсия остатков явно зависит от объясняющей переменной.
Я знаю, как это сделать, используя glm с семейством Gamma для моделирования дисперсии, а затем поместив ее обратно в веса в функции lm (пример: http://nitro.biosci.arizona.edu/r/chapter31 .pdf )
Я размышлял:
- Это единственная техника?
- Какие еще подходы актуальны?
- Какие R пакеты / функции относятся к этому типу моделирования? (кроме ГЛМ, ЛМ)
glm()
тогдаlm()
в главе, на которую вы ссылаетесь. Мне кажется,glm()
это все, что требуется и используется там, но я, возможно, что-то упустил. Вы можете попробовать обобщенный метод наименьших квадратов (gls()
в формате nlme ), который позволяет оценивать веса, чтобы контролировать тип гетероскедастичности, который вы упоминаете; посмотрите?varFunc
и перейдите по ссылкам оттуда. IIRCvarFixed()
будет делать то, что вы хотите.Ответы:
Таблетки против «эффекта мегафона» включают (среди прочего):
rlm()
вMASS
пакете R выполняет M-оценку, которая должна быть устойчивой к неравенству дисперсий.Редактирование в июле 2017 года. Похоже, что обобщенный метод наименьших квадратов, как предлагается в ответе Грега Сноу, является одним из лучших вариантов.
источник
С пакетом gamlss вы можете смоделировать распределение ошибок ответа как линейную, нелинейную или гладкую функцию объясняющих переменных. Это довольно мощный подход (я много узнал обо всех возможностях, которые могут возникнуть в процессе выбора модели), и все это хорошо объясняется в нескольких публикациях (включая книги), на которые есть ссылки по ссылке выше.
источник
gls
Функция вnlme
пакете для R можно оценить регрессии и отношения с дисперсией в то же время. Смотритеweights
аргумент и 2-й пример на странице справки.источник