Como cargar la serie de datos

Para iniciar nuestros estudios en econometría, lo primero que aprenderemos es el uso de la carga de una serie de datos cualquiera, si bien existen herramientas en R que nos ayudan a hacerlo más rápido, siempre una solución más eficiente es sobre la programación, por ello usaremos el siguiente código:

data = read.table(file.choose(), header = T)

En el código anterior, se entenderá que data es el nombre que tomará de ahora en adelante la base de datos, y obviamente podemos cambiar el nombre data por otro que el usuario guste, siempre y cuando tenga presente el cambio que está ejerciendo.

Este código, nos ayudará a cargar la base de datos desde cualquier parte del sistema, lo más recomendable siempre es trabajar con datos en formatos .txt o .csv, por su facilidad de manejo y bajo peso, lo que permite una carga rapida.

NOTA

RECUERDE: USE SIEMPRE NOMBRES EN MINUSCULA, R DISCRIMINA SIEMPRE LAS MAYUSCULAS CONFUNDIENDO EL USO DE LAS VARIABLES

Procedimiento adicional: Attach y Scipen

Al momento de cargar los datos, siempre es importante tener en cuenta que estos datos se verán como una hoja plana de información, es decir, el programa leerá los datos, pero asumirá que es una impresión, se pueden ver, pero no se pueden manipular; para contrarrestar este inconveniente el código:

attach(data)

nos ayudará a seccionar la información, dándole la opción al programa de transformar la información como si fuera una serie cargada en Excel, brindándonos completa manipulación.

Otro problema identificable en R es el hecho que por defecto los resultados del programa siempre serán vistos en formato de notación cientifica, cuando los resultados presentan muchos decimales.

Entonces, para modificar los resultados, a fin de obtener el resultado con los decimales completos usaremos la función:

options(scipen = 999)

Creación del primer Modelo Lineal

Para crear nuestro primer modelo debemos tener en cuenta que estos obedecerán a la ecuación:

\[\begin{aligned} \hat Y = X\hat\beta+e_i \end{aligned}\]

Este es un modelo lineal simple, el cual muestra la relación de las variables de la función Y y X, pero, a fin de cuentas, las variables Y y X son series de información conocidas, realmente quien nos interesa es el valor \(\beta\), que se obtiene por la siguiente formula:

\[\begin{aligned} \beta = (X^TX)^{-1}*(X^TY) \end{aligned}\]

Para R, este procedimiento se efectuará de la siguiente manera:

rel = y ~ x
model = lm(rel)
summary(model)

Donde:


Realidad vs el modelo estimado

Una primera forma de revisión de nuestro modelo frente a la realidad de la variable analizada Y, nos da una pequeña visión de que tan eficiente fue nuestro modelo, para ello usaremos el siguiente código:

pmodel = predict(model)
plot(y, ylab = "", xlab = "")
par(new = TRUE)
plot(pmodel,pch = 8,col="red", axes = FALSE, bty = "n", xlab = "observaciones", ylab = "Y Vs Yest")

Esto nos ayuda a comprender que tan alejados quedaron los puntos de nuestro modelo frente a los datos reales.

Grafica de Errores: Que tan disperso fue nuestro modelo

Otra forma de verificar la eficiencia de nuestro modelo de forma gráfica, es verificando que tan dispersos fueron nuestros errores de su valor esperado; recuerde que el método EMCO nos indica que todos los estimadores serán BLUE (Best Linear Unbiased Estimators), mejores estimadores lineales insesgados, significando que son los estimadores óptimos sin errores, y por lo tanto:

\[\begin{aligned} E(e_i)=0 \end{aligned}\]

Si la gráfica nos arroja que los puntos de los valores de \(\hat Y_i\), están muy dispersos o alejados de cero, significará que el modelo no es el más eficiente, para ello usaremos el siguiente codigo:

error = residuals(model)
plot(error,xlab="observaciones",ylab="errores del modelo")
abline(h=0,col="red")

Formas funcionales alternativas

