Ketika memodelkan proporsi berkelanjutan (misalnya tutupan vegetasi proporsional pada kuadrat survei, atau proporsi waktu yang terlibat dalam suatu kegiatan), regresi logistik dianggap tidak sesuai (misalnya Warton & Hui (2011). Arcsine adalah asinin: analisis proporsi dalam ekologi ). Sebaliknya, regresi OLS setelah mentransformasi proporsi, atau mungkin regresi beta, lebih tepat.
Di bawah kondisi apa perbedaan koefisien estimasi regresi linier logit dan regresi logistik bila menggunakan R's lm
dan glm
?
Ambil simulasi dataset berikut, di mana kita dapat mengasumsikan bahwa p
adalah data mentah kami (yaitu proporsi terus menerus, bukan mewakili ):
set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)
plot(p ~ x, ylim=c(0, 1))
Pas dengan model logit-linear, kami memperoleh:
summary(lm(logit.p ~ x))
##
## Call:
## lm(formula = logit.p ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.64702 -0.13747 -0.00345 0.15077 0.73148
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.868148 0.006579 131.9 <2e-16 ***
## x 0.967129 0.006360 152.1 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared: 0.9586, Adjusted R-squared: 0.9586
## F-statistic: 2.312e+04 on 1 and 998 DF, p-value: < 2.2e-16
Hasil regresi logistik:
summary(glm(p ~ x, family=binomial))
##
## Call:
## glm(formula = p ~ x, family = binomial)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.32099 -0.05475 0.00066 0.05948 0.36307
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.86242 0.07684 11.22 <2e-16 ***
## x 0.96128 0.08395 11.45 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 176.1082 on 999 degrees of freedom
## Residual deviance: 7.9899 on 998 degrees of freedom
## AIC: 701.71
##
## Number of Fisher Scoring iterations: 5
##
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
Akankah estimasi koefisien regresi logistik selalu tidak bias sehubungan dengan estimasi model linear logit?
sumber
0.1
ada "adalah", katakanlah, 10 uji coba independen menghasilkan satu keberhasilan. Untuk model linear,0.1
hanyalah sebuah nilai, suatu ukuran yang sewenang-wenang.family=binomial
menyiratkan bahwa variabel dependen mewakili jumlah binomial - bukan proporsi. Dan bagaimana bisaglm
tahu itu0.1
seperti "satu dari sepuluh" dan bukan "sepuluh dari seratus"? Meskipun proporsi itu sendiri tidak berbeda, ini memiliki implikasi besar untuk bagaimana kesalahan standar dihitung.weights
arg (meskipun ini bukan yang saya coba dalam posting saya, di mana saya sengaja menganalisis data secara tidak benar).Jawaban:
Mungkin ini bisa dijawab dengan cara "terbalik" - yaitu kapan mereka sama?
Sekarang algoritma IRLS yang digunakan dalam regresi logistik memberikan beberapa wawasan di sini. Pada konvergensi Anda dapat mengekspresikan koefisien model sebagai:
lm ()
sumber
Tolong jangan ragu untuk menunjukkannya jika saya salah.
Pertama, saya sudah katakan, dalam kecocokan kedua, Anda memanggil
glm
dengan cara yang salah! Agar sesuai dengan regresi logistikglm
, respons harus berupa variabel kategori (biner), tetapi Anda menggunakanp
, variabel numerik! Saya harus mengatakanwarning
terlalu lembut untuk membiarkan pengguna tahu kesalahan mereka ...Dan, seperti yang Anda perkirakan, Anda mendapatkan estimasi koefisien yang sama oleh keduanya yang cocok hanya dengan COINCIDENCE. Jika Anda mengganti
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
denganlogit.p <- a + b*x + rnorm(1000, 0, 0.7)
, yaitu, mengubah varians dari istilah kesalahan dari0.2
ke0.7
, maka hasil dari dua cocok akan sangat berbeda, meskipun cocok kedua (glm
) tidak ada artinya sama sekali ...Regresi logistik digunakan untuk klasifikasi (biner), jadi Anda harus memiliki respons kategoris, seperti yang dinyatakan di atas. Misalnya, pengamatan respons harus berupa serangkaian "sukses" atau "gagal", bukan serangkaian "probabilitas (frekuensi)" seperti dalam data Anda. Untuk kumpulan data kategorikal yang diberikan, Anda dapat menghitung hanya satu frekuensi keseluruhan untuk "response = success" atau "response = failure", daripada satu seri. Dalam data yang Anda hasilkan, tidak ada variabel kategorikal sama sekali, jadi tidak mungkin untuk menerapkan regresi logistik. Sekarang Anda dapat melihat, meskipun mereka memiliki penampilan yang serupa, regresi linier-logit (seperti Anda menyebutnya) hanyalah masalah REGRESI linier biasa (yaitu, respons adalah variabel numerik) menggunakan respons yang ditransformasikan (seperti transformasi sqr atau sqrt),
Biasanya, regresi linier dipasang melalui Ordinary Least Squares (OLS), yang meminimalkan kerugian kuadrat untuk masalah regresi; regresi logistik dipasang melalui Maximum Likelihood Estimate (MLE), yang meminimalkan log-loss untuk masalah klasifikasi. Berikut ini adalah referensi tentang fungsi kehilangan Fungsi Rugi, Deva Ramanan. Pada contoh pertama, Anda menganggap
p
sebagai respons, dan cocok dengan model regresi linier biasa melalui OLS; dalam contoh kedua, Anda mengatakanR
bahwa Anda sedang menyesuaikan model regresi logistikfamily=binomial
, jadiR
paskan model dengan MLE. Seperti yang Anda lihat, pada model pertama, Anda mendapatkan uji-t dan uji-F, yang merupakan keluaran klasik dari OLS yang cocok untuk regresi linier. Dalam model kedua, uji signifikansi koefisien didasarkan padaz
bukant
, yang merupakan keluaran klasik dari MLE fit of logistic regression.sumber
logistic regression is a CLASSIFICATION problem
mungkin disalahartikan dalam arti bahwa itu hanya bernilai selama dapat diklasifikasi dengan baik. Yang akan salah untuk berpikir, karena model "optimal" secara teoritis dan dengan cara itu model probabilitas kadang-kadang dapat diklasifikasikan lebih buruk daripada model yang tidak begitu baik.