Guía 4 Pauta - Profesor

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Pauta Guía N°4

Tipo de preguntas: Aplicación y utilización de RStudio.

Instrucciones:
Estimada(o) estudiante:
La siguiente guía consiste en resolver dos ejercicios de la cuarta unidad para reforzar
los contenidos aprendidos durante la clase.
Recomendaciones:
● Recuerda que todos los contenidos que necesitas para responder se encuentran
disponibles en el curso.

¡Éxito en la actividad!
Ejercicio 1
Para la serie temporal días de ausencia al trabajo, realizar el análisis de series de
tiempo estocástico y verificar los supuestos, la fecha de inicio de la serie es: enero de
1999 diciembre del 2002.
● Los datos se encontrarán en un Excel.
Instalar paquetes y librerías (listado en el final)
library(readxl)
Datos <- read_excel("C:/Users/Datos.xlsx") (Ruta de cada estudiante)
View(Datos)

Transformar los datos a una serie de tiempo


ausencia<-ts(Datos,start = c(1999,1), end = c(2002,12), frequency =
12)##indexar la serie en tiempo

print(ausencia)##muestra las observaciones

## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1999 138 64 71 53 135 201 150 95 211 180 113 124
## 2000 159 177 203 115 199 137 183 77 92 149 91 135
## 2001 99 44 98 92 71 63 103 131 144 175 127 86
## 2002 93 41 94 116 132 140 124 100 45 115 107 120

class(ausencia)

## [1] "ts"

start(ausencia);end(ausencia)###entrega fecha de inicio y fin de la serie

## [1] 1999 1

## [1] 2002 12

plot(ausencia, ylab="dias ",main="Ausencia") (graficar los datos)


Test de raiz unitaria
library(tseries)

## Warning: package 'tseries' was built under R version 4.0.5

## Registered S3 method overwritten by 'quantmod':


## method from
## as.zoo.data.frame zoo

library(forecast)

## Warning: package 'forecast' was built under R version 4.0.5

adf.test(ausencia) #test de dickey Fuller H_a: stationary

##
## Augmented Dickey-Fuller Test
##
## data: ausencia
## Dickey-Fuller = -3.8916, Lag order = 3, p-value = 0.02193
## alternative hypothesis: stationary

ndiffs(ausencia) #verifica si es necesario diferenciar la serie

## [1] 0
ACF y PACF
#par(mfrow=c(2,1)) # parte la ventana del grafico
acf(ts(ausencia,frequency=1),main="Función de autocorrelación simple")

pacf(ts(ausencia,frequency=1),main="Función de autocorrelación parcial")


Modelo
modeloARMA20<-arima(ausencia,order = c(1,0,0))
modeloARMA20

##
## Call:
## arima(x = ausencia, order = c(1, 0, 0))
##
## Coefficients:
## ar1 intercept
## 0.3526 119.2219
## s.e. 0.1332 8.9140
##
## sigma^2 estimated as 1635: log likelihood = -245.75, aic = 497.51

summary(modeloARMA20)

##
## Call:
## arima(x = ausencia, order = c(1, 0, 0))
##
## Coefficients:
## ar1 intercept
## 0.3526 119.2219
## s.e. 0.1332 8.9140
##
## sigma^2 estimated as 1635: log likelihood = -245.75, aic = 497.51
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.1630694 40.42923 32.62225 -15.44126 34.7705 0.7895189
## ACF1
## Training set -0.007631064

Predicciones
predicciones<- forecast(modeloARMA20,h=4)
predicciones

## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Jan 2003 119.4963 67.68412 171.3084 40.25643 198.7361
## Feb 2003 119.3186 64.37997 174.2573 35.29719 203.3401
## Mar 2003 119.2560 63.94098 174.5711 34.65896 203.8531
## Apr 2003 119.2339 63.87228 174.5956 34.56559 203.9023

graf<-autoplot(predicciones)
graf
Test
disgnostico<-tsdiag(modeloARMA20)
Box.test(residuals(modeloARMA20)) ##### no hay auto correlaci{on .H_o
:son independientes residuos .

##
## Box-Pierce test
##
## data: residuals(modeloARMA20)
## X-squared = 0.0027952, df = 1, p-value = 0.9578

shapiro.test(modeloARMA20$residuals) ##### H_0: normalidad

##
## Shapiro-Wilk normality test
##
## data: modeloARMA20$residuals
## W = 0.97936, p-value = 0.5524

jarque.bera.test(modeloARMA20$residuals) ##### H_0: asimetria y curtosis


de un modelo normal.

##
## Jarque Bera Test
##
## data: modeloARMA20$residuals
## X-squared = 0.95448, df = 2, p-value = 0.6205

Propuesta de Modelo

ajuste<-auto.arima(y=ausencia)######## propone un modelo en este caso


arma(1,0,0)
summary(ajuste)

