Bagaimana memilih transformasi terbaik untuk mencapai linearitas?

10

Saya ingin melakukan regresi linier berganda dan kemudian memprediksi nilai-nilai baru dengan sedikit ekstrapolasi. Saya memiliki variabel respons di kisaran -2 hingga +7, dan tiga prediktor (kisaran sekitar +10 - +200). Distribusi hampir normal. Tetapi hubungan antara respons dan prediktornya tidak linier, saya melihat kurva pada plot. Misalnya seperti ini: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

Saya ingin menerapkan transformasi untuk mencapai linearitas. Saya mencoba mengubah variabel respons dengan memeriksa berbagai fungsi dan melihat plot yang dihasilkan untuk melihat hubungan linier antara respons dan prediktor. Dan saya menemukan bahwa ada banyak fungsi yang dapat memberi saya hubungan linier yang terlihat. Misalnya fungsi

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 dll. berikan hasil yang sama: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

Setelah saya akan mengubah nilai prediksi (untuk sebagai dan seterusnya). Distribusi kurang lebih mirip dengan normal. y=1t=1(y+10)3y=1t1310

Bagaimana saya bisa memilih transformasi terbaik untuk data saya? Apakah ada cara kuantitatif (dan tidak terlalu rumit) untuk mengevaluasi linearitas? Untuk membuktikan bahwa transformasi yang dipilih adalah yang terbaik atau menemukannya secara otomatis jika memungkinkan.

Atau satu-satunya cara adalah dengan melakukan regresi berganda non-linear?

nadya
sumber
Saya mencoba memperbaiki pemformatan formula Anda, tetapi mungkin telah melakukan beberapa kesalahan - silakan periksa.
Peter Ellis
Aku tidak mempercayaimu. Secara matematis tidak mungkin untuk hingga untuk secara bersamaan memiliki hubungan linear dengan variabel keenam pada rentang . Saya pikir Anda mungkin telah membuat kesalahan dalam menghitung transformasi . t 5 0 200 yt1t50200y
whuber
2
Kamu benar. Itu cukup menakjubkan bahwa berbagai ekspresi ulang y akan tetap dalam hubungan linier dengan r. Terima kasih telah membagikannya. Jika Anda plot residual, Anda akan menemukan bahwa terlihat tentang yang terbaik, dan kemudian tidak memerlukan re-ekspresi: . r1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Jawaban:

14

Ini agak seni, tetapi ada beberapa hal standar dan mudah yang selalu bisa dicoba.

Hal pertama yang harus dilakukan adalah mengekspresikan kembali variabel dependen ( ) untuk membuat residual menjadi normal. Itu tidak benar-benar berlaku dalam contoh ini, di mana titik-titik tampak jatuh sepanjang kurva nonlinier halus dengan sedikit pencar. Jadi kami melanjutkan ke langkah selanjutnya.y

Hal berikutnya adalah untuk mengekspresikan kembali variabel independen ( ) untuk linierisasi hubungan. Ada cara sederhana dan mudah untuk melakukan ini. Pilih tiga titik representatif di sepanjang kurva, lebih disukai di kedua ujung dan tengah. Dari gambar pertama saya membacakan pasangan terurut = , , dan . Tanpa informasi apa pun selain tampaknya selalu positif, pilihan yang baik adalah menjelajahi transformasi Box-Cox untuk berbagai kekuatan , biasanya dipilih kelipatan atau dan biasanya antara( r , y ) ( 10 , 7 ) ( 90 , 0 ) ( 180 , - 2 ) r r ( r p - 1 ) / p p 1 / 2 1 / 3 - 1 1 p 0 log ( r )r(r,y)(10,7)(90,0)(180,2)r r(rp1)/pp1/21/31 dan . (Nilai pembatas sebagai mendekati adalah .) Transformasi ini akan membuat hubungan linear perkiraan asalkan kemiringan antara dua titik pertama sama dengan kemiringan antara pasangan kedua.1p0log(r)

