Datos: aerolinea

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- data.frame(
  Year = rep(1949:1960, each = 12),
  Month = rep(1:12, 12),
  Airpass = c(112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118,
              115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140,
              145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166,
              171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194,
              196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201,
              204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229,
              242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278,
              284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306,
              315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336,
              340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337,
              360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405,
              417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432)
)

Variables de tendencia (tiempo) y estacionalidad (seno y coseno)

data$t <- 1:nrow(data)
data$t2 <- data$t^2  
data$seno <- sin(2 * pi * data$t / 12)
data$coseno <- cos(2 * pi * data$t / 12) 
data$LnAirP <- log(data$Airpass) 
head(data)
##   Year Month Airpass t t2         seno        coseno   LnAirP
## 1 1949     1     112 1  1 5.000000e-01  8.660254e-01 4.718499
## 2 1949     2     118 2  4 8.660254e-01  5.000000e-01 4.770685
## 3 1949     3     132 3  9 1.000000e+00  6.123032e-17 4.882802
## 4 1949     4     129 4 16 8.660254e-01 -5.000000e-01 4.859812
## 5 1949     5     121 5 25 5.000000e-01 -8.660254e-01 4.795791
## 6 1949     6     135 6 36 1.224606e-16 -1.000000e+00 4.905275

Modelo de regresion:ln(Yt) utilizando una combinación lineal, cuadrática y estacionalidad.

model <- lm(LnAirP ~ t + t2 + seno + coseno, data = data)

summary(model)
## 
## Call:
## lm(formula = LnAirP ~ t + t2 + seno + coseno, data = data)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.225668 -0.054846  0.006555  0.059844  0.159672 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.739e+00  2.112e-02 224.385  < 2e-16 ***
## t            1.315e-02  6.721e-04  19.563  < 2e-16 ***
## t2          -2.146e-05  4.489e-06  -4.780 4.41e-06 ***
## seno        -4.940e-02  9.831e-03  -5.025 1.52e-06 ***
## coseno      -1.415e-01  9.812e-03 -14.418  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08325 on 139 degrees of freedom
## Multiple R-squared:  0.9654, Adjusted R-squared:  0.9644 
## F-statistic: 970.6 on 4 and 139 DF,  p-value: < 2.2e-16

Grafica: ln(Y𝑡) y los valores del modelo.

plot(data$t, data$LnAirP, main = "Modelo de Logaritmo de Pasajeros Aéreos",
     xlab = "Tiempo", ylab = "Ln(Pasajeros)", pch = 16, col = "yellow")
lines(data$t, fitted(model), col = "blue", lwd = 2)
legend("topleft", legend = c("Datos Originales", "Ajuste del Modelo"),
       col = c("green", "red"), pch = c(16, NA), lty = c(NA, 1), lwd = c(NA, 2))

El modelo de regresion utilizado por los términos de tendencia(tiempo) y estacionalidad(coseno y seno), es adecuado por la creciente de los datos de pasajeros. si los pronósticos del modelo son favorables en cuanto a ( aleatorios y normalidad,), el modelo es bueno para analizar y predecir el comportamiento de los pasajeros en función del tiempo.