Cara melakukan tes wald dengan python


Uji Wald dapat digunakan untuk menguji apakah satu atau lebih parameter suatu model sama dengan nilai tertentu.

Pengujian ini sering digunakan untuk menentukan apakah satu atau lebih variabel prediktor dalam suatu model regresi sama dengan nol.

Kami menggunakan hipotesis nol dan hipotesis alternatif berikut untuk pengujian ini:

  • H 0 : Beberapa himpunan variabel prediktor semuanya sama dengan nol.
  • H A : Tidak semua variabel prediktor dalam himpunan sama dengan nol.

Jika kita gagal menolak hipotesis nol, maka kita dapat menghapus kumpulan variabel prediktor tertentu dari model, karena variabel tersebut tidak memberikan peningkatan yang signifikan secara statistik dalam kesesuaian model.

Contoh berikut menunjukkan cara melakukan tes Wald dengan Python

Contoh: Tes Wald dengan Python

Untuk contoh ini, kita akan menggunakan kumpulan data mtcars yang terkenal agar sesuai dengan model regresi linier berganda berikut:

mpg = β 0 + β 1 tersedia + β 2 karbohidrat + β 3 hp + β 4 silinder

Kode berikut menunjukkan cara menyesuaikan model regresi ini dan menampilkan ringkasan model:

 import statsmodels. formula . api as smf
import pandas as pd
import io

#define dataset as string
mtcars_data="""model,mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb
Mazda RX4,21,6,160,110,3.9,2.62,16.46,0,1,4,4
Mazda RX4 Wag,21.6,160,110,3.9,2.875,17.02,0,1,4,4
Datsun 710,22.8,4,108,93,3.85,2.32,18.61,1,1,4,1
Hornet 4 Drive,21.4,6,258,110,3.08,3.215,19.44,1,0,3,1
Hornet Sportabout,18.7,8,360,175,3.15,3.44,17.02,0,0,3,2
Valiant,18.1,6,225,105,2.76,3.46,20.22,1,0,3,1
Duster 360,14.3,8,360,245,3.21,3.57,15.84,0,0,3,4
Merc 240D,24.4,4,146.7,62,3.69,3.19,20,1,0,4,2
Merc 230,22.8,4,140.8,95,3.92,3.15,22.9,1,0,4,2
Merc 280,19.2,6,167.6,123,3.92,3.44,18.3,1,0,4,4
Merc 280C,17.8,6,167.6,123,3.92,3.44,18.9,1,0,4,4
Merc 450SE,16.4,8,275.8,180,3.07,4.07,17.4,0,0,3,3
Merc 450SL,17.3,8,275.8,180,3.07,3.73,17.6,0,0,3,3
Merc 450SLC,15.2,8,275.8,180,3.07,3.78,18,0,0,3,3
Cadillac Fleetwood,10.4,8,472,205,2.93,5.25,17.98,0,0,3,4
Lincoln Continental,10.4,8,460,215,3,5.424,17.82,0,0,3,4
Chrysler Imperial,14.7,8,440,230,3.23,5.345,17.42,0,0,3,4
Fiat 128,32.4,4,78.7,66,4.08,2.2,19.47,1,1,4,1
Honda Civic,30.4,4,75.7,52,4.93,1.615,18.52,1,1,4,2
Toyota Corolla,33.9,4,71.1,65,4.22,1.835,19.9,1,1,4,1
Toyota Corona,21.5,4,120.1,97,3.7,2.465,20.01,1,0,3,1
Dodge Challenger,15.5,8,318,150,2.76,3.52,16.87,0,0,3,2
AMC Javelin,15.2,8,304,150,3.15,3.435,17.3,0,0,3,2
Camaro Z28,13.3,8,350,245,3.73,3.84,15.41,0,0,3,4
Pontiac Firebird,19.2,8,400,175,3.08,3.845,17.05,0,0,3,2
Fiat X1-9,27.3,4,79,66,4.08,1.935,18.9,1,1,4,1
Porsche 914-2,26,4,120.3,91,4.43,2.14,16.7,0,1,5,2
Lotus Europa,30.4,4,95.1,113,3.77,1.513,16.9,1,1,5,2
Ford Pantera L,15.8,8,351,264,4.22,3.17,14.5,0,1,5,4
Ferrari Dino,19.7,6,145,175,3.62,2.77,15.5,0,1,5,6
Maserati Bora,15.8,301,335,3.54,3.57,14.6,0,1,5,8
Volvo 142E,21.4,4,121,109,4.11,2.78,18.6,1,1,4,2"""

#convert string to DataFrame
df = pd. read_csv ( io.StringIO (mtcars_data), sep=" , ")

#fit multiple linear regression model
results = smf. ols (' mpg~disp+carb+hp+cyl ',df). fit ()

#view regression model summary
results. summary ()

	coef std err t P>|t| [0.025 0.975]
Intercept34.0216 2.523 13.482 0.000 28.844 39.199
available -0.0269 0.011 -2.379 0.025 -0.050 -0.004
carb -0.9269 0.579 -1.601 0.121 -2.115 0.261
hp 0.0093 0.021 0.452 0.655 -0.033 0.052
cyl -1.0485 0.784 -1.338 0.192 -2.657 0.560

Selanjutnya, kita dapat menggunakan fungsi statsmodels wald_test() untuk menguji apakah koefisien regresi untuk variabel prediktor “hp” dan “cyl” keduanya sama dengan nol.

Kode berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya:

 #perform Wald Test to determine if 'hp' and 'cyl' coefficients are both zero
print ( results.wald_test (' (hp=0, cyl=0) '))

F test: F=array([[0.91125429]]), p=0.41403001184235005, df_denom=27, df_num=2

Dari hasil tersebut terlihat bahwa p-value pengujian tersebut adalah 0,414 .

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

Artinya kita dapat berasumsi bahwa koefisien regresi untuk variabel prediktor “hp” dan “cyl” keduanya sama dengan nol.

Kami dapat menghapus istilah-istilah ini dari model karena secara statistik istilah-istilah tersebut tidak meningkatkan kesesuaian model secara keseluruhan secara signifikan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya dengan Python:

Cara melakukan regresi linier sederhana
Cara melakukan regresi polinomial dengan Python
Cara menghitung VIF dengan Python

Tambahkan komentar

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