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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir