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

Bir Regresyonun R-Kare Değerine Bakmak

R-kare, verilerin regresyon doğrusuna ne kadar iyi uyduğunu ölçer; dolayısıyla basit bir regresyonda R-kare, iki değişken arasındaki korelasyonla ilişkilidir. Özellikle, korelasyonun büyüklüğü R-karenin kareköküne eşittir ve korelasyonun işareti, regresyon katsayısının işaretiyle aynıdır.

Bu egzersizde, R ve SAS ile MATLAB gibi yazılımlarda bulunan istatistiksel modelleme ve testlerin çoğunu gerçekleştiren statsmodels istatistik paketini kullanmaya başlayacaksın.

İki seriyi, x ve y, alacak, aralarındaki korelasyonu hesaplayacak ve ardından statsmodels.api kütüphanesindeki OLS(y,x) fonksiyonunu kullanarak y'yi x üzerine regresyonlayacaksın (bağımlı, yani sağ taraftaki değişken y'nin ilk argüman olduğuna dikkat et). Çoğu doğrusal regresyon, kesişim olan bir sabit terim içerir (regresyondaki \(\small y_t=\alpha + \beta x_t + \epsilon_t\) denklemindeki \(\small \alpha\)). OLS() fonksiyonuyla sabiti eklemek için, regresyonun sağ tarafına 1'lerden oluşan bir sütun eklemen gerekir.

statsmodels.api modülü senin için sm olarak içe aktarıldı.

Bu egzersiz

Python ile Zaman Serisi Analizi

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

Egzersiz talimatları

  • .corr() yöntemiyle x ve y arasındaki korelasyonu hesapla.
  • Bir regresyon çalıştır:
    • Önce x Serisini bir DataFrame'e çevirip dfx olarak adlandır.
    • sm.add_constant() kullanarak bir sabit ekle ve dfx1'e ata.
    • sm.OLS().fit() kullanarak y’yi dfx1 üzerine regresyonla.
  • Regresyonun sonuçlarını yazdır ve R-kare ile korelasyonu karşılaştır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Import the statsmodels module
import statsmodels.api as sm

# Compute correlation of x and y
correlation = ___
print("The correlation between x and y is %4.2f" %(correlation))

# Convert the Series x to a DataFrame and name the column x
dfx = pd.DataFrame(x, columns=['x'])

# Add a constant to the DataFrame dfx
dfx1 = sm.add_constant(___)

# Regress y on dfx1
result = sm.OLS(___, ___).fit()

# Print out the results and look at the relationship between R-squared and the correlation above
print(result.summary())
Kodu Düzenle ve Çalıştır