У меня есть график остаточных значений линейной модели в зависимости от подогнанных значений, где гетероскедастичность очень ясна. Однако я не уверен, как мне поступить сейчас, потому что, насколько я понимаю, эта гетероскедастичность делает мою линейную модель недействительной. (Это правильно?)
Используйте надежную линейную аппроксимацию, используя
rlm()
функциюMASS
пакета, потому что он явно устойчив к гетероскедастичности.Поскольку стандартные ошибки моих коэффициентов неверны из-за гетероскедастичности, я могу просто настроить стандартные ошибки, чтобы они были устойчивы к гетероскедастичности? Используя метод, опубликованный в Переполнении стека здесь: регрессия с гетероскедастичностью, исправленная стандартными ошибками
Какой метод лучше всего использовать для решения моей проблемы? Если я использую решение 2, мои возможности предсказания моей модели совершенно бесполезны?
Тест Брейша-Пэгана подтвердил, что дисперсия не постоянна.
Мои остатки в зависимости от установленных значений выглядят так:
(увеличенная версия)
источник
gls
одну из дисперсионных структур из пакета nlme.Ответы:
Это хороший вопрос, но я думаю, что это неправильный вопрос. Ваша фигура проясняет, что у вас есть более фундаментальная проблема, чем гетероскедастичность, т.е. ваша модель имеет нелинейность, которую вы не учли. Многие из потенциальных проблем, которые может иметь модель (нелинейность, взаимодействия, выбросы, гетероскедастичность, ненормальность), могут маскироваться друг под друга. Я не думаю, что есть жесткое и быстрое правило, но в целом я бы предложил решать проблемы в порядке
(например, не беспокойтесь о нелинейности перед проверкой, есть ли странные наблюдения, которые искажают подгонку; не беспокойтесь о нормальности, прежде чем беспокоиться о гетероскедастичности).
В этом конкретном случае я бы подобрал квадратичную модель
y ~ poly(x,2)
(илиpoly(x,2,raw=TRUE)
илиy ~ x + I(x^2)
и посмотрю, не устранит ли она проблему).источник
Я перечислю ряд методов работы с гетероскедастичностью (с
R
примерами) здесь: Альтернативы одностороннему ANOVA для гетероскедастических данных . Многие из этих рекомендаций были бы менее идеальными, потому что у вас есть одна непрерывная переменная, а не многоуровневая категориальная переменная, но в любом случае было бы неплохо прочитать ее в качестве обзора.Для вашей ситуации разумным выбором будет взвешенные наименьшие квадраты (возможно, в сочетании с устойчивой регрессией, если вы подозреваете, что могут быть некоторые выбросы). Использование ошибок сэндвича Хубера-Уайта также было бы хорошо.
Вот несколько ответов на ваши конкретные вопросы:
источник
Загрузите
sandwich package
и вычислите матрицу var-cov вашей регрессии с помощьюvar_cov<-vcovHC(regression_result, type = "HC4")
(прочитайте руководствоsandwich
). Теперь сlmtest package
помощьюcoeftest
функции:источник
Как выглядит распределение ваших данных? Это похоже на кривую колокола вообще? Из предмета, может ли он вообще нормально распределяться? Например, длительность телефонного звонка не может быть отрицательной. Так что в этом конкретном случае вызовов гамма-распределение хорошо описывает это. А с гаммой вы можете использовать обобщенную линейную модель (GLM в R)
источник