Apakah mungkin untuk mensimulasikan regresi logistik tanpa keacakan?

8

Kita dapat mensimulasikan regresi linier tanpa keacakan, yang berarti kita membuat daripada . Maka jika kita cocok dengan model linier koefisien akan identik dengan "kebenaran dasar". Berikut ini sebuah contoh.y=Xβy=Xβ+ϵ

set.seed(0)
n    <- 1e5
p    <- 3
X    <- matrix(rnorm(n*p), ncol=p)
beta <- runif(p)
# y  <- X %*% beta + rnorm(n)*0.5
# remove the randomness
y    <- X %*% beta
dat  <- data.frame(y=y, x=X)
lm.res = lm(y ~ .-1, data=dat)
norm(as.matrix(lm.res$coefficients - beta))
[1] 2.176037e-14

Pertanyaan saya adalah dapatkah kita melakukan simulasi serupa dengan regresi logistik? Dari pertanyaan ini saya mendapatkan titik penghapusan keacakan dapat dilakukan dengan menggunakan pernyataan deterministik bukan sampel dari distribusi binomial.

y <- ifelse(plogis(X %*% beta)>0.5,1,0) 

dari pada

y <- rbinom(n,1,prob=plogis(X %*% beta))

Tetapi jika kita melakukan itu, pemisahan total akan terjadi, dan kita tidak bisa mendapatkan koefisien. Di sisi lain, jika kita menambahkan regularisasi, maka koefisien tidak akan menjadi data yang dihasilkan.

Jadi, apa yang bisa saya lakukan untuk "menghapus keacakan dalam regresi logistik" dan menyelesaikan untuk koefisien "kebenaran tanah" yang tepat seperti kasus regresi linier?

Saya merasa ada beberapa kesalahpahaman mendasar dari konsep ini, apa yang saya lewatkan?

Haitao Du
sumber
1
Saya tidak melihat alasan statistik untuk melakukan ini karena Anda perlu mengetahui parameter untuk menghasilkan respons. semuanya sepenuhnya deterministik.
Michael R. Chernick
@MichaelChernick Saya mencoba untuk menguji beberapa algoritma optimasi, di mana saya ingin mensimulasikan kebenaran dasar dan membandingkannya dengan output algoritma, berikut adalah contohnya.
Haitao Du

Jawaban:

7

Regresi logistik tidak memiliki istilah "kesalahan" seperti halnya regresi linier klasik. Pengecualian untuk ini mungkin adalah regresi linier dengan istilah kesalahan logistik, tetapi ini bukan model probabilitas yang diterima secara umum yang menghasilkan model regresi logistik. Ini karena model logistik memiliki hubungan mean-variance. Analog dengan "menambahkan istilah kesalahan" ke model regresi linier sebenarnya adalah model quasibinomial di mana varians hanya sebanding dengan p * (1-p).

Pertanyaan terkait mungkin bagaimana cara mendapatkan hasil model regresi yang identik atas berbagai desain atau replikasi. Ini dapat dilakukan dengan "trik" dalam perangkat lunak pemodelan regresi. Anda dapat menghasilkan non-integral hasil dari risiko diprediksi yang mengakibatkan hasil regresi yang sama logistik independen dari desain . Misalnya: dan sebagai dua desain yang berbeda. Seperti dalam kasus Anda, dan keduanya menghasilkan model regresi logistik yang sama menghasilkan 0,3 sebagai rasio odds log dan 0,0 sebagai odds log untuk .YXx1 <- seq(-3, 3, 0.1)x2 <- rnorm(61)y1 <- plogis(0.3*x1)y2 <- plogis(0.3*x2)x=0

> glm(y1 ~ x1, family=binomial)

Call:  glm(formula = y1 ~ x1, family = binomial)

Coefficients:
(Intercept)           x1  
 -2.528e-16    3.000e-01  

Ini berkaitan dengan pertanyaan Anda karena perkiraan parameter persis seperti yang didefinisikan dalam model probabilitas Anda, terlepas dari desain , dan tanpa pemisahan (mis. Rasio odds log, ).xβ=±

Pemodelan hasil fraksional dalam model logistik adalah cara yang diterima untuk menganalisis data ekologis, di mana hasilnya memang mungkin fraksional. Bukan kebetulan, ini juga merupakan jenis pemodelan ketika model quasibinomial yang paling banyak digunakan. Juga tidak secara kebetulan, saya pikir dispersi sebanding dengan parameter skala untuk istilah kesalahan logistik ketika melakukan "regresi logistik laten".

