Universidad Nacional de Colombia
Sede Bogotá
Econometría y Modelos de Regresión Lineal
Probabilidad y Estadística Fundamental
Profesor:
Juan Camilo Calderón González
Estudiantes:
David Leonardo Arévalo Escobar
Gabriel Felipe Divantoque Moreno
Año 2019
Semestre
2018- 3
Análisis de regresión lineal simple aplicado a econometría en R
Introducción
En las Ciencias Económicas se toman decisiones siempre contando con información del
mercado, habitualmente estas decisiones recaen en la relación entre dos o más variables,
por ejemplo observar la relación entre gasto en publicidad y ventas, puede permitir establecer
las influencia que tiene el mercadeo en las ventas de una empresa, o la relación entre inflación
y desempleo, puede permitirle a un presidente tomar decisiones sobre política pública para
controlar el desempleo por medio de mecanismos inflacionarios.
La econometría, que es la rama de la economía que usa métodos estadísticos que a partir de
observaciones llegar a establecer hipótesis o teorías. Teniendo así la facultad de usar datos
para desarrollar regresiones lineales, y de esta forma establecer la correlación entre una
variable explicada y una o más variables explicativas. Varios modelos en la economía están
fundamentados, en regresiones lineales que, por medio del método inductivo, llevaron al
planteamiento de hipótesis y teorías generales, como lo son la curva de Phillips (modelo que
establece una correlación negativa entre desempleo e inflación), o la teoría de transables y
no transables en la economía que establece una correlación positiva en el consumo de bienes
no transables, por un aumento en la producción de los transables.
Para desarrollar un modelo de regresión lineal se deben cumplir algunos supuestos, que en
la mayoría de modelos econométricos se asumen como ciertos, y generalmente para casos
en los que no se cumplen se omiten o se encuentra explicación en variables exógenas fuera
del modelo.
Para la modelación del trabajo actual se utilizó una base de datos del Centro de Investigación
para el desarrollo (CID) donde tenemos, los datos de inflación y desempleo entre los años de
1986 y 2015, se usarán estos datos para desarrollar un modelo de regresión lineal, se pondrán
a prueba supuestos importantes para que el modelo pueda arrojar información fiable, como
lo son el no cambio estructural, la correcta especificación, la no Multicolinealidad (aplica
principalmente para modelos de regresión lineal con múltiples variables explicativas), y
supuestos sobre el término de error, (diferencia entre el Y y el Y esperado) como lo son
Homocedasticidad, no autocorrelación y normalidad.
Se usará el programa R para validar la correlación entre las variables, modelar la regresión
lineal y validar algunos de los supuestos.
Marco teórico:
Existen bastantes modelos econométricos basados en regresiones lineales, pero pocos que
hayan influido tanto en la teoría económica, como lo fue la regresión hecha por Alban William
Phillips Housego en 1968 donde tomó los datos entre 1861 y 1957, para desempleo y
variación en el salario nominal en Reino Unido, y por medio de la regresión lineal logró
evidenciar que existía una relación negativa entre estas dos variables, rechazando la teoría
imperante en el momento que planteaba la existencia de una tasa natural de desempleo, en
la actualidad la regresión lineal sigue siendo una de las principales herramientas en el
desarrollo de modelos econométricos, donde gracias a el acceso a grandes bases de datos
que permite la tecnología, se han podido confirmar o desvirtuar hipótesis y teorías planteadas
por distintos economistas.
Modelo relación inflación y tasa de interés en R
Utilizando un análisis gráfico, para establecer cuál sería la variable explicativa usada para
desarrollar la regresión, se escogió la variable Tasa de interés, este criterio se puede
evidenciar en la imagen 1.
attach(Inflacion_COL)
pairs(Inflacion_COL[,2:5])
Imagen 1.
Para confirmar revisamos el índice de correlación y aplicamos un test de correlación que tiene
como hipótesis nula que la correlación es igual a 0:
cor(Inflacion_COL$INFLACIÓN,Inflacion_COL$TINTERÉS)
0.9593321
> [Link](INFLACIÓN,TINTERÉS)
Pearson's product-moment correlation
data: INFLACIÓN and TINTERÉS
t = 17.983, df = 28, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.9154633 0.9806657
sample estimates:
cor
0.9593321
Ya que es un número positivo muy cercano a 1 se puede concluir que existe una correlación
fuerte positiva.
entonces se procede con la modelación de la regresión lineal.
regresionf<-lm(INFLACIÓN~TINTERÉS)
> regresionf
Call:
lm(formula = INFLACIÓN ~ TINTERÉS)
Coefficients:
(Intercept) TINTERÉS
-4.4136 0.6711
de aqui podemos ver que la ecuación de la recta sería:
Y: inflación.
X: tasa de interes.
Y=-4.4136+0.6711x
plot(TINTERÉS,INFLACIÓN,xlab="Tasa de Interés",ylab="Inflación",main="prueba de
regresion lineal") abline(regresionf,col="green")
Imagen 2.
predict(regresión,[Link](TINTERÉS=15)) y con la función de predicción podríamos
predecir que inflación tendríamos a cada tasa de interés hipotética que queramos estudiar.
Para que el modelo econométrico sea válido se deben validar los siguientes supuestos:
Sobre la estructura:
● No cambio estructural: Plantea el hecho de que el entorno sobre el que se realiza el
modelo no tuvo cambios que pudieran afectar el desarrollo de la variable explicada.
Se puede comprobar con el test de chow.
sctest(Inflacion_COL$INFLACIÓN~Inflacion_COL$TINTERÉS,type = "Chow", point =
15)
Chow test
data: Inflacion_COL$INFLACIÓN ~ Inflacion_COL$TINTERÉS
F = 0.3018, p-value = 0.742
o con la prueba de Cusum.
[Link] = efp(Inflacion_COL$INFLACIÓN~Inflacion_COL$TINTERÉS,type =
"OLS-CUSUM")
plot([Link])
● Correcta especificación: Los datos fueron seleccionados de forma adecuada y la
elección de las variables a incluir.
Se puede comprobar con el Test Reset de Ramsey, test que verifica si las
combinaciones de variables no lineales tienen influencia en el modelo.
(Ho:Correctamente especificado)
> reset(regresionf)
RESET test
data: regresionf
RESET = 0.32919, df1 = 2, df2 = 26, p-value = 0.7225
● No Multicolinealidad (aplica generalmente cuando se tienen múltiples variables)
● Las variables explicativas del modelo no presentan una fuerte correlación entre ellas.
●
Se puede probar con:
Una Matriz de correlación
Aunque en el la ejecuciòn del modelo se analiza el desarrollo de la inflación con
respecto a la tasa de interes, se pueden apreciar correlaciones fuertes entre tasa de
interes y salario, lo que puede estar explicado, con el hecho de que la tasa de interes
es el precio del dinero, y si un empresario debe pagar mas por el dinero de su
empresa, reducirá los salarios para mantener constante el ingreso.
Tambien se puede probar con el factor de inflación de la varianza.
> VIF(regresionf)
[1] 12.54989
ya que regresión f está construida con una sola variable, por esto presenta un factor
de inflación de la varianza tan alto, ya que si fuera igual a 1 indicaría que no hay
multicolinealidad, y mayor a 1 indica que hay algún nivel de colinealidad.
Sobre el error:
● Homocedasticidad: Todos los errores son idénticamente distribuidos, es decir para
cualquier valor que pueda tomar x el error estará siempre distribuido de la misma
manera.
Se puede comprobar con la prueba Breush-Pagan que analiza si la varianza estimada
es dependiente de los valores independientes.
bptest(regresionf)
studentized Breusch-Pagan test
data: regresionf
BP = 6.7097, df = 1, p-value = 0.009589
no se rechaza la hipótesis nula, los datos son homocedásticos.
Tambien se puede probar con la prueba de varianza no constante.
ncvTest(regresionf)
ncvTest(regresionf)
Non-constant Variance Score Test
Variance formula: ~ [Link]
Chisquare = 9.785247, Df = 1, p = 0.0017592
● No autocorrelación:
Se puede probar con el test Breush-Godfrey
bgtest(regresionf)
Breusch-Godfrey test for serial correlation of order up to 1
data: regresionf
LM test = 3.3577, df = 1, p-value = 0.06689
O con el test de Durbin Watson que tiene como hipotesis nula
dwtest(regresionf)
Durbin-Watson test
data: regresionf
DW = 1.2946, p-value = 0.01322
alternative hypothesis: true autocorrelation is greater than 0
● Normalidad: Los errores distribuyen normal, si, no, el modelo va a estar sesgado.
se puede probar con el test Jarque - Bera, que tiene como hipotesis nula que los datos
son simetricos.
residuosf<-resid(regresionf)
[Link](residuosf)
Jarque Bera Test
data: residuosf
X-squared = 1.1656, df = 2, p-value = 0.5583
O con el test de shapiro - wilk, el cual tiene como hipotesis nula que los datos tienen
una distribución normal.
[Link](residuosf)
Shapiro-Wilk normality test
data: residuosf
W = 0.96613, p-value = 0.4393
Para verificar de manera grafica algunos de los supuestos podemos usar la función
plot de la regresión.
Residauls vs filtted: Aleatoriedad
Normal Q-Q: Distribución Normal
Scale-Location: Homocedasticidad
residual vs Leverage: No Cambio Estructural
par(mfrow=c(2,2))
plot(regresionf)
Anexos:
Base de datos original filtrada a solo inflación y tasa de interes:
Tabla 1.
Seleccionamos la información necesaria, y la acoplamos para trabajar en R.
Modelo en R
library(readxl)
Datos<- read_excel("Inflacion_COL.xls")
attach(Datos)
names(Datos)
attach(Datos)
names(Datos)
Regresion<- lm(INFLACIÓN~DESEMPLEO+TINTERÉS+SALARIO)
summary(Regresion)
#Correcta especificación
#Test de Ramsey (Ho:Correctamente especificado)
reset(Regresion)
#Matriz de correlaciones (problema de multicolineaalidad si algun coef es mayor a 0,8)
cor(cbind(DESEMPLEO, TINTERÉS, SALARIO))
# Factor de inflación de la varianza (problemas si >5)
[Link]("faraway")
library(faraway)
vif(Regresion)
#No cambio estructural (Estabilidad de parametros)
#Prueba CUSUM
[Link]("strucchange")
library(strucchange)
[Link] = efp(INFLACIÓN~DESEMPLEO+TINTERÉS+SALARIO,type = "OLS-
CUSUM")
plot([Link])
#Test de Chow (Ho:Estabidlidad paramétrica, es decir, no [Link])
sctest(INFLACIÓN~DESEMPLEO+TINTERÉS+SALARIO,type = "Chow", point = 15)
#Homocedasticidad
# grafico de dispersion de residuos studentizados
[Link]("car")
library(car)
spreadLevelPlot(Regresion)
#Prueba Breush-Pagan(Ho:Homocedasticidad)
bptest(Regresion)
#Prueba de varianza no constante (Ho:Homocedasticidad)
ncvTest(Regresion)
#Autocorrelación:
#Durbin Watson test (Ho:No autocorrelación de 1er orden)
dwtest(Regresion)
#Prueba Breush-Godfrey (Ho:No autocorrelación de orden p)
bgtest(Regresion)
#Gráfico de autocorrelación
acf(Regresion$residuals)
#Normalidad
#Jarque bera (Ho: Normalidad)
[Link]("tseries")
library(tseries)
[Link](Regresion$residuals)
# shapiro-wilk (Ho: Normalidad)
[Link](Regresion$residuals)
par(mfrow=c(2,2))
plot(Regresion<- lm(INFLACIÓN~DESEMPLEO+TINTERÉS+SALARIO))