Bisakah saya menggunakan variabel yang memiliki hubungan non-linear dengan variabel dependen dalam regresi logistik?

9

Katakanlah saya sedang membangun model regresi logistik di mana variabel dependen adalah biner dan dapat mengambil nilai atau . Biarkan variabel independen menjadi - ada variabel independen . Katakanlah untuk variabel independen ke- , analisis bivariat menunjukkan tren berbentuk-U - yaitu, jika saya mengelompokkan ke dalam tong yang masing-masing berisi jumlah pengamatan yang kurang lebih sama dan menghitung 'angka buruk' untuk setiap pengamatan bin - # di mana Anda = 0 / total pengamatan di setiap nampan - maka saya mendapatkan kurva berbentuk U.01x1,x2,...,xmmkxk20

Pertanyaan saya adalah:

  1. Bisakah saya langsung menggunakan sebagai input sambil memperkirakan parameter beta? Apakah asumsi statistik dilanggar yang dapat menyebabkan kesalahan signifikan dalam memperkirakan parameter?xk
  2. Apakah perlu untuk 'linierisasi' variabel ini melalui transformasi (log, kuadrat, produk dengan dirinya sendiri, dll.)?
Mozan Sykol
sumber
3
Apakah salah satu prediktor yang ingin Anda sertakan dalam model? Sepertinya Anda mengatakan bahwa adalah fungsi berbentuk- dari . Kurva berbentuk U sering dapat didekati dengan baik oleh fungsi kuadratik (terutama di dekat lembah) - sudahkah Anda mempertimbangkan untuk memasukkan istilah linear dan kuadratik dalam variabel ke dalam model? XkP(Y=1)Xk
Makro
@ Macro terima kasih atas saran Anda. Saya telah melihat beberapa pemodel yang cocok dengan fungsi linear-piecewise (dengan asumsi bentuk U tajam) - di mana setiap baris diperkirakan dari data dengan istirahat ditentukan secara visual dan kemudian output dari persamaan linear disediakan sebagai input untuk regresi logistik. Saya bukan penggemar berat pendekatan ini.
Mozan Sykol

Jawaban:

12

Anda ingin menggunakan formulasi fleksibel yang akan menangkap non-linearitas secara otomatis, misalnya, beberapa versi model aditif umum . Pilihan orang miskin adalah polinomial , , ..., , tetapi polinomial seperti itu menghasilkan overswings yang mengerikan di ujung rentang variabel masing-masing. Formulasi yang jauh lebih baik adalah menggunakan B-splines (kubik) (lihat catatan intro acak dari halaman pertama Google di sini , dan buku yang bagus, di sini ). B-splines adalah urutan punuk lokal:xkxk2xkpk

http://ars.sciencedirect.com/content/image/1-s2.0-S0169743911002292-gr2.jpg

Ketinggian punuk ditentukan dari regresi Anda (linier, logistik, GLM lainnya), karena fungsi yang Anda paskan hanyalah

θ=β0+k=1KβkB(xxkhk)

untuk bentuk fungsional yang ditentukan dari punuk . Sejauh ini versi paling populer adalah spline kubik halus berbentuk lonceng:B()