Teniendo en cuenta las diferentes formas de tomar la información para los modelos lineales, los códigos para verificar las formas funcionales alternativas de los modelos lineales son:

Modelo Lin - Lin (Lineal - Lineal)

Forma Ecuacional \[\begin{aligned} \hat Y_i=\alpha + \hat \beta X_i+e_i \end{aligned}\]

Codigo en R

model = lm(y ~ x)
summary(model)

Modelo Log - Log (logaritmo - Logaritmo)

Forma Ecuacional \[\begin{aligned} Log \hat Y_i=\alpha + \hat \beta\, Log X_i+e_i\\ \end{aligned}\]

Codigo en R

model = lm(log(y)~log(x)
summary(model)

Modelo Lin - Log (lineal - Logaritmo)

Forma Ecuacional \[\begin{aligned} \hat Y_i=\alpha + \hat \beta\, Log X_i+e_i\\ \end{aligned}\]

Codigo en R

model = lm(y~log(x))
summary(model)

Modelo Log - Lin (Logaritmo - lineal)

Forma Ecuacional \[\begin{aligned} Log \hat Y_i=\alpha + \hat \beta X_i+e_i\\ \end{aligned}\]

Codigo en R

model = lm(log(y)~x)
summary(model)

Bondad de Ajuste

Para verificar la eficiencia de nuestro modelo usaremos los indicadores de bondad de ajuste, que nos permiten revisar la perfección que hay en la comparación de los datos \(Y\) y los datos de \(\hat Y\). Los indicadores de Bondad de ajuste más usados en los modelos lineales son:


Coeficiente de determinación R^2

Tomando la formula considerada para hallar el coeficiente de determinación:

\[\begin{aligned} R^2 = 1- \frac{SSE}{SST};\qquad R^2 \in\, \mathbb R\: [0,1] \end{aligned}\]

Que tambien puede ser entendida como

\[\begin{aligned} R^2 = \frac{SSR}{SST};\qquad R^2 \in\, \mathbb R\: [0,1] \end{aligned}\]

Los cuales pueden ser programados como:

r2 = 1-(sse/sst)

O bien

r2 = ssr/sst

Para ello, se requiere entonces conocer los valores de \(SSR\), \(SSE\) y \(SST\).

Sumatoria al cuadrado de la regresión \(SSR\)

Teniendo en cuenta la fórmula:

\[\begin{aligned} SSR = \sum_{i=1}^{n} {(\hat Y_i - \bar Y)}^2 \end{aligned}\]

El código en R nos muestra que:

ssr = sum((y-mean(y))^2)
Sumatoria al cuadrado de los errores \(SSE\)

Teniendo en cuenta la fórmula:

\[\begin{aligned} SSE = \sum_{i=1}^{n} {(Y_i - \hat Y_i)}^2 \end{aligned}\]

El código en R nos muestra que:

sse = deviance(model)
Sumatoria al cuadrado de los totales \(SST\)

Teniendo en cuenta la fórmula:

\[\begin{aligned} SST = \sum_{i=1}^{n} {(Y_i - \bar Y_i)}^2 \end{aligned}\]

El código en R nos muestra que:

sst = ssr + sse

O bien

sst = sum((y-mean(y))^2)

Coeficiente de determinación R^2 ajustado

Al encontrar que los modelos lineales múltiples tienen problemas de ajuste, la corrección propuesta de la formula \(R^2\) es:

\[\begin{aligned} R^2aj = 1-\frac{n-1}{n-k}*(1-R^2) \end{aligned}\]

En R esta fórmula queda formulada como:

r2a1 = 1-((NROW(y)-1)/(NROW(y)-NROW(coef(model1)))*(1-r2))

Análisis de criterios de información

Respecto a los criterios de revisión sobre modificar un modelo con una o más variables, los análisis presentados son Criterio de información Akaike y Criterio de Información Schwartz.

Para R, los criterios son:

AIC(model,model1)
BIC(model,model1)

Donde:

  • Model representará al modelo original
  • Model1 representará al modelo modificado