1a. Genere un proceso ruido blanco con media cero y varianza 1 con 1000 observaciones.
n=1000
et=rnorm(n,0,1)
1b. Grafique el proceso. ¿Es el proceso estacionario? Explique
plot.ts(et)
#es un proceso estacionario porque la serie gira alrededor de la media.
1c. Estime las primeras 5 autocorrelaciones de este proceso y grafiquelas.
m=5
correlacion=matrix(1:5)
for(i in 1:m){
correlacion[i]=cor(et[(i+1):n],et[1:(n-i)])
}
correlacion
## [,1]
## [1,] -0.05475129
## [2,] 0.04764054
## [3,] 0.02798196
## [4,] 0.02177453
## [5,] 0.03814942
1d. Estime la funcion de correlacion parcial para los primeros 5 rezagos. Con base en sus resultados, ¿qué puede decir de este proceso?
autocorrelacion<-acf(et, type ="correlation", plot = FALSE)
autocorrelacion
##
## Autocorrelations of series 'et', by lag
##
## 0 1 2 3 4 5 6 7 8 9 10
## 1.000 -0.055 0.048 0.028 0.022 0.038 0.039 -0.005 0.012 0.051 -0.002
## 11 12 13 14 15 16 17 18 19 20 21
## -0.029 0.004 -0.034 0.003 0.022 -0.035 0.000 -0.002 -0.033 0.000 -0.057
## 22 23 24 25 26 27 28 29 30
## -0.018 0.011 -0.019 0.005 0.024 -0.010 -0.027 -0.003 -0.037
plot(autocorrelacion)
pacf <- pacf(et, lag.max = 5)
pacf
##
## Partial autocorrelations of series 'et', by lag
##
## 1 2 3 4 5
## -0.055 0.045 0.033 0.023 0.038
1e. Utilizando las funciones de correlacion simple y parcial de R verifique sus resultados.
acf(correlacion, lag.max=5 )
pacf(correlacion,lag.max=5)
#Es un proceso de Medias Móviles de orden 1 por que en el correlograma simple corta y decrece en el parcial.
2a. Genere un proceso random walk con la funcion arima.sim. Este proceso debe de tener 1000 observaciones.
rw=arima.sim(list(order=c(0,1,0)),n=1000)
2b. Grafique el proceso. ¿Es el proceso estacionario? Explique
plot.ts(rw)
#no es estacionario dado que la media y la varianza cambian en el tiempo.
2c. Estime las primeras 5 autocorrelaciones de este proceso y grafiquelas.
corre=matrix(1:5)
for(i in 1:m){
corre[i] =cor(rw[(i+1):n],rw[1:(n-i)])
}
corre
## [,1]
## [1,] 0.9978126
## [2,] 0.9955901
## [3,] 0.9934538
## [4,] 0.9911116
## [5,] 0.9888189
2d. Estime la funcion de correlacion parcial para los primeros 5 rezagos. Con base en sus resultados, ¿qué puede decir de este proceso?
#Eliminación de la tendencia:
dif1.x = diff(rw)
plot(dif1.x)
serie_estacionaria<-dif1.x
autocovarianza<-acf(serie_estacionaria, type ="covariance", plot = FALSE)
autocovarianza
##
## Autocovariances of series 'serie_estacionaria', by lag
##
## 0 1 2 3 4 5 6 7
## 1.00515 0.00545 -0.02164 0.04391 -0.01392 -0.01197 -0.01991 0.00551
## 8 9 10 11 12 13 14 15
## 0.03585 -0.02916 0.01506 -0.01826 -0.06167 0.03615 0.02260 -0.00283
## 16 17 18 19 20 21 22 23
## -0.00640 -0.00575 -0.01650 0.00271 -0.04780 0.00580 0.00386 -0.04615
## 24 25 26 27 28 29 30
## -0.02449 0.01690 -0.02574 -0.04386 0.02151 0.01086 0.01702
plot(autocovarianza)
autocorrelacion<-acf(serie_estacionaria, type ="correlation", plot = FALSE)
autocorrelacion
##
## Autocorrelations of series 'serie_estacionaria', by lag
##
## 0 1 2 3 4 5 6 7 8 9 10
## 1.000 0.005 -0.022 0.044 -0.014 -0.012 -0.020 0.005 0.036 -0.029 0.015
## 11 12 13 14 15 16 17 18 19 20 21
## -0.018 -0.061 0.036 0.022 -0.003 -0.006 -0.006 -0.016 0.003 -0.048 0.006
## 22 23 24 25 26 27 28 29 30
## 0.004 -0.046 -0.024 0.017 -0.026 -0.044 0.021 0.011 0.017
plot(autocorrelacion)
acf <-acf(serie_estacionaria, lag.max = 5)
acf
##
## Autocorrelations of series 'serie_estacionaria', by lag
##
## 0 1 2 3 4 5
## 1.000 0.005 -0.022 0.044 -0.014 -0.012
pacf <- pacf(serie_estacionaria, lag.max = 5)
pacf
##
## Partial autocorrelations of series 'serie_estacionaria', by lag
##
## 1 2 3 4 5
## 0.005 -0.022 0.044 -0.015 -0.010
2e. Estime la funcion de correlacion parcial para los primeros 5 rezagos. Con base en sus resultados, ¿qué puede decir de este proceso?
acf(corre,lag.max=5)
pacf(corre, lag.max=5)
#Corta en el correlograma siple por lo que es un proceso de Media Móviles de orden 1.