B(z)={14(z+2)3,2z114(3|x|36x2+4),1<x<114(2x)3,1x20,otherwise

Di sisi implementasi, yang perlu Anda lakukan adalah mengatur 3-5-10 simpul pun yang masuk akal untuk aplikasi Anda dan membuat 3-5-10 variabel apa pun yang sesuai dalam kumpulan data dengan nilai-nilai dari . Biasanya, grid nilai sederhana dipilih, dengan menjadi dua kali ukuran mesh dari grid, sehingga pada setiap titik, ada dua garis B-tumpang tindih, seperti pada plot di atas.xkB(xxkhk)hk

Tugas
sumber
2
Bagaimana Anda dapat mengatakan bahwa dia membutuhkan sesuatu yang rumit ini? Tentu saja istilah kuadratik dalam kovariat x yang tampaknya memiliki bentuk itu dapat dimasukkan dalam model regresi logistik seperti yang diinginkan OP.
Michael R. Chernick
1
@MichaelChernick Ya saya menerima jawabannya karena mengajarkan saya konsep baru, tapi saya mungkin tidak akan membutuhkan solusi yang rumit.
Mozan Sykol
3
@Michael Itu poin penting. Namun saya terdorong oleh komentar OP yang menyebutkan prosedur pemasangan linier ad hoc . Splining bekerja dalam semangat yang sama tetapi dengan fleksibilitas dan ketelitian yang lebih besar. Istilah kuadrat mungkin bekerja tetapi sepertinya banyak yang diharapkan.
whuber
Tampak lebih seperti piecewise konstan bagi saya: nilai rata-rata dari respons dalam bin sama dengan regresi pada variabel dummy / indikator bin itu, dan itu piecewise konstan ... @MichaelChernick: tidak ada yang tahu, secara umum, tapi saya Saya belum melihat aplikasi di mana B-splines akan kalah dengan polinomial fit.
Tugas
@StasK Jika inferior berarti tidak cocok dengan data juga maka saya pikir ukuran sampel kecil akan menjadi polinomial sederhana.
Michael R. Chernick
5

Sama seperti regresi linier, regresi logistik dan model linier yang lebih umum diperlukan untuk linier dalam parameter tetapi tidak harus dalam kovariat. Jadi istilah polinomial seperti kuadrat yang disarankan Makro dapat digunakan. Ini adalah kesalahpahaman umum tentang istilah linear dalam model linear umum. Model nonlinear adalah model yang nonlinear dalam parameter. Jika model linier dalam parameter dan berisi persyaratan derau aditif yang IID, model linier meskipun ada kovariat seperti X log X atau exp (X). Karena sekarang saya membaca pertanyaan itu sepertinya sudah diedit. Jawaban spesifik saya adalah ya untuk 1 dan tidak perlu ke 2.2

Michael R. Chernick
sumber
1

Alternatif lain yang layak digunakan oleh toko pemodelan tempat saya bekerja secara rutin, adalah menghapus variabel independen kontinu dan menggantikan 'tingkat buruk'. Ini memaksa hubungan linear.

Zelazny7
sumber
Saya juga pernah melihat ini. Bagaimana Anda memilih tempat sampah?
Adam Ryczkowski
1
Ada berbagai metode diskritisasi yang dapat Anda gunakan. R memiliki discopaket. Saya membuat algoritma saya sendiri yang secara rekursif membagi variabel kontinu berdasarkan nilai informasi. Saya memasukkannya ke dalam paket R di sini: github.com/Zelazny7/binnr (sedang dalam proses!). Saya juga akan mengganti bobot bukti bukannya rata-rata. Ketika dipasangkan dengan regresi LASSO hasilnya sangat fantastis!
Zelazny7
Terima kasih! Bisakah Anda membandingkan binnralgoritme dengan CRAN smbinning?
Adam Ryczkowski
'Binnr' ditulis dalam C dan sangat cepat. Ini juga mendukung kondisi dunia nyata seperti menimpa nilai-nilai dan sifat monoton. Dimungkinkan untuk memberi tahu 'binnr' untuk hanya melakukan pemotongan diskrit ketika angka buruknya monoton. 'smbinning' menggunakan pohon inferensi bersyarat yang, dalam pengalaman saya, membutuhkan waktu lama pada set data berukuran layak karena mereka bergantung pada permutasi. 'binnr' juga memungkinkan Anda untuk secara interaktif membuat penyesuaian ke
nampan dengan
Apakah Anda menggunakannya dalam produksi? Apakah Anda mengetahui adanya bug tersembunyi atau kotak sudut yang tidak dicentang? Saya berpikir untuk menggunakannya untuk pelanggan besar dan saya hanya punya 1 hari untuk mengujinya sebelum menerapkan kode Anda.
Adam Ryczkowski