Mengapa kami mengonversi data miring ke distribusi normal

15

Saya telah melalui solusi dari kompetisi harga Perumahan di Kaggle ( Kernel Analog Manusia tentang Harga Rumah: Teknik Regresi Lanjut ) dan menemukan bagian ini:

# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew

skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index

train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])

Saya tidak yakin apa perlunya mengubah distribusi miring menjadi distribusi normal. Tolong, bisakah seseorang menjelaskan secara detail:

  1. Mengapa ini dilakukan di sini? atau Bagaimana ini membantu?
  2. Apa bedanya dengan penskalaan fitur?
  3. Apakah ini langkah penting untuk rekayasa fitur? Apa yang mungkin terjadi jika saya melewatkan langkah ini?
Abhijay Ghildyal
sumber
2
Jadi residu adalah Gaussian (dan dapat dibatalkan dengan rata-rata), variansnya stabil, dan untuk mensyaratkan pengoptimal untuk mempercepat konvergensi. en.wikipedia.org/wiki/Power_transform
Emre

Jawaban:

12

Anda mungkin ingin menafsirkan koefisien Anda. Artinya, untuk dapat mengatakan hal-hal seperti "jika saya meningkatkan variabel dengan 1, maka, secara rata-rata dan semua yang lain sama, Y harus meningkat sebesar β 1 ".X1Yβ1

Agar koefisien Anda dapat ditafsirkan, regresi linier mengasumsikan banyak hal.

Salah satunya adalah multikolinieritas. Artinya, variabel Anda tidak boleh berkorelasi satu sama lain.X

Lain adalah Homoscedasticity . Kesalahan yang dilakukan oleh model Anda harus memiliki varians yang sama, yaitu Anda harus memastikan regresi linier tidak membuat kesalahan kecil untuk nilai rendah dan kesalahan besar untuk nilai X yang lebih tinggi . Dengan kata lain, perbedaan antara apa yang Anda memprediksi Y dan benar nilai-nilai Y harus konstan. Anda dapat memastikan bahwa dengan memastikan bahwa Y mengikuti distribusi Gaussian. (Buktinya sangat matematis.)XXY^YY

Bergantung pada data Anda, Anda mungkin bisa membuatnya Gaussian. Transformasi tipikal adalah mengambil kebalikan, logaritma atau akar kuadrat. Banyak yang lain tentu saja ada, itu semua tergantung data Anda. Anda harus melihat data Anda, dan kemudian melakukan histogram atau menjalankan tes normalitas , seperti tes Shapiro-Wilk.

Ini semua adalah teknik untuk membangun penduga yang tidak bias . Saya tidak berpikir itu ada hubungannya dengan konvergensi seperti yang orang lain katakan (kadang-kadang Anda mungkin juga ingin menormalkan data Anda, tapi itu topik yang berbeda).

Mengikuti asumsi regresi linier penting jika Anda ingin menafsirkan koefisien atau jika Anda ingin menggunakan tes statistik dalam model Anda. Kalau tidak, lupakan saja.

y^-y2ynormalize

Ricardo Cruz
sumber
3

Data yang miring di sini dinormalisasi dengan menambahkan satu (satu ditambahkan sehingga nol diubah menjadi satu karena log 0 tidak didefinisikan) dan mengambil log natural. Data dapat hampir dinormalisasi menggunakan teknik transformasi seperti mengambil root kuadrat atau timbal balik atau logaritma. Sekarang, mengapa itu diperlukan. Sebenarnya banyak algoritma dalam data menganggap bahwa ilmu data adalah normal dan menghitung berbagai statistik dengan asumsi ini. Jadi semakin banyak data mendekati normal semakin sesuai dengan asumsi.

ahmedrajput
sumber
3
Algoritma di sini adalah meningkatkan gradien dan regresi laso. Saya pikir jawaban ini akan lebih membantu jika dapat menunjukkan bagaimana itu relevan (atau tidak) dengan dua algoritma ini secara khusus.
oW_
Dari sudut pandang saya, ketika sebuah model dilatih apakah itu regresi linier atau Decision Tree (kuat untuk outlier), data miring membuat model sulit untuk menemukan pola yang tepat dalam data adalah alasan kita harus membuat data miring menjadi yang normal atau Gaussian.
Goldi Rana
1

Karena ilmu data hanyalah statistik pada akhir hari, dan salah satu asumsi utama dari statistik adalah Central Limit Theorem . Jadi langkah ini sedang dilakukan karena beberapa langkah selanjutnya menggunakan teknik statistik yang bergantung padanya.

Gayus
sumber
1
Teorema bukanlah asumsi. Teorema Limit Pusat sebenarnya menjamin bahwa rata-rata variabel acak independen sekitar normal terdistribusi bahkan ketika variabel acak individu tidak terdistribusi normal.
Elias Strehle
1
Ini adalah salah satu rantai penalaran yang sangat cacat. Itu seperti: "- Saya pernah melihat orang mengupas apel sebelum memakannya. Mengapa? - Oh, itu karena apel adalah buah dan salah satu buah utamanya adalah jeruk dan Anda selalu mengupas jeruk!".
ayorgo