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ırEgzersiz 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()kullanarakreg_fit()'e benzer bir regresyon kur versquaredparametresini kullanarak \(R^{2}\) istatistiğini çıkar.- \(R^{2}\) değerini
rsquared_bootlistesine ekle. np.percentile()kullanarakrsquared_bootiçin %95 GA'yır_sq_95_ciolarak 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))