Apa alasan di balik pengambilan transformasi log dari beberapa variabel kontinu?

16

Saya telah melakukan masalah klasifikasi dan saya telah membaca banyak kode orang dan tutorial. Satu hal yang saya perhatikan adalah banyak orang menggunakan np.logatau logvariabel kontinu seperti loan_amountatauapplicant_income dll

Saya hanya ingin memahami alasan di baliknya. Apakah ini membantu meningkatkan akurasi prediksi model kami. Apakah ini wajib? atau apakah ada logika di baliknya?

Harap berikan penjelasan jika memungkinkan. Terima kasih.

Sai Kumar
sumber

Jawaban:

27

Ini dilakukan ketika variabel span beberapa urutan besarnya. Penghasilan adalah contoh khas: distribusinya adalah "hukum kekuasaan", yang berarti bahwa sebagian besar pendapatan adalah kecil dan sangat sedikit yang besar.

Jenis distribusi "ekor berlemak" ini dipelajari dalam skala logaritma karena sifat matematika dari logaritma:

log(xn)=nlog(x)

yang menyiratkan

log(104)=4log(10)

dan

log(103)=3log(10)

yang mengubah perbedaan besar

104103
menjadi lebih kecil
43
Membuat nilai-nilai sebanding.

Duccio Piovani
sumber
2
Jawaban yang bagus terutama berbicara tentang distribusi eksponensial.
Kasra Manshaei
1
@KasraManshaei Saya berbicara tentang undang-undang kekuasaan khususnya (pendapatan menjadi contoh khas): nilai ekstrim dalam distribusi eksponensial secara definisi sangat jarang. Oleh karena itu data yang mencakup banyak urutan besarnya biasanya adalah hukum kekuatan.
Duccio Piovani
1
tetapi tentu saja dalam kasus seperti itu log ---> ln, yang sama sekali tidak mengubah titik jawaban.
Duccio Piovani
Ya saya mengerti. Seperti yang Anda katakan tidak banyak perubahan.
Kasra Manshaei
6

Sebagian besar karena distribusi yang miring. Logaritma secara alami mengurangi rentang dinamis suatu variabel sehingga perbedaan dipertahankan sementara skalanya tidak terlalu miring secara dramatis. Bayangkan beberapa orang mendapat pinjaman 100.000.000 dan beberapa mendapat 10.000 dan beberapa 0. Setiap penskalaan fitur mungkin akan menempatkan 0 dan 10.000 begitu dekat satu sama lain karena jumlah terbesar tetap mendorong batas. Logaritma memecahkan masalah.

Kasra Manshaei
sumber
Manshael, Jadi saya bisa menggunakan MinMaxScaler atau StandardScaler kan? atau Apakah perlu untuk mengambil log?
Sai Kumar
Perlu. Jika Anda menggunakan scaler, mereka mengkompres nilai kecil secara dramatis. Itulah yang ingin saya katakan.
Kasra Manshaei
2
Iya. Jika Anda memperhitungkan nilai 1000.000.000 dan 10.000 dan 0 ke dalam akun. Dalam banyak kasus, yang pertama terlalu besar untuk membiarkan orang lain dilihat dengan baik oleh model Anda. Tetapi jika Anda mengambil logaritma Anda akan memiliki masing-masing 9, 4 dan 0. Seperti yang Anda lihat rentang dinamis berkurang sementara perbedaannya hampir dipertahankan. Itu berasal dari sifat eksponensial dalam fitur Anda. Dalam kasus tersebut, Anda perlu logaritma seperti yang digambarkan oleh jawaban lain. Semoga ini membantu :)
Kasra Manshaei
2
Ya, scaling! Bayangkan dua variabel dengan distribusi normal (jadi tidak perlu untuk logaritma) tetapi salah satunya dalam skala 10ish dan yang lainnya dalam skala milion. Sekali lagi memberi mereka makan untuk model membuat yang kecil tidak terlihat. Dalam hal ini Anda menggunakan scaler untuk membuat timbangannya masuk akal.
Kasra Manshaei
1
@KasraManshaei log (0) = -inf though.
JAD
5

Selain jawaban lain, efek samping lain dari mengonsumsi catatanx apakah itu jika 0<x<, sekali lagi misalnya dengan pinjaman atau pendapatan, pada dasarnya segala sesuatu yang tidak bisa menjadi negatif, menjadi domain -<catatanx<.

Ini dapat membantu, terutama dalam variabel pengembalian, jika model yang Anda gunakan didasarkan pada asumsi tentang distribusi x. Misalnya asumsi normalitas dalam model linier.

JAD
sumber
3

Namun alasan lain mengapa transformasi logaritmik berguna untuk data rasio, karena fakta itu log(A/B) = -log(B/A). Jika Anda memplot distribusi rasio pada skala mentah, poin Anda termasuk dalam kisaran (0, Inf). Rasio yang kurang dari 1 akan dimasukkan ke dalam area plot yang kecil, dan lebih jauh lagi, plot akan terlihat sangat berbeda jika Anda membalikkan rasio ke (B/A)bukan (A/B). Jika Anda melakukan ini pada skala logaritmik, rentangnya sekarang (-Inf, +Inf), artinya rasio kurang dari 1 dan lebih besar dari 1 tersebar secara lebih merata. Jika Anda memutuskan untuk membalik rasio, Anda cukup membalik plot sekitar 0, jika tidak, tampilannya persis sama. Pada skala log, tidak masalah jika Anda menunjukkan rasio sebagai 1/10 or 10/1, yang berguna ketika tidak ada pilihan yang jelas tentang yang seharusnya.

Wang Nuklir
sumber
3

Anda harus melihat distribusi lognormal .

Orang-orang dapat menggunakan log karena mereka pikir itu menekan skala atau sesuatu, tetapi penggunaan utama log adalah bahwa Anda bekerja dengan data yang memiliki distribusi lognormal. Ini akan cenderung menjadi hal-hal seperti gaji, harga perumahan, dll, di mana semua nilai positif dan sebagian besar relatif sederhana, tetapi beberapa sangat besar.

Jika Anda dapat mengambil log data dan menjadi normal, maka Anda dapat memanfaatkan banyak fitur dari distribusi normal, seperti mean yang terdefinisi dengan baik, standar deviasi (dan karenanya skor-z), simetri, dll.

Demikian pula, penambahan log sama dengan perkalian nilai-nilai yang tidak dicatat. Yang berarti bahwa Anda telah mengubah distribusi di mana kesalahan adalah aditif menjadi salah satu di mana mereka adalah multiplikatif (yaitu berbasis persentase). Karena teknik seperti regresi OLS memerlukan distribusi kesalahan normal, bekerja dengan log memperluas penerapannya dari proses aditif ke multiplikasi.

Wayne
sumber
1
Jika Anda ingin membandingkan item dengan cara bebas distribusi, bukankah akan lebih baik untuk mengambil persentil atau decile dan menggunakannya daripada nilai aslinya?
William Payne
1
@WilliamPayne Sure, you can use a distribution-free method, though you're also giving up some of the power of having a distribution... if your distributional assumptions are correct. With greater (correct) assumptions comes greater power. Percentiles are essentially ranks, so you throw away the distance information you have, and a particular sample's percentile is a point estimate. We'd generally prefer distributions to points.
Wayne
0

I'd say the main reason is not distributional but rather because of the non linear relationship. Logs often capture saturating relationships...

seanv507
sumber