Cara melakukan tes goldfeld-quandt dengan python


Uji Goldfeld-Quandt digunakan untuk mengetahui apakah terdapat heteroskedastisitas dalam suatu model regresi.

Heteroskedastisitas mengacu pada penyebaran residu yang tidak sama pada tingkat variabel respons yang berbeda dalam model regresi.

Jika terjadi heteroskedastisitas, hal ini melanggar salah satu asumsi utama regresi linier yang menyatakan bahwa residu tersebar secara merata di setiap tingkat variabel respons.

Tutorial ini memberikan contoh langkah demi langkah tentang cara melakukan tes Goldfeld-Quandt dengan Python.

Langkah 1: Buat kumpulan data

Untuk contoh ini, mari kita buat pandas DataFrame berikut yang berisi informasi tentang jam belajar, persiapan ujian yang diambil, dan hasil ujian akhir yang diperoleh 13 siswa dalam satu kelas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]})

#view DataFrame
print (df)

    hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96

Langkah 2: Sesuaikan model regresi linier

Selanjutnya, kita akan menyesuaikan model regresi linier berganda dengan menggunakan jam kerja dan ujian sebagai variabel prediktor dan skor sebagai variabel respon:

 import statsmodels. api as sm

#define predictor and response variables
y = df[' score ']
x = df[[' hours ', ' exams ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.718
Model: OLS Adj. R-squared: 0.661
Method: Least Squares F-statistic: 12.70
Date: Mon, 31 Oct 2022 Prob (F-statistic): 0.00180
Time: 09:22:56 Log-Likelihood: -38.618
No. Observations: 13 AIC: 83.24
Df Residuals: 10 BIC: 84.93
Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 71.4048 4.001 17.847 0.000 62.490 80.319
hours 5.1275 1.018 5.038 0.001 2.860 7.395
exams -1.2121 1.147 -1.057 0.315 -3.768 1.344
==================================================== ============================
Omnibus: 1,103 Durbin-Watson: 1,248
Prob(Omnibus): 0.576 Jarque-Bera (JB): 0.803
Skew: -0.289 Prob(JB): 0.669
Kurtosis: 1.928 Cond. No. 11.7
==================================================== ============================

Langkah 3: Lakukan tes Goldfeld-Quandt

Selanjutnya, kita akan menggunakan fungsi statsmodels het_goldfeldquandt() untuk melakukan pengujian Goldfeld-Quandt.

Catatan : Uji Goldfeld-Quandt bekerja dengan cara menghilangkan sejumlah observasi yang terletak pada pusat kumpulan data dan kemudian melakukan pengujian untuk melihat apakah sebaran residu berbeda dari dua kumpulan data hasil yang mengikat pada masing-masing sisi pusat pengamatan.

Biasanya, kami memilih untuk menghapus sekitar 20% dari total observasi. Dalam hal ini, kita dapat menggunakan argumen drop untuk menentukan bahwa kita ingin menghapus 20% observasi:

 #perform Goldfeld-Quandt test
sm. stats . diagnosis . het_goldfeldquandt (y, x, drop= 0.2 )

(1.7574505407790355, 0.38270288684680076, 'increasing')

Berikut cara menafsirkan hasilnya:

  • Statistik pengujiannya adalah 1,757 .
  • Nilai p yang sesuai adalah 0,383 .

Uji Goldfeld-Quandt menggunakan hipotesis nol dan hipotesis alternatif berikut:

  • Null (H 0 ) : Terdapat homoskedastisitas.
  • Alternatif ( HA ): Ada heteroskedastisitas.

Karena nilai p tidak kurang dari 0,05, kita gagal menolak hipotesis nol.

Kami tidak memiliki cukup bukti untuk menyatakan bahwa heteroskedastisitas merupakan masalah dalam model regresi.

Apa yang harus dilakukan selanjutnya

Jika Anda gagal menolak hipotesis nol uji Goldfeld-Quandt, maka tidak terjadi heteroskedastisitas dan Anda dapat melanjutkan untuk menginterpretasikan hasil regresi awal.

Namun jika hipotesis nol ditolak, berarti terdapat heteroskedastisitas pada data. Dalam hal ini, kesalahan standar yang ditampilkan dalam tabel keluaran regresi mungkin tidak dapat diandalkan.

Ada beberapa cara umum untuk mengatasi masalah ini, antara lain:

1. Transformasikan variabel respon.

Anda dapat mencoba melakukan transformasi pada variabel respon, misalnya mengambil log, akar kuadrat, atau akar pangkat tiga dari variabel respon. Umumnya hal ini dapat menyebabkan hilangnya heteroskedastisitas.

2. Gunakan regresi tertimbang.

Regresi tertimbang memberikan bobot pada setiap titik data berdasarkan varians dari nilai yang dipasang. Pada dasarnya, hal ini memberikan bobot rendah pada titik data yang memiliki varian lebih tinggi, sehingga mengurangi kuadrat residunya.

Jika bobot yang digunakan sesuai, regresi tertimbang dapat menghilangkan masalah heteroskedastisitas.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya dengan Python:

Cara melakukan regresi OLS dengan Python
Cara Membuat Plot Sisa dengan Python
Cara Melakukan Tes White dengan Python
Cara melakukan tes Breusch-Pagan dengan Python

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *