JUAN JOSE ARIAS MONTERROZA
6/7/2021
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
ECONOMETRÍA
TEMA DE INVESTIGACIÓN:
“COMPOSICION DEL GASTO DE LAS FAMILIAS DEL AREA URBANA DE AHUACHAPAN, DURANTE EL AÑO 2019”.
DOCENTE:
MSF. Carlos Ademir Pérez Alas.
Integrantes:
ARIAS MONTERROZA, JUAN JOSE. AM19005.
HERNANDEZ ROMERO, ALAN ERNESTO. HR15033.
GRUPO:
2-5
CIUDAD UNIVERSITARIA, LUNES 8 DE JULIO DE 2021.
“COMPOSICION DEL GASTO DE LAS FAMILIAS DEL AREA URBANA DE AHUACHAPAN, DURANTE EL AÑO 2019”
Como entidad, las familias son la unidad de mayor consumo de una sociedad. Por ello, el consumo de nuestro agente económico: La familia, es nuestro fundamento para iniciar este estudio.
Según la Encuesta Nacional de Ingresos y Gastos de los Hogares (ENIGH) se puede establecer el Gasto de consumo “como la totalidad monetaria de mercancías comprada y los servicios pagados por los hogares” Como estos factores se pueden medir en unidades monetarias, lo que permite situar los hogares en posiciones relativas y realizar comparaciones entre los distintos niveles de bienestar de las familias lo que es fundamental en el análisis de desigualdad y disparidad en la distribución de recursos de una sociedad.
Nuestro proyecto se enfocará en estudiar las necesidades de consumo de las familias en el occidente de nuestro país, en el municipio de Ahuachapán, y profundizamos sobre la relación de las variables de la Encuesta de Hogares de Propósitos Múltiples para ampliar el estudio de este y evaluar su representatividad. Es importante retomar un estudio general y poder llevarlo hasta la parte mas especifica de una investigación, nuestro trabajo permitiría mostrar la conexión existente y los cambios entre los factores que alteran una decisión, en este caso una decisión de consumo.
Dejamos de lado el conocimiento empírico de la sociedad y comprobamos las consecuencias existentes de aumentar el tamaño de una familia y su impacto a las necesidades básicas, por ejemplo, esa relación detallada es nuestro propósito de estudio. Estamos seguros de que muchas familias desconocen sus gastos y la importancia de planificar sus ingresos, este ejercicio estadístico es necesario para ordenar, estimar, proponer y proyectar un orden en nuestro estudio
General:
• Desarrollar un caso practico con datos reales utilizando RStudio como programa estadístico para predecir fenómenos diversos, cuantificar la relación entre sus variables y realizar conclusiones sobre el comportamiento de consumo de las familias en Ahuachapán.
Específicos:
• Estimar un modelo de regresión lineal múltiple con nuestra base de datos identificando en ellas variables con relación y coherencia para formular pronosticos y parametros de importancia.
• Interpretar los resultados de los supuestos de nuestro modelo aplicando nuestros conocimientos estudiados en clase.
El gasto en consumo que realizan los hogares es uno de los determinantes del estilo de vida de las familias y de la riqueza que posee un hogar, está bastante relacionado con la cantidad de miembros que lo habiten. Por esta razón, es que el uso de los datos obtenidos de la EHPM 2019 es importante a la hora de evaluar la estructura que presenta la distribución en una sociedad. Estas estadísticas son utilizadas para diferentes fines, como, por ejemplo: Estas estadísticas son utilizadas para diferentes fines, como, por ejemplo: • Para estudiar que cantidad de la población en el área urbana de Ahuachapán se encuentran en los niveles más bajos o altos de la distribución y medir su dispersión (desigualdad). • También se utilizan para analizar las características de los grupos de la población correspondientes y de esta forma establecer patrones de consumo
Variable Endógena: • Gasto Total de los Hogares
Variables Exogenas: • Numero de miembros del hogar. • Gasto del hogar en alimentación. • Gasto del hogar en articulo de servicio • Gasto en educación.
Hipótesis General del Modelo: El gasto total de los hogares de Ahuachapan durante el 2019 es explicado por el número de miembros del hogar, gasto del hogar en alimentación, gasto del hogar en artículos y servicios y el gasto del hogar en educación.
Hipótesis Especificas:
Hipotesis 1: Número de miembros del hogar
Hipotesis 2: Gasto en Alimentación
Hipotesis 3: Gastos en artículos y servicios.
Hipótesis 4: Gastos en educación.
Y = β + β X + β X + β X + β X
Donde:
Y = Gasto total de los Hogares
X1 = Número de Miembros del Hogar utilizados
X2 = Gasto en Alimentación operativos
X3 = Gasto en Artículos y Servicios
X4 = Gasto en Alimentación
Restricciones de los parámetros.
Número de miembros del hogar
Gasto de los hogares en alimentación
Y = β + β X + β X + β X + β X + ε
gastohog = Gasto total del Hogar r021a = Número de miembros del Hogar ghali = Gasto del Hogar en Alimentación ghu12 = Gasto del Hogar en Artículos y Servicios gmed = Gasto del Hogar en Educación
#Cargando la base de datos
library(haven)
library(haven)
Base_Datos <- read_sav("C:/Users/arias/Downloads/Base Datos.sav")
Datos<-Base_Datos[c(2,3,4,5,6)]
#Para mostras las primeras 5 muestras de los datos
head(Datos,n=5)## # A tibble: 5 x 5
## gastohog r021a ghali ghu12 gmed
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 110. 5 4.35 13.2 21.6
## 2 101. 3 24.6 15.2 0
## 3 90.5 2 25.1 8.5 44.9
## 4 158. 2 31.1 93.3 0
## 5 73.8 6 32.9 20.5 10
ESTIMACION DEL MODELO
Dependent variable:
---------------------------
gastohog
| r021a -5.862 (3.753) |
| ghali 1.184*** (0.113) |
| ghu12 1.459*** (0.127) |
| gmed 1.297*** (0.083) |
| Constant 54.881*** (18.695) |
Observations 200
R2 0.842
Adjusted R2 0.839
Residual Std. Error 87.874 (df = 195)
F Statistic 259.935*** (df = 4; 195)
=============================================== Note: p<0.1; p<0.05; p<0.01
Verificación del supuesto de Normalidad
Regla de desición:
Rechazar: Ho si 𝐽𝐵 ≥ 𝑉.𝐶
Rechazar: Ho si 𝑝 ≤ 𝛼
Prueba Jarque Bera (JB)
## [1] 5.991465
##
## Jarque-Bera test for normality
##
## data: modelo$residuals
## JB = 339.75, p-value < 0.00000000000000022
#Grafiacando la prueba
library(fastGraph)
shadeDist(xshade = JB$statistic,ddist = "dchisq",parm1 = 2,lower.tail = FALSE,sub=paste("VC:",VC_JB,"JB:",JB$statistic)) Para un nivel de significancia de 5%
Como 83.52 > 5.991465, se rechaza la hipotesis Ho. Hay evidencia que los residuales no tienen una distribucion normal.
Alternativamenmte
Prueba Kolmogorov Smirnov - Lilliefors
Regla de desición:
Rechazar: Ho si D ≥ 𝑉.𝐶.
Rechazar: Ho si 𝑝 ≤ 𝛼
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: modelo$residuals
## D = 0.14589, p-value = 0.0000000000362
#Calculando valor critico
matriz_X<- model.matrix(modelo)
n_ks<-nrow(matriz_X)
VC_KS<-((0.875897)/sqrt(n_ks))
print(VC_KS)## [1] 0.06193527
Como 0.10676 > 0.06193527, se rechaza la hipotesis Ho. Hay evidencia que los residuales no tienen una distribucion normal.
Prueba Shapiro - Wilk
Regla de desición:
Rechazar Ho si 𝑊𝑁 ≥ 𝑉.𝐶.
Rechazar Ho si 𝑝 ≤ 𝛼
## [1] 1.644854
##
## Shapiro-Wilk normality test
##
## data: modelo$residuals
## W = 0.83156, p-value = 0.00000000000005949
#Resultados en forma grafica
library(fastGraph)
shadeDist(xshade = 0.9413,ddist = "dnorm",parm1 = 0,parm2 = 1, lower.tail = FALSE, sub=paste("SW:",SW,"VC:",VC_SW,SW$statistic)) Como 0.91388 < 1.644854, se rechaza la hipotesis Ho.Hay evidencia que los residuales no tienen una distribucion normal.
Verifiación del supuesto de Multicolinealidad
Atravéz del índice de condición
Cálculo de la matriz X’X
library(stargazer)
matriz_x<-model.matrix(modelo)
matriz_xx<-t(matriz_x)%*%(matriz_x)
stargazer(matriz_xx,type = "text")##
## =============================================================================
## (Intercept) r021a ghali ghu12 gmed
## -----------------------------------------------------------------------------
## (Intercept) 200 823 25,807.630 10,670.800 12,065.290
## r021a 823 4,015 111,216.900 43,911.920 59,462.060
## ghali 25,807.630 111,216.900 4,220,057.000 1,718,111.000 2,006,743.000
## ghu12 10,670.800 43,911.920 1,718,111.000 1,185,274.000 826,406.900
## gmed 12,065.290 59,462.060 2,006,743.000 826,406.900 2,163,404.000
## -----------------------------------------------------------------------------
Procederemos a normalizar X’X, posteriormente se obtienen sus autovalores.
# Matriz de normalización Sn.
library(stargazer)
Sn<-solve(diag(sqrt(diag(matriz_xx))))
stargazer(Sn,type = "text",title = "Matriz de Normalizacion")##
## Matriz de Normalizacion
## ==============================
## 0.071 0 0 0 0
## 0 0.016 0 0 0
## 0 0 0.0005 0 0
## 0 0 0 0.001 0
## 0 0 0 0 0.001
## ------------------------------
# Normalizamos X'X
XX_norm<-(Sn%*%matriz_xx)%*%Sn
stargazer(XX_norm,type = "text", title = " Matriz X'X Normalizada")##
## Matriz X'X Normalizada
## =============================
## 1 0.918 0.888 0.693 0.580
## 0.918 1 0.854 0.637 0.638
## 0.888 0.854 1 0.768 0.664
## 0.693 0.637 0.768 1 0.516
## 0.580 0.638 0.664 0.516 1
## -----------------------------
# Autovalores de X'X
Lamdas<-eigen(XX_norm)$values
stargazer(Lamdas,type = "text", title = "Autovalores")##
## Autovalores
## =============================
## 3.889 0.514 0.412 0.117 0.068
## -----------------------------
A continuación se calcula el indice de condición.
## [1] 7.546261
Un indice de condición con un valor por debajo de 20, sugiere la presencia de multicolinealidad leve en los regresores del modelo, para nuestro caso el valor de este es de 7.57 con lo cual podemos decir que para nuestro modelo la multicolinealidad no es considerada un problema.
Aplicación de la prueba de Farrar-Glaubar
Normalizamos X, calculamos R y obtenemos su determinante |R|.
# X normalizada
library(stargazer)
Zn<-scale(matriz_x[,-1])
stargazer(head(Zn,n=6),type = "text", title = "Matriz X Normalizada")##
## Matriz X Normalizada
## =============================
## r021a ghali ghu12 gmed
## -----------------------------
## 1 0.498 -1.865 -0.722 -0.456
## 2 -0.627 -1.563 -0.685 -0.710
## 3 -1.190 -1.555 -0.806 -0.182
## 4 -1.190 -1.464 0.719 -0.710
## 5 1.061 -1.438 -0.590 -0.593
## 6 -0.627 -1.380 -0.394 -0.710
## -----------------------------
# Obteniendo R
n.<-nrow(Zn)
R.<-(t(Zn)%*%Zn)*(1/(n.-1))
stargazer(R.,type = "text",digits = 4,title = "Matriz R")##
## Matriz R
## =================================
## r021a ghali ghu12 gmed
## ---------------------------------
## r021a 1 0.2122 0.0001 0.3267
## ghali 0.2122 1 0.4608 0.3980
## ghu12 0.0001 0.4608 1 0.1943
## gmed 0.3267 0.3980 0.1943 1
## ---------------------------------
# Calculamos |R|
determinante_R.<-det(R.)
stargazer(determinante_R.,type = "text",title = "Determinante de R")##
## Determinante de R
## =====
## 0.578
## -----
Obtenemos el estadístico de prueba de Farrar-Glaubar.
# Obtención del estadistico de prueba
m.<-ncol(matriz_x[,-1])
n.<-nrow(matriz_x[,-1])
Chi_FG<--(n.-1-(2*m.+5)/6)*log(determinante_R.)
print(Chi_FG)## [1] 107.8611
Obtenemos el valor critico.
## [1] 12.59159
Estos resultados nos sugieren que debemos de rechazar la hipótesis nula, y considerar la existencia de evidencias en favor de la presencia de cierto grado de multicolinealidad en los regresores del modelo ya que el estadistico de prueba es mayor al valor critico.
Presentación de los resultados
library(fastGraph)
shadeDist(xshade = Chi_FG, ddist = "dchisq", parm1 = gl, lower.tail = FALSE, sub =paste("VC", Vc, "FG",Chi_FG ),col = c("blue","orange"))OBTENCION DE LOS FACTORES INFLACIONARIOS DE LA VARIANZA (VIF).
Verificación del supuesto de Heterocedasticidad
IMPLEMENTAMOS LA PRUEBA DE WHITE PARA DETECION DE HETEROCEDASTICIDAD EN LOS RESIDUOS.
Prueba de White
library(lmtest)
options(scipen = 99999)
prueba_White<-bptest(modelo,~I(X1^2)+I(X2^2)+I(X3^2)+I(X4^2)+X1*X2+X1*X3+X1*X4+X2*X3+X2*X4+X3*X4,data = Data_gastos)
print(prueba_White)##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 24.513, df = 14, p-value = 0.03969
Se rechaza la Hiótesis nula ya que hemos obtenido un valor p (0.03969) menor que el nivel de significancia (0.05), esto sugiere que existen evidencias en favor de la presencia de heterocedasticidad en la distribución de los residuos del modelo.
Presentacion gráfica de los resultados
library(fastGraph)
gl<-14
vc<-qchisq(p=0.95,df=gl)
shadeDist(xshade = prueba_White$statistic,ddist = "dchisq",parm1 =gl,lower.tail = FALSE,sub=paste("vc",vc,"W",prueba_White$statistic ))Verificación del supuesto de Autocorrelación
Prueba Durbin Watson para autocorrelación de primer orden
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.948, p-value = 0.6663
## alternative hypothesis: true autocorrelation is not 0
Pra un nivel de significancia de 5%
Como Pvalue > 0.05. En ambos casos se puede rechazar la presencia de autocorrelacion de primer orden.
Pruebas de orden superior
Pruebas de multiplicador de Lagrange de primer orden
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo
## LM test = 0.12219, df = 1, p-value = 0.7267
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo
## LM test = 0.46634, df = 2, p-value = 0.792
Estimacion Robusta
#Corregido:
options(scipen = 999999)
library(lmtest)
library(sandwich)
estimacion_omega<-vcovHC(modelo,type = "HC0")
coeftest(modelo,vcov. = estimacion_omega)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 54.88077 15.92573 3.4460 0.0006966 ***
## r021a -5.86242 3.19028 -1.8376 0.0676452 .
## ghali 1.18375 0.11112 10.6528 < 0.00000000000000022 ***
## ghu12 1.45930 0.25412 5.7426 0.00000003532 ***
## gmed 1.29717 0.10735 12.0834 < 0.00000000000000022 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Matriz de varianza no escalar a traves de la libreria Sandwich. Utilizamos HC0 debido a qué lo unico que interesa es corregir la Heterocedasticidad.
options(scipen = 999999)
library(robustbase)
library(stargazer)
modelo_robust<-lmrob(gastohog~r021a+ghali+ghu12+gmed,data = Datos)
stargazer(modelo, modelo_robust, type = "text", title = "Comparativa")##
## Comparativa
## ================================================================
## Dependent variable:
## ---------------------------------
## gastohog
## OLS MM-type
## linear
## (1) (2)
## ----------------------------------------------------------------
## r021a -5.862 -0.754
## (3.753) (1.970)
##
## ghali 1.184*** 1.085***
## (0.113) (0.067)
##
## ghu12 1.459*** 1.714***
## (0.127) (0.132)
##
## gmed 1.297*** 1.108***
## (0.083) (0.079)
##
## Constant 54.881*** 21.762**
## (18.695) (9.721)
##
## ----------------------------------------------------------------
## Observations 200 200
## R2 0.842 0.923
## Adjusted R2 0.839 0.922
## Residual Std. Error (df = 195) 87.874 46.440
## F Statistic 259.935*** (df = 4; 195)
## ================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
En la anterior ajuste presentamos una comparativa utilizando stargazer.
Para las pruebas de hipótesis se ha utilizado un 95% de confianza con un nivel de significancia del 0.05 % para 200 observaciones. Con un grado de libertad de 199 (observaciones - 1) y un área de cola inferior de 0.025 (0.05/2), en zona de no rechazo del hipótesis nula, con límite superior de 1.96 y límite inferior de -1.96.
Para la prueba de hipótesis la regla de decisión es:
Ho: Si el parámetro es igual a cero, la variable explicativa no tiene una relación lineal con la variable dependiente.
HI: Si el parámetro es diferente de cero, la variable explicativa tiene una relación parcial con la variable dependiente.
Hipotesis 1:
El número de miembros del hogar tiene una relacion directamente proporcional a la cantidad gastada por las familias de Ahuachapan durante el 2019.
library(stargazer)
library(dplyr)
Hipotesis_1<-t.test(Datos$gastohog, Datos$r021a)
H1<-cbind(Hipotesis_1$statistic)%>%as.data.frame(row.names = "Resultado")
names(H1)<-c("Miembros del Hogar - Gasto Total")
stargazer(H1, title= "Prueba t- Hipotesis 1", type = "html", summary = FALSE, digits = 5)| Miembros del Hogar - Gasto Total | |
| Resultado | 21.67591 |
Hipotesis 2:
La cantidad mensual gastada en alimentación por el hogar tiene una relacion directamente proporcional a la cantidad gasto de las familias de Ahuachapan durante el 2019.
library(stargazer)
library(dplyr)
Hipotesis_2<-t.test(Datos$gastohog, Datos$ghali)
H2<-cbind(Hipotesis_2$statistic)%>%as.data.frame(row.names = "Resultado")
names(H2)<-c("Gasto del Hogar en Alimentacion - Gasto Total")
stargazer(H2, title= "Prueba t- Hipotesis 2", type = "html", summary = FALSE, digits = 5)| Gasto del Hogar en Alimentacion - Gasto Total | |
| Resultado | 13.01178 |
Hipotesis 3:
La cantidad mensual gastada en artículos y servicios por el hogar tiene una relacion directamente proporcional a la cantidad gasto de las familias de Ahuachapan durante el 2019.
library(stargazer)
library(dplyr)
Hipotesis_3<-t.test(Datos$gastohog, Datos$ghu12)
H3<-cbind(Hipotesis_3$statistic)%>%as.data.frame(row.names = "Resultado")
names(H3)<-c("Gasto en Articulos y Servicios - Gasto Total")
stargazer(H3, title= "Prueba t- Hipotesis 3", type = "html", summary = FALSE, digits = 5)| Gasto en Articulos y Servicios - Gasto Total | |
| Resultado | 17.92539 |
Hipotesis 4:
La cantidad mensual gastada en eduación por el hogar tiene una relacion directamente proporcional a la cantidad gasto de las familias de Ahuachapan durante el 2019.
library(stargazer)
Hipotesis_4<-t.test(Datos$gastohog, Datos$gmed)
H4<-cbind(Hipotesis_4$statistic)%>%as.data.frame(row.names = "Resultado")
names(H4)<-c("Gasto en Educación - Gasto Total")
stargazer(H4, title= "Prueba t- Hipotesis 4", type = "html", summary = FALSE, digits = 5)| Gasto en Educación - Gasto Total | |
| Resultado | 16.82279 |
library(stargazer)
library(dplyr)
Hipotesis<-cbind(Hipotesis_1$statistic,Hipotesis_2$statistic,Hipotesis_3$statistic,Hipotesis_4$statistic)%>%as.data.frame(row.names = "Resultados")
names(Hipotesis)<-c("H1","H2","H3","H4")
stargazer(Hipotesis, title= "Prueba t- Hipotesis", type = "text", summary = FALSE, digits = 5)##
## Prueba t- Hipotesis
## ==============================================
## H1 H2 H3 H4
## ----------------------------------------------
## Resultados 21.67591 13.01178 17.92539 16.82279
## ----------------------------------------------
Definición funciones para el cálculo de Theil
#Bias Proportion
Um<-function(pronosticado,observado){
library(DescTools)
((mean(pronosticado)-mean(observado))^2)/MSE(pronosticado,observado)
}
#Variance Proportion
Us<-function(pronosticado,observado){
library(DescTools)
((sd(pronosticado)-sd(observado))^2)/MSE(pronosticado,observado)
}
#Covariance Proportion
Uc<-function(pronosticado,observado){
library(DescTools)
(2*(1-cor(pronosticado,observado))*sd(pronosticado)*sd(observado))/MSE(pronosticado,observado)}
#Coeficiente U de Theil (también aparece en la librería "DescTools")
THEIL_U<-function(pronosticado,observado){
library(DescTools)
RMSE(pronosticado,observado)/(sqrt(mean(pronosticado^2))+sqrt(mean(observado^2)))
}Scrip de Simulación
options(scipen = 999999) #No mostrar notación cientifica.
library(robustbase) #Para usar el modelo robusto
library(dplyr) # Para manejo de datos y activar el operador "pipe" %>%
library(caret) # Permite Realizar muestreo sobre los data frame
library(DescTools) # Contiene las funciones para calcular las medidas de performance
library(stargazer) # Para dar formato, y obtener resumen estadistico de las simulaciones
set.seed(50) # Permite fijar la semilla aleatoria, para reproducir los resultados obtenidos en esta clase
numero_de_muestras<-1000
# Numero de muestras que se optendran del data frame
# Se crea la lista con las 10000 muestras (indica la posición de la fila en cada data frame)
muestras<-Datos$gastohog %>%
createDataPartition(p = 0.8,
times = numero_de_muestras,
list = TRUE)
# Listas vacias, que contendran los datos de entrenamiento, los pronosticos para los datos de prueba, y para las estadisticas de cada muestra
Modelos_Entrenamiento<-vector(mode = "list",
length = numero_de_muestras)
Pronostico_Prueba<-vector(mode = "list",
length = numero_de_muestras)
Resultados_Performance_data_entrenamiento<-vector(mode = "list",
length = numero_de_muestras)
Resultados_Performance<-vector(mode = "list",
length = numero_de_muestras)
#Estimación de los modelos lineales para cada muestra, los pronósticos y cálculo de las estadisticas de performance.
for(j in 1:numero_de_muestras){
Datos_Entrenamiento<- Datos[muestras[[j]], ]
Datos_Prueba<- Datos[-muestras[[j]], ]
Modelos_Entrenamiento[[j]]<-lmrob(formula = gastohog~.,data=Datos_Entrenamiento)
Pronostico_Prueba[[j]]<-Modelos_Entrenamiento[[j]] %>% predict(Datos_Prueba)
Resultados_Performance_data_entrenamiento[[j]]<-data.frame(
R2 = R2(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog),
RMSE = RMSE(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog),
MAE = MAE(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog),
MAPE= MAPE(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog)*100,
THEIL=TheilU(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog,type = 1),
Um=Um(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog),
Us=Us(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog),
Uc=Uc(Modelos_Entrenamiento[[j]]$fitted.values,
Datos_Entrenamiento$gastohog)
)
Resultados_Performance[[j]]<-data.frame(
R2 = R2(Pronostico_Prueba[[j]], Datos_Prueba$gastohog),
RMSE = RMSE(Pronostico_Prueba[[j]], Datos_Prueba$gastohog),
MAE = MAE(Pronostico_Prueba[[j]], Datos_Prueba$gastohog),
MAPE= MAPE(Pronostico_Prueba[[j]], Datos_Prueba$gastohog)*100,
THEIL=TheilU(Pronostico_Prueba[[j]], Datos_Prueba$gastohog,
type = 1), # También se puede usar la función que creamos: THEIL_U
Um=Um(Pronostico_Prueba[[j]], Datos_Prueba$gastohog),
Us=Us(Pronostico_Prueba[[j]], Datos_Prueba$gastohog),
Uc=Uc(Pronostico_Prueba[[j]], Datos_Prueba$gastohog)
)
} #No olvidar este corchete ;)Resultados de la Simulacion
bind_rows(Resultados_Performance_data_entrenamiento) %>%
stargazer(title = "Medidas de Performance Datos del Modelo",
type = "html",
digits = 3)| Statistic | N | Mean | St. Dev. | Min | Pctl(25) | Pctl(75) | Max |
| R2 | 1,000 | 0.838 | 0.014 | 0.787 | 0.829 | 0.848 | 0.883 |
| RMSE | 1,000 | 91.711 | 4.353 | 74.580 | 88.755 | 94.808 | 103.325 |
| MAE | 1,000 | 56.379 | 2.233 | 50.378 | 54.915 | 57.867 | 62.418 |
| MAPE | 1,000 | 16.221 | 0.622 | 14.369 | 15.802 | 16.629 | 18.104 |
| THEIL | 1,000 | 0.119 | 0.006 | 0.099 | 0.115 | 0.123 | 0.136 |
| Um | 1,000 | 0.066 | 0.016 | 0.032 | 0.054 | 0.078 | 0.212 |
| Us | 1,000 | 0.096 | 0.057 | 0.004 | 0.041 | 0.151 | 0.210 |
| Uc | 1,000 | 0.843 | 0.071 | 0.685 | 0.777 | 0.912 | 0.961 |
bind_rows(Resultados_Performance) %>%
stargazer(title = "Medidas de Performance Simulación",
type = "html",
digits = 3)| Statistic | N | Mean | St. Dev. | Min | Pctl(25) | Pctl(75) | Max |
| R2 | 1,000 | 0.837 | 0.061 | 0.616 | 0.797 | 0.884 | 0.956 |
| RMSE | 1,000 | 92.872 | 16.695 | 49.623 | 81.160 | 104.627 | 149.535 |
| MAE | 1,000 | 59.186 | 8.669 | 35.742 | 53.446 | 65.177 | 86.281 |
| MAPE | 1,000 | 16.811 | 1.758 | 11.152 | 15.671 | 18.026 | 23.417 |
| THEIL | 1,000 | 0.120 | 0.022 | 0.062 | 0.104 | 0.135 | 0.193 |
| Um | 1,000 | 0.074 | 0.056 | 0.00000 | 0.027 | 0.111 | 0.276 |
| Us | 1,000 | 0.162 | 0.128 | 0.00000 | 0.046 | 0.249 | 0.566 |
| Uc | 1,000 | 0.788 | 0.160 | 0.339 | 0.666 | 0.930 | 1.025 |
Predicción usando “predict” de “R” base
library(stargazer)
#Data para la predicción X'm
X_m<-data.frame(r021a=2,ghali=100,ghu12=50,gmed=70)
# Intervalos de Confianza del 95% y del 99%
confidense<-c(0.95,0.99)
#Predicción usando predict
predict(object = modelo,
newdata = X_m,
interval = "prediction",
level = confidense,
se.fit =TRUE)->predicciones
rownames(predicciones$fit)<-as.character(confidense*100)
colnames(predicciones$fit)<-c("Ym","Li","Ls")
stargazer(predicciones$fit,
title = "Pronósticos e intervalos de confianza",
type = "html") #Poner results='asis' en opciones del chunk| Ym | Li | Ls | |
| 95 | 325.298 | 150.754 | 499.843 |
| 99 | 325.298 | 95.079 | 555.518 |