Regresi: Mengubah Variabel

41

Saat mentransformasikan variabel, apakah Anda harus menggunakan semua transformasi yang sama? Misalnya, dapatkah saya memilih dan memilih variabel yang diubah secara berbeda, seperti pada:

Biarkan, menjadi usia, lama bekerja, lama tinggal, dan penghasilan.x1,x2,x3

Y = B1*sqrt(x1) + B2*-1/(x2) + B3*log(x3)

Atau, haruskah Anda konsisten dengan transformasi Anda dan menggunakan semua yang sama? Seperti dalam:

Y = B1*log(x1) + B2*log(x2) + B3*log(x3) 

Pemahaman saya adalah bahwa tujuan transformasi adalah untuk mengatasi masalah normalitas. Melihat histogram dari masing-masing variabel kita dapat melihat bahwa mereka menyajikan distribusi yang sangat berbeda, yang akan membuat saya percaya bahwa transformasi yang diperlukan berbeda pada variabel dengan basis variabel.

## R Code
df <- read.spss(file="http://www.bertelsen.ca/R/logistic-regression.sav", 
                use.value.labels=T, to.data.frame=T)
hist(df[1:7]) 

teks alternatif

Terakhir, seberapa validkah untuk mentransformasikan variabel menggunakan mana memiliki nilai ? Apakah transformasi ini perlu konsisten di semua variabel atau apakah itu digunakan adhoc bahkan untuk variabel yang tidak termasuk 's?log(xn+1)xn00

## R Code 
plot(df[1:7])

teks alternatif

Brandon Bertelsen
sumber

Jawaban:

59

Satu mengubah tergantung variabel untuk mencapai perkiraan simetri dan homoscedasticity dari residual . Transformasi variabel independen memiliki tujuan yang berbeda: setelah semua, dalam regresi ini semua nilai independen diambil sebagai tetap, bukan acak, sehingga "normalitas" tidak dapat diterapkan. Tujuan utama dalam transformasi ini adalah untuk mencapai hubungan linear dengan variabel dependen (atau, benar-benar, dengan logitnya). (Tujuan ini mengesampingkan yang tambahan seperti mengurangi leverage yang berlebihanatau mencapai interpretasi sederhana dari koefisien.) Hubungan ini adalah properti dari data dan fenomena yang menghasilkannya, sehingga Anda memerlukan fleksibilitas untuk memilih ekspresi ulang yang sesuai dari masing-masing variabel secara terpisah dari yang lain. Secara khusus, tidak hanya itu bukan masalah untuk menggunakan log, root, dan timbal balik, itu agak umum. Prinsipnya adalah bahwa (biasanya) tidak ada yang istimewa tentang bagaimana data awalnya diekspresikan, jadi Anda harus membiarkan data menyarankan ekspresi ulang yang mengarah pada model yang efektif, akurat, berguna, dan (jika mungkin) secara teori dapat dibenarkan.

Histogram - yang mencerminkan distribusi univariat - seringkali mengisyaratkan transformasi awal, tetapi tidak dispositif. Menemani mereka dengan matriks sebar sehingga Anda dapat memeriksa hubungan di antara semua variabel.


Transformasi seperti mana adalah konstanta positif "nilai awal" dapat bekerja - dan dapat ditunjukkan bahkan ketika tidak ada nilai adalah nol - tetapi kadang-kadang mereka menghancurkan hubungan linear. Ketika ini terjadi, solusi yang baik adalah membuat dua variabel. Salah satunya sama dengan ketika bukan nol dan sebaliknya adalah apa pun; lebih mudah untuk membiarkannya default ke nol. Yang lainnya, sebut saja , adalah indikator apakah adalah nol: sama dengan 1 bila dan 0 sebaliknya. Istilah-istilah ini berkontribusi jumlahlog(x+c)cxlog(x)x x x = 0zxxx=0

βlog(x)+β0zx

untuk estimasi. Ketika , sehingga istilah kedua keluar hanya menyisakan . Ketika , " " telah disetel ke nol sementara , hanya menyisakan nilai . Dengan demikian, memperkirakan efek ketika dan sebaliknya adalah koefisien .z x = 0 β log ( x ) x = 0 log ( x ) z x = 1 β 0 β 0 x = 0 β log ( x )x>0zx=0βlog(x)x=0log(x)zx=1β0β0x=0βlog(x)

whuber
sumber
1
Deskripsi yang sangat membantu, terima kasih untuk arahan dan detail pada subquestion saya juga.
Brandon Bertelsen
pareonline.net/getvn.asp?v=15&n=12 Osborne (2002) merekomendasikan penahan nilai minimum dalam distribusi pada tepat 1,0. pareonline.net/getvn.asp?v=8&n=6
Chris
1
@Chris All Box-Cox mentransformasi transisi dari negatif ke positif pada juga. Itu tidak relevan untuk transformasi nonlinear, karena dapat ditindaklanjuti dengan transformasi linear tanpa mengubah efeknya pada varians atau linearitas hubungan dengan variabel lain. Jadi, jika klien Anda alergi terhadap angka negatif, tambahkan saja konstanta yang sesuai setelah transformasi. Menambahkan konstanta sebelum transformasi, dapat memiliki efek mendalam - dan itulah sebabnya tidak ada rekomendasi yang selalu menggunakan mungkin benar. 111
whuber
1
Di salah satu set data yang sedang saya kerjakan, saya perhatikan jika saya menggeser variabel respon dependen ke anchor pada 1 dan menggunakan transformasi box cox untuk menghilangkan kemiringan, transformasi yang dihasilkan melemah menyebabkan kepercayaan pada kritik Anda. ;)
Chris
1
@whuber Pertanyaan saya sebelumnya sangat konyol (mungkin akan menghapus komentar). Tentu saja berkaitan dengan indikator dummy , dan BUKAN dengan konstanta dalam model. Sekali lagi terima kasih atas penjelasan yang luas dan jelas tentang pengaturan ini; sangat membantu pekerjaan saya. Secara keseluruhan saya lebih suka parametrization ini sebagai lawan dari pendekatan lain yang setara ini . z xβ0zx
landroni