Realice todos los Ejercicios de (Griffiths et al., 1993, pp. 677-678)
Consider the AR(1) process in equation 20.3.1. Define a new random variable \(y_t^*=y_t-\mu\), and show that \(y_t^*\) have the same variances, covariances, and autocorrelations.
El modelo 20.3.1 se asume estacionario en media y en varianza, pues \(\delta\) es una constante, redefiniendo el modelo en términos de \(y_t^*\):
\(y_t=\delta+\theta_1t_{t-1}+e_t\)
\(y_t^*=\delta-\mu+\theta_1t_{t-1}+e_t\)
Calculando la varianza
\(var(y_t^*)=var(\delta-\mu+\theta_1t_{t-1}+e_t)\)
Pero como \(\mu\) y \(\delta\) son constantes, su varianza es cero y el calculo se reduce a:
\(var(y_t^*)=var(\theta_1t_{t-1}+e_t)\)
Que es la misma expresion de la varianza para \(y_t\), por lo que la varianza será la misma
\(\sigma_y ^2=\frac{\sigma^2_e}{1-\theta_1^2}\)
En el caso de las covarianzas, se especificarÃan asÃ:
\(cov(y_t^*,y_{t-1}^*)=E[y_t^*-E(y_t^*)][y_{t-1}^*-E(y_{t-1}^*)]\)
El valor esperado de \(y_t^*\) serÃa
\(E[y_t^*]=\frac{\delta -\mu}{1-\theta_1}\)
Por lo que:
\(cov(y_t^*,y_{t-1}^*)=E[y_t^*-\frac{\delta -\mu}{1-\theta_1}][y_{t-1}^*-\frac{\delta -\mu}{1-\theta_1}]\)
\(cov(y_t^*,y_{t-1}^*)=E[y_t^*y_{t-1}^*-\frac{y_t^*(\delta -\mu)}{1-\theta_1}-\frac{y_{t-1}^*(\delta -\mu)}{1-\theta_1}+\frac{(\delta -\mu)^2}{(1-\theta_1)^2}]\)
Simplificando
\(cov(y_t^*,y_{t-1}^*)=E[y_t^*y_{t-1}^*-2\frac{y_t^*(\delta -\mu)}{1-\theta_1}+\frac{(\delta -\mu)^2}{(1-\theta_1)^2}]\)
Expandimos \(y_t^*\)
\(cov(y_t^*,y_{t-1}^*)=E[(\delta -\mu)y_{t-1}^*-2\frac{(\delta -\mu)^2}{1-\theta_1}-2\frac{\theta y_{t-1}^*(\delta -\mu)}{1-\theta_1}+\theta_1 \sigma^2_y+\frac{(\delta -\mu)^2}{(1-\theta_1)^2}]\)
Como el valor esperado de una multiplicación es igual a la multiplicación de los valores esperados de cada término, podemos reemplazar \(y_{t-1}^*\) por la media
\(cov(y_t^*,y_{t-1}^*)=E[\frac{(\delta -\mu)^2}{1-\theta_1}-2\frac{(\delta -\mu)^2}{1-\theta_1}-2\frac{\theta (\delta -\mu)^2}{(1-\theta_1)^2}+\theta_1 \sigma^2_y+\frac{(\delta -\mu)^2}{(1-\theta_1)^2}]\)
Reordenando términos:
\(cov(y_t^*,y_{t-1}^*)=E[\theta_1 \sigma^2_y-\frac{(\delta -\mu)^2}{1-\theta_1}-2\frac{\theta (\delta -\mu)^2}{(1-\theta_1)^2}+\frac{(\delta -\mu)^2}{(1-\theta_1)^2}]\)
En el modelo de 20.3.1 se asumÃa que la media era igual a cero, por lo que \(\delta = 0\), en este caso, hacer el mismo supuesto implicarÃa \(\delta - \mu=0\) con lo cual se obtendrÃa el mismo resultado de 20.3.1
\(cov(y_t^*,y_{t-1}^*)=\theta_1 \sigma^2_y\)
y como las correlaciones son las autocovarianzas dividias en la varianza, estas serán iguales por construcción
Show that the autocorrelation function of the MA(2) statistical model of equation 20.4.4a is given by equation 20.4.5.
El modelo MA(2) de 20.4.4a es:
\(y_y=\mu +e_t+\alpha_1 e_{t-1}+\alpha_2 e_{t-2}\)
y la ecuación 20.4.5 es:
\(\rho_k=\begin{Bmatrix}\frac{\sum^{q-k}_{i=0}\alpha_i\alpha_{i+k}}{\sum^{q}_{i=0}\alpha_i^2} & for & k=0,1,2,...,q\\ 0 & for & k>q \end{Bmatrix}\)
Para comprobarlo simplemente calculamos con 20.4.5 las correlaciones de orden 1, 2, y 3 con 20.4.5 y las comparamos con las presentadas en 20.4.4f. Tomemos en primer lugar la autocorrelación de orden 1
\(\rho_1=\frac{\alpha_0\alpha_1+\alpha_1\alpha_2}{\alpha_0^2+\alpha_1^2+\alpha_2^2}\)
Considerando que si \(\alpha_1\) es el que acompaña a \(e_{t-1}\) y \(\alpha_2\) el que acompaña a \(e_{t-2}\) entonces \(\alpha_0\) debe ser el parámetro que acompaña a \(e_t\), que en este caso vale uno, con lo cual se puede reemplazar obteniendo:
\(\rho_1=\frac{\alpha_1+\alpha_1\alpha_2}{1+\alpha_1^2+\alpha_2^2}\)
Factorizando \(\alpha_1\) en el numerador se llega al mismo resultado que en 20.4.4f
\(\rho_1=\frac{\alpha_1(1+\alpha_2)}{1+\alpha_1^2+\alpha_2^2}\)
Tomemos ahora el caso de la autocorrelación de orden 2:
\(\rho_2=\frac{\alpha_0\alpha_2}{\alpha_0^2+\alpha_1^2+\alpha_2^2}\)
En este caso, como partimos de i=0, el i+k serÃa igual a 2, y ya no podrÃamos incluir más elementos en la sumatoria. Adicionalmente, como \(\alpha_0=1\) la expresión se reduce a:
\(\rho_2=\frac{\alpha_2}{1+\alpha_1^2+\alpha_2^2}\)
Que es la misma que aparece en 20.4.4f. Finalmente, para la autocorrelación de orden 3, como estas se definen \(\rho_\tau=\gamma_\tau / \gamma_0\) y como \(\gamma_3=0\) entonces \(\rho_3=0\) comprobandose asà la ecuación 20.4.5
Derive the covariances \(\gamma_k\) of the ARMA(1, 1) statistical model given in equation 20.5.2 and show that the autocorrelation function is given by equation 20.5.3
La ecuación 20.5.2 viene dada por:
\(y_t=\delta+\theta_1y_{t-1}+e_t+\alpha_1e_{t-1}\)
Es decir que \(y_{t-1}\) se podrÃa escribir como:
\(y_{t-1}=\delta+\theta_1y_{t-2}+e_{t-1}+\alpha_1e_{t-2}\)
Reemplazando en la primera ecuación:
\(y_t=\delta+\theta_1\delta+\theta_1^2y_{t-2}+\theta_1e_{t-1}+\theta_1 \alpha_1e_{t-2}+e_t+\alpha_1e_{t-1}\)
si hacemos este mismo reemplazo pero con \(y_{t-2}\)
\(y_t=\delta+\theta_1\delta+\theta_1^2\delta+\theta_1^3y_{t-3}+\theta_1^2e_{t-2}+\theta_1^2\alpha_1e_{t-3}+\theta_1e_{t-1}+\theta_1 \alpha_1e_{t-2}+e_t+\alpha_1e_{t-1}\)
Por lo que generalizando se puede escribir:
\(y_t=\delta \sum_{i=0}^{j}\theta^j+\alpha_1 \sum_{i=0}^{j} \theta^{j-1}e_{t-j}+\sum_{i=o}^j\theta^je_{t-j}\)
El valor esperado serÃa: \(y_t=\frac{\delta}{1-\theta_1}\)
La varianza, o \(\gamma_0\) serÃa:
\(Var(y_t)=E[y_t-E(y_t)][y_t-E(y_t)]\)
Reemplazando:
\(Var(y_t)=E[(\frac{\delta}{1-\theta_1}+\alpha_1 \sum_{i=0}^{j} \theta^{j-1}e_{t-j}+\sum_{i=o}^j\theta^je_{t-j}-\frac{\delta}{1-\theta_1})^2]\)
Es decir:
\(Var(y_t)=E[(\alpha_1 \sum_{i=0}^{j} \theta^{j-1}e_{t-j}+\sum_{i=o}^j\theta^je_{t-j})^2]\)
Resolviendo:
\(Var(y_t)=\frac{\alpha_1^2\sigma^2_e}{(1-\theta_1)^2}+\frac{\alpha_1 \theta_1 \sigma^2_e}{(1-\theta_1)^2}+\frac{\alpha_1 \theta_1 \sigma^2_e}{(1-\theta_1)^2}+\frac{\sigma^2_e}{(1-\theta_1)^2}\)
Agrupando términos:
\(Var(y_t)=\frac{\alpha_1^2\sigma^2_e}{(1-\theta_1)^2}+\frac{2\alpha_1 \theta_1 \sigma^2_e}{(1-\theta_1)^2}+\frac{\sigma^2_e}{(1-\theta_1)^2}\)
Factorizando \(\sigma_e^2\) se llega al mismo resultado de \(\gamma_0\) en el libro
\(Var(y_t)=(\frac{\alpha_1^2+2\alpha_1\theta_1+1}{(1-\theta_1)^2})\sigma_e^2\)
Ahora si calculamos la autocovarianza de orden 1
\(\gamma_1=E[(y_{t-1}-E[y_{t-1}])(y_t-E[y_t])]=\)
\(\gamma_1=E[(\alpha_1 \sum_{i=0}^{j-1} \theta^{j-2}e_{t-j}+\sum_{i=o}^{j-1}\theta^{j}e_{t-j})(\alpha_1 \sum_{i=0}^{j} \theta^{j-1}e_{t-j}+\sum_{i=o}^j\theta^je_{t-j})]\)
\(\gamma_1=\frac{\alpha^2\theta_1\sigma^2_e}{(1-\theta_1)^2}+\frac{\alpha\theta_1^2\sigma^2_e}{(1-\theta_1)^2}+\frac{\alpha\theta_1\sigma^2_e}{(1-\theta_1)^2}+\frac{\theta_1\sigma^2_e}{(1-\theta_1)^2}\)
Factorizando se llega al mismo resultado que en el libro
\(\gamma_1=\frac{\alpha^2\theta_1\sigma^2_e+\alpha\theta_1^2\sigma^2_e+\alpha\theta_1\sigma^2_e+\theta_1\sigma^2_e}{(1-\theta_1)^2}\)
\(\gamma_1=(\frac{(1+\alpha\theta_1)(\theta_1+\alpha)}{(1-\theta_1)^2})\sigma_e^2\)
Por lo que se cumplira para todos los \(\gamma_k\) y como tanto la varianza como las autocovarianzas son las mismas, tambien lo será la autocorrelación:
\(\rho_1=\frac{\gamma_1}{\gamma_0}\)
Reemplazando:
\(\rho_1=\frac{(\frac{(1+\alpha\theta_1)(\theta_1+\alpha)}{(1-\theta_1)^2})\sigma_e^2}{(\frac{\alpha_1^2+2\alpha_1\theta_1+1}{(1-\theta_1)^2})\sigma_e^2}\)
Simplificando:
\(\rho_1=\frac{(\frac{(1+\alpha\theta_1)(\theta_1+\alpha)}{(1-\theta_1)^2})}{(\frac{\alpha_1^2+2\alpha_1\theta_1+1}{(1-\theta_1)^2})}\)
\(\rho_1=\frac{(1+\alpha\theta_1)(\theta_1+\alpha)}{(\alpha_1^2+2\alpha_1\theta_1+1)}\)
Que es el mismo resultado en 20.5.3
Consider the random walk process in equation 20.6.1. Using your computer software, and guided by the examples in your computer manual, construct and plot \(T=1000\) values of \(y_t\), assuming \(y_T=0\). Repeat this process several times using different sets of random disturbances.
La ecuación 20.6.1 viene dada por:
\(y_t=y_{t-1}+e_t\)
Que se podrÃa expresar como:
\(y_t-y_{t-1}=e_t\)
Es decir que la serie es estacionaria en diferencias, e igual a un termino de perturbación igualmente estacionario con media cero y varianza constante, en ese sentido podemos simular la serie prumero simulando los errores y luego agregandolos
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.6.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
simulacion<-function(T,sd){
#Simulacion de los errores
e1<-rnorm(T, mean=0,sd=sd)
e1<-matrix(e1)
#creación de Y_t
yt<-matrix(0,nrow=T,ncol=1)
# Actualizacion de valores de y_t a partir de los errores
for(i in 1:T){
if(i==1){yt[i,1]<-0}else{
yt[i,1]<-yt[i-1,1]-e1[i-1,1]}
}
#Creación de una variable tiempo decreciente ya que, el primer valor de yt es el que está valiendo 0 y este debe representar el presente, no el primer dato
time<-seq(1000, 1)
#Generamos los errores:
et<-yt-lag(yt,n=1)
#consolidamos en un data frame
df<-data.frame(time,yt,et)
#Graficamos
grafico<-ggplot(data=df,aes(x=time, y=yt))+geom_line()
salida<-list()
salida$g<-grafico
salida$df<-df
return(salida)
}
#miramos una primera simulacion
yt1<-simulacion(1000,0.6)
yt1$g
#una segunda
yt2<-simulacion(1000,0.6)
yt2$g
#una tercera
yt3<-simulacion(1000,0.6)
yt3$g
Se observa que a pesar de conservar la misma varianza en el error, la tendencia no siempre es la misma
Show that the time series \(e_t\) formed of independent and identically distributed \(N(0, \sigma^2_e)\) random variables is stationary
library(tseries)
## Warning: package 'tseries' was built under R version 3.6.3
## Registered S3 method overwritten by 'xts':
## method from
## as.zoo.xts zoo
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
#residuos serie 1
adf.test(yt1$df$et[-1])
## Warning in adf.test(yt1$df$et[-1]): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: yt1$df$et[-1]
## Dickey-Fuller = -9.9802, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
#residuos serie 2
adf.test(yt2$df$et[-1])
## Warning in adf.test(yt2$df$et[-1]): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: yt2$df$et[-1]
## Dickey-Fuller = -10.799, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
#residuos serie 3
adf.test(yt3$df$et[-1])
## Warning in adf.test(yt3$df$et[-1]): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: yt3$df$et[-1]
## Dickey-Fuller = -10.341, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
En todos los casos se confirma la estacionareidad.
Consider the U.S. personal consumption data illustrated in Figure 20.2. Construct the sample autocorrelation functions for the first and the second differences of the data. What order of differencing appears appropriate? Explain. (Hint: Plot the differenced series)
Generamos la serie en primeras y segundas diferencias
personal_c$fd<-personal_c$P_C-lag(personal_c$P_C,1)
prmeras_diferencias<-ggplot(personal_c,aes(x=agno, y=fd, group = 1))+geom_line()
prmeras_diferencias
## Warning: Removed 1 row(s) containing missing values (geom_path).
personal_c$sd<-personal_c$fd-lag(personal_c$fd,1)
segundas_diferencias<-ggplot(personal_c,aes(x=agno, y=sd, group = 1))+geom_line()
segundas_diferencias
## Warning: Removed 2 row(s) containing missing values (geom_path).
Creamos las funciones de autocorrelación parcial y ordinarias
#Función de autocorrelación ordinaria primeras diferencias
acf(personal_c$fd[-1])
#Función de autocorrelación parcial primeras diferencias
pacf(personal_c$fd[-1])
#Función de autocorrelación ordinaria segundas diferencias
acf(personal_c$sd[c(-1,-2)])
#Función de autocorrelación parcial segundas diferencias
pacf(personal_c$sd[c(-1,-2)])
Parece ser más apropiado las segundas diferencias ya que la varianza en primeras diferencias es cada vez más grande
For the general ARMA(p, q) model, the forecast error variance can be constructed as follows. Define the parameters \(\phi_i\) as
\(\phi_1= \alpha_1+\theta_a\)
\(\phi_n=\begin{Bmatrix}\alpha_n+\sum^{min(n,p)}_{i=1}\theta_i \phi_{n-1} &for&n=1,2,...,q\\ \sum^{min(n,p)}_{i=1}\theta_i \phi_{n-1}&for&n>q\end{Bmatrix}\)
Then the h-period-ahead forecast variance for an ARMA(p,q) model is
\(\sigma^2_h=\sigma^2_e \sum^{h-1}_{i=0}\phi_i^2\)
where \(\phi_0=1\). Use this result to verify the forecast error variances for h=1 and 2 periods ahead forecasts for the AR(1), MA(1), and ARMA(1,1) models given in Section 20.8.1.
Tomemos por un momento el ejemplo del modelo ARMA(1,1) de la sección 20.8.1c
\(y_t=\delta + \theta_1y_{t-1}+e_t+\alpha_1e_{t-1}\)
En ese caso la varianza en el momento h=1 harÃa que la sumatoria fuera solo cuando i=0, es decir \(\phi_0^2=1\) es decir que la varianza serÃa tan solo \(\sigma^2_e\) concordando con el planteamiento de la sección 20.8.1. Ahora bien, cuando h=2, la sumatoria irÃa hasta i=1 por lo que:
\(\sigma_h^2=\sigma^2(1+\phi_1^2)\)
Reemplazando
\(\sigma_h^2=\sigma^2(1+(\alpha_1+\theta_1)^2)\)
Concordando nuevamente con el resultado del libro y comprobando la validez de la generalización para la varianza del error
Assume that the MA(1) model in equation 20.4.9 is invertible, or \(|\alpha_1|<1\). Carry out the repeated substitutions, begun in equation 20.4.12, to ilustrate that the MA(1) process has an infinite AR representation.
La ecuación 20.4.12 era:
\(y_t=\alpha_1y_{t-1}-\alpha_1^2e_{t-2}+e_t\)
Definiendo:
\(e_{t-2}=y_{t-2}-\alpha_1e_{t-3}\)
\(e_{t-3}=y_{t-3}-\alpha_1e_{t-4}\)
\(e_{t-4}=y_{t-4}-\alpha_1e_{t-5}\)
Reemplazamos en \(y_t\)
\(y_t=\alpha_1y_{t-1}-\alpha_1^2y_{t-2}+\alpha_1^3e_{t-3}+e_t\)
\(y_t=\alpha_1y_{t-1}-\alpha_1^2y_{t-2}+\alpha_1^3y_{t-3}-\alpha_1^4e_{t-4}+e_t\)
\(y_t=\alpha_1y_{t-1}-\alpha_1^2y_{t-2}+\alpha_1^3y_{t-3}-\alpha_1^4y_{t-4}+\alpha_1^5e_{t-5}+e_t\)
Y asà csucesivamente la sumatoria se seguirá expandiendo al infinito, por lo que la podemos abreviar como:
\(y_t=\sum^\infty_{j=1}(-\alpha_1)^jy_{t-j}+e_t\)
Que es la espresión del AR infinito
Use the infinite AR representation for an invertible MA(1) process, derived in Exercise 20.9, to rewrite the sum of squares in equation 20.4.8 in terms of the observable random variables \(y_t,y_{t-1},...,y_1\). Why is it justifiable, in large samples, to delete terms involving the presample values \(y_0,y_{-1},...\)?
La ecuación 20.4.8 es:
\(S(\alpha_1)=\sum^T_{t=1}e_t^2=\sum_{t=1}^T(y_t-\alpha_1e_{t-1})^2\)
y de el punto anterior podemos tomar lo siguiente:
\(e_t=\sum^\infty_{j=0}(-\alpha_1)^jy_{t-j}\)
por tanto:
\(\sum^T_{t=1}e_t^2=\sum^T_{t-1}(\sum^\infty_{j=0}(-\alpha_1)^jy_{t-j})^2\)
Tiene sentido eliminar los términos más antiguos en muestra grande porque como \(|\alpha_1|<1\) en muestra grande \(\alpha_1^j\) converge a cero, y por tanto esas observaciones desaparecen.
Plot the observations against time
#serie 1
g20_11<-ggplot(data=Tabla_20_6,aes(x=Observation, y=y1))+geom_line()
g20_11
#serie 2
g20_12<-ggplot(data=Tabla_20_6,aes(x=Observation, y=y2))+geom_line()
g20_12
#serie 3
g20_13<-ggplot(data=Tabla_20_6,aes(x=Observation, y=y3))+geom_line()
g20_13
Use the first T=90 observations to identify, estimate, and chech the adequacy of a Box-Jenkins time series model fitting the data.
#Tomamos solo los primeros noventa datos
d90<-subset(Tabla_20_6,Tabla_20_6$Observation<=90)
#Para ahorrarnos tiempo revisando las funciones de autocorrelación parcial y ordinaria para determinar el número de rezagos del AR y del MA, usamos auto.arima
library(forecast)
## Warning: package 'forecast' was built under R version 3.6.3
#modelo serie 1
my1<-auto.arima(d90$y1)
summary(my1)
## Series: d90$y1
## ARIMA(2,0,0) with non-zero mean
##
## Coefficients:
## ar1 ar2 mean
## 0.2945 0.2004 2.2868
## s.e. 0.1044 0.1047 0.1984
##
## sigma^2 estimated as 0.9579: log likelihood=-124.36
## AIC=256.72 AICc=257.19 BIC=266.72
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.01235672 0.962295 0.7703042 -36.51075 59.28383 0.7732085
## ACF1
## Training set -0.003603379
#modelo serie 2
my2<-auto.arima(d90$y2)
summary(my2)
## Series: d90$y2
## ARIMA(0,0,0) with non-zero mean
##
## Coefficients:
## mean
## 11.8971
## s.e. 0.1017
##
## sigma^2 estimated as 0.9416: log likelihood=-124.49
## AIC=252.99 AICc=253.13 BIC=257.99
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 2.289534e-15 0.9649627 0.7616122 -0.6591307 6.458147 0.7210633
## ACF1
## Training set 0.1248211
#modelo serie 3
my3<-auto.arima(d90$y3)
summary(my3)
## Series: d90$y3
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 mean
## 0.6412 36.3128
## s.e. 0.0814 0.2781
##
## sigma^2 estimated as 0.9481: log likelihood=-124.56
## AIC=255.12 AICc=255.4 BIC=262.62
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.0163132 0.9628147 0.7692718 -0.1148589 2.121003 0.8828933
## ACF1
## Training set 0.01162269
En el caso del modelo 2, auto.arima detecta que la mejor estimación es la media porque en las funciones de autocorrelación parcial y ordinaria no hay ningun rezago que sobresalga
Acf(d90$y2)
Pacf(d90$y2)
Use the model developed in part (b) to construct forecast intervals for observations T=91,…,100
#Pronostico de serie 1
fy1<-forecast(my1, h=10)
plot(fy1)
#Pronostico de serie 2
fy2<-forecast(my2, h=10)
plot(fy2)
#Pronostico de serie 3
fy3<-forecast(my3, h=10)
plot(fy3)