library(forecast, quietly=TRUE)
data(gas) #Cargar conjunto de datos de produccion de gas en Australia (1956-1996).
::ggseasonplot(gas, year.labels=TRUE, year.labels.left=TRUE) + ggplot2::theme_classic() #Gráfico estacional. forecast
Existen algunos gráficos útiles para analizar más en profundidad las propiedades de las series.
Gráfico estacional
Un gráfico estacional permite visualizar claramente el patrón estacional de la serie:
Se observa que la producción de gas en Australia ha aumentado considerablemente con los años (tendencia creciente). En cuanto al componente estacional, se observa que la producción crece considerablemente en los meses de calor, con máximos en verano, y disminuye en los meses de frío, con mínimos en invierno.
Si se quiere obtener mayor comparativa entre meses, el comando polar=TRUE
es bastante útil.
library(ggplot2, quietly=TRUE)
::ggseasonplot(gas, polar=TRUE) + ggtitle("Producción de gas en Australia") + theme_classic() forecast
Claramente, los meses líderes en producción son julio y agosto, y los de menor producción, diciembre y enero.
Correlación entre series
Además de analizar los aspectos individuales de una serie temporal, se pueden calcular correlaciones entre series para medir el grado de relación entre dos o más series.
data("EuStockMarkets")
autoplot(EuStockMarkets[,c(1:2)]) + ylab("Índices bursátiles") + theme_classic()
A priori, parece que ambos índices bursátiles guardarán una fuerte correlación. Para obtener una métrica formal de dicha correlación, es útil calcular el coeficiente de correlación:
\[ \rho_{x,y} = \frac{\sigma_{xy}}{\sigma_x \sigma_y} = \frac{Cov(x,y)}{\sqrt{Var(x)Var(y)}} \]
<- as.data.frame(EuStockMarkets) #Convertimos las series temporales a data frame
EUdf cor(EUdf$DAX, EUdf$SMI) #Coeficiente de correlación.
[1] 0.9911539
ggplot(data=EUdf, aes(x=DAX, y=SMI)) +
geom_point() +
annotate("text", label="cor=0.99", x=2000, y=7000, size=4, color="black") + theme_classic() #Gráfico scatterplot con coeficiente de correlación.
La correlación es casi perfecta. Veamos entre tres índices bursátiles a la vez
autoplot(EuStockMarkets[,c(1:3)]) + ylab("Índices bursátiles") + theme_classic()
A priori debería de haber una correlación muy alta entre los tres.
attach(EUdf)
library(scatterplot3d, quietly=TRUE)
scatterplot3d(DAX, SMI, CAC, grid=TRUE, box=FALSE, color = "black", pch = 16)
Ejercicio: Cargue y analize la estacionalidad de la serie AirPassengers.