BaşlayınÜcretsiz Başlayın

Regresyonda bootstrapping

Şimdi bootstrapping'in regresyonda nasıl çalıştığına bakalım. Bootstrapping, standart olmayan kestiricilerin belirsizliğini tahmin etmeye yardımcı olur. Bir regresyona ait \(R^{2}\) istatistiğini düşün. Basit en küçük kareler regresyonu çalıştırdığında bir \(R^{2}\) değeri elde edersin. Peki \(R^2\) için %95 GA'yı (güven aralığını) nasıl elde ederiz, görelim.

Bağımlı değişkeni \(y\) ve iki bağımsız değişkeni \(X1\) ve \(X2\) olan df DataFrame'ini df.head() ile incele. Bu regresyonu statsmodels (sm) ile zaten şu şekilde kurduk:

reg_fit = sm.OLS(df['y'], df.iloc[:,1:]).fit()

Sonucu reg_fit.summary() ile inceleyerek \(R^{2}=0.3504\) olduğunu bul. %95 GA'yı hesaplamak için bootstrapping kullan.

Bu egzersiz

Python'da İstatistiksel Benzetim

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Orijinal veri kümesinden, bir pandas DataFrame'inin sample() yöntemini kullanarak bir bootstrap örneği çek. Satır sayısı orijinal DataFrame ile aynı olmalı.
  • sm.OLS() kullanarak reg_fit()'e benzer bir regresyon kur ve rsquared parametresini kullanarak \(R^{2}\) istatistiğini çıkar.
  • \(R^{2}\) değerini rsquared_boot listesine ekle.
  • np.percentile() kullanarak rsquared_boot için %95 GA'yı r_sq_95_ci olarak hesapla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

rsquared_boot, coefs_boot, sims = [], [], 1000
reg_fit = sm.OLS(df['y'], df.iloc[:,1:]).fit()

# Run 1K iterations
for i in range(sims):
    # First create a bootstrap sample with replacement with n=df.shape[0]
    bootstrap = ____
    # Fit the regression and append the r square to rsquared_boot
    rsquared_boot.append(____(bootstrap['y'],bootstrap.iloc[:,1:]).fit().rsquared)

# Calculate 95% CI on rsquared_boot
r_sq_95_ci = ____
print("R Squared 95% CI = {}".format(r_sq_95_ci))
Kodu Düzenle ve Çalıştır