Jika saya memiliki data positif yang sangat miring saya sering mengambil log. Tapi apa yang harus saya lakukan dengan data non-negatif yang sangat miring yang menyertakan nol? Saya telah melihat dua transformasi yang digunakan:
- yang memiliki fitur rapi yang 0 peta ke 0.
- mana c diperkirakan atau disetel menjadi nilai positif yang sangat kecil.
Apakah ada pendekatan lain? Adakah alasan bagus untuk memilih satu pendekatan daripada yang lain?
data-transformation
large-data
Rob Hyndman
sumber
sumber
Jawaban:
Bagi saya, pilihan transformasi yang paling tepat adalah bergantung pada model dan konteksnya.
Poin '0' dapat muncul dari beberapa alasan berbeda yang masing-masing mungkin harus diperlakukan secara berbeda:
Saya tidak benar-benar menawarkan jawaban karena saya curiga tidak ada transformasi universal yang 'benar' ketika Anda memiliki nol.
sumber
Tidak ada yang menyebutkan transformasi sinus hiperbolik terbalik. Jadi untuk kelengkapan saya menambahkannya di sini.
Ini adalah alternatif dari transformasi Box-Cox dan didefinisikan oleh mana . Untuk setiap nilai , nol peta ke nol. Ada juga versi dua parameter yang memungkinkan pergeseran, seperti halnya dengan transformasi BC dua parameter. Burbidge, Magee dan Robb (1988) membahas transformasi IHS termasuk estimasi .θ > 0 θ θ
Transformasi IHS bekerja dengan data yang didefinisikan pada seluruh garis nyata termasuk nilai negatif dan nol. Untuk nilai ia berperilaku seperti transformasi log, terlepas dari nilai (kecuali 0). Kasing pembatas seperti menghasilkan .θ θ → 0 f ( y , θ ) → yy θ θ → 0 f( y, θ ) → y
Bagi saya sepertinya transformasi IHS harus lebih dikenal daripada sebelumnya.
sumber
Pendekatan yang berguna ketika variabel digunakan sebagai faktor independen dalam regresi adalah untuk menggantinya dengan dua variabel: satu adalah indikator biner apakah itu nol dan yang lainnya adalah nilai variabel asli atau ekspresi ulang itu, seperti logaritma-nya. Teknik ini dibahas dalam buku Hosmer & Lemeshow tentang regresi logistik (dan di tempat lain, saya yakin). Plot probabilitas terpotong dari bagian positif dari variabel asli berguna untuk mengidentifikasi ekspresi ulang yang sesuai. (Lihat analisis di https://stats.stackexchange.com/a/30749/919 untuk contoh.)
Ketika variabel adalah variabel dependen dalam model linier, regresi yang disensor (seperti Tobit ) dapat berguna, sekali lagi meniadakan kebutuhan untuk menghasilkan logaritma yang dimulai. Teknik ini umum di kalangan ahli ekonometrika.
sumber
Log transformasi dengan shift adalah kasus khusus dari transformasi Box-Cox :
Di R,
boxcox.fit
fungsi dalam paketgeoR
akan menghitung parameter untuk Anda.sumber
lambda2=TRUE
dalam argumen untukboxcox.fit
. (Juga memperbarui jawabannya.)boxcoxfit
.Saya berasumsi nol itu = data hilang, karena itu pertanyaan yang sama sekali berbeda.
Ketika berpikir tentang bagaimana menangani nol dalam regresi linier berganda, saya cenderung mempertimbangkan berapa banyak nol yang sebenarnya kita miliki?
Hanya beberapa nol
Jika saya memiliki nol tunggal dalam kumpulan data yang cukup besar, saya cenderung:
Anda bisa membuat prosedur ini sedikit kurang mentah dan menggunakan metode boxcox dengan perubahan yang dijelaskan dalam jawaban ars.
Sejumlah besar nol
Jika kumpulan data saya berisi sejumlah besar nol, maka ini menunjukkan bahwa regresi linier sederhana bukan alat terbaik untuk pekerjaan itu. Sebaliknya saya akan menggunakan sesuatu seperti pemodelan campuran (seperti yang disarankan oleh Srikant dan Robin).
sumber
Jika Anda menginginkan sesuatu yang cepat dan kotor mengapa tidak menggunakan akar kuadrat?
sumber
Saya berasumsi Anda memiliki data kontinu.
Jika data termasuk nol, ini berarti Anda memiliki lonjakan nol yang mungkin disebabkan oleh beberapa aspek tertentu dari data Anda. Tampaknya misalnya dalam energi angin, angin di bawah 2 m / s menghasilkan daya nol (disebut cut in) dan angin di atas (sekitar) 25 m / s juga menghasilkan daya nol (untuk alasan keamanan, disebut terputus) . Sementara distribusi energi angin yang dihasilkan tampaknya berkelanjutan, ada lonjakan nol.
Solusi saya: Dalam hal ini, saya sarankan untuk memperlakukan nol secara terpisah dengan bekerja dengan campuran lonjakan nol dan model yang Anda rencanakan untuk digunakan pada bagian distribusi yang kontinu (wres Lebesgue).
sumber
Membandingkan jawaban yang disediakan oleh @RobHyndman ke transformasi log-plus-one diperluas ke nilai negatif dengan bentuk:
sumber
Karena dua parameter yang cocok dengan Box-Cox telah diusulkan, berikut ini beberapa R agar sesuai dengan data input, jalankan fungsi sewenang-wenang di dalamnya (mis. Peramalan time series), dan kemudian kembalikan output yang dibalik:
sumber
Misalkan Y adalah jumlah uang yang dihabiskan setiap orang Amerika pada mobil baru di tahun tertentu (total harga pembelian). Y akan melonjak pada 0; tidak akan memiliki nilai sama sekali antara 0 dan sekitar 12.000; dan akan mengambil nilai-nilai lain sebagian besar pada remaja, dua puluhan dan tiga puluhan ribu. Prediktor akan menjadi proksi untuk tingkat kebutuhan dan / atau minat dalam melakukan pembelian semacam itu. Kebutuhan atau minat tidak bisa dikatakan nol untuk individu yang tidak melakukan pembelian; pada skala ini non-pembeli akan jauh lebih dekat dengan pembeli daripada Y atau bahkan log Y akan menyarankan. Dalam kasus seperti ini tetapi dalam perawatan kesehatan, saya menemukan bahwa prediksi yang paling akurat, dinilai dengan uji-set / pelatihan-set crossvalidation, diperoleh oleh, dalam urutan yang meningkat,
Beberapa akan mundur pada kategorisasi variabel dependen berkelanjutan ini. Tetapi meskipun itu mengorbankan beberapa informasi, pengelompokan nampaknya membantu dengan mengembalikan aspek mendasar yang mendasar dari situasi - sekali lagi, bahwa "nol" jauh lebih mirip dengan yang lain daripada yang akan ditunjukkan oleh Y.
sumber
Transformasi daya Yeo-Johnson yang dibahas di sini memiliki sifat-sifat luar biasa yang dirancang untuk menangani nol dan negatif sambil membangun kekuatan transformasi daya Box Cox. Inilah yang biasanya saya tuju ketika saya berhadapan dengan nol atau data negatif.
Berikut ini adalah ringkasan transformasi dengan pro / kontra untuk menggambarkan mengapa Yeo-Johnson lebih disukai.
Catatan
Pro: Baik dengan data positif.
Cons: Tidak menangani nol.
Log Plus 1
Kelebihan: Offset plus 1 menambahkan kemampuan untuk menangani nol di samping data positif.
Cons: Gagal dengan data negatif
Akar pangkat dua
Kelebihan: Menggunakan transformasi daya yang dapat menangani nol dan data positif.
Cons: Gagal dengan data negatif
Kotak Cox
Kode R:
Pro: Mengaktifkan transformasi daya berskala
Cons: Menderita masalah dengan nol dan negatif (yaitu hanya dapat menangani data positif.
Yeo Johnson
Kode R:
Kelebihan: Dapat menangani data positif, nol, dan negatif.
Cons: Tidak ada yang bisa saya pikirkan. Properti sangat mirip dengan Box-Cox tetapi dapat menangani data nol dan negatif.
sumber
Untuk memperjelas cara menangani log nol dalam model regresi, kami telah menulis makalah pedagogis yang menjelaskan solusi terbaik dan kesalahan umum yang dilakukan orang dalam praktik. Kami juga mengeluarkan solusi baru untuk mengatasi masalah ini.
Anda dapat menemukan kertas dengan mengklik di sini: https://ssrn.com/abstract=3444996
Dalam artikel kami, kami benar-benar memberikan contoh di mana menambahkan konstanta yang sangat kecil sebenarnya memberikan bias tertinggi. Kami memberikan turunan ekspresi bias.
Sebenarnya, Poisson Pseudo Maximum Likelihood (PPML) dapat dianggap sebagai solusi yang baik untuk masalah ini. Kita harus mempertimbangkan proses berikut:
Kami menunjukkan bahwa penaksir ini tidak bias dan hanya dapat diperkirakan dengan GMM dengan perangkat lunak statistik standar apa pun. Misalnya, dapat diperkirakan dengan mengeksekusi hanya satu baris kode dengan Stata.
Kami harap artikel ini dapat membantu dan kami ingin mendapat umpan balik dari Anda.
Christophe Bellégo dan Louis-Daniel Pape CREST - Ecole Polytechnique - ENSAE
sumber