Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis Ejemplo Datos RSALESv03
Análisis Ejemplo Datos RSALESv03
DAT
1. Análisis descriptivo
Considere la serie de los datos de las ventas mensuales al menudeo en Estados Unidos, en dólares nominales, desde enero de 1955 a
enero de 1996, ilustrada en la Figura 1, siendo N=493 observaciones en total.
200000
200000
12.0
150000
150000
11.5
log(RSALES)
11.0
rsales
100000
100000
10.5
50000
50000
10.0
9.5
1960 1970 1980 1990 1960 1970 1980 1990 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Time Time
Figura 1. Ventas mensuales al menudeo (miles de U.S nominales). (a) Serie en su escala original; (b) Logaritmo natural de la serie; (c) Boxplots comparativos de la
distribución de los datos según el mes.
En la Figura 1(a) vemos que la trayectoria de la serie no es lineal pero no es claro si la varianza alrededor de ésta es o no constante, sin
embargo, si se asume varianza no constante debería analizarse el logaritmo de la serie en esa escala: de acuerdo a la Figura 1(b), la
tendencia en la escala logaritmo natural pudiera ser un polinomio de grado 3. Por otra parte, es claro que no hay patrones
estacionales, pues en las Figuras 1(a) y 1(b) no es visible un patrón que se repita anualmente y además en la Figura 1(c) vemos que el
promedio de la serie no cambia con los periodos del año. Es visible además que en la serie hay componente cíclica, la cual causa que
la trayectoria de largo plazo no sea suave.
2: Postulación de modelos
Se postulan siete modelos así: cinco modelos de componentes aditivas (modelos 1, 2, 3, 5 y 7), es decir, asumiendo que la serie tiene
varianza constante y dos de componentes multiplicativas, es decir, modelos log polinomiales (modelos 4 y 6). Ver Tabla 1.
NOTA: Los modelos exponenciales polinomiales (modelos 3, 5 y 7) necesitan un modelo log polinomial auxiliar para obtener valores
iniciales de los parámetros para la rutina de ajuste por mínimos cuadrados no lineales. El modelo 3 supone como modelo auxiliar al
modelo log , ∼ 0, , es decir, asume que el logaritmo de la serie tiene una tendencia lineal, la cual no
sería apropiada según lo visto en la Figura 1(b). En cambio el modelo 5 supone como modelo auxiliar a log ∑ ,
∼ 0, , es decir el modelo 4, mientras que el modelo 7 tiene como modelo auxiliar a log ∑ , ∼
0, , es decir, el modelo 6.
3. Ajustes
Se realiza el ajuste omitiendo los últimos 12 datos de la serie para hacer la validación cruzada con los pronósticos ex-post. Por
tanto, se usan los primeros 481 datos para el ajuste en tanto que los pronósticos ex-post para períodos después de 481,
corresponden a los tiempos 481 , con 1, 2, … , 12. En la Tabla 2 se muestran los parámetros estimados de los
siete modelos; ver programación y salidas R originales en el Apéndice. Las ecuaciones ajustadas en la escala original de los datos se
1
presentan en la Tabla 3. Tenga en cuenta que en los modelos 4 y 6 se ajusta en la escala de logaritmo natural de los datos y por tanto,
para obtener la ecuación en la escala original, se procede con la ecuación así: exp log exp /2 . Para realizar una
∗ ∑
comparación apropiada de la calidad del ajuste se usarán AIC y BIC calculados como exp exp log
, con 2 para AIC y log para BIC; en esta ecuación corresponde al número de parámetros del modelo (no
se refiere al grado del polinomio en esta fórmula). Los resultados se muestran en la Tabla 4.
2
∗
Tabla 4. AIC y BIC según exp
Modelo AIC BIC
1 3 7860952.9 8068380.2
2 4 7858209.8 8135891.8
3 2 26540428.6 27005281.3
4 6 2858800.6 3011661.7
5 6 2797547.8 2947133.7
6 4 3670603.0 3800309.4
7 4 3404685.7 3524995.6
corresponde aquí al número de parámetros
La Figura 2 muestra la serie real y el ajuste de los siete modelos en la escala original (el ajuste va de enero de 1955 a enero de 1995).
200000
200000
200000
Real Real Real
Ajuste modelo 1 Ajuste modelo 2 Ajuste modelo 3
150000
150000
150000
rsales
rsales
rsales
100000
100000
100000
50000
50000
50000
1960 1970 1980 1990 1960 1970 1980 1990 1960 1970 1980 1990
200000
200000
Real Real Real
Ajuste modelo 4 Ajuste modelo 5 Ajuste modelo 6
150000
150000
150000
rsales
rsales
rsales
100000
100000
100000
50000
50000
50000
1960 1970 1980 1990 1960 1970 1980 1990 1960 1970 1980 1990
Real
Ajuste modelo 7
150000
rsales
100000
50000
Time
(g)
Figura 2. Ajustes de la serie. (a) Modelo 1; (b) Modelo 2; (c) Modelo 3; (d) Modelo 4; (e) Modelo 5; (f) Modelo 6; (g) Modelo 7
Asumiendo válidos los supuestos sobre los errores de ajuste en cada modelo, se evalúa la significancia del grado del polinomio
propuesto conforme a lo especificado en la Tabla 5.
Tabla 5. Formulación del test de hipótesis sobre significancia del grado del polinomio considerado
Tests de hipótesis Estadístico de prueba y su distribución Criterio de decisión
481 , con correspondiendo al número de parámetros en cada modelo y el grado del respectivo polinomio
En la prueba formulada en la Tabla 5 se concluye que sólo en el modelo 2 el grado del polinomio propuesto no es significativo. En
cuanto a la calidad del ajuste evaluada según AIC y BIC, se tiene que el modelo 3 es el peor de todos. Entre modelos 1 y 2 no hay
3
mucha diferencia en AIC, pero en cuanto a BIC el modelo 1 resulta mejor que el 2, sin embargo ambos tienen peor ajuste que los
modelos 4, 5, 6 y 7. El mejor ajuste aparentemente se logra con modelos 4 y 5 siendo este último el de menor AIC y BIC. Por otro
lado, de las gráficas en la Figura 2, también es claro que los modelos 1, 2 y 3 tienen una gran carencia de ajuste debido a que la curva
ajustada permanece por muchos periodos consecutivos por encima o por debajo de los valores reales, especialmente con el modelo 3
(el que tiene mayor carencia de ajuste). Los modelos 4, 5, 6 y 7 muestran una curva ajustada más cercana a los valores reales pero es
notorio para estos modelos que hacia el final la curva ajustada tiende a quedar por debajo de los valores reales, esto hará que sus
pronósticos ex – post subestimen los valores reales de esos periodos. Finalmente, note que ninguno de los siete modelos explica las
variaciones cíclicas que son observadas sobre la trayectoria de la serie.
10000
10000
5000
5000
5000
residuals(modelo1)
residuals(modelo2)
residuals(modelo3)
0
0
-5000
-5000
-5000
-10000
-10000
-10000
-15000
-15000
-15000
0 100 200 300 400 500 0 100 200 300 400 500 0 100 200 300 400 500
0.10
5000
0.05
0.05
residuals(modelo4)
residuals(modelo5)
residuals(modelo6)
0
0.00
0.00
-5000
-0.05
-0.05
-10000
-0.10
-0.10
-15000
0 100 200 300 400 500 0 100 200 300 400 500 0 100 200 300 400 500
Modelo 7
10000
5000
residuals(modelo7)
0
-5000
-10000
-15000
Time
(g)
Figura 3. Residuos vs. tiempo. (a) Modelo 1; (b) Modelo 2; (c) Modelo 3; (d) Modelo 4; (e) Modelo 5; (f) Modelo 6; (g) Modelo 7
4
Modelo 1 Modelo 2 Modelo 3
10000
10000
10000
5000
5000
5000
residuals(modelo1)
residuals(modelo2)
residuals(modelo3)
0
0
-5000
-5000
-5000
-10000
-10000
-10000
-15000
-15000
-15000
50000 100000 150000 50000 100000 150000 50000 100000 150000
10000
0.10
0.10
5000
0.05
0.05
residuals(modelo4)
residuals(modelo5)
residuals(modelo6)
0
0.00
0.00
-5000
-0.05
-0.05
-10000
-0.10
-0.10
-15000
9.5 10.0 10.5 11.0 11.5 12.0 50000 100000 150000 10.0 10.5 11.0 11.5 12.0
Modelo 7
10000
5000
residuals(modelo7)
0
-5000
-10000
-15000
fitted(modelo7)
(g)
Figura 4. Residuos vs. valores ajustados (en escala de ajuste). (a) Modelo 1; (b) Modelo 2; (c) Modelo 3; (d) Modelo 4; (e) Modelo 5; (f)
Modelo 6; (g) Modelo 7
En las Figuras 3(a), 3(b) y 3(c), se observa que hasta el período 300, aproximadamente, hay un claro patrón en forma de U el cuál es
más evidente en los residuales del modelo 3, esto es debido a la carencia de ajuste de las funciones de regresión, como ya se había
determinado en el análisis de las gráficas de ajuste de estos tres modelos. También en las Figuras 3(f) y 3(g) observamos que los
residuales se ubican por encima de cero entre los periodos 29 a 156 y luego con valores negativos formando un patrón en U entre los
periodos 157 y 300, lo que indica significativa carencia de ajuste y que también está asociada a la función de regresión propuesta.
Existe además en todos los residuos de ajuste vs. tiempo evidencia de otro tipo de carencia de ajuste, pero que no es debida a la forma
de la función de regresión asumida sino a las variaciones cíclicas que ningún modelo ha explicado (observe el patrón de residuales que
se configuran en forma de crestas a lo largo de las trayectorias de estos residuos, durante varios períodos consecutivos).
NOTA: La presencia de ciclos en la serie de tiempo de los residuos de ajuste , indica que existe correlación positiva entre los
errores del modelo , separados un periodo de tiempo, es decir, , 0, por tanto, no se cumple el supuesto de la
independencia en los errores del modelo. Pero tenga en cuenta que no ver ciclos en los residuos no es evidencia suficiente de la
validez del supuesto de independencia, aunque es una condición necesaria.
Por su parte, en las gráficas de la Figura 4 también se observan patrones en U o en W que indican nuevamente carencia de ajuste.
Finalmente, observe en estas gráficas que en todos los modelos que consideran una descomposición aditiva, es decir, modelos 1, 2, 3,
5, y 7, la nube de puntos se concentra más al principio y luego se observa mayor dispersión, indicando que la varianza no es constante.
5
Esto también puede juzgarse en las gráficas de la Figura 3 observando la variación sobre la trayectoria que los residuos de los modelos
1, 2, 3, 5 y 7 siguen en el tiempo, donde la variabilidad aumenta después de los primeros 200 periodos aproximadamente.
En conclusión: En los modelos aditivos: 1, 2, 3, 5 y 7, hay varianza no constante en la serie de los errores. En los modelos que usan
polinomios de grado 3 hay carencia de ajuste de la función de regresión, y en todos los modelos hay correlación no nula entre los
errores debido a las variaciones cíclicas presentes y que no son explicadas. Haciendo un balance de lo anterior, encontramos que los
mejores modelos resultan ser los dos modelos log – polinomiales.
Sólo en los modelos 1, 2, 4, y 6 es posible calcular pronósticos por intervalos del 95% de confianza. En la Tabla 7 se presentan los
pronósticos puntuales y por intervalos del 95% de confianza en modelo 1, 2, 4 y 6 mientras que en la Tabla 8 se presentan los
pronósticos puntuales de los modelo 3, 5, y 7. Para los I.P del 95% de confianza en los modelos polinomiales (modelos 1 y 2), se
aplica la fórmula . , . , con , el error del pronóstico. Para los modelos log-
polinomiales (modelos 4 y 6), se calculan inicialmente los intervalos de pronóstico para logaritmo natural de los datos y luego se
exponencian los límites obtenidos y se multiplica por el factor de corrección por transformación lognormal, es decir, los límites en la
escala original se calculan como
∗
exp ∗ . , . exp /2 ,
∗ ∗ ∗
donde es el pronóstico para log y log , es el error de pronóstico en la escala logaritmo
natural.
NOTA: Recuerde que en los modelos de regresión no lineal (como modelos 3, 5 y 7) no hay forma de calcular en R el error estándar
del error de pronóstico, . , y por tanto no se pueden obtener intervalos de pronóstico.
Tabla 7. Pronósticos puntuales y por intervalos en modelos polinomiales y log-polinomiales (en dólares nominales)
Modelo 1 Modelo 2 Modelo 4 Modelo 6
Fecha Real Pronóstico Lim.Inf Lim.Sup Pronóstico Lim.Inf Lim.Sup Pronóstico Lim.Inf Lim.Sup Pronóstico Lim.Inf Lim.Sup
Feb 1995 181958.0 183122.1 177578.5 188665.7 182621.5 177044.2 188198.9 178430.2 170042.3 187231.8 175546.9 163886.4 188037.2
Mar 1995 185303.0 183916.2 178371.7 189460.8 183403.2 177823.0 188983.5 179195.3 170749.2 188059.2 175938.6 164246.2 188463.5
Apr 1995 183429.0 184712.3 179166.9 190257.6 184186.7 178603.4 189769.9 179969.9 171463.4 188898.4 176323.1 164599.1 188882.2
May 1995 183395.0 185510.2 179963.9 191056.4 184971.8 179385.6 190558.1 180754.3 172185.1 189749.9 176700.2 164945.0 189293.3
Jun 1995 185089.0 186309.9 180762.8 191857.1 185758.8 180169.4 191348.2 181548.9 172914.6 190614.3 177070.0 165283.7 189696.7
Jul 1995 185287.0 187111.6 181563.5 192659.7 186547.4 180954.8 192140.1 182354.0 173652.1 191492.0 177432.2 165615.2 190092.2
Aug 1995 187973.0 187915.1 182366.2 193464.1 187337.9 181741.9 192933.8 183170.0 174397.8 192383.4 177786.8 165939.5 190479.9
Sep 1995 189465.0 188720.5 183170.6 194270.5 188130.0 182530.7 193729.4 183997.3 175152.1 193289.3 178133.7 166256.3 190859.6
Oct 1995 191789.0 189527.8 183977.0 195078.7 188923.9 183321.1 194526.8 184836.3 175915.1 194210.0 178472.8 166565.7 191231.2
Nov 1995 192611.0 190337.0 184785.2 195888.8 189719.6 184113.2 195326.0 185687.4 176687.1 195146.2 178804.2 166867.5 191594.7
Dec 1995 192913.0 191148.0 185595.2 196700.8 190517.0 184906.9 196127.1 186550.9 177468.4 196098.4 179127.5 167161.7 191949.9
Jan 1996 193218.0 191961.0 186407.2 197514.8 191316.1 185702.3 196930.0 187427.4 178259.2 197067.2 179442.9 167448.2 192296.8
6
Tabla 8. Pronósticos puntuales en modelos exponenciales polinomiales
Fecha Modelo 3 Modelo 5 Modelo 7
Feb 1995 193072.0 177119.0 173180.1
Mar 1995 194189.0 177777.2 173512.6
Apr 1995 195312.5 178440.4 173837.2
May 1995 196442.4 179108.9 174154.0
Jun 1995 197578.9 179783.0 174462.7
Jul 1995 198722.0 180462.8 174763.3
Aug 1995 199871.6 181148.5 175055.7
Sep 1995 201027.9 181840.4 175339.8
Oct 1995 202191.0 182538.9 175615.6
Nov 1995 203360.7 183244.0 175883.0
Dec 1995 193072.0 177119.0 173180.1
Jan 1996 194189.0 177777.2 173512.6
La precisión de los pronósticos puntuales, en la escala original de los datos, es obtenida a través de medidas de error medio de
pronóstico: RMSE (raíz cuadrada del error cuadrático medio de pronóstico), MAE (error promedio absoluto de pronóstico) y MAPE
(porcentaje medio de error de pronóstico). La precisión de los pronósticos por intervalos es medida mediante la amplitud media y la
cobertura de los I.P construidos en los pronósticos ex – post.
Amplıtud ∑ ,
donde y son respectivamente el límite inferior y superior para el pronóstico y es el número de pronósticos
calculados.
cobertura ∑ 100%,
donde es una variable indicadora tomando el valor de 1 si el valor verdadero está dentro del I.P y 0 en caso contrario.
NOTA: A mayor cobertura promedio y menor amplitud promedio, mejor es la predicción del modelo mediante intervalos de
pronóstico. La cobertura debe ser al menos igual al nivel de confianza de los I.P.
NOTA: Para comparar los pronósticos puntuales, las medidas de precisión que se verán más adelante en el curso: RMSE, MAE y
MAPE, miden la magnitud promedio del error cometido en cada pronóstico para el horizonte de pronóstico considerado. Por tanto, a
menor valor en estas medidas, mejor es la predicción puntual del modelo.
En la Tabla 9 vemos que puntualmente, los modelos más precisos (con menor RMSE, MAE y MAPE) parecen ser los modelos 1 y 2.
Estos dos modelos también son los más precisos según los intervalos de pronóstico (menor amplitud media y coberturas del 100%).
En tercer y cuarto lugar aparecen los modelos 4 y 5 respectivamente. Los modelos 3, 6 y 7 son los peores en los pronósticos,
particularmente el modelo 7. La Figura 5 muestra cómo los pronósticos puntuales se ubican con relación a los 12 valores reales. Allí
vemos que los modelos con pronósticos más próximos a los valores reales son los modelos 1 y 2. Los modelos 3 y 7 son los que
producen pronósticos mucho más lejanos de los valores reales, el primero de estos lo hace sobreestimando mientras que el segundo lo
hace subestimando. Los modelos 4, 5 y 6 también producen pronósticos que subestiman los valores reales, aunque el modelo 4 se
ubica en tercer lugar entre los modelos que menos se equivocan en estos pronósticos ex – post.
7
210000
Real
Modelo 1
Modelo 2
Modelo 3
Modelo 4
200000
Modelo 5
Modelo 6
190000
180000
170000
95.2 95.3 95.4 95.5 95.6 95.7 95.8 95.9 95.10 95.11 95.12 96.1
Time
6. Conclusiones
Todos los modelos probados tienen problemas. Ningún modelo explica las variaciones cíclicas lo cual causa que no sea válido el
supuesto de independencia en los errores de ajuste. Además, los modelos que consideraron una descomposición aditiva resultan
erróneos pues la varianza no es constante (esto pudo verificarse en el análisis de residuos), por tanto, los modelos a considerar deben
ser log – polinomiales, con un grado de polinomio que no debe ser inferior a 3 (para que no sea grande la carencia de ajuste de la
función de regresión) ni superior a 5 (para que no sea grande el error de pronóstico). Considerando como prioritario el cumplimiento
de supuestos en los errores de ajuste, los modelos menos anómalos en ese sentido son los modelos 4 y 6, y entre estos dos modelos
elegiremos de acuerdo a los resultados previamente vistos. Como el mejor modelo en el análisis de residuos es el modelo 4 y además
como también en la precisión de sus pronósticos y en sus medidas de ajuste es mejor que el modelo 6, se elige como mejor modelo el
4, a pesar que no es el mejor en los pronósticos, pero es el tercer mejor modelo en los pronósticos ex – post.
#Creando función de usuario para calcular la cobertura de los I.P. Sus argumentos “LIP” y “LSP” se refieren a los valores de los
#límites inferior y superior del I.P y “real” se refiere a los valores reales observados en los períodos de
#pronóstico
cobertura=function(real,LIP,LSP){
I=ifelse(real>=LIP & real<=LSP,1,0)
p=mean(I)
p
}
#Creando función usuario crit.inf.resid() para calcular ∗ . Sus argumentos son “residuales” para especificar
#la diferencia y “n.par” para especificar el número de parámetros del modelo; AIC es calculado por defecto. Vea más adelante el uso de esta
#función para calcular AIC y BIC
crit.inf.resid=function(residuales,n.par,AIC="TRUE"){
if(AIC=="TRUE"){
#Calcula AIC
CI=log(mean(residuales^2))+2*n.par/length(residuales)
}
if(AIC=="FALSE"){
#Calcula BIC
CI=log(mean(residuales^2))+n.par*log(length(residuales))/length(residuales)
}
CI
}
#Leyendo datos del archivo RSALES.DAT y creación de la serie de tiempo con fecha de inicio enero de 1955
RSALES=read.table(file.choose(),header=T)
RSALES=ts(RSALES,freq=12,start=c(1955,1))
8
#Definiendo índice t en los periodos de ajuste (sin las últimas 12 observaciones de la serie)
n=length(RSALES)-12 #tamaño muestra de ajuste
t=1:n
RSALESb=ts(RSALES[t],freq=12,start=c(1955,1)) #Valores de la serie para el ajuste
Call:
lm(formula = RSALESb ~ t + I(t^2))
Residuals:
Min 1Q Median 3Q Max
-7216.4 -2274.5 352.6 2179.2 8010.6
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.889e+04 3.839e+02 49.19 <2e-16 ***
t -1.117e+02 3.678e+00 -30.37 <2e-16 ***
I(t^2) 9.387e-01 7.390e-03 127.02 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2795 on 478 degrees of freedom
Multiple R-squared: 0.9969, Adjusted R-squared: 0.9969
F-statistic: 7.698e+04 on 2 and 478 DF, p-value: < 2.2e-16
Call:
lm(formula = RSALESb ~ t + I(t^2) + I(t^3))
Residuals:
Min 1Q Median 3Q Max
-6844.6 -2285.7 166.6 2280.0 7854.0
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.939e+04 5.132e+02 37.779 <2e-16 ***
t -1.241e+02 9.210e+00 -13.477 <2e-16 ***
I(t^2) 1.003e+00 4.438e-02 22.600 <2e-16 ***
I(t^3) -8.885e-05 6.053e-05 -1.468 0.143
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2792 on 477 degrees of freedom
Multiple R-squared: 0.9969, Adjusted R-squared: 0.9969
F-statistic: 5.144e+04 on 3 and 477 DF, p-value: < 2.2e-16
#Obtención de valores iniciales para parámetros del modelo 3, hallados con modelo log-lineal
modeloaux=lm(log(RSALESb)~t) #Ajuste modelo auxiliar: modelo log-lineal
bin0=coef(modeloaux) #guardando parámetros estimados modelo log-lineal
#Ajuste modelo 3: modelo exponencial lineal, usando como valores iniciales las estimaciones del modelo log-lineal: “modeloaux”
modelo3=nls(RSALESb~exp(beta0+beta1*t),start=list(beta0=bin0[1],beta1=bin0[2])) #Ajuste modelo 3
summary(modelo3)
Formula: RSALESb ~ exp(beta0 + beta1 * t)
Parameters:
Estimate Std. Error t value Pr(>|t|)
beta0 9.390e+00 1.432e-02 655.8 <2e-16 ***
beta1 5.769e-03 3.536e-05 163.1 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5141 on 479 degrees of freedom
Number of iterations to convergence: 4
Achieved convergence tolerance: 1.779e-06
9
b2 -3.069e-05 8.300e-06 -3.698 0.000243 ***
b3 2.587e-07 3.609e-08 7.169 2.91e-12 ***
b4 -6.261e-10 7.079e-11 -8.844 < 2e-16 ***
b5 4.788e-13 5.152e-14 9.292 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1662 on 475 degrees of freedom
Number of iterations to convergence: 3
Achieved convergence tolerance: 1.163e-06
plot(RSALES,lwd=2)
lines(Ythat2,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 2"),lty=1,col=c(1,4),lwd=2)
plot(RSALES,lwd=2)
lines(Ythat3,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 3"),lty=1,col=c(1,4),lwd=2)
plot(RSALES,lwd=2)
lines(Ythat4,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 4"),lty=1,col=c(1,4),lwd=2)
plot(RSALES,lwd=2)
lines(Ythat5,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 5"),lty=1,col=c(1,4),lwd=2)
plot(RSALES,lwd=2)
lines(Ythat6,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 6"),lty=1,col=c(1,4),lwd=2)
plot(RSALES,lwd=2)
lines(Ythat7,col=4,lwd=2)
legend("topleft",legend=c("Real","Ajuste modelo 7"),lty=1,col=c(1,4),lwd=2)
∗
#Cálculo de criterios de información versión
#en los modelos con transformación logaritmo natural (modelos 4 y 6) se usan seudo residuos para el cálculo de medidas de ajuste
npar1=length(coef(modelo1)[coef(modelo1)!=0]); npar1 #número parámetros modelo 1
aic1=exp(crit.inf.resid(residuales=residuals(modelo1),n.par=npar1));aic1
bic1=exp(crit.inf.resid(residuales=residuals(modelo1),n.par=npar1,AIC="FALSE"));bic1
10
npar4=length(coef(modelo4)[coef(modelo4)!=0]); npar4 #número parámetros modelo 4
aic4=exp(crit.inf.resid(residuales=seudores4,n.par=npar4));aic4
bic4=exp(crit.inf.resid(residuales=seudores4,n.par=npar4,AIC="FALSE"));bic4
plot.ts(residuals(modelo2),lwd=2,ylim=c(-14000,12500))
abline(h=c(-2*summary(modelo2)$sigma,0,2*summary(modelo2)$sigma),lty=2)
legend("topleft",legend=c("Modelo 2"),lty=1,col=1,lwd=2)
plot.ts(residuals(modelo3),lwd=2,ylim=c(-14000,12500))
abline(h=c(-2*summary(modelo3)$sigma,0,2*summary(modelo3)$sigma),lty=2)
legend("topleft",legend=c("Modelo 3"),lty=1,col=1,lwd=2)
plot.ts(residuals(modelo4),col=2,lwd=2,ylim=c(-0.121,0.121))
abline(h=c(-2*summary(modelo4)$sigma,0,2*summary(modelo4)$sigma),lty=2)
legend("topleft",legend=c("Modelo 4"),lty=1,col=1,lwd=2)
plot.ts(residuals(modelo5),lwd=2,ylim=c(-14000,12500))
abline(h=c(-2*summary(modelo5)$sigma,0,2*summary(modelo5)$sigma),lty=2)
legend("topleft",legend=c("Modelo 5"),lty=1,col=1,lwd=2)
plot.ts(residuals(modelo6),col=2,lwd=2,ylim=c(-0.121,0.121))
abline(h=c(-2*summary(modelo6)$sigma,0,2*summary(modelo6)$sigma),lty=2)
legend("topleft",legend=c("Modelo 6"),lty=1,col=1,lwd=2)
plot.ts(residuals(modelo7),lwd=2,ylim=c(-14000,12500))
abline(h=c(-2*summary(modelo7)$sigma,0,2*summary(modelo7)$sigma),lty=2)
legend("topleft",legend=c("Modelo 7"),lty=1,col=1,lwd=2)
plot(fitted(modelo2),residuals(modelo2),ylim=c(-14000,12500),cex=1.5)
abline(h=c(-2*summary(modelo2)$sigma,0,2*summary(modelo2)$sigma),lty=2)
legend("topleft",legend=c("Modelo 2"),lty=1,col=1,lwd=2)
plot(fitted(modelo3),residuals(modelo3),ylim=c(-14000,12500),cex=1.5)
abline(h=c(-2*summary(modelo3)$sigma,0,2*summary(modelo3)$sigma),lty=2)
legend("topleft",legend=c("Modelo 3"),lty=1,col=1,lwd=2)
plot(fitted(modelo4),residuals(modelo4),ylim=c(-0.121,0.121),cex=1.5,col=2)
abline(h=c(-2*summary(modelo4)$sigma,0,2*summary(modelo4)$sigma),lty=2)
legend("topleft",legend=c("Modelo 4"),lty=1,col=1,lwd=2)
plot(fitted(modelo5),residuals(modelo5),ylim=c(-14000,12500),cex=1.5)
abline(h=c(-2*summary(modelo5)$sigma,0,2*summary(modelo5)$sigma),lty=2)
legend("topleft",legend=c("Modelo 5"),lty=1,col=1,lwd=2)
plot(fitted(modelo6),residuals(modelo6),ylim=c(-0.121,0.121),cex=1.5,col=2)
abline(h=c(-2*summary(modelo6)$sigma,0,2*summary(modelo6)$sigma),lty=2)
legend("topleft",legend=c("Modelo 6"),lty=1,col=1,lwd=2)
plot(fitted(modelo7),residuals(modelo7),ylim=c(-14000,12500),cex=1.5)
abline(h=c(-2*summary(modelo7)$sigma,0,2*summary(modelo7)$sigma),lty=2)
legend("topleft",legend=c("Modelo 7"),lty=1,col=1,lwd=2)
#Predicciones para 02-1995 a 01-1996, modelos 1 a 7. Para modelos 4 y 6 es necesario exponenciar predicciones obtenidas en escala log
#y aplicar factor de corrección por transformación lognormal, es decir, /
predict1=predict(modelo1,newdata=list(t=tnuevo),interval="prediction") #pronóstico puntual y por I.P modelo 1
predict1=ts(predict1,freq=12,start=c(1995,2))
predict1
ytpron1=predict1[,1] #pronóstico puntual modelo 1
11
predict3=predict(modelo3,newdata=list(t=tnuevo),se.fit = TRUE,interval="prediction")
ytpron3=ts(predict3,freq=12,start=c(1995,2)) #pronóstico puntual modelo 3
ytpron3
predict5=predict(modelo5,newdata=list(t=tnuevo),interval="prediction")
ytpron5=ts(predict5,freq=12,start=c(1995,2)) #pronóstico puntual modelo 5
ytpron5
predict7=predict(modelo7,newdata=list(t=tnuevo),interval="prediction")
ytpron7=ts(predict7,freq=12,start=c(1995,2)) #pronóstico puntual modelo 7
ytpron7
> predict1
fit lwr upr
Feb 1995 183122.1 177578.5 188665.7
Mar 1995 183916.2 178371.7 189460.8
Apr 1995 184712.3 179166.9 190257.6
May 1995 185510.2 179963.9 191056.4
Jun 1995 186309.9 180762.8 191857.1
Jul 1995 187111.6 181563.5 192659.7
Aug 1995 187915.1 182366.2 193464.1
Sep 1995 188720.5 183170.6 194270.5
Oct 1995 189527.8 183977.0 195078.7
Nov 1995 190337.0 184785.2 195888.8
Dec 1995 191148.0 185595.2 196700.8
Jan 1996 191961.0 186407.2 197514.8
> predict2
fit lwr upr
Feb 1995 182621.5 177044.2 188198.9
Mar 1995 183403.2 177823.0 188983.5
Apr 1995 184186.7 178603.4 189769.9
May 1995 184971.8 179385.6 190558.1
Jun 1995 185758.8 180169.4 191348.2
Jul 1995 186547.4 180954.8 192140.1
Aug 1995 187337.9 181741.9 192933.8
Sep 1995 188130.0 182530.7 193729.4
Oct 1995 188923.9 183321.1 194526.8
Nov 1995 189719.6 184113.2 195326.0
Dec 1995 190517.0 184906.9 196127.1
Jan 1996 191316.1 185702.3 196930.0
> ytpron3
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1995 193072.0 194189.0 195312.5 196442.4 197578.9 198722.0 199871.6 201027.9 202191.0 203360.7 204537.2
1996 205720.5
> predict4
fit lwr upr
Feb 1995 178430.2 170042.3 187231.8
Mar 1995 179195.3 170749.2 188059.2
Apr 1995 179969.9 171463.4 188898.4
May 1995 180754.3 172185.1 189749.9
Jun 1995 181548.9 172914.6 190614.3
Jul 1995 182354.0 173652.1 191492.0
Aug 1995 183170.0 174397.8 192383.4
Sep 1995 183997.3 175152.1 193289.3
Oct 1995 184836.3 175915.1 194210.0
Nov 1995 185687.4 176687.1 195146.2
Dec 1995 186550.9 177468.4 196098.4
Jan 1996 187427.4 178259.2 197067.2
> ytpron5
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1995 177119.0 177777.2 178440.4 179108.9 179783.0 180462.8 181148.5 181840.4 182538.9 183244.0 183956.0
1996 184675.4
> predict6
fit lwr upr
Feb 1995 175546.9 163886.4 188037.2
Mar 1995 175938.6 164246.2 188463.5
Apr 1995 176323.1 164599.1 188882.2
May 1995 176700.2 164945.0 189293.3
Jun 1995 177070.0 165283.7 189696.7
Jul 1995 177432.2 165615.2 190092.2
Aug 1995 177786.8 165939.5 190479.9
Sep 1995 178133.7 166256.3 190859.6
Oct 1995 178472.8 166565.7 191231.2
Nov 1995 178804.2 166867.5 191594.7
Dec 1995 179127.5 167161.7 191949.9
Jan 1996 179442.9 167448.2 192296.8
> ytpron7
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1995 173180.1 173512.6 173837.2 174154.0 174462.7 174763.3 175055.7 175339.8 175615.6 175883.0 176141.8
1996 176392.1
>
12
#Cálculo de cobertura y amplitud media de los I.P en modelos 1, 2, 4 y 6
cobertura1=cobertura(real=ytf,LIP=predict1[,2],LSP=predict1[,3])
cobertura1
amplitud1=amplitud(LIP=predict1[,2],LSP=predict1[,3])
amplitud1
cobertura2=cobertura(real=ytf,LIP=predict2[,2],LSP=predict2[,3])
cobertura2
amplitud2=amplitud(LIP=predict2[,2],LSP=predict2[,3])
amplitud2
cobertura4=cobertura(real=ytf,LIP=predict4[,2],LSP=predict4[,3])
cobertura4
amplitud4=amplitud(LIP=predict4[,2],LSP=predict4[,3])
amplitud4
cobertura6=cobertura(real=ytf,LIP=predict6[,2],LSP=predict6[,3])
cobertura6
amplitud6=amplitud(LIP=predict6[,2],LSP=predict6[,3])
amplitud6
tablaprecis=cbind(comp,otros)
rownames(tablaprecis)=c("Modelo 1","Modelo 2","Modelo 3","Modelo 4","Modelo 5","Modelo 6","Modelo 7")
colnames(tablaprecis)=c("RMSE","MAE","MAPE","AmplitudI.P","CoberturaI.P")
tablaprecis
> tablaprecis
RMSE MAE MAPE AmplitudI.P CoberturaI.P
Modelo 1 1574.683 1446.193 0.7695215 11097.20 100.00000
Modelo 2 1762.085 1571.037 0.8307251 11189.62 100.00000
Modelo 3 11693.661 11632.976 6.2024278 NA NA
Modelo 4 5107.763 4875.679 2.5843183 17946.15 100.00000
Modelo 5 7106.076 6861.300 3.6377692 NA NA
Modelo 6 10527.783 10137.592 5.3716201 24505.22 66.66667
Modelo 7 13195.022 12841.028 6.8102320 NA NA
13