Як інтерпретувати нульове та залишкове відхилення (з прикладами)
Щоразу, коли ви підбираєте загальну лінійну модель (наприклад, логістичну регресію, регресію Пуассона тощо), більшість статистичних програм виробляє значення для нульового відхилення та залишкового відхилення моделі.
Нульове відхилення говорить нам, наскільки добре змінну відповіді можна передбачити за допомогою моделі лише з початковим терміном.
Залишкове відхилення говорить нам, наскільки добре змінну відповіді можна передбачити за допомогою моделі з p змінними предикторів. Чим менше значення, тим краще модель здатна передбачити значення змінної відповіді.
Щоб визначити, чи є модель «корисною», ми можемо обчислити статистику хі-квадрат наступним чином:
X 2 = Нульове відхилення – Залишкове відхилення
з p ступенями свободи.
Тоді ми можемо знайти p-значення, пов’язане з цією статистикою хі-квадрат. Чим нижче значення p, тим краще модель відповідає набору даних порівняно з моделлю лише з оригінальним терміном.
У наступному прикладі показано, як інтерпретувати нульове та залишкове відхилення для моделі логістичної регресії в R.
Приклад: Інтерпретація нульового та залишкового відхилень
Для цього прикладу ми будемо використовувати стандартний набір даних із пакета ISLR. Ми можемо використати такий код, щоб завантажити та відобразити зведення набору даних:
#load dataset data <- ISLR::Default #view summary of dataset summary(data) default student balance income No:9667 No:7056 Min. : 0.0 Min. : 772 Yes: 333 Yes:2944 1st Qu.: 481.7 1st Qu.:21340 Median: 823.6 Median: 34553 Mean: 835.4 Mean: 33517 3rd Qu.:1166.3 3rd Qu.:43808 Max. :2654.3 Max. :73554
Цей набір даних містить таку інформацію про 10 000 осіб:
- за замовчуванням: вказує, чи особа виконала дефолт чи ні.
- студент: вказує, чи є особа студентом чи ні.
- баланс: середній баланс, який має особа.
- дохід: Дохід фізичної особи.
Ми будемо використовувати статус студента, банківський баланс і дохід, щоб побудувати модель логістичної регресії , яка передбачає ймовірність того, що дана особа не виконає зобов’язання:
#fit logistic regression model model <- glm(default~balance+student+income, family=" binomial ", data=data) #view model summary summary(model) Call: glm(formula = default ~ balance + student + income, family = "binomial", data = data) Deviance Residuals: Min 1Q Median 3Q Max -2.4691 -0.1418 -0.0557 -0.0203 3.7383 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 *** balance 5.737e-03 2.319e-04 24.738 < 2e-16 *** studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** income 3.033e-06 8.203e-06 0.370 0.71152 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 2920.6 on 9999 degrees of freedom Residual deviance: 1571.5 on 9996 degrees of freedom AIC: 1579.5 Number of Fisher Scoring iterations: 8
Ми можемо спостерігати наступні значення на виході для нуля і залишкового відхилення:
- Нульове відхилення : 2920,6 з df = 9999
- Залишкове відхилення : 1571,5 з df = 9996
Ми можемо використовувати ці значення для розрахунку статистики X 2 моделі:
- X 2 = Нульове відхилення – Залишкове відхилення
- Х2 = 2910,6 – 1579,0
- Х2 = 1331,6
Існує p = 3 ступені свободи предикторних змінних.
Ми можемо скористатися калькулятором хі-квадрат до P-значення , щоб знайти, що значення X 2 1331,6 із 3 ступенями свободи має значення p 0,000000.
Оскільки це p-значення набагато менше, ніж 0,05, ми можемо зробити висновок, що модель дуже корисна для прогнозування ймовірності того, що дана особа не виконає зобов’язання.
Додаткові ресурси
У наступних посібниках пояснюється, як на практиці виконувати логістичну регресію в R і Python:
Як виконати логістичну регресію в R
Як виконати логістичну регресію в Python