auspobla <- global_economy |>
select(Country, Year, Population)|>
filter(Country=="Australia")|>
update_tsibble(index = Year, regular = TRUE)
autoplot(auspobla, Population)
Podemos observar en la gráfica que no tiene estacionalidad, por lo que solo se analizarán los modelos de Drift y Naive.
# Fit the models
aus_fit <- auspobla |>
model(
Drift = RW(Population ~ drift()),
`Naïve` = NAIVE(Population),
)
aus_fc <- aus_fit |> forecast(h = 5)
# Plot forecasts against actual values
aus_fc |>
autoplot(auspobla, level = NULL) +
autolayer(
filter_index( auspobla, "2018" ~ .),
colour = "black"
) +
labs(
y = "Population",
title = "Poblacion de Australia"
) +
guides(colour = guide_legend(title = "Forecast"))
## Plot variable not specified, automatically selected `.vars = Population`
bricks <- aus_production |>
select(Quarter, Bricks)|>
filter_index("1956 Q1" ~ "2005 Q2")
bricks
## # A tsibble: 198 x 2 [1Q]
## Quarter Bricks
## <qtr> <dbl>
## 1 1956 Q1 189
## 2 1956 Q2 204
## 3 1956 Q3 208
## 4 1956 Q4 197
## 5 1957 Q1 187
## 6 1957 Q2 214
## 7 1957 Q3 227
## 8 1957 Q4 222
## 9 1958 Q1 199
## 10 1958 Q2 229
## # ℹ 188 more rows
autoplot(bricks, Bricks)
Podemos observar que en este caso si existe cierta estacionalidad, por lo que veremos como pronostica en los modelos naive, snaive y drift.
# Fit the models
bricks_fit <- bricks |>
model(
Driftl = RW(Bricks ~ drift()),
`Naïvel` = NAIVE(Bricks),
`Seasonal Naïvel`= SNAIVE(Bricks),
)
# Pronosticamos los proximos 12 Trimestres
bricks_fc <- bricks_fit |> forecast(h = 12)
# Plot forecasts against actual values
bricks_fc |>
autoplot(bricks, level = NULL) +
autolayer(
filter_index(bricks, "2005 Q3" ~ .),
colour = "black"
) +
labs(
y = "Cantidad",
title = "Pronóstico para la producción de ladrillos"
) +
guides(colour = guide_legend(title = "Forecast"))
## Plot variable not specified, automatically selected `.vars = Bricks`
Separare los modelos para poder visaualizarlos uno por uno.
modriftl <- bricks_fc |>
filter(.model == "Driftl")
modnaivel <- bricks_fc |>
filter(.model == "Naïvel")
modsnaivel <- bricks_fc |>
filter(.model == "Seasonal Naïvel")
Procederemos a graficar cada modelo.
autoplot(modriftl, bricks)+
labs(
y = "Cantidad",
title = "Pronóstico para la producción de ladrillos con modelo Drift"
)
autoplot(modnaivel , bricks) + labs(
y = "Cantidad",
title = "Pronóstico para la producción de ladrillos con modelo Naive"
)
autoplot(modsnaivel, bricks) + labs(
y = "Cantidad",
title = "Pronóstico para la producción de ladrillos con modelo Snaive"
)
Como se puede observar el modelo que mejor le ajusta es el Snaive, por su comportamiento que tiene estacionalidad y al prónosticar es la más aproximada.
stock <- aus_livestock |>
filter(Animal=="Lambs", State == "New South Wales")|>
update_tsibble(index = Month, regular = TRUE)
autoplot(stock, Count)
stock
## # A tsibble: 558 x 4 [1M]
## # Key: Animal, State [1]
## Month Animal State Count
## <mth> <fct> <fct> <dbl>
## 1 1972 Jul Lambs New South Wales 587600
## 2 1972 Aug Lambs New South Wales 553700
## 3 1972 Sep Lambs New South Wales 494900
## 4 1972 Oct Lambs New South Wales 533500
## 5 1972 Nov Lambs New South Wales 574300
## 6 1972 Dec Lambs New South Wales 517500
## 7 1973 Jan Lambs New South Wales 562600
## 8 1973 Feb Lambs New South Wales 426900
## 9 1973 Mar Lambs New South Wales 496300
## 10 1973 Apr Lambs New South Wales 496000
## # ℹ 548 more rows
Este caso se podrÃa decir que se ve una ligera estacionalidad, por lo que veremos el pronostico a traves de los modelos naive, snaive y drift.
# Fit the models
stock_fit <- stock |>
model(
Drifts = RW(Count ~ drift()),
`Naïves` = NAIVE(Count),
`Seasonal Naïves`= SNAIVE(Count),
)
# Pronosticamos los proximos 48 meses
stock_fc <- stock_fit |> forecast(h = 48)
# Plot forecasts against actual values
stock_fc |>
autoplot(stock, level = NULL) +
autolayer(
filter_index(stock, "2019 Jan" ~ .),
colour = "black"
) +
labs(
y = "Cantidad",
title = "Pronóstico para las cantidades de New South Wales - Lambs"
) +
guides(colour = guide_legend(title = "Forecast"))
## Plot variable not specified, automatically selected `.vars = Count`
Separare los modelos para poder visaualizarlos uno por uno.
modrifs <- stock_fc |>
filter(.model == "Drifts")
modnaives <- stock_fc |>
filter(.model == "Naïves")
modsnaives <- stock_fc |>
filter(.model == "Seasonal Naïves")
Procederemos a gráficar cada modelo.
autoplot(modrifs, stock)+
labs(
y = "Cantidad",
title = "Pronóstico para los animales en existencia de NSW-Lambs con modelo Drift"
)
autoplot(modnaives , stock) + labs(
y = "Cantidad",
title = "Pronóstico para los animales en existencia de NSW-Lambs con modelo Naive"
)
autoplot(modsnaives, stock) + labs(
y = "Cantidad",
title = "Pronóstico para los animales en existencia de NSW-Lambs con modelo Snaive"
)
household <- hh_budget |>
select(Country, Year, Wealth)|>
update_tsibble(index = Year, regular = TRUE)
autoplot(household, Wealth)
household
## # A tsibble: 88 x 3 [1Y]
## # Key: Country [4]
## Country Year Wealth
## <chr> <dbl> <dbl>
## 1 Australia 1995 315.
## 2 Australia 1996 315.
## 3 Australia 1997 323.
## 4 Australia 1998 339.
## 5 Australia 1999 354.
## 6 Australia 2000 350.
## 7 Australia 2001 348.
## 8 Australia 2002 349.
## 9 Australia 2003 360.
## 10 Australia 2004 379.
## # ℹ 78 more rows
Este caso se podrÃa decir que no hay estacionalidad, por lo que veremos el pronostico a traves de los modelos naive y drift.
# Fit the models
household_fit <- household |>
model(
Drifth = RW(Wealth ~ drift()),
`Naïveh` = NAIVE(Wealth),
)
# Pronosticamos los proximos 5 años
household_fc <- household_fit |> forecast(h = 5)
# Plot forecasts against actual values
household_fc |>
autoplot(household, level = NULL) +
autolayer(
filter_index(household, "2017" ~ .),
colour = "black"
) +
labs(
y = "$MXN",
title = "Pronóstico para el poder adquisitivo de los hogares"
) +
guides(colour = guide_legend(title = "Forecast"))
## Plot variable not specified, automatically selected `.vars = Wealth`
Separare los modelos para poder visaualizarlos uno por uno.
modrifh <- household_fc |>
filter(.model == "Drifth")
modnaiveh <- household_fc |>
filter(.model == "Naïveh")
Procederemos a gráficar cada modelo.
autoplot(modrifh, household)+
labs(
y = "$MXN",
title = "Pronóstico para el poder adquisitivo de los hogares con modelo Drift"
)
autoplot(modnaiveh , household) + labs(
y = "$MXN",
title = "Pronóstico para el poder adquisitivo de los hogares con modelo Naive"
)
food <- aus_retail |>
filter(State=="Australian Capital Territory", Industry=="Cafes, restaurants and catering services")|>
update_tsibble(index = Month, regular = TRUE)
autoplot(food, Turnover)
food
## # A tsibble: 441 x 5 [1M]
## # Key: State, Industry [1]
## State Industry `Series ID` Month Turnover
## <chr> <chr> <chr> <mth> <dbl>
## 1 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Apr 4.4
## 2 Australian Capital Territory Cafes, restaurant… A3349849A 1982 May 3.4
## 3 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Jun 3.6
## 4 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Jul 4
## 5 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Aug 3.6
## 6 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Sep 4.2
## 7 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Oct 4.8
## 8 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Nov 5.4
## 9 Australian Capital Territory Cafes, restaurant… A3349849A 1982 Dec 6.9
## 10 Australian Capital Territory Cafes, restaurant… A3349849A 1983 Jan 3.8
## # ℹ 431 more rows
Este caso se podrÃa decir que se ve una ligera estacionalidad, por lo que veremos el pronostico a traves de los modelos naive, snaive y drift.
# Fit the models
food_fit <- food |>
model(
Driftf = RW(Turnover ~ drift()),
`Naïvef` = NAIVE(Turnover),
`Seasonal Naïvef`= SNAIVE(Turnover),
)
# Pronosticamos los proximos 48 meses
food_fc <- food_fit |> forecast(h = 48)
# Plot forecasts against actual values
food_fc |>
autoplot(food, level = NULL) +
autolayer(
filter_index(food, "2019 Jan" ~ .),
colour = "black"
) +
labs(
y = "Cantidad",
title = "Pronóstico para la comida para llevar"
) +
guides(colour = guide_legend(title = "Forecast"))
## Plot variable not specified, automatically selected `.vars = Turnover`
Separare los modelos para poder visualizarlos uno por uno.
modriftf <- food_fc |>
filter(.model == "Driftf")
modnaivef <- food_fc |>
filter(.model == "Naïvef")
modsnaivef <- food_fc |>
filter(.model == "Seasonal Naïvef")
Procederemos a gráficar cada modelo.
autoplot(modriftf, food)+
labs(
y = "Cantidad",
title = "Pronóstico para la facturación de la comida para llevar con modelo Drift"
)
autoplot(modnaivef , food) + labs(
y = "Cantidad",
title = "Pronóstico para la facturación de la comida para llevar con modelo Naive"
)
autoplot(modsnaivef, food) + labs(
y = "Cantidad",
title = "Pronóstico para la la facturación de la comida para llevar con modelo Snaive"
)