MulaiMulai sekarang secara gratis

Melihat R-Squared dari Regresi

R-squared mengukur seberapa baik data cocok dengan garis regresi, sehingga R-squared pada regresi sederhana berkaitan dengan korelasi antara kedua variabel. Secara khusus, besar kecilnya korelasi adalah akar kuadrat dari R-squared dan tanda korelasi sama dengan tanda koefisien regresi.

Dalam latihan ini, Anda akan mulai menggunakan paket statistik statsmodels, yang menjalankan banyak pemodelan dan pengujian statistik seperti yang ada di R dan perangkat lunak seperti SAS dan MATLAB.

Anda akan mengambil dua seri, x dan y, menghitung korelasinya, lalu meregresikan y pada x menggunakan fungsi OLS(y,x) dari pustaka statsmodels.api (perhatikan bahwa variabel dependen, atau variabel sisi kanan y, adalah argumen pertama). Sebagian besar regresi linear memuat konstanta yang merupakan intersep (\(\small \alpha\) pada regresi \(\small y_t=\alpha + \beta x_t + \epsilon_t\)). Untuk menyertakan konstanta menggunakan fungsi OLS(), Anda perlu menambahkan kolom berisi 1 pada sisi kanan regresi.

Modul statsmodels.api telah diimpor untuk Anda sebagai sm.

Latihan ini adalah bagian dari kursus

Analisis Deret Waktu dengan Python

Lihat Kursus

Petunjuk latihan

  • Hitung korelasi antara x dan y menggunakan metode .corr().
  • Jalankan regresi:
    • Ubah terlebih dahulu Series x menjadi DataFrame dfx.
    • Tambahkan konstanta menggunakan sm.add_constant(), simpan sebagai dfx1
    • Regress y pada dfx1 menggunakan sm.OLS().fit().
  • Cetak hasil regresi dan bandingkan R-squared dengan korelasinya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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())
Edit dan Jalankan Kode