Misalnya, kemiringan data yang tidak diubah adalah = - dan = . Ini sangat berbeda: satu sekitar empat kali yang lain. Mencoba memberikan kemiringan , dll., Yang berfungsi ke dan : sekarang salah satunya hanya dua kali yang lain, yang merupakan peningkatan. Melanjutkan dengan cara ini (spreadsheet mudah digunakan), saya menemukan bahwa berfungsi dengan baik: lerengnya sekarang dan(07)/(9010)0.088(20)/(18090)0.022p=1/2-16,6-32,4p0-7.3-6,6y=α+βlog(r)y(07)/(901/211/2101/211/2)16.632.4p07.36.6, nilai yang hampir sama. Akibatnya, Anda harus mencoba model dari bentuk . Kemudian ulangi: paskan satu baris, periksa residu, identifikasi transformasi untuk membuatnya mendekati simetris, dan iterate.y=α+βlog(r)y

John Tukey memberikan rincian dan banyak contoh dalam buku klasiknya Exploratory Data Analysis (Addison-Wesley, 1977). Dia memberikan prosedur yang serupa (tetapi sedikit lebih terlibat) untuk mengidentifikasi transformasi penstabilan varians dari . Satu dataset sampel yang ia suplai sebagai latihan menyangkut data berusia seabad tentang tekanan uap merkuri yang diukur pada berbagai suhu. Dengan mengikuti prosedur ini memungkinkan seseorang untuk menemukan kembali hubungan Clausius-Clapeyron ; residu hingga kecocokan akhir dapat diartikan sebagai efek mekanika kuantum yang terjadi pada jarak atom!y

whuber
sumber
Terima kasih atas saran transformasi Box-Cox. Apakah masuk akal untuk memeriksa R-kuadrat dari lm (1 / (y + 5) ~ r) dan lm dari fungsi lain dan kemudian membandingkan R-kuadrat ini?
nadya
Masuk akal ketika rdiperbaiki, karena dengan demikian adalah proksi untuk varian residual. Jika Anda mengekspresikan kembali (variabel independen), maka tidak berharga atau menyesatkan: lihat stats.stackexchange.com/questions/13314/… . R 2R2rR2
whuber
Terima kasih banyak atas jawabannya! Saya tidak akan mengubah variabel independen saya
nadya
@whuber: Dengan asumsi saya hanya memiliki variabel tunggal , apa aturan praktis yang baik untuk memilih transformasi? Saya memiliki buku EDA oleh Tukey, tetapi saya merasa sulit untuk menemukan jalan keluar. Banyak yang tampaknya difokuskan pada ekspresi ulang pena-dan-kertas. Adakah halaman / bab yang menurut Anda sangat berharga? y
Erich Schubert
@Erich Setiap bagian dari buku itu sangat bermanfaat: lagipula, jika Anda dapat melakukan sesuatu dengan pensil dan kertas, maka Anda dapat memprogram komputer untuk melakukannya :-). Dengan variabel tunggal sering kali sangat menyenangkan untuk mentransformasikannya untuk simetri (dari distribusi empirisnya); Tukey menyebut ini "kesepakatan kecil." Cara sederhana untuk mengidentifikasi transformasi semacam itu dijelaskan di bagian 3E, "Mencari dengan cepat." Ini menggambarkan apa yang bisa dipelajari dari pandangan sekilas pada ringkasan huruf N (Tukey menyarankan ringkasan 7 atau 9 huruf). Memperoleh keterampilan itu lebih berharga daripada memiliki program komputer melakukan perhitungan untuk Anda.
whuber
1

Jika variabel respons Anda (atau lebih tepatnya, apa yang akan menjadi residu dari variabel respons Anda) pada skala asli memiliki distribusi Normal seperti yang Anda maksudkan, kemudian mentransformasikannya untuk membuat hubungan linear dengan variabel lain akan berarti bahwa itu tidak lagi menjadi Normal dan itu juga akan mengubah hubungan antara varians dan nilai rata-ratanya. Jadi dari bagian deskripsi Anda, saya pikir Anda lebih baik menggunakan regresi non-linear daripada mengubah respons. Jika tidak, setelah transformasi linear dari respons, Anda akan memerlukan struktur kesalahan yang lebih kompleks (meskipun ini bisa menjadi masalah penilaian dan Anda perlu memeriksa, menggunakan metode grafis).

Atau, selidiki transformasi variabel penjelas . Selain transformasi lurus, Anda juga memiliki opsi untuk menambahkan dalam istilah kuadratik.

Lebih umum, transformasi lebih merupakan seni daripada sains, jika tidak ada teori yang ada untuk menyarankan apa yang harus Anda gunakan sebagai dasar transformasi.

Peter Ellis
sumber