Dalam regresi linier, kapan tepat menggunakan log variabel independen alih-alih nilai aktual?

164

Apakah saya mencari distribusi berperilaku lebih baik untuk variabel independen yang bersangkutan, atau untuk mengurangi efek pencilan, atau yang lainnya?

d_2
sumber
1
Apakah Anda bertanya tentang cara mengurangi efek outlier atau kapan harus menggunakan log beberapa variabel?
Benjamin Bannier
23
Saya pikir OP mengatakan, "Saya pernah mendengar orang menggunakan variabel input log: mengapa mereka melakukan itu?"
Shane
Kenapa hanya log? Tidakkah seharusnya pertanyaan ini berlaku untuk teknik transformasi data apa pun yang dapat digunakan untuk meminimalkan residu yang terkait dengan mx + b?
AsymLabs
1
@ AsymLabs - Log mungkin khusus dalam regresi, karena itu adalah satu-satunya fungsi yang mengubah suatu produk menjadi penjumlahan.
probabilityislogic
12
Peringatan untuk pembaca: Pertanyaan ini menanyakan tentang mentransformasikan IV, tetapi beberapa jawaban tampaknya berbicara tentang alasan untuk mengubah DV. Jangan salah mengira bahwa semua itu juga alasan untuk mengubah infus - beberapa bisa jadi, yang lain pasti tidak. Secara khusus, distribusi IV umumnya tidak relevan (memang, distribusi marginal dari DV juga tidak).
Glen_b

Jawaban:

168

Saya selalu ragu-ragu untuk melompat ke utas dengan tanggapan yang sangat baik seperti ini, tetapi mengejutkan saya bahwa beberapa jawaban memberikan alasan untuk lebih memilih logaritma daripada beberapa transformasi lain yang "menghancurkan" data, seperti root atau timbal balik.

Sebelum membahasnya , mari kita rekapitulasi kebijaksanaan dalam jawaban yang ada dengan cara yang lebih umum. Beberapa ekspresi ulang non-linear dari variabel dependen ditunjukkan ketika salah satu dari yang berikut ini berlaku:

  • Residu memiliki distribusi yang miring. Tujuan transformasi adalah untuk memperoleh residu yang kira-kira terdistribusi secara simetris (tentu saja sekitar nol).

  • Penyebaran residu berubah secara sistematis dengan nilai-nilai variabel dependen ("heteroskedastisitas"). Tujuan dari transformasi adalah untuk menghapus perubahan sistematis dalam penyebaran, mencapai perkiraan "homoscedasticity."

  • Untuk linierisasi hubungan.

  • Ketika teori ilmiah menunjukkan. Sebagai contoh, kimia sering menunjukkan konsentrasi menyatakan sebagai logaritma (memberikan aktivitas atau bahkan pH terkenal).

  • Ketika teori statistik yang lebih samar menyarankan residu mencerminkan "kesalahan acak" yang tidak menumpuk secara aditif.

  • Untuk menyederhanakan model. Misalnya, kadang-kadang logaritma dapat menyederhanakan jumlah dan kompleksitas istilah "interaksi".

(Indikasi ini dapat bertentangan satu sama lain; dalam kasus seperti itu, diperlukan penilaian.)

Jadi, kapan logaritma secara khusus diindikasikan daripada beberapa transformasi lainnya?

  • Residu memiliki distribusi condong positif "sangat". Dalam bukunya tentang EDA, John Tukey memberikan cara kuantitatif untuk memperkirakan transformasi (dalam keluarga Box-Cox, atau kekuatan, transformasi) berdasarkan statistik peringkat residu. Ini benar-benar bermuara pada fakta bahwa jika mengambil log simetri residu, itu mungkin bentuk yang tepat dari ekspresi ulang; jika tidak, diperlukan beberapa ekspresi ulang lainnya.

  • Ketika SD residu berbanding lurus dengan nilai yang dipasang (dan tidak dengan kekuatan nilai yang dipasang).

  • Ketika hubungan dekat dengan eksponensial.

  • Ketika residu diyakini mencerminkan kesalahan akumulasi multiplikasi.

  • Anda benar-benar menginginkan model di mana perubahan marginal dalam variabel penjelas ditafsirkan dalam bentuk perubahan (persentase) multiplikatif dalam variabel dependen.

