Python'da chow testi nasıl yapılır?
İki farklı regresyon modelinin farklı veri setleri üzerindeki katsayılarının eşit olup olmadığını test etmek için Chow testi kullanılır.
Bu test tipik olarak ekonometri alanında zaman serisi verileriyle belirli bir zamanda verilerde yapısal bir kırılma olup olmadığını belirlemek için kullanılır.
Aşağıdaki adım adım örnek, Python’da bir Chow testinin nasıl gerçekleştirileceğini gösterir.
1. Adım: Verileri oluşturun
İlk önce sahte veriler oluşturacağız:
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
2. Adım: Verileri görselleştirin
Daha sonra verileri görselleştirmek için basit bir dağılım grafiği oluşturacağız:
import matplotlib. pyplot as plt
#create scatterplot
plt. plot (df. x , df. y , ' o ')
Dağılım grafiğinden verilerdeki eğilimin x = 10’da değiştiğini görebiliriz.
Böylece x = 10 noktasında verilerde yapısal bir kırılma noktasının olup olmadığını tespit etmek için Chow testini gerçekleştirebiliriz.
Adım 3: Chow Testini Gerçekleştirin
Chow testi gerçekleştirmek için Python’daki chowtest paketinin chowtest fonksiyonunu kullanabiliriz.
Öncelikle bu paketi pip kullanarak kurmamız gerekiyor:
pip install chowtest
Daha sonra Chow testini gerçekleştirmek için aşağıdaki sözdizimini kullanabiliriz:
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)
Chowtest() işlevindeki bağımsız değişkenlerin anlamı şu şekildedir:
- y : DataFrame’deki yanıt değişkeni
- x : DataFrame’deki tahmin değişkeni
- last_index_in_model_1 : Yapısal kırılmadan önceki son noktanın indeks değeri
- First_index_in_model_2 : Yapısal kırılmadan sonraki ilk noktanın indeks değeri
- önem_seviyesi : Hipotez testi için kullanılacak anlamlılık düzeyi
Test sonucundan şunları görebiliriz:
- F-testi istatistiği : 118.14
- p-değeri: <.0000
P değeri 0,05’ten küçük olduğundan testin sıfır hipotezini reddedebiliriz. Bu, verilerde yapısal bir kırılma noktasının mevcut olduğunu söylemek için yeterli kanıtımız olduğu anlamına gelir.
Başka bir deyişle, iki regresyon çizgisi, modeli verilere tek bir regresyon çizgisine göre daha etkili bir şekilde sığdırabilir.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın testlerin nasıl gerçekleştirileceği açıklanmaktadır:
Python’da Granger Nedensellik Testi Nasıl Yapılır?
Python’da Breusch-Pagan testi nasıl yapılır
Python’da White Testi Nasıl Gerçekleştirilir