Интерпретация остаточного и нулевого отклонения в GLM R

47

Как интерпретировать нулевое и остаточное отклонение в GLM в R? Мол, мы говорим, что чем меньше AIC, тем лучше. Существует ли аналогичная и быстрая интерпретация отклонений?

Нулевое отклонение: 1146,1 на 1077 степеней свободы Остаточное отклонение: 4589,4 на 1099 степеней свободы AIC: 11089

Анджали
источник

Ответы:

74

Пусть LL = логарифмическая вероятность

Вот краткое изложение того, что вы видите из итогового (glm.fit) вывода:

Нулевое отклонение = 2 (LL (насыщенная модель) - LL (нулевая модель)) при df = df_Sat - df_Null

Остаточное отклонение = 2 (LL (насыщенная модель) - LL (предлагаемая модель)) df = df_Sat - df_Proposed

Насыщенная Модель представляет собой модель , которая предполагает , каждую точку данных имеет свои собственные параметры (что означает , что вы п параметров для оценки.)

Null модель предполагает точные «обратную», в который принимает один параметр для всех точек данных, что означает , что вы только оценить 1 параметр.

Предлагаемая модель предполагает , что вы можете объяснить свои точки данных с р параметрами + свободным членом, так что у вас есть р + 1 параметры.

Если ваше нулевое отклонение действительно мало, это означает, что нулевая модель довольно хорошо объясняет данные. Аналогично с вашим остаточным отклонением .

Что на самом деле означает маленький? Если ваша модель "хорошая", то ваша девиантность составляет приблизительно Chi ^ 2 с (df_sat - df_model) степенями свободы.

Если вы хотите сравнить вашу нулевую модель с предложенной моделью, то вы можете посмотреть на

(Нулевое отклонение - Остаточное отклонение) прибл. Chi ^ 2 с df Предложено - df Null = (n- (p + 1)) - (n-1) = p

Результаты, которые вы дали непосредственно от R? Они кажутся немного странными, потому что, как правило, вы должны видеть, что степени свободы, сообщаемые для нулевого значения, всегда выше, чем степени свободы, сообщаемые для остаточного значения. Это потому, что опять Нулевое отклонение df = Насыщенный df - Нулевое df = n-1 Остаточное отклонение df = Насыщенный df - Предлагаемый df = n- (p + 1)

TeresaStat
источник
Да, это очень полезная статья @TeresaStat, спасибо. Насколько это надежно? Изменяются ли определения, если вы говорите о полиномиальной модели вместо GLM?
Hack-R
@ Тереза: Да, эти результаты от Р. Почему это случилось? Есть проблемы с моделью здесь?
Анджали
@ Hack-R: извините за столь поздний ответ, я новичок в Stackexchange. Для полиномиальных моделей вы не используете функцию glm в R, и результат отличается. Вам нужно будет посмотреть либо на модель пропорциональных шансов, либо на порядковую регрессию, функцию mlogit. Стоит немного почитать о многочленах, у них есть разные предположения. Если я смогу добраться до него во время перерыва, я добавлю в него дополнительную информацию.
TeresaStat
@ Анджали, я не совсем уверен, почему вы получили бы такие результаты в R. Трудно понять, не увидев ваши данные / результаты. В общем, я не понимаю, почему остаточные степени свободы были бы выше нуля df. Сколько параметров вы оценили?
TeresaStat
1
@ user4050 Цель моделирования в целом состоит в том, чтобы использовать наименьшее количество параметров, чтобы максимально объяснить ваш ответ. Чтобы выяснить, сколько параметров нужно использовать, нужно взглянуть на преимущество добавления еще одного параметра. Если дополнительный параметр многое объясняет (приводит к большому отклонению) от вашей маленькой модели, то вам нужен дополнительный параметр. Для того, чтобы количественно оценить, что вам нужно, вам нужна статистическая теория. Теория говорит нам, что отклонение является квадратом со степенями свободы, равными разнице параметров между вашими двумя моделями. Это понятнее?
TeresaStat
13

Нулевое отклонение показывает, насколько хорошо модель предсказывает отклик без перехвата.

Остаточное отклонение показывает, насколько хорошо модель прогнозируется, когда включены предикторы. Из вашего примера видно, что отклонение увеличивается на 3443,3 при добавлении 22 переменных-предикторов (примечание: степени свободы = количество наблюдений - количество предсказателей). Это увеличение отклонения свидетельствует о значительном отсутствии соответствия.

Мы также можем использовать остаточное отклонение, чтобы проверить, верна ли нулевая гипотеза (т. Е. Модель логистической регрессии обеспечивает адекватное соответствие данных). Это возможно, потому что отклонение задается значением хи-квадрат при определенных степенях свободы. Чтобы проверить значимость, мы можем узнать связанные значения p, используя приведенную ниже формулу в R:

p-value = 1 - pchisq(deviance, degrees of freedom)

Используя приведенные выше значения остаточного отклонения и DF, вы получаете значение p, равное приблизительно нулю, что свидетельствует о существенном отсутствии доказательств в поддержку нулевой гипотезы.

> 1 - pchisq(4589.4, 1099)
[1] 0
dts86
источник
2
Как вы узнаете, что такое отсечение для хорошей / плохой подгонки, основываясь на отклонении и количестве переменных предиктора (без pchisq)? Это просто, если Остаточное отклонение> NULL Deviance или есть какой-то диапазон / отношение?
Hack-R
3
Ваш ответ не неправильный, но может быть неправильно истолкован. На самом деле, это было неправильно понято (см. Здесь ). В свете этого, можете ли вы прояснить различия, которые неявно присутствуют в вашем коде?
gung - Восстановить Монику