ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Trabajo de econometria


Enviado por   •  18 de Agosto de 2020  •  Trabajos  •  928 Palabras (4 Páginas)  •  126 Visitas

Página 1 de 4

Nota: Todo lo que este antecedido de # se entiende como un comentario y no es ejecutable en R.

# Para comenzar utilizamos el comando rm() para limpiar la memoria; lm(x,y) borra los elementos x e y. A continuación, se estable una carpeta de trabajo desde la cual se importan los datos y la que podemos exportar resultado, para ello se usa el comando setwd("RUTA"). Nota: c:/ para la raíz. A continuación importamos los datos para el trabajo, si están en formato cvs para importarlos se usa el comando read.csv() que tiene 4 argumentos: el nombre del archivo entre comillas, header = T para indicar que el nombre de las variables está en la cabecera de los datos, sep = ";" para indicar que las columnas están separada por “;”, y dec para indicar el separado de decimales. NOTA: Otra forma para importar datos es usar un paquete que permite leer datos en formato Excel .xls, para ello instalamos el paquete “readxl” , una vez cargado se instala con el comando library() Para importar los datos en formato Excel usamos el comando read_excel () cuyo argumento es el nombre del archivo entre comillas.  NOTA: Si alguna de las variables no se asume como numérica con el comando as.numeric(Datos$X4t) le indicamos cual se debe asumir como tal

rm(list=ls())

setwd("c:/econometria1/capitulo1")

E1<-read.csv("Datos_Ejemplo1_Consumo_Cerveza.csv",header = T,sep = ";",dec = ".")

head(E1) # Muestra algunas filas de los datos con encabezado

#install.packages("readxl")

library(readxl) #Carga el paquete

Datos <- read_excel("Datos_Ejemplo1_Consumo_Cerveza.xls")

Datos$X4t <- as.numeric(Datos$X4t)

head(Datos)

 # A continuación vamos cargar e instalar un paquete para pruebas de normalidad.

#install.packages("normtest")

library(normtest)

# A continuación creamos las matrices de datos, para ello procedemos así: El comando cbind() concatena elementos, en este caso la columna de unos con las columnas 3 a 6 de los datos que son las variables explicativas. x2t, x3t, x4t y x5t, y generamos el vector y0 con las 54 observaciones. Después se obtienen las matrices X y y con las 52 observaciones completas. Otra forma para las matrices: Genera una matriz con una columna de 1 y las columnas 3 a 6 de los datos con todas las filas, es decir con las variables x2t, x3t, x4t y x5t

X0 <- as.matrix(cbind(1,Datos[,3:6]))

y0 <- as.matrix(Datos[,2])

X <- X0[1:52,]

y <- y0[1:52,]

X1 <- as.matrix(cbind(1,Datos[1:52,3:6]))

Y1 <- as.matrix(Datos[1:52,2])

# OBTENEMOS LAS VARIABLES x2t, x3t, x4t y x5t y las VARIABLES EN DESVIACIONES

yta <- y-mean(y)

x2t <- X1[,2:2]

x2ta <- x2t-mean(x2t)

x3t <- X1[,3:3]

x3ta <- x3t-mean(x3t)

x4t <- X1[,4:4]

x4ta <- x4t-mean(x4t)

x5t <- X1[,5:5]

x5ta <- x5t-mean(x5t)

# Estimación por OLS paso a paso. Generamos xtx: t(A) da la transpuesta de la matriz A; %*% es la operación. Obtenemos xtx inversa: comando solve(A) da la inversa de la matriz A

XtX <- t(X)%*%X  

XtX

XtX_inv <- solve(XtX)

XtX_inv

Xty <- t(X)%*%y

Xty

b <- XtX_inv%*%Xty #

b

yte <- X%*%b #Calcula yt estimado

# Diagrama de dispersión Grafica y vs y estimado

plot(y,yte)

# Calculo de los errores de estimación. Prueba de normalidad JB para et. Prueba QQ. Histograma de residuales y estadísticas descriptivas y cajas y bigotes

et <- y - yte  

jb.norm.test(et)

g1_qq <- qqnorm(et,col="black")

qqline(et,col="red")

summary(et)

hist(et, seq(-12.0, 8.0, by=2.0), prob=TRUE)

lines(density(et, bw=1.5))

#rug(et)

qqnorm(et)

qqline(et) 

boxplot(et)

#Obtenemos las sumas de cuadrados y el R2

TSS=t(y)%*%y-length(y)*mean(y)^2

TSS

ESS=t(b)%*% XtX %*%b-length(y)*mean(y)^2

ESS

RSS=t(et)%*%et

RSS

TSS_e13=ESS+RSS

TSS_e13

R_2<-ESS[1,1]/TSS[1,1]

R_2

# Otra forma para el grafico y estimado vs el observado

plot(y,t="l")

lines(yte,lty=3)

legend(x=30,y=70,legend = c("observado","estimado"),lty = c(1,3))

# Se ajusta el modelo por OLS por Comandos. El comando summary() edita el resultado del modelo estimado, en este caso eq1. Se obtiene el vector de coeficientes estimados, los errores de estimación, y yte de eq1. 

eq1 <- lm(y~X[,2:5])

summary(eq1)

b1 <- coef(eq1)

et1 <- resid(eq1)

ytest <- fitted(eq1)

# Pronostico. Generamos la matrix Xf con las filas 53 y 54 de los datos.  El vector ytf que contiene los pronósticos para los años 2012 y 2013

Xf <- X0[53:54,]

Xf

ytf <- Xf%*%b  

ytf

# Por comandos

Ytf_lm <- Xf%*%eq1$coefficients

Ytf_lm

# MODELO EN DESVIACIONES: Obtenemos la MATRIZ IDENTIDAD DE ORDEN 52. El comando diag() genera una matriz diagonal; los argumentos son nrow=, ncol= , formula de elementos de la diagonal. NOTA: si solo se especifica un escalar entero en los argumentos, el resultado es una matriz diagonal con 1 en la diagonal de dimensión del escalar entero.

...

Descargar como (para miembros actualizados)  txt (8 Kb)   pdf (99.6 Kb)   docx (11.7 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com