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
# ...
# ...
# ...
CodePudding user response:
There are some options to read the output
- Write the output of
capture.output
to afile
capture.output(fcst <- df |>
model(arima = ARIMA(Count, trace = TRUE)),
file = file.path(getwd(), 'arimaout.text'))
- May also use a package (
logger
) to write it to a log file
library(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)