Jak wykonać test chow w r
Test Chowa służy do sprawdzania, czy współczynniki dwóch różnych modeli regresji na różnych zbiorach danych są równe.
Test ten jest zwykle stosowany w dziedzinie ekonometrii z danymi szeregów czasowych w celu ustalenia, czy w danym momencie występuje strukturalna przerwa w danych.
W tym samouczku przedstawiono krok po kroku przykład wykonania testu Chow w języku R.
Krok 1: Utwórz dane
Najpierw stworzymy fałszywe dane:
#create data data <- data.frame(x = c(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 = c(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 six rows of data head(data) xy 1 1 3 2 1 5 3 2 6 4 3 10 5 4 13 6 4 15
Krok 2: Wizualizuj dane
Następnie utworzymy prosty wykres rozrzutu do wizualizacji danych:
#load ggplot2 visualization package library (ggplot2) #create scatterplot ggplot(data, aes (x = x, y = y)) + geom_point(col=' steelblue ', size= 3 )
Z wykresu rozrzutu widzimy, że wzór danych wydaje się zmieniać przy x = 10. W związku z tym możemy wykonać test Chow, aby określić, czy istnieje strukturalny punkt załamania danych przy x = 10.
Krok 3: Wykonaj test Chow
Możemy użyć funkcji sctest z pakietu strukturchange , aby wykonać test Chow:
#load strucchange package library (strucchange) #perform Chow test sctest(data$y ~ data$x, type = " Chow ", point = 10 ) Chow test data: data$y ~ data$x F = 110.14, p-value = 2.023e-13
Z wyniku testu możemy zobaczyć:
- Statystyka testu F : 110.14
- Wartość p: <.0000
Ponieważ wartość p jest mniejsza niż 0,05, możemy odrzucić hipotezę zerową testu. Oznacza to, że mamy wystarczające dowody, aby stwierdzić, że w danych występuje strukturalny punkt przerwania.
Innymi słowy, dwie linie regresji mogą skuteczniej dopasować model do danych niż pojedyncza linia regresji.