Akhirnya, beberapa non - alasan untuk menggunakan kembali ekspresi :

  • Membuat outlier tidak terlihat seperti outlier. Pencilan adalah datum yang tidak cocok dengan deskripsi data yang pelit dan relatif sederhana. Mengubah deskripsi seseorang untuk membuat outlier terlihat lebih baik biasanya merupakan pembalikan prioritas yang salah: pertama dapatkan deskripsi data yang valid secara statistik, baik secara statistik dan kemudian gali outlier apa saja. Jangan biarkan pencilan sesekali menentukan cara menggambarkan sisa data!

  • Karena perangkat lunak secara otomatis melakukannya. (Cukup berkata!)

  • Karena semua data positif. (Kepositifan sering menyiratkan kemiringan positif, tetapi tidak harus. Lebih jauh lagi, transformasi lain dapat bekerja lebih baik. Misalnya, root seringkali paling berhasil dengan data yang dihitung.)

  • Untuk membuat data "buruk" (mungkin berkualitas rendah) tampak berperilaku baik.

  • Untuk dapat memplot data. (Jika suatu transformasi diperlukan untuk dapat memplot data, itu mungkin diperlukan untuk satu atau lebih alasan bagus yang telah disebutkan. Jika satu-satunya alasan transformasi benar-benar untuk memplot, silakan dan lakukan itu - tetapi hanya untuk memplot data. Biarkan data tidak diubah untuk dianalisis.)

whuber
sumber
1
Bagaimana dengan variabel-variabel seperti kepadatan populasi di suatu daerah atau rasio anak-guru untuk setiap distrik sekolah atau jumlah pembunuhan per 1000 populasi? Saya telah melihat profesor mengambil log dari variabel-variabel ini. Tidak jelas bagi saya mengapa. Misalnya, bukankah tingkat pembunuhan sudah menjadi persentase? Log akankah persentase perubahan tarif? Mengapa log rasio anak-guru lebih disukai? Haruskah transformasi log diambil untuk setiap variabel kontinu ketika tidak ada teori mendasar tentang bentuk fungsional yang sebenarnya?
user1690130
1
@JG rasio kecil cenderung memiliki distribusi miring; logaritma dan akar cenderung membuatnya lebih simetris. Saya tidak mengerti pertanyaan Anda terkait dengan persentase: mungkin Anda menggabungkan berbagai penggunaan persentase (satu untuk mengekspresikan sesuatu sebagai bagian dari keseluruhan dan yang lain untuk mengekspresikan perubahan relatif)? Saya tidak percaya saya menulis apa pun yang menganjurkan agar logaritma selalu diterapkan - jauh dari itu! Jadi saya tidak mengerti dasar untuk pertanyaan terakhir Anda.
whuber
2
"Ketika residual diyakini mencerminkan kesalahan akumulasi multiplikasi." Saya mengalami kesulitan menafsirkan frasa ini. Apakah mungkin untuk menyempurnakan ini sedikit dengan satu atau dua kalimat lain? Apa akumulasi yang Anda maksud?
Hatshepsut
@ user1690130 untuk rasio dan kepadatan, ini umumnya harus dipasang sebagai distribusi keluarga poisson untuk jumlah dengan offset untuk eksposur. Misalnya, jumlah orang adalah hitungan, dan offset adalah area wilayah. Lihat pertanyaan ini untuk penjelasan yang baik - stats.stackexchange.com/questions/11182/…
Michael Barton
2
@Hatshepsut contoh sederhana kesalahan akumulasi multiplikasi adalah volume sebagai variabel dependen dan kesalahan dalam pengukuran setiap dimensi linier.
abalter
73

Saya selalu memberi tahu siswa ada tiga alasan untuk mengubah variabel dengan mengambil logaritma natural. Alasan untuk mencatat variabel akan menentukan apakah Anda ingin mencatat variabel independen, tergantung atau keduanya. Untuk menjadi jelas selama saya berbicara tentang mengambil logaritma natural.

Pertama, untuk meningkatkan kesesuaian model dengan poster lain. Sebagai contoh jika residu Anda tidak terdistribusi secara normal maka mengambil logaritma dari variabel miring dapat meningkatkan kecocokan dengan mengubah skala dan membuat variabel lebih "normal" terdistribusi. Misalnya, penghasilan dipotong pada nol dan sering menunjukkan kemiringan positif. Jika variabel memiliki kemiringan negatif, Anda dapat membalikkan variabel terlebih dahulu sebelum mengambil logaritma. Saya berpikir di sini terutama skala Likert yang dimasukkan sebagai variabel kontinu. Sementara ini biasanya berlaku untuk variabel dependen Anda kadang-kadang memiliki masalah dengan residu (misalnya heteroskedastisitas) yang disebabkan oleh variabel independen yang kadang-kadang dapat diperbaiki dengan mengambil logaritma dari variabel itu. Misalnya ketika menjalankan model yang menjelaskan evaluasi dosen pada satu set dosen dan kelas kovariat variabel "ukuran kelas" (yaitu jumlah siswa dalam kuliah) memiliki outlier yang menyebabkan heteroskedastisitas karena varians dalam evaluasi dosen lebih kecil di lebih besar di lebih besar kohort daripada kohort yang lebih kecil. Mencatat variabel siswa akan membantu, meskipun dalam contoh ini baik menghitung Kesalahan Standar Kuat atau menggunakan Kotak Tertimbang Tertimbang dapat membuat interpretasi lebih mudah.

β β

β

β

β100

β/100

Dan akhirnya mungkin ada alasan teoretis untuk melakukannya. Misalnya beberapa model yang ingin kami perkirakan adalah multiplikasi dan karenanya nonlinier. Mengambil logaritma memungkinkan model-model ini diperkirakan dengan regresi linier. Contoh yang baik dari ini termasuk fungsi produksi Cobb-Douglas di bidang ekonomi dan Persamaan Mincer dalam pendidikan. Fungsi produksi Cobb-Douglas menjelaskan bagaimana input dikonversi menjadi output:

Y=ALαKβ

dimana

Y

A

L

K

αβ

Mengambil logaritma ini membuat fungsi mudah untuk diperkirakan menggunakan regresi linier OLS seperti:

log(Y)=log(A)+αlog(L)+βlog(K)
Graham Cookson
sumber
5
"Log Y dan X - peningkatan satu unit dalam X akan menyebabkan β ∗ peningkatan / penurunan Y 100%": Saya pikir ini hanya berlaku ketika β kecil sehingga exp (β) ≈ 1 + β
Ida
1
bagus dan jelas terima kasih! Satu pertanyaan, bagaimana Anda menginterpretasikan intersep dalam kasus Log Y dan X? dan umumnya saya bermasalah tentang cara melaporkan regresi yang diubah log ...
Bakaburg
2
Saya payah untuk jawaban yang berisi contoh-contoh dari Ekonomi ["Anda punya saya di ' Fungsi Produksi Cobb-Douglas '"] .... Namun satu hal: Anda harus mengubah istilah intersep dalam persamaan kedua menjadi log (A ) untuk membuatnya konsisten dengan persamaan pertama.
Steve S
100×(eβ1)
21

Untuk lebih lanjut tentang poin sempurna whuber tentang alasan untuk memilih logaritma daripada beberapa transformasi lain seperti root atau timbal balik, tetapi fokus pada interpretabilitas unik dari koefisien regresi yang dihasilkan dari transformasi log dibandingkan dengan transformasi lainnya, lihat:

