In fable
's ARIMA
function, we have the option to see all models that are evaluated with the trace = TRUE
option. (Example below.) This output just prints to the console.
Is there any place that this model evaluation history is getting saved or is there any way to save the printed console output?
library(dplyr)
library(fable)
library(tsibble)
library(tsibbledata)
df <- aus_livestock |>
filter(Animal == 'Pigs', State == 'Queensland')
fcst <- df |>
model(arima = ARIMA(Count, trace = TRUE))
# Prints all models tried, but only saves final selected model:
# Model specification Selection metric
# ARIMA(2,1,2)(1,0,1)[12]+c Inf
# ARIMA(0,1,0)(0,0,0)[12]+c 21811.280078
# ARIMA(1,1,0)(1,0,0)[12]+c 21524.227259
# ARIMA(0,1,1)(0,0,1)[12]+c 21470.955343
# Search iteration complete: Current best fit is 0 1 1 0 0 1 1
# ARIMA(0,1,1)(0,0,0)[12]+c 21562.904816
# ARIMA(0,1,0)(0,0,1)[12]+c 21710.467789
# ARIMA(0,1,1)(0,0,1)[12] 21469.103988
# Search iteration complete: Current best fit is 0 1 1 0 0 1 0
# ...
# ...
# ...
There are some options to read the output
capture.output
to a file
capture.output(fcst <- df |>
model(arima = ARIMA(Count, trace = TRUE)),
file = file.path(getwd(), 'arimaout.text'))
logger
) to write it to a log filelibrary(logger)
log_formatter(formatter_glue)
t <- tempfile()
log_appender(appender_file(t))
log_info('{capture.output(fcst <- df |> model(arima = ARIMA(Count, trace = TRUE)))}')
log_appender()
-read the log file
readLines(t) |>
head()
[1] "INFO [2021-12-04 12:20:58] Model specification\t\tSelection metric"
[2] "INFO [2021-12-04 12:20:58] ARIMA(2,1,2)(1,0,1)[12]+c\tInf"
[3] "INFO [2021-12-04 12:20:58] ARIMA(0,1,0)(0,0,0)[12]+c\t21811.280078"
[4] "INFO [2021-12-04 12:20:58] ARIMA(1,1,0)(1,0,0)[12]+c\t21524.227259"
[5] "INFO [2021-12-04 12:20:58] ARIMA(0,1,1)(0,0,1)[12]+c\t21470.955343"
[6] "INFO [2021-12-04 12:20:58] Search iteration complete: Current best fit is 0 1 1 0 0 1 1 "
unlink
if temporary file
unlink(t)