Skip to contents

Builds a monthly count series via stats::ts, fits ARIMA(1,1,1) with stats::arima, and forecasts h periods ahead with stats::predict. AIC is reported from the fit; BIC is computed manually as AIC + k * (log(n) - 2).

Usage

morie_tps_arima_forecast(df, h = 12L, ds_name = "?")

Arguments

df

A data.frame.

h

Forecast horizon in months.

ds_name

Character label.

Value

A morie_rich_result list with forecast, aic, bic, n_train.

Examples

set.seed(1)
df <- data.frame(OCC_YEAR = rep(2014:2023, each = 30),
                 OCC_MONTH = sample(month.name, 300, TRUE),
                 HOOD_158 = sample(sprintf("%03d", 1:20), 300, TRUE),
                 LAT_WGS84 = runif(300, 43.6, 43.8),
                 LONG_WGS84 = runif(300, -79.5, -79.2))
res <- try(morie_tps_arima_forecast(df, h = 4L, ds_name = "synthetic"))
if (!inherits(res, "try-error")) str(res, max.level = 1)
#> List of 5
#>  $ title         : chr "ARIMA -- synthetic"
#>  $ call          : chr "morie_tps_arima_forecast(df=<300r>, h=4)"
#>  $ summary_lines : list()
#>  $ warnings      : chr "need >=24 months, got 0"
#>  $ interpretation: chr "No analysis: at least 24 months required."
#>  - attr(*, "class")= chr [1:3] "morie_tps_temporal_result" "morie_rich_result" "list"