Oliver N. Keene. Transformasi log adalah spesial. Statistik dalam Kedokteran 1995; 14 (8): 811-819. DOI: 10.1002 / sim.4780140810 . (PDF legalitas yang meragukan tersedia di http://rds.epi-ucsf.org/ticr/syllabus/courses/25/2009/04/21/Lecture/readings/log.pdf ).

Jika Anda mencatat variabel bebas x ke basis b , Anda dapat mengartikan koefisien regresi (dan CI) sebagai perubahan dalam variabel dependen y per b - peningkatan x . (Oleh karena itu, log ke basis 2 sering berguna karena berkaitan dengan perubahan dalam y per dua kali lipat dalam x , atau log ke basis 10 jika x bervariasi pada banyak urutan besarnya, yang lebih jarang). Transformasi lain, seperti akar kuadrat, tidak memiliki interpretasi yang sederhana.

Jika Anda mencatat variabel dependen y (bukan pertanyaan awal tetapi yang dijawab oleh beberapa dari jawaban sebelumnya), maka saya menemukan ide Tim Cole tentang 'sympercents' menarik untuk mempresentasikan hasil (saya bahkan pernah menggunakannya dalam kertas sekali), meskipun mereka tampaknya tidak menangkap semua itu secara luas:

Tim J Cole. Sympercents: perbedaan persentase simetris pada skala 100 log (e) menyederhanakan penyajian data yang diubah log. Statistik dalam Kedokteran 2000; 19 (22): 3109-3125. DOI: 10.1002 / 1097-0258 (20001130) 19:22 <3109 :: AID-SIM558> 3.0.CO; 2-F [Saya sangat senang Stat Med berhenti menggunakan SICIs seperti DOIs ...]

onestop
sumber
1
Terima kasih untuk referensi dan poin yang sangat bagus. Pertanyaan yang menarik adalah apakah masalah ini berlaku untuk semua transformasi, bukan hanya log. Bagi kami, statistik / probabilitas sangat berguna karena memungkinkan prediksi kinerja yang efektif, atau kriteria / pedoman yang efektif. Selama bertahun-tahun kami telah menggunakan transformasi daya (log dengan nama lain), transformasi polinomial, dan lain-lain (bahkan transformasi sedikit demi sedikit) untuk mencoba mengurangi residu, mempererat interval kepercayaan dan umumnya meningkatkan kemampuan prediksi dari sekumpulan data yang diberikan. Apakah kita sekarang mengatakan ini tidak benar?
AsymLabs
1
@ AsymLabs, seberapa terpisahkah dua budaya Breiman (kira-kira prediktor dan pemodel)? Lih Dua budaya - kontroversial.
denis
15

Orang biasanya mengambil log dari variabel input untuk menskalakan dan mengubah distribusi (misalnya untuk membuatnya terdistribusi normal). Namun itu tidak dapat dilakukan secara membabi buta; Anda harus berhati-hati saat melakukan penskalaan untuk memastikan bahwa hasilnya masih dapat diartikan.

Ini dibahas dalam sebagian besar teks statistik pengantar. Anda juga dapat membaca makalah Andrew Gelman tentang "Menskalakan input regresi dengan membaginya dengan dua standar deviasi" untuk diskusi tentang ini. Dia juga memiliki diskusi yang sangat bagus tentang hal ini di awal "Analisis Data Menggunakan Regresi dan Model Bertingkat / Hierarkis" .

Mengambil log bukanlah metode yang tepat untuk berurusan dengan data / outlier yang buruk.

Shane
sumber
12

Anda cenderung mengambil log data ketika ada masalah dengan residu. Misalnya, jika Anda memplot residu terhadap kovariat tertentu dan mengamati pola peningkatan / penurunan (bentuk corong), maka transformasi mungkin sesuai. Residual non-acak biasanya menunjukkan bahwa asumsi model Anda salah, yaitu data tidak normal.

Beberapa tipe data secara otomatis meminjamkan diri pada transformasi logaritmik. Sebagai contoh, saya biasanya mengambil log ketika berhadapan dengan konsentrasi atau usia.

Meskipun transformasi tidak terutama digunakan untuk menangani pencilan, mereka memang membantu sejak mengambil data yang tergencet.

csgillespie
sumber
1
Namun tetap saja, dengan menggunakan log, perubahan model - untuk regresi linier adalah y ~ a * x + b, untuk regresi linier pada log adalah y ~ y0 * exp (x / x0).
1
Saya setuju - mengambil perubahan log model Anda. Tetapi jika Anda harus mengubah data Anda, itu berarti bahwa model Anda pada awalnya tidak cocok.
csgillespie
2
@cgillespie: Konsentrasi, ya; tapi umur? Itu aneh.
Whuber
@whuber: Saya kira itu sangat bergantung pada data, tetapi set data yang saya gunakan, Anda akan melihat perbedaan besar antara usia 10 dan 18 tahun, tetapi perbedaan kecil antara usia 20 dan 28 tahun. Bahkan untuk anak kecil perbedaan antara 0-1 tahun tidak sama dengan perbedaan antara 1-2.
csgillespie
1
@ Landroni Ini singkat kata. Saya tidak akan mengatakan itu miskin, kecuali kemungkinan "misalnya" dimaksudkan bukan "yaitu" Saya mengerti penggunaan "acak" di sini dalam arti "independen dan terdistribusi secara identik," yang memang merupakan asumsi paling umum yang diasumsikan oleh OLS. Dalam beberapa keadaan orang-orang juga menganggap distribusi yang mendasari umum ini adalah normal, tetapi itu tidak sepenuhnya diperlukan dalam praktik atau dalam teori: semua yang diperlukan adalah bahwa distribusi sampling dari statistik yang relevan mendekati normal.
whuber
10

XXX

XXX3rmsXx

require(rms)
dd <- datadist(mydata); options(datadist='dd')
cr <- function(x) x ^ (1/3)
f <- ols(y ~ rcs(cr(X), 5), data=mydata)
ggplot(Predict(f))  # plot spline of cr(X) against X

X3X

Frank Harrell
sumber
E[Y|X]=f(X)
9

Saya ingin menjawab pertanyaan pengguna1690130 yang dibiarkan sebagai komentar atas jawaban pertama pada 26 Oktober '12 dan berbunyi sebagai berikut: "Bagaimana dengan variabel seperti kepadatan populasi di suatu daerah atau rasio guru-anak untuk setiap distrik sekolah atau jumlah pembunuhan per 1000 dalam populasi? Saya telah melihat profesor mengambil log dari variabel-variabel ini. Tidak jelas bagi saya mengapa. Sebagai contoh, bukankah tingkat pembunuhan sudah menjadi persentase? Log akan menjadi persentase perubahan dari rate? Mengapa log rasio anak-guru lebih disukai? "

Saya sedang mencari untuk menjawab masalah yang sama dan ingin berbagi apa buku pelajaran statistik lama saya ( Jeffrey Wooldridge. 2006. Pengantar Ekonometrika - Pendekatan Modern, Edisi 4. Bab 6 Analisis Regresi Berganda: Masalah Selanjutnya. 191 ) mengatakan tentang hal itu. Wooldridge menyarankan:

Variabel yang muncul dalam bentuk proporsi atau persen, seperti tingkat pengangguran, tingkat partisipasi dalam program pensiun, persentase siswa yang lulus ujian standar, dan tingkat penangkapan pada kejahatan yang dilaporkan - dapat muncul dalam bentuk asli atau logaritma. , meskipun ada kecenderungan untuk menggunakannya dalam bentuk level . Ini karena setiap koefisien regresi yang melibatkan variabel asli - apakah itu variabel dependen atau independen - akan memiliki interpretasi perubahan titik persentase. Jika kita menggunakan, katakanlah, mencatat ( unem ) dalam regresi, di mana unem adalah persentase individu yang menganggur, kita harus sangat berhati-hati untuk membedakan antara perubahan titik persentase dan perubahan persentase. Ingat, jika tidaknaik dari 8 menjadi 9, ini merupakan peningkatan satu poin persentase, tetapi peningkatan 12,5% dari tingkat pengangguran awal. Menggunakan log berarti bahwa kita sedang melihat perubahan persentase dalam tingkat pengangguran: log (9) - log (8) = 0,118 atau 11,8%, yang merupakan perkiraan logaritmik dengan kenaikan aktual 12,5%.

Berdasarkan ini dan celengan pada komentar whuber sebelumnya untuk pertanyaan user1690130, saya akan menghindari menggunakan logaritma variabel tingkat persentase atau persentase untuk menjaga interpretasi sederhana kecuali jika menggunakan bentuk log menghasilkan tradeoff utama seperti dapat mengurangi kemiringan kepadatan atau variabel tingkat.

Sannita
sumber
Seringkali untuk persentase (yaitu proporsi pada (0,1), transformasi logit digunakan. Ini karena data proporsional sering melanggar asumsi normalitas residu, dengan cara transformasi log tidak akan benar.
colin
3

Poin Shane bahwa mengambil log untuk menangani data buruk diambil dengan baik. Seperti Colin mengenai pentingnya residu normal. Dalam praktiknya saya menemukan bahwa biasanya Anda bisa mendapatkan residu normal jika variabel input dan output juga relatif normal. Dalam praktiknya ini berarti mengamati distribusi dataset yang diubah dan tidak ditransformasi dan meyakinkan diri sendiri bahwa mereka telah menjadi lebih normal dan / atau melakukan tes normalitas (misal tes Shapiro-Wilk atau Kolmogorov-Smirnov) dan menentukan apakah hasilnya lebih normal. Interpretabilitas dan tradisi juga penting. Misalnya, dalam psikologi log transformasi log dari waktu reaksi sering digunakan, namun, bagi saya setidaknya, interpretasi log RT tidak jelas. Selanjutnya,

russellpierce
sumber
2
Jawaban akan disusun ulang berdasarkan suara, jadi tolong jangan merujuk pada jawaban lain.
Vebjorn Ljosa
4
Tes normalitas biasanya terlalu parah. Seringkali cukup untuk mendapatkan residu terdistribusi secara simetris. (Dalam praktiknya, residu cenderung memiliki distribusi yang sangat memuncak, sebagian sebagai artefak estimasi yang saya duga, dan karenanya akan diuji sebagai "signifikan" tidak normal, tidak peduli bagaimana seseorang mengekspresikan kembali data.)
whuber
@whuber: Setuju. Itu sebabnya saya menetapkan "menjadi lebih normal". Tujuannya adalah untuk melihat statistik uji untuk perubahan daripada keputusan menerima / menolak berdasarkan nilai p tes.
russellpierce
Seseorang harus SELALU merujuk pada jawaban lain yang sesuai!
abalter
@abalter? Saya tidak mengikuti.
russellpierce