series de tiempo - Ecuaciones ARIMA(p,d,q)
Angie Vicuñ a, Jhefri lopez, Mario morocho , Erick Inca
31/1/2021
1.-Si la serie es estacionaria realizar correlogramas de acf y pacf
para describir q y p respectivamente y sugerir un modelo
tentativo de para los [Link] no es estacionaria diferenciar los
datos d veces y comprobar con el test de Dickey-Fuller la
[Link] encontrar los parámetros p y q mediante
pacf y acf respectivamente.
#Librerias que se ocuparan a lo largo de los ejercicios
library(astsa)
library(forecast)
library(foreign)
library(tseries)
library(tidyverse)
library(lubridate)
library(quantmod)
library(fUnitRoots)
Cameron Consulting Corporation se especializa en ofrecer portafolios de inversió n. A
Lynn Stephens, la analista de la compañ ía se le asignó la tarea de desarrollar técnicas
má s complejas para pronosticar los promedios del Dow Jones. Lynn asistió
recientemente a un taller sobre metodología Box-Jenkins y decidió intentar esta
técnica con el Índice de transportació n del Dow Jones. La tabla 9-3 representa 65
promedios diarios al cierre de operaciones del Índice de transportació n durante los
meses de verano.
La base de datos contiene 65 promedios diarios al cierre de operaciones
del mencionado índice durante los meses de verano.
library(readr)
Cameron<- read_csv("C:/Users/PC19/Desktop/bases/Cameron Consulting
str(Cameron)
Se configura los datos a una serie de tiempo con la función ts de los 65
promedio diarios (En este caso como los datos son diarios y se considera
una frecuencia de 365 dias)
trans<-ts(Cameron)
head(trans,5)
## Time Series:
## Start = 1
## End = 5
## Frequency = 1
## Promedio Periodo al cierre
## [1,] 222.34
## [2,] 222.24
## [3,] 221.17
## [4,] 218.88
## [5,] 220.05
1.1 Identificar si la series es estacionaria o no.
Paso 1: Identificació n del Modelo
#Examinemos el comportamiento de la serie a través del tiempo mediante
un gráfico.
plot(trans,type = "o",xlab = "Dia" ,ylab = "Indice",
main = "Promedios diarios al cierre de operaciones del Índice de
transportación
",col = "red", lwd=1)
Se Recurre a la funció n de HoltWinters y establece beta = FALSE & gamma = FALSE
para indicar ausencia de tendencia y estacionalidad respectivamente.
dd <- HoltWinters(trans,beta = FALSE,gamma = FALSE)
plot(dd, col=6,lwd=2)
Interpretacion
En la figura 1 aparece el gráfico de la serie original, la cual muestra un
comportamiento creciente, indicando con esto la no presencia de
estacionariedad.
Para verificar tentativamente si la serie de tiempo es estacionaria se realiza una
representació n grá fica de la serie original y la grá fica de sus autocorrelaciones para
una mejor interpretació n.
plot(trans, main="Precios mensuales de la fanega de maíz en Omaha,
Nebraska.", col="green")
tendencia<- lm(trans~time(trans))
abline(tendencia,col="red")
Paso 2. Aná lisis de la Autocorrelació n (simple y parcial)
acf(trans,30,main="",sub="Figura 01: Función de Autocorrelación Simple")
Interpretación
El correlograma muestra un desvanecimiento lento de la función de
autocorrelación indicando también no estacionariedad en la serie original.
pacf(trans,30,main="",sub="Figura 02: Función de Autocorrelación
Parcial")
#Nota:Confirmaremos lo dicho anteriormente con la prueba de Dickey -
Fuller.
Paso 3 prueba de Dickey-Fuller
Prueba o contraste de Dickey-Fuller (Prueba de estacionariedad) El contraste de
Dickey-Fuller permite conocer si es o no estacionaria una ST.
#1. Planteamiento de Hipótesis
#Ho: La serie es no estacionaria
#H1: La serie es estacionaria
#2. Nivel de Significancia: α = 0.05
#3. Estadístico de Prueba
adfTest(trans,lags=0,type=c("c"))
## Warning in adfTest(trans, lags = 0, type = c("c")): p-value greater
than printed
## p-value
##
## Title:
## Augmented Dickey-Fuller Test
##
## Test Results:
## PARAMETER:
## Lag Order: 0
## STATISTIC:
## Dickey-Fuller: 2.2962
## P VALUE:
## 0.99
##
## Description:
## Sun Jan 31 [Link] 2021 by user: PC19
#4. Decisión
#El valor del estadístico es 2.2962,Puesto que p-value = 0.99 > 0.05 por
lo que la hipótesis nula no se rechaza.
#5. Conclusión
#La serie original no es estacionaria.
1.2 Diferenciacion “d” veces
#se procede a realizar diferencias para eliminar tendencia y
transformarla a estacionaria. ¿Cuántas diferencias? Con la función
"ndiffs(sr)" se responde a esta cuestion
ndiffs(trans)
## [1] 2
#Diferencias
df <- diff(trans)
[Link](df,sub="Figura 03: Serie en primera diferencia",
xlab="Tiempo",ylab="Primera diferencia")
acf(df, main="ACF con una diferencia",30)
pacf(df, main="PACF con una diferencia",30) #p = vale 1 o menos
1.4 Prueba de Dickey-Fuller de la primera diferencia
#Planteamiento de Hipótesis
#Ho: La serie es no estacionaria
#H1: La serie es estacionaria
adfTest(df,lags=0,type=c("c"))
## Warning in adfTest(df, lags = 0, type = c("c")): p-value smaller than
printed p-
## value
##
## Title:
## Augmented Dickey-Fuller Test
##
## Test Results:
## PARAMETER:
## Lag Order: 0
## STATISTIC:
## Dickey-Fuller: -5.8363
## P VALUE:
## 0.01
##
## Description:
## Sun Jan 31 [Link] 2021 by user: PC19
#Decisión
#El valor del estadístico es -5.8363,Puesto que p-value = 0.01 < 0.05
por lo que la hipótesis nula se rechaza.
#Conclusión
#La serie diferenciada es estacionaria esto se comprueba que al aplicar
una diferencia se eliminó la tendencia y se transformó a estacionaria.
1.4 Encontrar los parametros p y q
Se procede a la aplicacion de la metodologia B-J
[Link]ó n del modelo con los valores p y q.
#Se puede Utilizar primero la función "[Link]()" para idenficar p y
q del modelo adecuado
[Link](trans,stepwise = F, approximation = F, seasonal = F)#Serie:
trans es ARIMA(0,2,1)
## Series: trans
## ARIMA(0,2,1)
##
## Coefficients:
## ma1
## -0.7923
## s.e. 0.0844
##
## sigma^2 estimated as 3.576: log likelihood=-129.51
## AIC=263.01 AICc=263.21 BIC=267.3
#p=0 por lo tanto el modelo AR(0)
#d=2 por lo tanto son dos diferencias para la estacionariedad
#q=1 por lo tanto el modelo MA(1)
#Para contrastar lo antes indicado vamos a probar con 3 modelos
tentativos (tomando en cuenta el modelo adecuado por el software R) y
comprobar de esta manera cual es el "mejor modelo, ARIMA (p, d, q)".
m1 <- arima(trans, order =c(0,2,1))
m2 <- arima(trans, order =c(1,2,1))
m3 <- arima(trans, order =c(0,1,1))
# Para determinar el mejor modelo se calculan los criterios de
información de Akaike y bayesiano: AIC y BIC respectivamente
AIC(m1,m2,m3)
## Warning in [Link](m1, m2, m3): models are not all fitted to the
same number
## of observations
## df AIC
## m1 2 263.0112
## m2 3 264.5071
## m3 2 275.0018
BIC(m1,m2,m3)
## Warning in [Link](m1, m2, m3): models are not all fitted to the
same number
## of observations
## df BIC
## m1 2 267.2974
## m2 3 270.9365
## m3 2 279.3196
Interpretación
Efectivamente mediante el análisis de los criterios (coeficientes de bondad)
AIC=263.0112 y BIC=267.2974 se estima que el mejor modelo son los valores
más pequeños por tanto es el modelo m1.
2. Estimacion y verificacion del modelo identificado
ETAPA2. Estimació n del modelo identificado. Estimació n de coeficientes.
# El mejor modelo es el modelo m1 por lo que se presentan sus
coeficientes:
m11 <- arima(trans, order =c(0,2,1));m11#nuestro mejor modelo es un
ARIMA (0, 2, 1).
##
## Call:
## arima(x = trans, order = c(0, 2, 1))
##
## Coefficients:
## ma1
## -0.7923
## s.e. 0.0844
##
## sigma^2 estimated as 3.517: log likelihood = -129.51, aic = 263.01
#mostramos el diagnostico del modelo
par(mar=c(2,3,3,2))
tsdiag(m1)
Interpretacion
Es un modelo es adecuado , observando los residuos estandarisados se puede
decir que tiene aleatoriedad y mediante la funcion de autocorrelacion de los
residuos (grafico 2 ACF) y es estacionario y mediante la p-valor se comprueba
que hay independencia.
3. Escribir la ecuacion de el modelo ARIMA
Conclusión
La serie en primera diferencia ya es estacionaria.
Una vez que se ha obtenido una serie estacionaria, debemos identificar la forma
del modelo que se utilizará . La identificació n de la forma del modelo se lleva a
cabo comparando las autocorrelaciones y las autocorrelaciones parciales
calculadas con los datos de la autocorrelaciones y las autocorrelaciones parciales
teó ricas de los diferentes modelos ARIMA.
En los correlogramas podemos observar lo siguiente: * En la ACF, la primera
autocorrelació n es significativa y ademá s parece ser que los valores de la PACF
disminuyen en forma oscilatoria. Esto nos lleva a pensar en un primer modelo:
Zt =a t−θ 1 a t−1
De igual manera, en la PACF la primera autocorrelació n parcial es significativa y
los valores de ACF disminuyen oscilatoriamente. Por ello proponemos un
segundo modelo:
Zt =ϕ 0+ ϕ1 Z t −1 +a t
La serie en segunda diferencia también es estacionaria y es el mejor modelo.
ARIMA(0,2,1) ≡ Z t=at −θ1 at −1
Resolucion:
Zt =a t−θ 1 L at
Zt =(1−θ1 L) at
Aplicando diferencias d=2
∆ 2 Z t=(1−θ1 L)at
∆ 2 Z t=∆(Z t−Z t−1 )
∆ 2 Z t=( Z t −Z t −1 ) −(Z t−1−Z t−2 )
∆ 2 Z t=Z t−Z t−1−Z t−1 + Zt −2
∆ 2 Z t=Z t−2 Z t−1 +Z t −2
Factorizando:
∆ Z t=Z t−2 LZ t + L2 Z t
2
∆ 2 Z t=(1−2 L+ L2) Z t
Remplazo ∆ 2 Z t=(1−θ1 L)at
(1−2 L+ L2) Zt =(1−θ1 L) at
Zt −2 L Z t + L2 Z t =(1−θ1 L) at
Zt −2 L Z t + L2 Z t =at −θ1 La t
Zt =2 L Z t−L2 Z t + at −θ1 La t
ARIMA( 0,2,1) ≡ Z t=2 Z t −1−Z t −2+ at −θ1 at−1
ETAPA3 Prueba de Ljung-Box
# Método analítico para comprobar el correcto ajuste y garantizar que
existe ruido blanco.
# Planteamiento de Hipótesis:
# H_o = El modelo estimado tiene un buen ajuste
# H_1 = El modelo estimado no tiene un buen ajuste
# Nivel de significancia
alfa <- 0.05
#Calculos estadísticos estadísticos.
[Link](residuals(m1), type = "Ljung-Box")
##
## Box-Ljung test
##
## data: residuals(m1)
## X-squared = 0.16829, df = 1, p-value = 0.6816
# Regla de Decisión
# 0.8369 > 0.05 no se rechaza H0
# Toma de Decisión
# A través de la Prueba de Ljung-Box se establece que, como nuestro p-
value es mayor a 0.05, se acepta H0, es decir si existe ruido blanco y
el modelo se ajusta bien como las gráficas anteriores ya lo
corroboraron. (es decir, que el error tiene media=0, varianza constante
y que los errores no están serialmente correlacionados).
#corroborando el si existe ruido blanco
s<- residuals(m1)
plot(s,type = "o",lty = "dashed", pch =30, col = "black", main = "Grafica
Ruido Blanco")
4. ETAPA 4. Pronosticar y construir intervalos de predicción.
# Se utiliza la función forecast, en este caso vamos a pronosticar los
30 siguientes dias.
par(mfrow=c(1,1))
pr <- forecast(m1, level = (95), h=30);pr
## Point Forecast Lo 95 Hi 95
## 66 290.9610 287.2851 294.6369
## 67 293.3520 287.5884 299.1157
## 68 295.7430 287.9784 303.5077
## 69 298.1341 288.3419 307.9262
## 70 300.5251 288.6433 312.4069
## 71 302.9161 288.8688 316.9634
## 72 305.3071 289.0129 321.6013
## 73 307.6981 289.0737 326.3225
## 74 310.0891 289.0513 331.1270
## 75 312.4801 288.9464 336.0139
## 76 314.8711 288.7604 340.9819
## 77 317.2622 288.4949 346.0295
## 78 319.6532 288.1513 351.1550
## 79 322.0442 287.7315 356.3569
## 80 324.4352 287.2370 361.6334
## 81 326.8262 286.6694 366.9830
## 82 329.2172 286.0302 372.4042
## 83 331.6082 285.3210 377.8955
## 84 333.9993 284.5430 383.4555
## 85 336.3903 283.6976 389.0829
## 86 338.7813 282.7861 394.7764
## 87 341.1723 281.8098 400.5348
## 88 343.5633 280.7697 406.3569
## 89 345.9543 279.6670 412.2417
## 90 348.3453 278.5027 418.1880
## 91 350.7364 277.2778 424.1949
## 92 353.1274 275.9933 430.2614
## 93 355.5184 274.6502 436.3866
## 94 357.9094 273.2492 442.5696
## 95 360.3004 271.7912 448.8096
plot(pr)
# Observación importante. La función rwf() de la librería forecast
calcula pronósticos suponiendo que la ST transp es un paseo aleatorio
Mod_mejorado <- rwf(y =trans,h = 30,drift = TRUE,level = 0.95)
plot(Mod_mejorado,main = "Pronostico de promedios diarios al cierre
del índice de transportación
para los proximos 30 días");Mod_mejorado
## Point Forecast Lo 95 Hi 95
## 66 289.6048 285.7923 293.4174
## 67 290.6397 285.2059 296.0734
## 68 291.6745 284.9686 298.3805
## 69 292.7094 284.9076 300.5112
## 70 293.7442 284.9567 302.5318
## 71 294.7791 285.0823 304.4758
## 72 295.8139 285.2646 306.3633
## 73 296.8487 285.4908 308.2067
## 74 297.8836 285.7521 310.0151
## 75 298.9184 286.0422 311.7947
## 76 299.9533 286.3564 313.5502
## 77 300.9881 286.6910 315.2853
## 78 302.0230 287.0432 317.0028
## 79 303.0578 287.4106 318.7050
## 80 304.0927 287.7914 320.3939
## 81 305.1275 288.1841 322.0709
## 82 306.1623 288.5873 323.7374
## 83 307.1972 288.9999 325.3945
## 84 308.2320 289.4211 327.0430
## 85 309.2669 289.8499 328.6839
## 86 310.3017 290.2857 330.3177
## 87 311.3366 290.7280 331.9452
## 88 312.3714 291.1760 333.5668
## 89 313.4062 291.6295 335.1830
## 90 314.4411 292.0879 336.7943
## 91 315.4759 292.5509 338.4009
## 92 316.5108 293.0182 340.0034
## 93 317.5456 293.4894 341.6018
## 94 318.5805 293.9643 343.1966
## 95 319.6153 294.4426 344.7880
A Jill Blake, analista de ISC Corporation, se le pidió desarrollar pronó sticos para los
precios de las acciones de la compañ ía al cierre de operaciones. Las acciones se habían
debilitado con poco crecimiento durante algú n tiempo, y la gerencia quería algunas
proyecciones para discutirlas con el consejo de administració n. Los precios de las
acciones de ISC. Un tanto sorpresivamente, ya que los precios de las acciones tienden
a ser no estacionarios, la grá fica de los precios de las acciones de ISC tiende a variar
alrededor de un nivel fijo de aproximadamente [Link] concluyó que su serie de
precios era estacionaria. Jill cree que la metodología Box-Jenkins podría venirle bien a
su propó sito e inmediatamente generó las autocorrelaciones de la muestra y las
autocorrelaciones parciales de la muestra de la serie de precios de las acciones.
library(readr)
isc<- read_csv("C:/Users/PC19/Desktop/bases/ISC [Link]")
isc
## # A tibble: 65 x 1
## `Precios de Acciones`
## <dbl>
## 1 235
## 2 320
## 3 115
## 4 355
## 5 190
## 6 320
## 7 275
## 8 205
## 9 295
## 10 240
## # ... with 55 more rows
# Se configura los datos a una serie de tiempo con la función ts de los
65 promedio diarios
# (En este caso como los datos son diarios y se considera una frecuencia
de 365 dias)
corp<-ts(isc)
head(corp,5)
## Time Series:
## Start = 1
## End = 65
## Frequency = 1
## Precios de Acciones
## [1,] 235
## [2,] 320
## [3,] 115
## [4,] 355
## [5,] 190
1.1 Identificar si la series es estacionaria o no.
Paso 1: Identificació n del Modelo
#Examinemos el comportamiento de la serie a través del tiempo mediante
un gráfico.
plot(corp,type = "o",xlab = "periodo" ,ylab = "precio",
main = "Precios al cierre de las acciones de ISC Corporation
",col = "red", lwd=1)
Se Recurre a la funció n de HoltWinters y se establece beta = FALSE & gamma = FALSE
para indicar la tendencia y estacionalidad respectivamente.
dd <- HoltWinters(corp,beta = FALSE,gamma = FALSE)
plot(dd, col=6,lwd=2)
Interpretación
En la figura 1 aparece el gráfico de la serie original, la cual muestra un
comportamiento NO creciente, indicando con esto la presencia de
estacionariedad.
Para verificar tentativamente si la serie de tiempo es estacionaria se realiza una
representació n grá fica de la serie original.
#nota: Un tanto sorpresivamente, ya que los precios de las acciones
tienden a ser no estacionarios, la
#gráfica de los precios de las acciones de ISC tiende a variar alrededor
de un nivel fijo de aproximadamente 250
plot(corp, main="Precios mensuales de la fanega de maíz en Omaha,
Nebraska.", col="green")
tendencia<- lm(corp~time(corp))
abline(tendencia,col="red")
Paso 2.
Aná lisis
de la
Autocorrelació n (simple y parcial)
acf(corp,30,main="",sub="Figura 01: Función de utocoArrelación Simple")
Interpretacion
El correlograma NO muestra un desvanecimiento lento de la función de
autocorrelación indicando su Estacionariedad en la serie original.
pacf(corp,30,main="",sub="Figura 02: Función de Autocorrelación Parcial")
#Nota:Confirmaremos lo dicho anteriormente con la prueba de Dickey -
Fuller.
Paso 3 prueba de Dickey-Fuller
# Prueba o contraste de Dickey-Fuller (Prueba de estacionariedad) El
contraste de Dickey-Fuller permite conocer si es o no estacionaria una
ST.
#1. Planteamiento de Hipótesis
#Ho: La serie es no estacionaria
#H1: La serie es estacionaria
#2. Nivel de Significancia: α = 0.05
#3. Estadístico de Prueba
adfTest(corp,lags=0,type=c("c"))
## Warning in adfTest(corp, lags = 0, type = c("c")): p-value smaller
than printed
## p-value
##
## Title:
## Augmented Dickey-Fuller Test
##
## Test Results:
## PARAMETER:
## Lag Order: 0
## STATISTIC:
## Dickey-Fuller: -12.0427
## P VALUE:
## 0.01
##
## Description:
## Sun Jan 31 [Link] 2021 by user: PC19
#4. Decisión
#El valor del estadístico es -12.0427,Puesto que p-value = 0.01 < 0.05
por lo que la hipótesis nula se rechaza.
#5. Conclusión
#La serie original si es estacionaria.
1.2 Para comprobar que la serie original es estacionaria el numero de diferencias que
obtendremos es “cero” ya que no necesita ser diferenciada por que la original ya es
estacionaria
ndiffs(corp)
## [1] 0
1.3 Encontrar los parametros p y q
[Link]ó n del modelo con los valores p y q. Se procede a la aplicacion de
la metodologia B-J
#Se puede Utilizar primero la función "[Link]()" para idenficar p y
q del modelo adecuado
[Link](corp,stepwise = F, approximation = F, seasonal = F)##Serie:
sr es ARIMA(2,0,0)
## Series: corp
## ARIMA(2,0,0) with non-zero mean
##
## Coefficients:
## ar1 ar2 mean
## -0.3192 0.2123 257.8179
## s.e. 0.1204 0.1213 5.7981
##
## sigma^2 estimated as 2814: log likelihood=-348.96
## AIC=705.92 AICc=706.58 BIC=714.61
Para contrastar lo antes indicado vamos a probar con 3 modelos tentativos (tomando
en cuenta el modelo adecuado por el software R) y comprobar de esta manera cual es
el “mejor modelo, ARIMA (p, d, q)”.
m1 <- arima(corp, order =c(1,0,0))
m2 <- arima(corp, order =c(2,0,0))
m3 <- arima(corp, order =c(1,0,1))
# Para determinar el mejor modelo se calculan los criterios de
información de Akaike y bayesiano: AIC y BIC respectivamente.
AIC(m1,m2,m3)
## df AIC
## m1 3 706.8977
## m2 4 705.9173
## m3 4 706.1712
BIC(m1,m2,m3)
## df BIC
## m1 3 713.4208
## m2 4 714.6148
## m3 4 714.8688
Interpretación
Efectivamente mediante el análisis de los criterios (coeficientes de bondad)
AIC=705.9173 y BIC=714.6148 se estima que el mejor modelo son los valores
más pequeños por tanto es el modelo m2.
2. Estimacion y verificacion del modelo identificado
ETAPA2. Estimació n del modelo identificado. Estimació n de coeficientes.
#El mejor modelo es el modelo m2 por lo que se presentan sus
coeficientes:
m22 <- arima(corp, order =c(2,0,0));m11#nuestro mejor modelo es un ARIMA
(2, 0, 0).
##
## Call:
## arima(x = trans, order = c(0, 2, 1))
##
## Coefficients:
## ma1
## -0.7923
## s.e. 0.0844
##
## sigma^2 estimated as 3.517: log likelihood = -129.51, aic = 263.01
#mostramos el diagnostico del modelo
par(mar=c(2,3,3,2))
tsdiag(m22)
Interpretación
Es un modelo es adecuado , observando los residuos estandarisados se puede
decir que tiene aleatoriedad y mediante la funcion de autocorrelacion de los
residuos (grafico 2 ACF) es estacionario y mediante la p-valor se comprueba que
hay independencia.
3. Escribir la ecuacion de el modelo ARIMA
ARIMA(2,0,0) AR(2) = Zt =∅1 Z t −1 + ∅2 Z t −2+ at
Es un modelo AR(2) con diferencia cero y modelo ma(0)
#ETAPA 3 : Prueba de Ljung-Box
# Método analítico para comprobar el correcto ajuste y garantizar que
existe ruido blanco.
# Planteamiento de Hipótesis:
# H_o = El modelo estimado tiene un buen ajuste
# H_1 = El modelo estimado no tiene un buen ajuste
# Nivel de significancia
alfa <- 0.05
#Calculos estadísticos estadísticos.
[Link](residuals(m22), type = "Ljung-Box")
##
## Box-Ljung test
##
## data: residuals(m22)
## X-squared = 0.00024069, df = 1, p-value = 0.9876
# Regla de Decisión
# 0.9876 > 0.05 no se rechaza H0
# Toma de Decisión
# A través de la Prueba de Ljung-Box se establece que, como nuestro p-
value es mayor a 0.05, se acepta H0, es decir si existe ruido blanco y
el modelo se ajusta bien como las gráficas anteriores ya lo
corroboraron. (es decir, que el error tiene media=0, varianza constante
y que los errores no están serialmente correlacionados).
Comprabando si existe ruido blanco
s<- residuals(m22)
plot(s,type = "o",lty = "dashed", pch =30, col = "black", main = "Grafica
Ruido Blanco")
4. ETAPA 4: Pronosticar y construir intervalos de
predicción.
# Se utiliza la función forecast, en este caso vamos a pronosticar los
30
# siguientes dias.
par(mfrow=c(1,1))
pr <- forecast(m22, level = (95), h=30);pr
## Point Forecast Lo 95 Hi 95
## 66 286.8259 185.2819 388.3699
## 67 235.2199 128.6286 341.8113
## 68 271.1906 159.9260 382.4553
## 69 248.7510 136.1849 361.3170
## 70 263.5516 150.3239 376.7793
## 71 254.0625 140.5850 367.5400
## 72 260.2341 146.6466 373.8217
## 73 256.2493 142.6169 369.8817
## 74 258.8317 145.1803 372.4831
## 75 257.1613 143.5019 370.8206
## 76 258.2428 144.5801 371.9055
## 77 257.5429 143.8788 371.2070
## 78 257.9960 144.3313 371.6606
## 79 257.7027 144.0378 371.3676
## 80 257.8925 144.2275 371.5575
## 81 257.7697 144.1046 371.4347
## 82 257.8492 144.1841 371.5143
## 83 257.7977 144.1326 371.4628
## 84 257.8310 144.1660 371.4961
## 85 257.8095 144.1444 371.4746
## 86 257.8234 144.1583 371.4885
## 87 257.8144 144.1493 371.4795
## 88 257.8202 144.1552 371.4853
## 89 257.8165 144.1514 371.4815
## 90 257.8189 144.1538 371.4840
## 91 257.8173 144.1522 371.4824
## 92 257.8183 144.1533 371.4834
## 93 257.8177 144.1526 371.4828
## 94 257.8181 144.1530 371.4832
## 95 257.8178 144.1527 371.4829
plot(pr)
# Observación importante.
# La función rwf() de la librería forecast calcula pronósticos
suponiendo que la ST transp es un paseo aleatorio.
Mod_mejorado <- rwf(y =corp,h = 30,drift = TRUE,level = 0.95)
plot(Mod_mejorado,main = "Pronostico de los precios al cierre de las
acciones de ISC Corporation
durante los proximos 30 periodos
");Mod_mejorado
## Point Forecast Lo 95 Hi 95
## 66 194.375 1.621481 387.1285
## 67 193.750 -80.966031 468.4660
## 68 193.125 -145.910303 532.1603
## 69 192.500 -201.938887 586.9389
## 70 191.875 -252.399909 636.1499
## 71 191.250 -298.994239 681.4942
## 72 190.625 -342.722628 723.9726
## 73 190.000 -384.230817 764.2308
## 74 189.375 -423.962941 802.7129
## 75 188.750 -462.239162 839.7392
## 76 188.125 -499.298746 875.5487
## 77 187.500 -535.325695 910.3257
## 78 186.875 -570.464834 944.2148
## 79 186.250 -604.832374 977.3324
## 80 185.625 -638.523094 1009.7731
## 81 185.000 -671.615375 1041.6154
## 82 184.375 -704.174818 1072.9248
## 83 183.750 -736.256911 1103.7569
## 84 183.125 -767.909024 1134.1590
## 85 182.500 -799.171928 1164.1719
## 86 181.875 -830.080973 1193.8310
## 87 181.250 -860.667017 1223.1670
## 88 180.625 -890.957152 1252.2072
## 89 180.000 -920.975298 1280.9753
## 90 179.375 -950.742678 1309.4927
## 91 178.750 -980.278206 1337.7782
## 92 178.125 -1009.598815 1365.8488
## 93 177.500 -1038.719717 1393.7197
## 94 176.875 -1067.654629 1421.4046
## 95 176.250 -1096.415964 1448.9160