## Series: ausencia
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 mean
## 0.3526 119.2219
## s.e. 0.1332 8.9140
##
## sigma^2 estimated as 1706: log likelihood=-245.75
## AIC=497.51 AICc=498.05 BIC=503.12
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.1630694 40.42923 32.62225 -15.44126 34.7705 0.6022569
## ACF1
## Training set -0.007631064
Listado de paquetes y librerías, este código debe ir primero que todo lo mencionado
anteriormente.
```{r}
install.packages("xts")
install.packages("tidyverse")
install.packages("lubridate")
install.packages("tseries")
install.packages("astsa")
install.packages("forecast")
install.packages("foreign")
install.packages("timsac")
install.packages("vars")
install.packages("mFilter")
install.packages("dynlm")
install.packages("car")
install.packages("lmtest")
install.packages("broom")
install.packages("kableExtra")
install.packages("knitr")
install.packages("MASS")
install.packages("parallel")
install.packages("mlogit")
install.packages("dplyr")
install.packages("tidyr")

```

##Librerías##
```{r}
library(xts)
library(tidyverse)
library(lubridate)
library(tseries)
library(astsa)
library(forecast)
library(foreign)
library(timsac)
library(vars)
library(mFilter)
library(dynlm)
library(car)
library(lmtest)
library(broom)
library(kableExtra)
library(knitr)
library(MASS)
library(parallel)
library(mlogit)
library(dplyr)
library(tidyr)
```

Ejercicio 2
Para la serie llamada Gasto gubernamental trimestral (millones de dólares), realizar el
análisis de series de tiempo y utilizar el modelo SARIMA.
● Hay que considerar que el inicio de los datos son enero de 1996 hasta diciembre
de 2011.
● en la librería “fpp2” en R.
Por lo tanto, se debe utilizar el siguiente código (sin los #) para la extracción directa de
ellos o un Excel que contendrá los datos.
#install.packages(“fpp2”,dependencias=T)
#library(fpp2)
#data(“euretail”)

library(readxl)
Datos2 <- read_excel("C:/Users/fran0/Downloads/Datos.xlsx",
sheet = "Ejercicio2")
View(Datos2)
euretail<-ts(Datos2,start = c(1996,1), end = c(2011,4), frequency = 4)
#transformación a serie de tiempo

Ejercicio SARIMA
plot.ts(euretail, main="euretail",type="l")

plot(decompose(euretail)) #permite ver los componentes de estacionalidad,


tendencia...
library(tseries)

## Warning: package 'tseries' was built under R version 4.0.5

## Registered S3 method overwritten by 'quantmod':


## method from
## as.zoo.data.frame zoo

adf.test(euretail)#test de dickey Fuller estacionariedad H0: La serie es


no estacionaria: tiene raíz unitaria

## Warning in adf.test(euretail): p-value greater than printed p-value

##
## Augmented Dickey-Fuller Test
##
## data: euretail
## Dickey-Fuller = -0.17892, Lag order = 3, p-value = 0.99
## alternative hypothesis: stationary

library(forecast)

## Warning: package 'forecast' was built under R version 4.0.5

ndiffs(euretail) ### tenden no estacionaria , es necesario diferenciar


la serie en 2

## [1] 2
ACF Y PACF
acf(ts(euretail,frequency=1),main="Función de autocorrelación simple")

pacf(ts(euretail,frequency=1),main="Función de autocorrelación parcial")


Como no es estacionaria hay que diferenciar:
seriedif2<-diff(euretail,differences = 2)
autoplot(seriedif2)
Recordar que para saber si la serie es estacionaria el p-valor debe ser menor a 0.05
adf.test(seriedif2)#test de dickey Fuller estacionariedad H0: La serie es
no estacionaria: tiene raíz unitaria

## Warning in adf.test(seriedif2): p-value smaller than printed p-value

##
## Augmented Dickey-Fuller Test
##
## data: seriedif2
## Dickey-Fuller = -5.204, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary

Propuesta de Modelo
SARIMA<-auto.arima(euretail,stepwise = F,approximation = F)
summary(SARIMA)

## Series: euretail
## ARIMA(0,1,3)(0,1,1)[4]
##
## Coefficients:
## ma1 ma2 ma3 sma1
## 0.2630 0.3694 0.4200 -0.6636
## s.e. 0.1237 0.1255 0.1294 0.1545
##
## sigma^2 estimated as 0.156: log likelihood=-28.63
## AIC=67.26 AICc=68.39 BIC=77.65
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
MASE
## Training set -0.02965298 0.3661147 0.2787802 -0.02795377 0.2885545
0.2267735
## ACF1
## Training set 0.006455781

Modelo
modeloSARIMA013<-arima(euretail,order = c(0,1,3),seasonal = list(order =
c(0, 1, 1), period = 4))
modeloSARIMA013

##
## Call:
## arima(x = euretail, order = c(0, 1, 3), seasonal = list(order = c(0,
1, 1),
## period = 4))
##
## Coefficients:
## ma1 ma2 ma3 sma1
## 0.2630 0.3694 0.4200 -0.6636
## s.e. 0.1237 0.1255 0.1294 0.1545
##
## sigma^2 estimated as 0.1447: log likelihood = -28.63, aic = 67.26