AdamO
sumber
+1 saya tidak yakin saya mengerti "Anda dapat menghasilkan hasil Y non-integral dari risiko yang diprediksi yang menghasilkan hasil regresi logistik yang sama terlepas dari desain X." Bisakah Anda menjelaskan lebih banyak? Anda juga punya jawaban di sini, apakah itu yang Anda bicarakan?
Haitao Du
@ hxd1011 tidak, tautan yang Anda berikan adalah pendekatan alternatif untuk memperkirakan GLM. Namun, hal ini terkait dengan satu hal: dalam regresi logistik varians adalah fungsi dari rata-rata, bukan input independen untuk hasilnya. Jika Anda memasukkan nilai yang diharapkan dari alih-alih mensimulasikan hasil Bernoulli, Anda menghasilkan hasil sesuai dengan model probabilitas yang diinginkan. y
AdamO
kode Anda menghancurkan pikiran saya ..., saya tidak tahu Anda dapat menjalankan glm family=binomialdengan nomor pecahan. itu memang memberi saya peringatan. tetapi masih dapat berjalan ... "Dalam eval (keluarga $ menginisialisasi): # non-integer berhasil dalam binomial glm!"
Haitao Du
@ hxd1011 Itu tidak muncul banyak dalam praktek, tetapi pada akhirnya fit.glmhanya memaksimalkan fungsi. Tidak terlalu peduli apa nilai-nilai yitu, hanya saja mereka tidak meledakkan nilai yang dihitung dari fungsi tersebut.
Matthew Drury
3

Saya selalu suka berpikir tentang regresi logistik sebagai apa yang terjadi jika Anda menerapkan keputusan biner ke model linier. Yaitu, mari kita asumsikan ada beberapa hubungan mendasar yang mengikuti model linier: mana adalah variabel independen Anda dan koefisien (atau kemiringan) pada variabel itu, dan adalah noise acak. Lalu katakanlah kita menerapkan fungsi ke variabel kontinu yang memetakannya ke hasil biner: dimana

y=Xβ+ε
Xβεy
f(y)={0, if yθ1, if y>θ
θadalah ambang batas. Berapa probabilitas bahwa fungsi ini mengembalikan , diberi nilai tertentu ? Jika kita mengasumsikan bahwa terdistribusi secara normal dengan rata-rata dan varians , maka kita dapat menghitung probabilitas ini sebagai:1Xε0σ2

p(f(y)=1|X)=p(y>θ|X)=θN(y;Xβ,σ2)dy

Dengan kata lain, ini menghitung area di bawah distribusi Normal yang berada di sebelah kanan ambang. Perhatikan bahwa probabilitas ini pada dasarnya adalah apa yang coba dijelaskan oleh model regresi logistik. Dan memang, jika Anda memplot probabilitas ini sebagai fungsi , Anda mendapatkan sesuatu yang cukup dekat dengan fungsi logistik (sebenarnya fungsi logistik sering digunakan sebagai pendekatan yang mudah digunakan untuk distribusi Normal kumulatif).X

Untuk nilai-nilai dekat ambang batas, probabilitas bahwa akan berada di atas ambang batas adalah dekat , karena kebisingan dapat mempengaruhi hasilnya. Ketika Anda meningkatkan , akan semakin jauh dari dan menjadi lebih mungkin. Yang terpenting, seberapa cepat meningkat dengan tergantung pada dua hal: kemiringan dan varians derau . Lebih tepatnya, itu tergantung pada rasioXβy0.5εXXβθf(y)=1p(f(y)=1|X)Xβσ2βσ. Rasio (signal-to-noise) inilah yang menentukan koefisien (yang diharapkan) yang Anda dapatkan dari regresi logistik. Dengan kata lain, Anda dapat menganggap koefisien dalam regresi logistik sebagai pengontrol seberapa besar masing-masing variabel independen perlu berubah relatif terhadap derau dalam data untuk meningkatkan probabilitas hasil tertentu dengan jumlah tertentu.

Sekarang untuk datang ke pertanyaan Anda: Anda bertanya apakah mungkin untuk menghilangkan semua keacakan, yaitu tidak memiliki suara. Ini berarti sama dengan , dan karenanya akan tidak terdefinisi (atau "tak terbatas"). Ini menjelaskan apa yang Anda temukan, bahwa Anda tidak dapat memperkirakan koefisien ketika tidak ada suara. Memang, Anda dapat memikirkan pemisahan sempurna yang Anda capai tanpa noise sebagai sesuai dengan koefisien tak terbatas pada variabel independen Anda, karena (untuk dekat ambang ) Anda hanya perlu mengubah jumlah yang sangat kecil untuk pergi semua jalan dari ke .σ0βσXβθXp(y>θ|X)=0p(y>θ|X)=1

Sunting: sebenarnya satu hal yang dapat Anda lakukan adalah alih-alih menggambar sampel dari distribusi binomial untuk mensimulasikan data Anda, ganti sampel ini dengan harapan mereka, yaitu probabilitas yang diprediksi oleh fungsi logistik yang disimulasikan. Dengan begitu, Anda menghilangkan keacakan yang berasal dari simulasi sampel terbatas (yaitu variabilitas sampling), dan dengan demikian estimasi koefisien Anda kemudian harus sama dengan kebenaran dasar (karena ada satu fungsi logistik yang tepat sesuai dengan nilai-nilai ini).

Ruben van Bergen
sumber
3
Catatan Anda menggambarkan regresi Probit (Anda dapat menggunakan N (0, 1) tanpa kehilangan generalitas, itu hanya skala koefisien Anda), yang memang sangat dekat dengan regresi logistik tetapi seperti yang Anda sebutkan tidak persis sama.
Sven