Cara melakukan tes chow dengan python
Uji Chow digunakan untuk menguji apakah koefisien dari dua model regresi yang berbeda pada kumpulan data yang berbeda adalah sama.
Tes ini biasanya digunakan dalam bidang ekonometrika dengan data deret waktu untuk menentukan apakah terdapat kerusakan struktural pada data pada suatu titik waktu tertentu.
Contoh langkah demi langkah berikut menunjukkan cara melakukan tes Chow dengan Python.
Langkah 1: Buat datanya
Pertama, kami akan membuat data palsu:
import pandas as pd #createDataFrame df = pd. DataFrame ({' x ': [1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 20], ' y ': [3, 5, 6, 10, 13, 15, 17, 14, 20, 23, 25, 27, 30, 30, 31, 33, 32, 32, 30, 32, 34, 34, 37, 35, 34, 36, 34, 37, 38, 36]}) #view first five rows of DataFrame df. head () x y 0 1 3 1 1 5 2 2 6 3 3 10 4 4 13
Langkah 2: Visualisasikan datanya
Selanjutnya, kita akan membuat diagram sebar sederhana untuk memvisualisasikan data:
import matplotlib. pyplot as plt
#create scatterplot
plt. plot (df. x , df. y , ' o ')
Dari scatter plot terlihat bahwa trend data tampak berubah pada x = 10.
Dengan demikian, kita dapat melakukan uji Chow untuk menentukan apakah terdapat breakpoint struktural pada data pada x = 10.
Langkah 3: Lakukan Tes Chow
Kita dapat menggunakan fungsi chowtest dari paket chowtest dengan Python untuk melakukan tes Chow.
Pertama, kita perlu menginstal paket ini menggunakan pip:
pip install chowtest
Kemudian kita bisa menggunakan sintaks berikut untuk melakukan tes Chow:
from chow_test import chowtest chowtest ( y=df[[' y ']], last_index_in_model_1= 15 , first_index_in_model_2= 16 , significance_level= .05 ) ************************************************** ********************************* Reject the null hypothesis of equality of regression coefficients in the 2 periods. ************************************************** ********************************* Chow Statistic: 118.14097335479373 p value: 0.0 ************************************************** ********************************* (118.14097335479373, 1.1102230246251565e-16)
Berikut arti masing-masing argumen dalam fungsi chowtest() :
- y : Variabel respon di DataFrame
- x : Variabel prediktif di DataFrame
- last_index_in_model_1 : Nilai indeks titik terakhir sebelum jeda struktural
- first_index_in_model_2 : Nilai indeks untuk titik pertama setelah jeda struktural
- tingkat_signifikansi : Tingkat signifikansi yang digunakan untuk uji hipotesis
Dari hasil pengujian kita dapat melihat:
- Statistik uji F : 118,14
- nilai p: <.0000
Karena nilai p kurang dari 0,05, kita dapat menolak hipotesis nol dari pengujian tersebut. Ini berarti bahwa kita mempunyai cukup bukti untuk mengatakan bahwa terdapat titik henti struktural dalam data.
Dengan kata lain, dua garis regresi dapat memasukkan model ke dalam data dengan lebih efektif dibandingkan satu garis regresi.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tes umum lainnya dengan Python:
Cara Melakukan Tes Kausalitas Granger dengan Python
Cara melakukan tes Breusch-Pagan dengan Python
Cara Melakukan Tes White dengan Python