Чи може хто-небудь сказати мені, як інтерпретувати графіки "залишки та пристосованість", "нормальні q-q", "масштаб-розташування" та "залишки проти важеля"? Я встановлюю двочленний GLM, зберігаю його, а потім малюю його.
Чи може хто-небудь сказати мені, як інтерпретувати графіки "залишки та пристосованість", "нормальні q-q", "масштаб-розташування" та "залишки проти важеля"? Я встановлюю двочленний GLM, зберігаю його, а потім малюю його.
Відповіді:
R
не має виразного plot.glm()
методу. Коли ви підходите до моделі glm()
та запускаєте plot()
, вона викликає ? Plot.lm , що підходить для лінійних моделей (тобто із нормально розподіленим терміном помилки).
Загалом, значення цих сюжетів (принаймні для лінійних моделей) можна дізнатись у різних існуючих потоках резюме (наприклад: Залишки проти пристосованих ; qq-графіки в декількох місцях: 1 , 2 , 3 ; Шкала розташування ; Залишки проти важеля ). Однак ці інтерпретації, як правило, не є дійсними, коли розглянута модель є логістичною регресією.
Більш конкретно, сюжети часто «виглядають смішно» і спонукають людей до думки, що з моделлю щось не так, коли воно ідеально добре. Ми можемо побачити це, переглянувши ці сюжети з декількома простими моделюваннями, де ми знаємо, що модель правильна:
# we'll need this function to generate the Y data:
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }
set.seed(10) # this makes the simulation exactly reproducible
x = runif(20, min=0, max=10) # the X data are uniformly distributed from 0 to 10
lo = -3 + .7*x # this is the true data generating process
p = lo2p(lo) # here I convert the log odds to probabilities
y = rbinom(20, size=1, prob=p) # this generates the Y data
mod = glm(y~x, family=binomial) # here I fit the model
summary(mod) # the model captures the DGP very well & has no
# ... # obvious problems:
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.76225 -0.85236 -0.05011 0.83786 1.59393
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -2.7370 1.4062 -1.946 0.0516 .
# x 0.6799 0.3261 2.085 0.0371 *
# ...
#
# Null deviance: 27.726 on 19 degrees of freedom
# Residual deviance: 21.236 on 18 degrees of freedom
# AIC: 25.236
#
# Number of Fisher Scoring iterations: 4
Тепер давайте подивимося на сюжети, які ми отримуємо plot.lm()
:
І графіки, Residuals vs Fitted
і Scale-Location
графіки виглядають так, що є проблеми з моделлю, але ми знаємо, що таких немає. Ці схеми, призначені для лінійних моделей, просто часто вводять в оману при використанні з логістичною регресійною моделлю.
Розглянемо ще один приклад:
set.seed(10)
x2 = rep(c(1:4), each=40) # X is a factor with 4 levels
lo = -3 + .7*x2
p = lo2p(lo)
y = rbinom(160, size=1, prob=p)
mod = glm(y~as.factor(x2), family=binomial)
summary(mod) # again, everything looks good:
# ...
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.0108 -0.8446 -0.3949 -0.2250 2.7162
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -3.664 1.013 -3.618 0.000297 ***
# as.factor(x2)2 1.151 1.177 0.978 0.328125
# as.factor(x2)3 2.816 1.070 2.632 0.008481 **
# as.factor(x2)4 3.258 1.063 3.065 0.002175 **
# ...
#
# Null deviance: 160.13 on 159 degrees of freedom
# Residual deviance: 133.37 on 156 degrees of freedom
# AIC: 141.37
#
# Number of Fisher Scoring iterations: 6
Зараз всі сюжети виглядають дивно.
То що ж показують вам ці сюжети?
Residuals vs Fitted
Ділянка може допомогти вам побачити, наприклад, якщо є криволінійні тенденції , які ви пропустили. Але прихильність логістичної регресії є криволінійною за своєю природою, тому ви можете мати дивні погляди в залишках без нічого лишного. Normal Q-Q
Сюжет допоможе вам визначити , якщо ваші залишки нормально розподілені. Але залишки відхилень не повинні нормально розподілятися, щоб модель була дійсною, тому нормальність / ненормальність залишків не обов'язково нічого вам говорить. Scale-Location
Ділянка може допомогти вам визначити гетероскедастичності. Але логістичні регресійні моделі за своєю природою в значній мірі є гетеросептичними. Residuals vs Leverage
допомога допоможе вам визначити можливих людей, що не переживають людей. Але люди, що переживають логістичну регресію, не обов'язково проявляються так само, як у лінійній регресії, тому цей сюжет може або не може бути корисним для їх ідентифікації. Простий домашній урок тут полягає в тому, що ці сюжети можуть бути дуже важкими для використання, щоб допомогти вам зрозуміти, що відбувається з вашою логістичною регресійною моделлю. Люди, напевно, найкраще взагалі не дивитися на ці сюжети під час логістичної регресії, якщо вони не мають значних знань.
Детальніше про припущення про регресію читайте, оскільки в багатьох аспектах подібні (наприклад, тут чи підручник з регресії в R тут ).