summary(modeloSARIMA013)

##
## Call:
## arima(x = euretail, order = c(0, 1, 3), seasonal = list(order = c(0,
1, 1),
## period = 4))
##
## Coefficients:
## ma1 ma2 ma3 sma1
## 0.2630 0.3694 0.4200 -0.6636
## s.e. 0.1237 0.1255 0.1294 0.1545
##
## sigma^2 estimated as 0.1447: log likelihood = -28.63, aic = 67.26
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
MASE
## Training set -0.02965298 0.3661147 0.2787802 -0.02795377 0.2885545
0.6274796
## ACF1
## Training set 0.006455781

modeloSARIMA023<-arima(euretail,order = c(0,2,3),seasonal = list(order =


c(0, 1, 1), period = 4))
modeloSARIMA023

##
## Call:
## arima(x = euretail, order = c(0, 2, 3), seasonal = list(order = c(0,
1, 1),
## period = 4))
##
## Coefficients:
## ma1 ma2 ma3 sma1
## -0.6145 0.0753 -0.0304 -0.9797
## s.e. 0.1470 0.1841 0.1382 0.2222
##
## sigma^2 estimated as 0.1505: log likelihood = -36.43, aic = 82.87

summary(modeloSARIMA023)

##
## Call:
## arima(x = euretail, order = c(0, 2, 3), seasonal = list(order = c(0,
1, 1),
## period = 4))
##
## Coefficients:
## ma1 ma2 ma3 sma1
## -0.6145 0.0753 -0.0304 -0.9797
## s.e. 0.1470 0.1841 0.1382 0.2222
##
## sigma^2 estimated as 0.1505: log likelihood = -36.43, aic = 82.87
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
MASE
## Training set -0.02489717 0.3695666 0.2837808 -0.02430567 0.294302
0.6387349
## ACF1
## Training set -0.02341986

pred<-forecast(modeloSARIMA023, h = 6)
grafS<-autoplot(pred)
grafS
Diagnóstico de autocorrelación de los residuos
tsdiag(modeloSARIMA023)
Box.test(residuals(modeloSARIMA023)) #### no hay auto correlaci{on .son
independientes residuos .

##
## Box-Pierce test
##
## data: residuals(modeloSARIMA023)
## X-squared = 0.035103, df = 1, p-value = 0.8514

shapiro.test(modeloSARIMA023$residuals) ###### H_0 normalidad

##
## Shapiro-Wilk normality test
##
## data: modeloSARIMA023$residuals
## W = 0.97398, p-value = 0.1943

jarque.bera.test(modeloSARIMA023$residuals)##### H_0: asimetria y


curtosis de un modelo normal.

##
## Jarque Bera Test
##
## data: modeloSARIMA023$residuals
## X-squared = 2.6573, df = 2, p-value = 0.2648

Resumen de pasos a seguir.


• Instalar paquetes y librerías.
• Cargar los datos (Ocupar su propia ruta de acceso a los datos).
• Transformar los datos a una serie de tiempo.
• Graficar la serie.
• Descomponer la serie (Basarse en el ejercicio 2, el ejercicio uno es para
aprender a utilizar las funciones y el programa)
• Observar si la serie presenta tendencia o estacionalidad.
• Realizar el test para saber si la serie es o no estacionaria.
• Se puede hacer los correlogramas para tener una idea de los valores del
vector ARIMA.
• Ocupar la función auto.arima para ver el mejor modelo (arroja el vector).
• Crear un modelo SARIMA si los datos presentan estacionalidad (basado en el
vector que les arrojó la función auto.arima.)
• Test de normalidad.
• Predecir los datos.
• Conclusiones y/o observaciones de la serie.
Ejercicio 3
Se realizó un estudio sobre la cantidad de azúcar convertida, en cierto proceso, a
distintas temperaturas. Los datos se codificaron y registraron como muestra la
siguiente tabla:

Temperatura (x) Azúcar Convertida (y)


1.0 8.1
1.1 7.8
1.2 9.5
1.3 9.8
1.4 9.5
1.5 8.9
1.6 8.6
1.7 10.2
1.8 9.3
1.9 9.2
2.0 10.5

Estime la recta de la regresión lineal


De los datos Podemos obtener:

∑ 𝑥𝑖 = 16,5, ∑ 𝑦𝑖 = 100,4 , ∑ 𝑥𝑖2 = 25,85 , ∑ 𝑥𝑖 𝑦𝑖 = 152,59

𝑥̅ = 1,5 𝑒 𝑦̅ = 9,12727
Reemplazamos los valores en las fórmulas:
∑ 𝑥𝑦 − 𝑛𝑥̅ 𝑦̅
𝛽̂1 = 𝛽̂0 = 𝑦̅ − 𝛽̂1 𝑥̅
∑ 𝑥 2 − 𝑛𝑥̅ 2
Y obtenemos:

𝛽̂1 = 1,8091 𝑦 𝛽̂0 = 6,4136


Entonces:
𝑦̂ = 6,4136 + 1,8091𝑥

También podría gustarte