- 143 Okunma
- 0 Yorum
- 0 Beğeni
REGRESYON ANALİZİ VE TÜRLERİ
Regresyon analizi, bir sorunu veya olayı etkileyen faktörleri anlamak için istatistiksel bir tekniktir. Bu teknik, bir bağımlı değişkenin (sonuç) bir veya daha fazla bağımsız değişken (neden) ile nasıl ilişkili olduğunu gösterir. Regresyon analizi, verilerden bir regresyon modeli adı verilen bir denklem oluşturarak bu ilişkiyi tahmin etmeye çalışır. Regresyon modeli, bağımlı değişkenin değerini bağımsız değişkenlerin değerlerine göre hesaplamak için kullanılabilir. Regresyon analizi, hem tahmin etme hem de nedensellik araştırma amaçları için kullanılabilir.
Regresyon analizi, farklı türlerde olabilir. Bu türler, bağımlı ve bağımsız değişkenlerin sayısına, türüne ve dağılımına göre belirlenir. Regresyon analizinin en yaygın türleri şunlardır:
- Doğrusal Regresyon (Linear Regression): Bağımlı değişkenin sürekli ve bağımsız değişkenlerin doğrusal bir kombinasyonu olduğu durumlarda kullanılır. Örneğin, bir çalışanın maaşının eğitim düzeyi, deneyimi ve yaşına bağlı olduğunu varsayalım. Bu durumda, maaşı bir doğrusal regresyon modeli ile tahmin edebiliriz. Doğrusal regresyon modeli, şu şekilde gösterilir:
y=B0+B1X1+B2X2+...+BnXn+e
Burada, y bağımlı değişken, X1, X2, ..., Xn bağımsız değişkenler, B0 , B1, B2 , Bn regresyon katsayıları ve e hata terimidir. Regresyon katsayıları, bağımsız değişkenlerin bağımlı değişken üzerindeki etkisini ölçer. Hata terimi ise, modelin açıklayamadığı varyansı temsil eder.
- Polinom Regresyon (Polynomial Regression): Bağımlı değişkenin sürekli ve bağımsız değişkenlerin polinom bir kombinasyonu olduğu durumlarda kullanılır. Örneğin, bir aracın hızının zamanın karesine bağlı olduğunu varsayalım. Bu durumda, hızı bir polinom regresyon modeli ile tahmin edebiliriz. Polinom regresyon modeli, şu şekilde gösterilir:
y=B0+B1X+B2X^2+...+BnX^n+e
Burada, y bağımlı değişken, x bağımsız değişken, B0+B1X+B2X^2+...+BnX^n+e regresyon katsayıları ve e hata terimidir. Polinom regresyon modeli, doğrusal regresyon modeline benzer, ancak bağımsız değişkenin farklı dereceleri vardır.
- Destek Vektör Regresyonu (Support Vector Regression): Bağımlı değişkenin sürekli ve bağımsız değişkenlerin doğrusal veya doğrusal olmayan bir kombinasyonu olduğu durumlarda kullanılır. Örneğin, bir evin fiyatının konumu, büyüklüğü, odaları ve yaşına bağlı olduğunu varsayalım. Bu durumda, fiyatı bir destek vektör regresyonu modeli ile tahmin edebiliriz. Destek vektör regresyonu modeli, şu şekilde gösterilir:
y=w^TQ(X)+b+e
Burada, y bağımlı değişken, x bağımsız değişken, w ağırlık vektörü, b sapma terimi, Q çekirdek fonksiyonu ve e hata terimidir. Destek vektör regresyonu modeli, bağımsız değişkenleri yüksek boyutlu bir uzaya eşlemek için çekirdek fonksiyonu kullanır. Bu sayede, doğrusal olmayan ilişkileri de yakalayabilir.
- Karar Ağacı Regresyonu (Decision Tree Regression): Bağımlı değişkenin sürekli veya kategorik ve bağımsız değişkenlerin sayısal veya kategorik olduğu durumlarda kullanılır. Burada, her düğüm bir bağımsız değişkeni, her dal bir koşulu ve her yaprak bir bağımlı değişken değerini temsil eder. Karar ağacı regresyonu modeli, verileri bölerek ve basit kurallar oluşturarak çalışır.
- Rastgele Orman Regresyonu (Random Forest Regression): Bağımlı değişkenin sürekli veya kategorik ve bağımsız değişkenlerin sayısal veya kategorik olduğu durumlarda kullanılır.
Burada, her ağaç bir karar ağacı regresyonu modelidir. Rastgele orman regresyonu modeli, birden fazla karar ağacı regresyonu modelini birleştirerek çalışır. Bu sayede, tek bir karar ağacı regresyonu modelinden daha doğru ve kararlı sonuçlar elde eder.
Doğrusal ve Doğrusal Olmayan Regresyon
Doğrusal ve doğrusal olmayan regresyon, istatistikte verileri modellemek için kullanılan iki yöntemdir. Bu yöntemlerin temel farkı, bağımlı değişken ile bağımsız değişkenler arasındaki ilişkinin doğrusal olup olmadığıdır.
Doğrusal regresyon, bağımlı değişkenin bir veya daha fazla bağımsız değişkenin doğrusal bir kombinasyonu ile ifade edilebildiği durumlarda kullanılır. Yani, bağımlı değişkenin değeri, bağımsız değişkenlerin değerlerine orantılı olarak artar veya azalır. Doğrusal regresyonun iki türü vardır:
Basit doğrusal regresyon: Sadece bir bağımsız değişkenin bağımlı değişken üzerindeki etkisini inceler. Örneğin, ev büyüklüğü ile ev fiyatı arasındaki ilişkiyi modellemek için kullanılabilir. Bu durumda, ev büyüklüğü bağımsız değişken, ev fiyatı bağımlı değişkendir. Basit doğrusal regresyonun formülü şöyledir:
Y=B0+B1X+E
Burada, Y bağımlı değişken, X bağımsız değişken, β0 sabit katsayı, β1 eğim katsayısı ve ϵ hata terimidir. Sabit katsayı, bağımsız değişkenin sıfır olduğu durumda bağımlı değişkenin değerini gösterir. Eğim katsayısı, bağımsız değişkenin bir birim artışının bağımlı değişkeni ne kadar değiştirdiğini gösterir. Hata terimi, gerçek değerler ile tahmin edilen değerler arasındaki farkı temsil eder.
Çoklu doğrusal regresyon: Birden fazla bağımsız değişkenin bağımlı değişken üzerindeki etkisini inceler. Örneğin, ev büyüklüğü, oda sayısı, yaş ve konum gibi faktörlerin ev fiyatı üzerindeki etkisini modellemek için kullanılabilir. Bu durumda, ev fiyatı bağımlı değişken, diğer faktörler bağımsız değişkenlerdir. Çoklu doğrusal regresyonun formülü şöyledir:
Y= β0+ β1X1+ β2X2+...+ βnXn+ ϵ
Burada, Y bağımlı değişken, X1, X2,...,Xn bağımsız değişkenler, β0, β1, β2,...,βn katsayılar ve ϵ hata terimidir. Katsayılar, bağımsız değişkenlerin bağımlı değişken üzerindeki etkisini gösterir.
Doğrusal olmayan regresyon, bağımlı değişkenin bir veya daha fazla bağımsız değişkenin doğrusal olmayan bir fonksiyonu ile ifade edilebildiği durumlarda kullanılır. Yani, bağımlı değişkenin değeri, bağımsız değişkenlerin değerlerine orantılı olarak artmaz veya azalmaz. Doğrusal olmayan regresyonun birçok türü vardır, ancak burada iki tanesini ele alacağız:
Polinominal regresyon: Bağımlı değişkenin bağımsız değişkenin polinom bir fonksiyonu ile ifade edilebildiği durumlarda kullanılır. Örneğin, bir arabanın hızı ile yakıt tüketimi arasındaki ilişkiyi modellemek için kullanılabilir. Bu durumda, hız bağımsız değişken, yakıt tüketimi bağımlı değişkendir. Polinominal regresyonun formülü şöyledir:
Y=B0+B1X+B2X^2+...+βnXn+ ϵ
Burada, Y bağımlı değişken, X bağımsız değişken, β0, β1, β2,...,βn katsayılar ve ϵ hata terimidir. Katsayılar, bağımsız değişkenin farklı derecelerinin bağımlı değişken üzerindeki etkisini gösterir.
Lojistik regresyon: Bağımlı değişkenin ikili (0 veya 1) olduğu durumlarda kullanılır. Örneğin, bir hastanın diyabet olup olmadığını tahmin etmek için kullanılabilir. Bu durumda, diyabet bağımlı değişken, yaş, cinsiyet, kan şekeri gibi faktörler bağımsız değişkenlerdir.
Eşikleme ve Yarışmalı Sınıflandırma
- Eşikleme, bir modelin sınıflandırma yapabilmesi için tahmin ettiği değerleri belirli bir aralığa göre etiketlere ayırmasıdır. Örneğin, bir modelin bir hastanın kanserli olup olmadığını tahmin etmesi gerekiyorsa, 0 ve 1 etiketleri kullanabilir. 0 kanserli olmadığını, 1 kanserli olduğunu gösterir. Bu durumda, modelin çıktısı 0 ile 1 arasında bir sayı olacaktır. Bu sayıyı etiketlere dönüştürmek için bir eşik değeri belirlenir. Genellikle eşik değeri 0,5 olarak alınır. Yani modelin çıktısı 0,5’ten büyükse 1, küçükse 0 olarak yorumlanır. Böylece model sınıflandırma yapmış olur.
- Yarışmalı sınıflandırma, bir modelin birden çok sınıf arasında seçim yapmasıdır. Örneğin, bir modelin bir resimdeki hayvanın türünü tahmin etmesi gerekiyorsa, kedi, köpek, kuş, vb. gibi sınıflar arasında karar vermelidir. Bu durumda, model her sınıf için bir olasılık değeri üretir. Bu değerler toplamı 1 olmalıdır. Modelin seçtiği sınıf, olasılık değeri en yüksek olan sınıftır. Yani model, sınıflar arasında bir yarışma yapar ve en yüksek puanı alan sınıfı tahmin eder.
Korelasyon ve Regresyon İlişkisi
- Korelasyon, iki değişken arasındaki ilişkinin yönünü ve gücünü ölçen bir istatistiksel yöntemdir. Korelasyon katsayısı, -1 ile 1 arasında bir değer alır. Korelasyon katsayısı 1 ise iki değişken arasında mükemmel pozitif ilişki vardır. Yani bir değişken arttıkça diğer değişken de aynı oranda artar. Korelasyon katsayısı -1 ise iki değişken arasında mükemmel negatif ilişki vardır. Yani bir değişken arttıkça diğer değişken aynı oranda azalır. Korelasyon katsayısı 0 ise iki değişken arasında hiçbir ilişki yoktur. Korelasyon, iki değişken arasında ilişki olduğunu gösterir, ancak bu ilişkinin nedeni hakkında bir bilgi vermez. Korelasyon, iki değişkenin birbirine bağımlı olmasını gerektirmez. Örneğin, bir kişinin saç rengi ile göz rengi arasında bir korelasyon olabilir, ancak bu iki değişken birbirinden bağımsızdır.
- Regresyon, iki veya daha fazla değişken arasındaki neden-sonuç ilişkisini inceleyen bir istatistiksel yöntemdir. Regresyon, bir değişkenin (bağımlı değişken) diğer değişkenlerden (bağımsız değişkenler) nasıl etkilendiğini gösteren bir matematiksel model kurar. Regresyon modeli, bağımlı değişkenin bağımsız değişkenlere göre tahmin edilmesini sağlar. Regresyon, iki değişken arasında ilişki olduğunu göstermenin yanı sıra, bu ilişkinin yönünü, eğimini ve anlamlılığını da test eder. Regresyon, iki değişkenin birbirine bağımlı olmasını gerektirir. Örneğin, bir kişinin yemek yemesi ile kilo alması arasında bir regresyon ilişkisi vardır, çünkü yemek yeme, kilo almayı etkileyen bir faktördür.
R^2 ile Regresyon Modellerinin Değerlendirilmesi
R^2, regresyon modellerinin değerlendirilmesinde kullanılan bir istatistiktir. Bağımlı değişkenin varyansının ne kadarının bağımsız değişkenler tarafından açıklandığını gösterir. R^2 değeri 0 ile 1 arasında değişir. 0, bağımlı değişkenin bağımsız değişkenlerle hiç ilişkili olmadığı anlamına gelir. 1, bağımlı değişkenin bağımsız değişkenlerle mükemmel bir ilişki içinde olduğu anlamına gelir. R2 değeri ne kadar yüksekse, modelin verilere o kadar iyi uyduğu söylenebilir.
Düzeltilmiş R^2, R^2 değerinin bir modifikasyonudur. R^2 değeri, modele yeni bir bağımsız değişken eklendiğinde her zaman artar. Ancak bu, yeni değişkenin modelin uyumunu gerçekten iyileştirdiği anlamına gelmez.
Regresyon Uygulamaları
Regresyon, bir bağımlı değişken ile bir veya daha fazla bağımsız değişken arasındaki ilişkiyi inceleyen ve tahmin eden istatistiksel bir yöntemdir. Regresyon analizi, verilerdeki eğilimleri, etkileşimleri ve korelasyonları ortaya çıkarmak, bağımlı değişkenin değerini bağımsız değişkenlere göre tahmin etmek ve değişkenler arasındaki nedensellik ilişkisini test etmek için kullanılır. Regresyon, finans, pazarlama, üretim, sağlık, eğitim gibi pek çok alanda uygulanabilir.
Python, regresyon analizi yapmak için popüler bir programlama dilidir. Python, veri işleme, görselleştirme, istatistiksel testler ve makine öğrenmesi gibi pek çok kütüphaneye sahiptir. Python ile regresyon analizi yapmak için öncelikle veri setini okumak, ön işleme yapmak, bağımlı ve bağımsız değişkenleri belirlemek, regresyon modelini kurmak, modelin uyumunu değerlendirmek ve sonuçları yorumlamak gerekir.
Python ile regresyon analizi yapmak için aşağıdaki adımları takip edebilirsiniz:
1. Gerekli kütüphaneleri içe aktarın. Örneğin, pandas, numpy, seaborn, matplotlib, sklearn gibi.
2. Veri setinizi okuyun. Örneğin, pd.read_csv() fonksiyonunu kullanarak bir csv dosyasını okuyabilirsiniz.
3. Veri setinizi inceleyin. Örneğin, df.head(), df.info(), df.describe(), df.corr() gibi fonksiyonlarla veri setinin yapısını, boyutunu, istatistiksel özetini ve korelasyon matrisini görebilirsiniz.
4. Veri setinizi ön işleme yapın. Örneğin, eksik değerleri doldurun, kategorik değişkenleri sayısal hale getirin, aykırı değerleri tespit edin ve düzeltin, veri setini standartlaştırın veya normalize edin gibi.
5. Bağımlı ve bağımsız değişkenleri belirleyin. Örneğin, y = df[’dependent_variable’] ve X = df[[’independent_variable_1’, ’independent_variable_2’, ...]] şeklinde tanımlayabilirsiniz.
6. Veri setinizi eğitim ve test seti olarak bölün. Örneğin, train_test_split() fonksiyonunu kullanarak veri setinin %80’ini eğitim seti, %20’sini test seti olarak ayırabilirsiniz.
7. Regresyon modelinizi kurun. Örneğin, LinearRegression() fonksiyonunu kullanarak basit veya çoklu doğrusal regresyon modeli kurabilirsiniz. Modelinizi eğitim seti ile eğitin ve test seti ile tahmin yapın.
8. Modelin uyumunu değerlendirmek için metrikleri hesaplayın. Örneğin, r2_score(), mean_absolute_error(), mean_squared_error(), durbin_watson() gibi fonksiyonlarla modelin açıklama gücü, ortalama mutlak hata, ortalama karesel hata ve otokorelasyon katsayısı gibi metrikleri hesaplayabilirsiniz.
9. Sonuçları yorumlayın. Örneğin, regresyon katsayılarının anlamlılığını, değişkenlerin etkisini, modelin performansını ve iyileştirme önerilerini yorumlayabilirsiniz.
Aşağıda, reklam harcamalarının satış üzerindeki etkisini inceleyen bir regresyon analizi örneği bulabilirsiniz:
python
# Gerekli kütüphaneleri içe aktarın
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
# Veri setini okuyun
ad = pd.read_csv(’Advertising.csv’, usecols=[1,2,3,4])
# Veri setini inceleyin
ad.head()
ad.info()
ad.describe()
ad.corr()
# Veri setini ön işleme yapın (bu örnekte gerekli değil)
# Bağımlı ve bağımsız değişkenleri belirleyin
y = ad[’Sales’]
X = ad[[’TV’, ’Radio’, ’Newspaper’]]
# Veri setini eğitim ve test seti olarak bölün
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Regresyon modelini kurun
lr = LinearRegression()
lr.fit(X_train, y_train) # Modeli eğitim seti ile eğitin
y_pred = lr.predict(X_test) # Test seti ile tahmin yapın
# Modelin uyumunu değerlendirmek için metrikleri hesaplayın
r2 = r2_score(y_test, y_pred) # Açıklama gücü
mae = mean_absolute_error(y_test, y_pred) # Ortalama mutlak hata
mse = mean_squared_error(y_test, y_pred) # Ortalama karesel hata
rmse = np.sqrt(mse) # Ortalama karesel kök hata
print(f"R2: {r2:.3f}")
print(f"MAE: {mae:.3f}")
print(f"MSE: {mse:.3f}")
print(f"RMSE: {rmse:.3f}")
# Sonuçları yorumlayın
# Regresyon katsayılarını ve sabit terimi yazdırın
print(f"Intercept: {lr.intercept_:.3f}")
print(f"TV: {lr.coef_[0]:.3f}")
print(f"Radio: {lr.coef_[1]:.3f}")
print(f"Newspaper: {lr.coef_[2]:.3f}")
# Regresyon katsayılarının anlamlılığını test etmek için p-değerlerini hesaplayın
# statsmodels kütüphanesini kullanarak modeli yeniden kurun
import statsmodels.api as sm
X = sm.add_constant(X) # Sabit terimi ekleyin
model = sm.OLS(y, X).fit() # Modeli eğitin
model.summary() # Model özetini yazdırın
# Model özetinden p-değerlerine bakın
# TV ve Radio değişkenleri anlamlıdır (p < 0.05)
# Newspaper değişkeni anlamsızdır (p > 0.05)
# Değişkenlerin etkisini yorumlayın
# TV harcamaları arttıkça satışlar artar (pozitif etki)
# Radio harcamaları arttıkça satışlar artar (pozitif etki)
# Newspaper harcamaları arttıkça satışlar azalır (negatif etki)
# Modelin performansını yorumlayın
# R2 değeri 0.899’dur, yani model bağımlı değişkenin %89.9’unu açıklayabilir
# Ortalama mutlak hata 1.496’dır, yani tahminler gerçek değerlerden ortalama 1.496 birim uzaktadır
# Ortalama karesel hata 4.086’dır, yani tahminler gerçek değerlerden ortalama 4.086 kare birim uzaktadır
# Ortalama karesel kök hata 2.021’dir, yani tahminler gerçek değerlerden ortalama 2.021 birim uzaktadır
# İyileştirme önerileri
# Newspaper değişkenini modelden çıkararak modelin performansını artırabiliriz
# Modeli iyileştirmek için Newspaper değişkenini çıkaralım
# Bağımlı ve bağımsız değişkenleri yeniden belirleyelim
y = ad[’Sales’]
X = ad[[’TV’, ’Radio’]] # Newspaper değişkenini dahil etmiyoruz
# Veri setini eğitim ve test seti olarak yeniden bölün
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Regresyon modelini yeniden kurun
lr = LinearRegression()
lr.fit(X_train, y_train) # Modeli eğitim seti ile eğitin
y_pred = lr.predict(X_test) # Test seti ile tahmin yapın
# Modelin uyumunu değerlendirmek için metrikleri yeniden hesaplayın
r2 = r2_score(y_test, y_pred) # Açıklama gücü
mae = mean_absolute_error(y_test, y_pred) # Ortalama mutlak hata
mse = mean_squared_error(y_test, y_pred) # Ortalama karesel hata
rmse = np.sqrt(mse) # Ortalama karesel kök hata
print(f"R2: {r2:.3f}")
print(f"MAE: {mae:.3f}")
print(f"MSE: {mse:.3f}")
print(f"RMSE: {rmse:.3f}")
# Modelin performansını karşılaştıralım
# R2 değeri 0.899’dan 0.900’e yükselmiştir, yani modelin açıklama gücü artmıştır
# Ortalama mutlak hata 1.496’dan 1.492’ye düşmüştür, yani tahminlerin gerçek değerlere yakınlığı artmıştır
# Ortalama karesel hata 4.086’dan 4.077’ye düşmüştür, yani tahminlerin gerçek değerlere yakınlığı artmıştır
# Ortalama karesel kök hata 2.021’den 2.019’ye düşmüştür, yani tahminlerin gerçek değerlere yakınlığı artmıştır
# Sonuç olarak, Newspaper değişkenini modelden çıkarmak modelin performansını artırmıştır. Bu da Newspaper değişkeninin satış üzerinde anlamlı bir etkisi olmadığını göstermektedir.
YORUMLAR
Henüz yorum yapılmamış.