Çarpık verileri neden normal bir dağılıma dönüştürüyoruz?


15

Kaggle'daki Konut fiyatları yarışmasının bir çözümünü yapıyordum ( Human Analog'un Konut Fiyatlarında Çekirdek: İleri Regresyon Teknikleri ) ve bu bölüme rastladım:

# 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])

Çarpık bir dağılımı normal bir dağılıma dönüştürmenin gerekliliğinden emin değilim. Lütfen, biri ayrıntılı olarak açıklayabilir mi:

  1. Bu neden burada yapılıyor? veya Bu nasıl yardımcı olur?
  2. Bunun özellik ölçeklemesinden farkı nedir?
  3. Bu özellik mühendisliği için gerekli bir adım mı? Bu adımı atlarsam ne olur?

2
Bu nedenle artıklar Gaussian (ve ortalama ile iptal edilebilir), varyans sabittir ve optimizasyonu yakınsamayı hızlandırmak için önceden koşullandırır . en.wikipedia.org/wiki/Power_transform
Emre

Yanıtlar:


13

Katsayılarınızı yorumlamak isteyebilirsiniz. Yani, " değişkenimi 1 arttırırsam , o zaman ortalama olarak ve diğer her şey eşitse, Y β 1 artar " gibi şeyler söyleyebilmek için .X1Yβ1

Katsayılarınızın yorumlanabilir olması için, lineer regresyon birçok şeyi varsayar.

Bunlardan biri çoklu doğrusallık değildir. Yani, değişkenleriniz birbiriyle ilişkili olmamalıdır.X

Diğeri Homossedastisitedir . Modelinizin yürüttüğü hatalar aynı varyansa sahip olmalıdır, yani doğrusal regresyonun düşük değerleri için küçük hatalar ve yüksek X değerleri için büyük hatalar yapmadığından emin olmalısınız . Başka bir deyişle, ne yapacağı tahmin neyi arasındaki fark Y ve gerçek değerler Y sabit olmalıdır. Y'nin bir Gauss dağılımını izlediğinden emin olarak bunu sağlayabilirsiniz . (Kanıt oldukça matematikseldir.)XXY^YY

Verilerinize bağlı olarak Gaussian yapabilirsiniz. Tipik dönüşümler ters, logaritma veya kare kökleri alır. Tabii ki birçoğu var, hepsi verilerinize bağlı. Verilerinize bakmalı ve sonra bir histogram yapmalı veya Shapiro-Wilk testi gibi bir normallik testi yapmalısınız .

Bunların hepsi tarafsız bir tahminci oluşturmak için kullanılan tekniklerdir . Diğerlerinin söylediği gibi yakınsama ile ilgili bir şey olduğunu sanmıyorum (bazen verilerinizi normalleştirmek isteyebilirsiniz, ancak bu farklı bir konudur).

Katsayıları yorumlamak veya modelinizde istatistiksel testler kullanmak istiyorsanız , doğrusal regresyon varsayımlarını izlemek önemlidir. Aksi takdirde unut gitsin.

yy^y2ynormalize


3

Buradaki çarpık veriler bir tane eklenerek (biri sıfırın 0 günlüğü tanımlanmadığı için bire dönüştürüleceği şekilde eklenir) ve doğal günlük alınarak normalleştirilir. Veriler, kare kök veya karşılıklı veya logaritma gibi dönüştürme teknikleri kullanılarak neredeyse normalleştirilebilir. Şimdi, neden gerekli. Aslında verilerdeki algoritmaların çoğu veri biliminin normal olduğunu varsayar ve bunu kabul eden çeşitli istatistikleri hesaplar. Dolayısıyla, veri normale ne kadar yakın olursa, varsayım o kadar artar.


3
Buradaki algoritmalar, gradyan artırma ve kement regresyonudur. Bu cevabın özellikle bu iki algoritma ile nasıl ilgili olduğunu (veya ilgili olmadığını) gösterebilirse, bu cevabın daha yararlı olacağını düşünüyorum.
oW_

Benim bakış açımdan, bir model lineer regresyon mu yoksa bazı Karar Ağacı mı (aykırıdan sağlam mı) eğitildiğinde, eğri veriler, bir eğri veri yapmak zorunda olmamızın nedeni, bir modeli verilerde uygun bir model bulmayı zorlaştırır normal ya da Gauss olana.
Goldi Rana

1

Çünkü veri bilimi sadece günün sonunda istatistiktir ve istatistiklerin temel varsayımlarından biri Merkezi Limit Teoremi'dir . Dolayısıyla bu adım yapılıyor, çünkü sonraki bazı adımlarda ona dayanan istatistik teknikleri kullanılıyor.


1
Bir teorem bir varsayım değildir. Aslında Merkezi Limit Teoremi bağımsız rasgele değişkenlerin ortalama yaklaşık normalde bireysel rasgele değişkenler bile dağıtılır garanti değil normalde dağıttı.
Elias Strehle

1
Bu son derece hatalı bir akıl yürütme zinciridir. Şunun gibi: "- İnsanların yemeden önce elmaları soyduğunu gördüm. Neden? - Ah, bunun nedeni elmalar meyveli ve anahtar meyvelerden biri turuncu ve hep bir portakal soyuyorsun!".
ayorgo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.