- Medidas de Forma : Asimetría - enero 3, 2025
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
El Test de Chow es una prueba estadística que nos permite estudiar la existencia de una ruptura estructural dentro de los modelos de regresión. O dicho de otra forma, permite ver si hay estabilidad permanente en los parámetros de dicho modelo.En el siguiente tutorial explico esta prueba usando R studio.
También abajo puedes copiar el código usado en el vídeo.
Codigo R
## PRUEBA PARA ESTABILIDAD DE PARAMETROS EN MODELOS DE REGRESION LINEAL
## PRUEBA DE CHOW ###
#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«fImport»)
library(fImport)
library(ggplot2)
## PASOS PARA EL TEST DE CHOW
# 1 HACEMOS LA REGRESIÓN con todos los datos y obtenemos la SCR
# 2 Hacemos la regresiones por cada subdivisón de la muestra y obtenemos los SCR de cada una
# Si tenemos 2 pues los llamamos SCR1 y SCR2
# 3 Sumamos los SCR1 y SCR2. A esta suma le llamamos SCRnr( SUma de cuadrados residual no restringida)
# 4 Creamos la razon F a partir de los datos anteriores
# 5 Interpretamos : No hay cambio estructural si el valor F calculado no excede el
# el valor critico F obtenido en la tabla F en el el nivel elegido de significancia o valor p
Ahorro <- c(61,68.6,63.6,89.6, 97.6,104.4,96.4,92.5,112.6,130.1,161.8,199.1,205.5,
167,235.7,206.2,196.5,168.4,189.1,187.8,208.7,246.4,272.6,214.4,189.4,249.3)
Ingreso <- c( 727.1,790.2,855.3,965, 1054.2,1159.2,1273,1401.4,1580.1,1769.5,1973.3,2200.2,2347.3,
2522.4,2810,3002,3187.6,3363.1,3640.8,3894.5,4166.8,4343.7,4613.7,4790.2,
5021.7,5320.8)
s <- as.Date(«1970-12-31»)
e <- as.Date(«1995-12-31»)
seq(from=s, to=e, by=»year»)
Año <- seq(from=s, to=e, by=»year»)
tabla_ahorro_ingres <- data.frame(Año,Ahorro,Ingreso)
ggplot(tabla_ahorro_ingres, aes(x = Ingreso, y = Ahorro)) + geom_point(col=’steelblue’, size=3)+labs(title = «RUPTURA ESTRUCTURAL»)
## Periodos que analizaremos- 1970 a 1981
## 1982 a 1995
plot(tabla_ahorro_ingres$Ahorro,type=»l»)
abline(v=12)
plot(tabla_ahorro_ingres$Ingreso,type=»l»)
abline(v=12)
#######
ML_1 <- lm(tabla_ahorro_ingres$Ahorro[1:12]~tabla_ahorro_ingres$Ingreso[1:12])
summary(ML_1)
SCR_1<-sum(residuals(ML_1)^2)
ML_2 <- lm(tabla_ahorro_ingres$Ahorro[13:26]~tabla_ahorro_ingres$Ingreso[13:26])
summary(ML_2)
SCR_2<-sum(residuals(ML_2)^2)
ML_3 <- lm(tabla_ahorro_ingres$Ahorro~tabla_ahorro_ingres$Ingreso)
summary(ML_3)
SCR_3<-sum(residuals(ML_3)^2)
# vemos claramente que la realción entre ahorro y el IPD no es la misma
# en los dos subperiodos
#sumamos SCR1 y SCR2
SCRrn <- SCR_1 + SCR_2
SCRrn
## CREACIÓN DEL ESTADISTICO F
num_F <- ((SCR_3 – SCRrn)/2)
den_F <- SCRrn/(12+14-4) #SCRrn/n1 + n2 – 2*k
Valor_F<- num_F/den_F
#2 Y 22 GL DENOMINADOR
F_al_0.99 <- 5.72 # 2 gl en numerador y 22 denominador
## código para directo desde R sin mirar la tabla
ft<- qf(0.99,2,(12+14)-2*2)
ft
#qf(0.99,2,22)
p <- df(Valor_F,2,22)*2
p
Valor_F
#95.75 valor tabla
# distirbucion F (2 y 22)
#Si valor F calculado < valor critico tabla F = NO hay cambio estructural
#si valor F calculado > valor critico tabla F = Hay cambio estructural
# TEST DE SHOW CON LOS PAQUETES EN R
install.packages(«strucchange»)
#install.packages(«Rtools»)
library(strucchange)
sctest (Ahorro~Ingreso, type = «Chow», point = 12 )
?sctest
#Dado que el valor p es menor que .05, podemos rechazar la hipótesis nula de la prueba. Esto significa que tenemos suficiente evidencia
#para decir que existe un punto de ruptura estructural en los datos.