Extending the Theta forecasting method to GLMs, GAMs, GLMBOOST and attention: benchmarking on Tourism, M1, M3 and M4 competition data sets (28000 series)

R-bloggers 2025-04-15

[This article was first published on T. Moudiki's Webpage - R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Last week, I presented a new version of ahead, which includes an extension of the Theta forecasting method to Generalized Linear Models (GLMs), GAMs, GLMBoost, and an attention mechanism (work in progress).

This post demonstrates the performance of the new method on Tourism (1311 series), M1 (1001 series), M3 (3003 series), and M4 Yearly (23000 series) competition data sets. Workhorse models are used to benchmark the new method, including glm.nb, glm, rlm, lqs, gam, and glmboost.

The results are compared to the original Theta method, and are highly competitive, especially on the Tourism and M4 Yearly data sets (MASE, RMSE).

image-title-here

%load_ext rpy2.ipython

1 – R

%%Roptions(repos = c(techtonique = "https://r-packages.techtonique.net",                    CRAN = "https://cloud.r-project.org"))install.packages("ahead")install.packages("remotes")install.packages("doParallel")install.packages("quantreg")install.packages("memoise")install.packages("Mcomp")install.packages("Tcomp")install.packages("gam")install.packages("mboost")install.packages("https://github.com/carlanetto/M4comp2018/releases/download/0.2.0/M4comp2018_0.2.0.tar.gz",                  repos=NULL)%%Rinstall.packages("knitr")install.packages("kableExtra")library(knitr)library(kableExtra)%%Rinstall.packages("gt")library(gt)%%R#install.packages("forecast")library(forecast)require(Mcomp)coverage_score <- function(obj, actual){  if (is.null(obj$lower))  {    return(mean((obj$intervals[, 1] <= actual)*(actual <= obj$intervals[, 2]), na.rm=TRUE)*100)  }  return(mean((obj$lower <= actual)*(actual <= obj$upper), na.rm=TRUE)*100)}#coverage_score <- memoise::memoise(coverage_score)winkler_score <- function(obj, actual, level = 95) {  alpha <- 1 - level / 100  lt <- try(obj$lower, silent = TRUE)  ut <- try(obj$upper, silent = TRUE)  actual <- as.numeric(actual)  if (is.null(lt) || is.null(ut))  {    lt <- as.numeric(obj$intervals[, 1])    ut <- as.numeric(obj$intervals[, 2])  }  n_points <- length(actual)  stopifnot((n_points == length(lt)) && (n_points == length(ut)))  diff_lt <- lt - actual  diff_bounds <- ut - lt  diff_ut <- actual - ut  score <- diff_bounds  score <- score + (2 / alpha) * (pmax(diff_lt, 0) + pmax(diff_ut, 0))  return(mean(score, na.rm=TRUE))}#winkler_score <- memoise::memoise(winkler_score)accuracy <- function(obj, actual, level = 95){  actual <- as.numeric(actual)  mean_prediction <- as.numeric(obj$mean)  me <- mean(mean_prediction - actual)  rmse <- sqrt(mean((mean_prediction - actual)**2, na.rm=TRUE))  mae <- mean(abs(mean_prediction - actual), na.rm=TRUE)  mpe <- mean(mean_prediction/actual-1, na.rm=TRUE)  mape <- mean(abs(mean_prediction/actual-1), na.rm=TRUE)  m <- frequency(obj$x)   # e.g., 12 for monthly data  # Compute scaling factor (MAE of in-sample seasonal naive forecasts)  if (m > 1) {    scale <- mean(abs(diff(obj$x, lag = m)), na.rm=TRUE)  } else {    scale <- mean(abs(diff(obj$x, lag = 1)), na.rm=TRUE)  }  # MASE = mean(|test - forecast|) / scale  mase <- mean(abs(actual - obj$mean), na.rm=TRUE) / max(scale, 1e-6)  coverage <- as.numeric(coverage_score(obj, actual))  winkler <- winkler_score(obj, actual, level = level)  res <- c(me, rmse, mae, mpe,           mape, mase, coverage, winkler)  names(res) <- c("me", "rmse", "mae", "mpe",                  "mape", "mase", "coverage", "winkler")  return(res)}#accuracy <- memoise::memoise(accuracy)thetaf <- memoise::memoise(forecast::thetaf)glmthetaf <- memoise::memoise(ahead::glmthetaf)Registered S3 method overwritten by 'quantmod':  method            from  as.zoo.data.frame zoo Loading required package: Mcomp

1 - 1 Tcomp

%%R# Load necessary librarieslibrary(doSNOW)library(tcltk)# Tcomp series -----(nseries <- length(Tcomp::tourism))# Set up parallel backendcl <- makeSOCKcluster(parallel::detectCores())  # Use 2 cores (adjust as needed)registerDoSNOW(cl)# Define progress barpb <- txtProgressBar(min = 0, max = nseries, style = 3)# Progress functionprogress <- function(n) setTxtProgressBar(pb, n)# Options for progress trackingopts <- list(progress = progress)# Parallel loop with progress barresults <- foreach(i = 1:nseries, .combine = rbind,                   .errorhandling = "remove",                   .export=c("accuracy", "coverage_score", "winkler_score"),                   .options.snow = opts) %dopar% {  x <- Tcomp::tourism[[i]]$x  xx <- Tcomp::tourism[[i]]$xx  h <- length(xx)  # thetaf  obj <- try(suppressWarnings(thetaf(x, h = h, level=95)),             silent=TRUE)  res1 <- accuracy(obj, xx)  # glmthetaf with MASS::glm.nb  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = MASS::glm.nb,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res2 <- accuracy(obj, xx)  # glmthetaf with stats::glm  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = stats::glm,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res3 <- accuracy(obj, xx)  # glmthetaf with MASS::rlm  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = MASS::rlm,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res4 <- accuracy(obj, xx)  # glmthetaf with MASS::lqs  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = MASS::lqs,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res5 <- accuracy(obj, xx)  # glmthetaf with gam::gam  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = gam::gam,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res6 <- accuracy(obj, xx)  # glmthetaf with quantreg::rq  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = quantreg::rq,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res7 <- accuracy(obj, xx)  # glmthetaf with quantreg::rq  obj <- try(suppressWarnings(glmthetaf(x, h = h,                                    fit_func = mboost::glmboost,                                    attention = TRUE)),             silent=TRUE)  if (inherits(obj, "try-error"))  {   obj <- forecast:::snaive(time_series, h = forecast_horizon)  }  res8 <- accuracy(obj, xx)  # Determine period  period <- switch(Tcomp::tourism[[i]]$period,                   "YEARLY" = 1,                   "QUARTERLY" = 4,                   "MONTHLY" = 12)  # Combine results  res <- cbind(i, period,               res1, res2,               res3, res4,               res5, res6,               res7, res8)  colnames(res) <- c("series", "period", "theta", "glmnbtheta",                     "glmtheta", "rlmtheta", "lqstheta",                     "gamtheta", "quantregtheta", "glmboosttheta")  res}# Stop clusterstopCluster(cl)# Close progress barclose(pb)# Convert results to data frameresults <- data.frame(results)base::saveRDS(results, "results_Tcomp.rds")%%Rprint(head(results))print(tail(results))print(dim(results))from IPython.display import FileLink# Create a download link for the fileFileLink('results_Tcomp.rds')%%Rresults_Tcomp <- readRDS("results_Tcomp.rds")cat("\n\n MASE - YEARLY ----- \n\n")print(summary(subset(results_Tcomp[grep("mase", rownames(results_Tcomp)), ], period==1)))cat("\n\n MASE - QUARTERLY ----- \n\n")print(summary(subset(results_Tcomp[grep("mase", rownames(results_Tcomp)), ], period==4)))cat("\n\n MASE - MONTHLY ----- \n\n")print(summary(subset(results_Tcomp[grep("mase", rownames(results_Tcomp)), ], period==12)))cat("\n\n RMSE - YEARLY ----- \n\n")print(summary(subset(results_Tcomp[grep("rmse", rownames(results_Tcomp)), ], period==1)))cat("\n\n RMSE - QUARTERLY ----- \n\n")print(summary(subset(results_Tcomp[grep("rmse", rownames(results_Tcomp)), ], period==4)))cat("\n\n RMSE - MONTHLY ----- \n\n")print(summary(subset(results_Tcomp[grep("rmse", rownames(results_Tcomp)), ], period==12)))cat("\n\n COVERAGE - YEARLY ----- \n\n")print(summary(subset(results_Tcomp[grep("coverage", rownames(results_Tcomp)), ], period==1)))cat("\n\n COVERAGE - QUARTERLY ----- \n\n")print(summary(subset(results_Tcomp[grep("coverage", rownames(results_Tcomp)), ], period==4)))cat("\n\n COVERAGE - MONTHLY ----- \n\n")print(summary(subset(results_Tcomp[grep("coverage", rownames(results_Tcomp)), ], period==12)))cat("\n\n WINKLER - YEARLY ----- \n\n")print(summary(subset(results_Tcomp[grep("winkler", rownames(results_Tcomp)), ], period==1)))cat("\n\n WINKLER - QUARTERLY ----- \n\n")print(summary(subset(results_Tcomp[grep("winkler", rownames(results_Tcomp)), ], period==4)))cat("\n\n WINKLER - MONTHLY ----- \n\n")print(summary(subset(results_Tcomp[grep("winkler", rownames(results_Tcomp)), ], period==12))) MASE - YEARLY -----      series         period      theta           glmnbtheta       Min.   : 794   Min.   :1   Min.   : 0.1659   Min.   : 0.05748   1st Qu.: 923   1st Qu.:1   1st Qu.: 1.1639   1st Qu.: 1.35532   Median :1053   Median :1   Median : 2.0521   Median : 2.36326   Mean   :1053   Mean   :1   Mean   : 2.7308   Mean   : 3.02522   3rd Qu.:1182   3rd Qu.:1   3rd Qu.: 3.4393   3rd Qu.: 4.01984   Max.   :1311   Max.   :1   Max.   :12.6591   Max.   :13.42235      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   : 0.2033   Min.   : 0.2137   Min.   : 0.1668   Min.   : 0.2033   1st Qu.: 1.1759   1st Qu.: 1.1730   1st Qu.: 1.2353   1st Qu.: 1.1759   Median : 2.0773   Median : 2.0348   Median : 2.1894   Median : 2.0773   Mean   : 2.7258   Mean   : 2.7045   Mean   : 2.8242   Mean   : 2.7258   3rd Qu.: 3.4659   3rd Qu.: 3.4703   3rd Qu.: 3.8215   3rd Qu.: 3.4659   Max.   :12.7243   Max.   :12.2952   Max.   :14.8614   Max.   :12.7243   quantregtheta     glmboosttheta     Min.   : 0.1855   Min.   : 0.2033   1st Qu.: 1.2333   1st Qu.: 1.1759   Median : 2.1000   Median : 2.0774   Mean   : 2.7308   Mean   : 2.7258   3rd Qu.: 3.5459   3rd Qu.: 3.4658   Max.   :12.6997   Max.   :12.7241   MASE - QUARTERLY -----      series          period      theta          glmnbtheta        glmtheta      Min.   :367.0   Min.   :4   Min.   :0.1435   Min.   :0.2547   Min.   :0.3146   1st Qu.:473.5   1st Qu.:4   1st Qu.:0.9411   1st Qu.:0.9345   1st Qu.:0.9216   Median :580.0   Median :4   Median :1.3482   Median :1.3963   Median :1.3393   Mean   :580.0   Mean   :4   Mean   :1.6613   Mean   :1.6622   Mean   :1.5744   3rd Qu.:686.5   3rd Qu.:4   3rd Qu.:2.0063   3rd Qu.:1.9796   3rd Qu.:1.9217   Max.   :793.0   Max.   :4   Max.   :6.5581   Max.   :7.1608   Max.   :7.5383      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :0.3075   Min.   :0.2563   Min.   :0.3146   Min.   :0.2485   1st Qu.:0.9121   1st Qu.:0.8884   1st Qu.:0.9216   1st Qu.:0.9178   Median :1.3063   Median :1.3483   Median :1.3393   Median :1.3200   Mean   :1.5657   Mean   :1.6053   Mean   :1.5744   Mean   :1.5725   3rd Qu.:1.8925   3rd Qu.:1.9778   3rd Qu.:1.9217   3rd Qu.:1.9146   Max.   :7.5300   Max.   :7.4773   Max.   :7.5383   Max.   :7.5101   glmboosttheta    Min.   :0.3146   1st Qu.:0.9216   Median :1.3393   Mean   :1.5744   3rd Qu.:1.9217   Max.   :7.5382   MASE - MONTHLY -----      series           period       theta          glmnbtheta     Min.   :  1.00   Min.   :12   Min.   :0.2306   Min.   :0.3772   1st Qu.: 92.25   1st Qu.:12   1st Qu.:1.0318   1st Qu.:1.0078   Median :183.50   Median :12   Median :1.3823   Median :1.3077   Mean   :183.50   Mean   :12   Mean   :1.6488   Mean   :1.5406   3rd Qu.:274.75   3rd Qu.:12   3rd Qu.:1.9223   3rd Qu.:1.7017   Max.   :366.00   Max.   :12   Max.   :6.5851   Max.   :6.3361      glmtheta         rlmtheta         lqstheta         gamtheta      Min.   :0.3479   Min.   :0.3458   Min.   :0.3703   Min.   :0.3479   1st Qu.:0.9531   1st Qu.:0.9477   1st Qu.:0.9981   1st Qu.:0.9531   Median :1.2789   Median :1.2788   Median :1.3063   Median :1.2789   Mean   :1.5083   Mean   :1.5005   Mean   :1.5058   Mean   :1.5083   3rd Qu.:1.7390   3rd Qu.:1.7282   3rd Qu.:1.7290   3rd Qu.:1.7390   Max.   :6.2486   Max.   :6.0757   Max.   :5.9378   Max.   :6.2486   quantregtheta    glmboosttheta    Min.   :0.3468   Min.   :0.3479   1st Qu.:0.9544   1st Qu.:0.9531   Median :1.2783   Median :1.2789   Mean   :1.5001   Mean   :1.5083   3rd Qu.:1.7180   3rd Qu.:1.7390   Max.   :6.0329   Max.   :6.2486   RMSE - YEARLY -----      series         period      theta           glmnbtheta      Min.   : 794   Min.   :1   Min.   :      0   Min.   :      0   1st Qu.: 923   1st Qu.:1   1st Qu.:    523   1st Qu.:    621   Median :1053   Median :1   Median :   3469   Median :   3866   Mean   :1053   Mean   :1   Mean   :  92401   Mean   :  97418   3rd Qu.:1182   3rd Qu.:1   3rd Qu.:  16640   3rd Qu.:  17956   Max.   :1311   Max.   :1   Max.   :9308127   Max.   :7103768      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :       0   Min.   :       0   Min.   :       0   Min.   :       0   1st Qu.:     570   1st Qu.:     570   1st Qu.:     621   1st Qu.:     570   Median :    3086   Median :    3043   Median :    3036   Median :    3086   Mean   :  104771   Mean   :  105078   Mean   :  153605   Mean   :  104771   3rd Qu.:   17828   3rd Qu.:   18013   3rd Qu.:   16787   3rd Qu.:   17828   Max.   :17859424   Max.   :17859424   Max.   :22096361   Max.   :17859424   quantregtheta      glmboosttheta      Min.   :       0   Min.   :       0   1st Qu.:     601   1st Qu.:     570   Median :    3172   Median :    3086   Mean   :   96344   Mean   :  104770   3rd Qu.:   17791   3rd Qu.:   17828   Max.   :14863748   Max.   :17859129   RMSE - QUARTERLY -----      series          period      theta             glmnbtheta        Min.   :367.0   Min.   :4   Min.   :     14.3   Min.   :      9.8   1st Qu.:473.5   1st Qu.:4   1st Qu.:    437.0   1st Qu.:    458.4   Median :580.0   Median :4   Median :   1392.9   Median :   1261.3   Mean   :580.0   Mean   :4   Mean   :   9254.6   Mean   :  11103.8   3rd Qu.:686.5   3rd Qu.:4   3rd Qu.:   4819.2   3rd Qu.:   4682.0   Max.   :793.0   Max.   :4   Max.   :1010121.0   Max.   :1491237.3      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :    12.2   Min.   :    12.3   Min.   :     9.2   Min.   :    12.2   1st Qu.:   426.0   1st Qu.:   429.8   1st Qu.:   428.4   1st Qu.:   426.0   Median :  1262.9   Median :  1245.3   Median :  1263.3   Median :  1262.9   Mean   :  8026.0   Mean   :  7892.1   Mean   :  7993.1   Mean   :  8026.0   3rd Qu.:  4202.2   3rd Qu.:  4162.0   3rd Qu.:  4570.7   3rd Qu.:  4202.2   Max.   :429038.8   Max.   :427515.5   Max.   :466923.3   Max.   :429038.8   quantregtheta      glmboosttheta      Min.   :    12.3   Min.   :    12.2   1st Qu.:   428.2   1st Qu.:   426.0   Median :  1242.5   Median :  1262.8   Mean   :  7714.7   Mean   :  8026.0   3rd Qu.:  4225.0   3rd Qu.:  4202.2   Max.   :439185.7   Max.   :429043.0   RMSE - MONTHLY -----      series           period       theta             glmnbtheta        Min.   :  1.00   Min.   :12   Min.   :    40.19   Min.   :    35.52   1st Qu.: 92.25   1st Qu.:12   1st Qu.:   267.63   1st Qu.:   256.08   Median :183.50   Median :12   Median :   675.10   Median :   586.62   Mean   :183.50   Mean   :12   Mean   :  2701.96   Mean   :  2571.03   3rd Qu.:274.75   3rd Qu.:12   3rd Qu.:  2181.65   3rd Qu.:  2042.95   Max.   :366.00   Max.   :12   Max.   :107131.65   Max.   :101604.31      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   35.58   Min.   :   35.69   Min.   :   38.55   Min.   :   35.58   1st Qu.:  239.40   1st Qu.:  239.10   1st Qu.:  244.94   1st Qu.:  239.40   Median :  593.21   Median :  590.25   Median :  575.99   Median :  593.21   Mean   : 2404.19   Mean   : 2379.51   Mean   : 2350.07   Mean   : 2404.19   3rd Qu.: 1945.45   3rd Qu.: 1917.55   3rd Qu.: 1945.51   3rd Qu.: 1945.45   Max.   :83410.95   Max.   :81413.31   Max.   :81483.87   Max.   :83410.95   quantregtheta      glmboosttheta      Min.   :   35.77   Min.   :   35.58   1st Qu.:  241.63   1st Qu.:  239.40   Median :  582.61   Median :  593.22   Mean   : 2345.52   Mean   : 2404.19   3rd Qu.: 1881.51   3rd Qu.: 1945.45   Max.   :70072.82   Max.   :83409.12   COVERAGE - YEARLY -----      series         period      theta          glmnbtheta        glmtheta      Min.   : 794   Min.   :1   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 923   1st Qu.:1   1st Qu.: 50.00   1st Qu.: 50.00   1st Qu.: 50.00   Median :1053   Median :1   Median :100.00   Median :100.00   Median : 75.00   Mean   :1053   Mean   :1   Mean   : 77.56   Mean   : 72.68   Mean   : 71.23   3rd Qu.:1182   3rd Qu.:1   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :1311   Max.   :1   Max.   :100.00   Max.   :100.00   Max.   :100.00      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 50.00   1st Qu.: 50.00   1st Qu.: 50.00   1st Qu.: 50.00   Median :100.00   Median :100.00   Median : 75.00   Median : 75.00   Mean   : 71.37   Mean   : 71.62   Mean   : 71.23   Mean   : 71.08   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   glmboosttheta    Min.   :  0.00   1st Qu.: 50.00   Median : 75.00   Mean   : 71.23   3rd Qu.:100.00   Max.   :100.00   COVERAGE - QUARTERLY -----      series          period      theta          glmnbtheta        glmtheta      Min.   :367.0   Min.   :4   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.:473.5   1st Qu.:4   1st Qu.: 75.00   1st Qu.: 87.50   1st Qu.: 87.50   Median :580.0   Median :4   Median : 87.50   Median :100.00   Median :100.00   Mean   :580.0   Mean   :4   Mean   : 83.37   Mean   : 92.71   Mean   : 91.39   3rd Qu.:686.5   3rd Qu.:4   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :793.0   Max.   :4   Max.   :100.00   Max.   :100.00   Max.   :100.00      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 87.50   1st Qu.: 87.50   1st Qu.: 87.50   1st Qu.: 87.50   Median :100.00   Median :100.00   Median :100.00   Median :100.00   Mean   : 91.66   Mean   : 91.57   Mean   : 91.39   Mean   : 91.66   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   glmboosttheta    Min.   :  0.00   1st Qu.: 87.50   Median :100.00   Mean   : 91.39   3rd Qu.:100.00   Max.   :100.00   COVERAGE - MONTHLY -----      series           period       theta          glmnbtheta     Min.   :  1.00   Min.   :12   Min.   : 12.50   Min.   : 16.67   1st Qu.: 92.25   1st Qu.:12   1st Qu.: 79.17   1st Qu.: 91.67   Median :183.50   Median :12   Median : 87.50   Median :100.00   Mean   :183.50   Mean   :12   Mean   : 84.41   Mean   : 94.40   3rd Qu.:274.75   3rd Qu.:12   3rd Qu.: 95.83   3rd Qu.:100.00   Max.   :366.00   Max.   :12   Max.   :100.00   Max.   :100.00      glmtheta         rlmtheta         lqstheta         gamtheta      Min.   : 29.17   Min.   : 29.17   Min.   : 20.83   Min.   : 29.17   1st Qu.: 91.67   1st Qu.: 91.67   1st Qu.: 91.67   1st Qu.: 91.67   Median : 95.83   Median : 95.83   Median : 95.83   Median : 95.83   Mean   : 93.56   Mean   : 93.64   Mean   : 93.74   Mean   : 93.56   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   quantregtheta    glmboosttheta    Min.   : 25.00   Min.   : 29.17   1st Qu.: 91.67   1st Qu.: 91.67   Median : 95.83   Median : 95.83   Mean   : 93.64   Mean   : 93.56   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   WINKLER - YEARLY -----      series         period      theta             glmnbtheta        Min.   : 794   Min.   :1   Min.   :        0   Min.   :        0   1st Qu.: 923   1st Qu.:1   1st Qu.:     3353   1st Qu.:     4395   Median :1053   Median :1   Median :    19179   Median :    27045   Mean   :1053   Mean   :1   Mean   :   991140   Mean   :  1354242   3rd Qu.:1182   3rd Qu.:1   3rd Qu.:   121725   3rd Qu.:   152326   Max.   :1311   Max.   :1   Max.   :131631759   Max.   :139207678      glmtheta            rlmtheta            lqstheta         Min.   :        0   Min.   :        0   Min.   :        0   1st Qu.:     3987   1st Qu.:     3962   1st Qu.:     4672   Median :    22339   Median :    23038   Median :    23000   Mean   :  1428806   Mean   :  1430121   Mean   :  2640349   3rd Qu.:   152825   3rd Qu.:   152825   3rd Qu.:   140807   Max.   :220841357   Max.   :220841357   Max.   :591435564      gamtheta         quantregtheta       glmboosttheta       Min.   :        0   Min.   :        0   Min.   :        0   1st Qu.:     3987   1st Qu.:     4321   1st Qu.:     3987   Median :    22339   Median :    23113   Median :    22338   Mean   :  1428806   Mean   :  1209054   Mean   :  1428804   3rd Qu.:   152825   3rd Qu.:   147477   3rd Qu.:   152834   Max.   :220841357   Max.   :144113476   Max.   :220837127   WINKLER - QUARTERLY -----      series          period      theta           glmnbtheta      Min.   :367.0   Min.   :4   Min.   :    119   Min.   :    182   1st Qu.:473.5   1st Qu.:4   1st Qu.:   2802   1st Qu.:   2784   Median :580.0   Median :4   Median :   9777   Median :   9358   Mean   :580.0   Mean   :4   Mean   :  65465   Mean   :  87156   3rd Qu.:686.5   3rd Qu.:4   3rd Qu.:  35033   3rd Qu.:  34782   Max.   :793.0   Max.   :4   Max.   :4614660   Max.   :8044282      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   :    160   Min.   :    159   Min.   :    161   Min.   :    160   1st Qu.:   2770   1st Qu.:   2725   1st Qu.:   2665   1st Qu.:   2770   Median :   8187   Median :   7965   Median :   7905   Median :   8187   Mean   :  70215   Mean   :  68396   Mean   :  70960   Mean   :  70215   3rd Qu.:  31793   3rd Qu.:  31746   3rd Qu.:  32823   3rd Qu.:  31793   Max.   :4942200   Max.   :4952162   Max.   :4783339   Max.   :4942200   quantregtheta     glmboosttheta     Min.   :    147   Min.   :    160   1st Qu.:   2704   1st Qu.:   2770   Median :   7863   Median :   8187   Mean   :  68699   Mean   :  70216   3rd Qu.:  31788   3rd Qu.:  31793   Max.   :4927588   Max.   :4942298   WINKLER - MONTHLY -----      series           period       theta            glmnbtheta        Min.   :  1.00   Min.   :12   Min.   :   225.7   Min.   :    174.9   1st Qu.: 92.25   1st Qu.:12   1st Qu.:  1728.9   1st Qu.:   1493.6   Median :183.50   Median :12   Median :  4769.1   Median :   4016.7   Mean   :183.50   Mean   :12   Mean   : 19385.1   Mean   :  20667.8   3rd Qu.:274.75   3rd Qu.:12   3rd Qu.: 14892.4   3rd Qu.:  13917.2   Max.   :366.00   Max.   :12   Max.   :622300.5   Max.   :1200917.2      glmtheta            rlmtheta            lqstheta         Min.   :    175.7   Min.   :    175.8   Min.   :    182.2   1st Qu.:   1339.0   1st Qu.:   1338.2   1st Qu.:   1425.4   Median :   4099.8   Median :   4048.5   Median :   3676.0   Mean   :  19029.6   Mean   :  18880.7   Mean   :  19139.1   3rd Qu.:  12796.5   3rd Qu.:  12717.9   3rd Qu.:  12594.7   Max.   :1030204.8   Max.   :1035876.3   Max.   :1108778.7      gamtheta         quantregtheta       glmboosttheta       Min.   :    175.7   Min.   :    175.9   Min.   :    175.7   1st Qu.:   1339.0   1st Qu.:   1335.8   1st Qu.:   1339.0   Median :   4099.8   Median :   3987.9   Median :   4099.8   Mean   :  19029.6   Mean   :  18961.6   Mean   :  19029.6   3rd Qu.:  12796.5   3rd Qu.:  12561.8   3rd Qu.:  12796.5   Max.   :1030204.8   Max.   :1064937.4   Max.   :1030209.7  

1 - 2 - M3

%%R# Load necessary librarieslibrary(doSNOW)library(tcltk)require(Mcomp)nseries <- length(M3)# Set up parallel backendcl <- makeSOCKcluster(parallel::detectCores())  # Use 2 cores (adjust as needed)registerDoSNOW(cl)# Define progress barpb <- txtProgressBar(min = 0, max = nseries, style = 3)# Progress functionprogress <- function(n) setTxtProgressBar(pb, n)# Options for progress trackingopts <- list(progress = progress)pb <- utils::txtProgressBar(min=0, max=nseries, style = 3)(M3results <- foreach::foreach(i = 1:nseries, .combine = rbind,                             .errorhandling = "remove",                             .verbose=FALSE,                             .options.snow = opts)%dopar%{                               x <- Mcomp::M3[[i]]$x                               xx <- Mcomp::M3[[i]]$xx                               h <- length(xx)                               obj <- suppressWarnings(thetaf(x, h=h, level=95))                               res1 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::glm.nb,                                                                        attention = TRUE))                               res2 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=stats::glm,                                                                        attention = TRUE))                               res3 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::rlm,                                                                        attention = TRUE))                               res4 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::lqs,                                                                        attention = TRUE))                               res5 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=gam::gam,                                                                        attention = TRUE))                               res6 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=quantreg::rq,                                                                        attention = TRUE))                               res7 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=mboost::glmboost,                                                                        attention = TRUE))                               res8 <- accuracy(obj, xx)                               period <- switch (Mcomp::M3[[i]]$period,                                                 "YEARLY" = 1,                                                 "QUARTERLY" = 4,                                                 "MONTHLY" = 12,                                                 "OTHER" = 99                               )                               utils::setTxtProgressBar(pb, i)                               res <- cbind(i, period,                                            res1, res2,                                            res3, res4,                                            res5, res6,                                            res7, res8)                               colnames(res) <- c("series", "period", "theta", "glmnbtheta",                                                  "glmtheta", "rlmtheta", "lqstheta",                                                  "gamtheta", "quantregtheta", "glmboosttheta")                               res                             })close(pb)M3results <- data.frame(M3results)print(head(M3results))print(tail(M3results))print(dim(M3results))base::saveRDS(M3results, "results_M3.rds")print(summary(subset(M3results[grep("mase", rownames(M3results)), ], period==1)))print(summary(subset(M3results[grep("mase", rownames(M3results)), ], period==4)))print(summary(subset(M3results[grep("mase", rownames(M3results)), ], period==12)))print(summary(subset(M3results[grep("mase", rownames(M3results)), ], period==99)))print(summary(subset(M3results[grep("mae", rownames(M3results)), ], period==1)))print(summary(subset(M3results[grep("mae", rownames(M3results)), ], period==4)))print(summary(subset(M3results[grep("mae", rownames(M3results)), ], period==12)))print(summary(subset(M3results[grep("mae", rownames(M3results)), ], period==99)))print(summary(subset(M3results[grep("rmse", rownames(M3results)), ], period==1)))print(summary(subset(M3results[grep("rmse", rownames(M3results)), ], period==4)))print(summary(subset(M3results[grep("rmse", rownames(M3results)), ], period==12)))print(summary(subset(M3results[grep("rmse", rownames(M3results)), ], period==99)))from IPython.display import FileLink# Create a download link for the fileFileLink('results_M3.rds')%%Rresults_M3 <- readRDS("results_M3.rds")cat("\n\n MASE - YEARLY ----- \n\n")print(summary(subset(results_M3[grep("mase", rownames(results_M3)), ], period==1)))cat("\n\n MASE - QUARTERLY ----- \n\n")print(summary(subset(results_M3[grep("mase", rownames(results_M3)), ], period==4)))cat("\n\n MASE - MONTHLY ----- \n\n")print(summary(subset(results_M3[grep("mase", rownames(results_M3)), ], period==12)))cat("\n\n MASE - OTHER ----- \n\n")print(summary(subset(results_M3[grep("mase", rownames(results_M3)), ], period==99)))cat("\n\n RMSE - YEARLY ----- \n\n")print(summary(subset(results_M3[grep("rmse", rownames(results_M3)), ], period==1)))cat("\n\n RMSE - QUARTERLY ----- \n\n")print(summary(subset(results_M3[grep("rmse", rownames(results_M3)), ], period==4)))cat("\n\n RMSE - MONTHLY ----- \n\n")print(summary(subset(results_M3[grep("rmse", rownames(results_M3)), ], period==12)))cat("\n\n RMSE - OTHER ----- \n\n")print(summary(subset(results_M3[grep("rmse", rownames(results_M3)), ], period==99)))cat("\n\n COVERAGE - YEARLY ----- \n\n")print(summary(subset(results_M3[grep("coverage", rownames(results_M3)), ], period==1)))cat("\n\n COVERAGE - QUARTERLY ----- \n\n")print(summary(subset(results_M3[grep("coverage", rownames(results_M3)), ], period==4)))cat("\n\n COVERAGE - MONTHLY ----- \n\n")print(summary(subset(results_M3[grep("coverage", rownames(results_M3)), ], period==12)))cat("\n\n COVERAGE - OTHER ----- \n\n")print(summary(subset(results_M3[grep("coverage", rownames(results_M3)), ], period==99)))cat("\n\n WINKLER - YEARLY ----- \n\n")print(summary(subset(results_M3[grep("winkler", rownames(results_M3)), ], period==1)))cat("\n\n WINKLER - QUARTERLY ----- \n\n")print(summary(subset(results_M3[grep("winkler", rownames(results_M3)), ], period==4)))cat("\n\n WINKLER - MONTHLY ----- \n\n")print(summary(subset(results_M3[grep("winkler", rownames(results_M3)), ], period==12)))cat("\n\n WINKLER - OTHER ----- \n\n")print(summary(subset(results_M3[grep("winkler", rownames(results_M3)), ], period==99))) MASE - YEARLY -----      series          period      theta            glmnbtheta       Min.   :  1.0   Min.   :1   Min.   : 0.03876   Min.   : 0.06781   1st Qu.:161.5   1st Qu.:1   1st Qu.: 1.13652   1st Qu.: 1.23557   Median :322.0   Median :1   Median : 1.98470   Median : 2.26387   Mean   :322.5   Mean   :1   Mean   : 2.76912   Mean   : 3.19215   3rd Qu.:484.5   3rd Qu.:1   3rd Qu.: 3.35399   3rd Qu.: 4.25194   Max.   :645.0   Max.   :1   Max.   :18.39875   Max.   :19.71222      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   : 0.04206   Min.   : 0.08489   Min.   : 0.03962   Min.   : 0.04206   1st Qu.: 1.11360   1st Qu.: 1.11360   1st Qu.: 1.21102   1st Qu.: 1.11360   Median : 2.14429   Median : 2.09826   Median : 2.30911   Median : 2.14429   Mean   : 2.88090   Mean   : 2.88413   Mean   : 3.13534   Mean   : 2.88090   3rd Qu.: 3.73801   3rd Qu.: 3.72109   3rd Qu.: 4.01386   3rd Qu.: 3.73801   Max.   :21.90144   Max.   :21.77296   Max.   :19.66367   Max.   :21.90144   quantregtheta      glmboosttheta      Min.   : 0.06057   Min.   : 0.04204   1st Qu.: 1.11884   1st Qu.: 1.11358   Median : 2.15137   Median : 2.14420   Mean   : 2.92007   Mean   : 2.88088   3rd Qu.: 3.75612   3rd Qu.: 3.73791   Max.   :21.50529   Max.   :21.90127   MASE - QUARTERLY -----      series           period      theta           glmnbtheta     Min.   : 646.0   Min.   :4   Min.   :0.04948   Min.   :0.0643   1st Qu.: 834.5   1st Qu.:4   1st Qu.:0.50591   1st Qu.:0.6007   Median :1023.0   Median :4   Median :0.83113   Median :1.0169   Mean   :1023.1   Mean   :4   Mean   :1.11726   Mean   :1.2849   3rd Qu.:1211.5   3rd Qu.:4   3rd Qu.:1.36553   3rd Qu.:1.6517   Max.   :1401.0   Max.   :4   Max.   :8.95676   Max.   :9.1094      glmtheta          rlmtheta          lqstheta           gamtheta       Min.   :0.09065   Min.   :0.08851   Min.   : 0.08128   Min.   :0.09065   1st Qu.:0.61515   1st Qu.:0.61881   1st Qu.: 0.68118   1st Qu.:0.61515   Median :1.01690   Median :1.05730   Median : 1.17732   Median :1.01690   Mean   :1.38350   Mean   :1.38570   Mean   : 1.50226   Mean   :1.38350   3rd Qu.:1.76938   3rd Qu.:1.75291   3rd Qu.: 1.95377   3rd Qu.:1.76938   Max.   :8.38250   Max.   :8.39255   Max.   :11.13771   Max.   :8.38250   quantregtheta     glmboosttheta     Min.   :0.07944   Min.   :0.09066   1st Qu.:0.61232   1st Qu.:0.61516   Median :1.06087   Median :1.01687   Mean   :1.42023   Mean   :1.38349   3rd Qu.:1.78674   3rd Qu.:1.76936   Max.   :8.62425   Max.   :8.38252   MASE - MONTHLY -----      series         period       theta           glmnbtheta      Min.   :1402   Min.   :12   Min.   :0.04156   Min.   :0.07518   1st Qu.:1758   1st Qu.:12   1st Qu.:0.49464   1st Qu.:0.55326   Median :2115   Median :12   Median :0.72146   Median :0.79654   Mean   :2115   Mean   :12   Mean   :0.86417   Mean   :0.98665   3rd Qu.:2472   3rd Qu.:12   3rd Qu.:1.05258   3rd Qu.:1.21279   Max.   :2829   Max.   :12   Max.   :5.05211   Max.   :5.57131      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   :0.05811   Min.   :0.05926   Min.   :0.04708   Min.   :0.05811   1st Qu.:0.52229   1st Qu.:0.51812   1st Qu.:0.54834   1st Qu.:0.52229   Median :0.82511   Median :0.82046   Median :0.88410   Median :0.82511   Mean   :1.00510   Mean   :1.00248   Mean   :1.08024   Mean   :1.00510   3rd Qu.:1.26832   3rd Qu.:1.26736   3rd Qu.:1.40810   3rd Qu.:1.26832   Max.   :5.38855   Max.   :5.38743   Max.   :5.53397   Max.   :5.38855   quantregtheta    glmboosttheta    Min.   :0.0580   Min.   :0.0581   1st Qu.:0.5366   1st Qu.:0.5223   Median :0.8469   Median :0.8251   Mean   :1.0262   Mean   :1.0051   3rd Qu.:1.2965   3rd Qu.:1.2683   Max.   :5.2947   Max.   :5.3886   MASE - OTHER -----      series         period       theta          glmnbtheta      Min.   :2830   Min.   :99   Min.   : 0.220   Min.   : 0.2614   1st Qu.:2873   1st Qu.:99   1st Qu.: 1.024   1st Qu.: 1.5711   Median :2916   Median :99   Median : 1.896   Median : 2.7695   Mean   :2916   Mean   :99   Mean   : 2.271   Mean   : 3.0931   3rd Qu.:2960   3rd Qu.:99   3rd Qu.: 2.967   3rd Qu.: 4.2789   Max.   :3003   Max.   :99   Max.   :10.151   Max.   :11.0702      glmtheta         rlmtheta         lqstheta         gamtheta      Min.   :0.1891   Min.   :0.1909   Min.   :0.1219   Min.   :0.1891   1st Qu.:0.8943   1st Qu.:0.9288   1st Qu.:0.9450   1st Qu.:0.8943   Median :1.6009   Median :1.6086   Median :1.7089   Median :1.6009   Mean   :1.9444   Mean   :1.9549   Mean   :2.0180   Mean   :1.9444   3rd Qu.:2.4451   3rd Qu.:2.4248   3rd Qu.:2.4961   3rd Qu.:2.4451   Max.   :7.3144   Max.   :7.3169   Max.   :7.7471   Max.   :7.3144   quantregtheta    glmboosttheta    Min.   :0.2312   Min.   :0.1890   1st Qu.:0.9104   1st Qu.:0.8942   Median :1.5795   Median :1.6009   Mean   :1.9533   Mean   :1.9444   3rd Qu.:2.4042   3rd Qu.:2.4451   Max.   :7.3200   Max.   :7.3145   RMSE - YEARLY -----      series          period      theta             glmnbtheta       Min.   :  1.0   Min.   :1   Min.   :    8.301   Min.   :   14.41   1st Qu.:161.5   1st Qu.:1   1st Qu.:  375.740   1st Qu.:  443.31   Median :322.0   Median :1   Median :  743.996   Median :  803.55   Mean   :322.5   Mean   :1   Mean   : 1108.824   Mean   : 1185.30   3rd Qu.:484.5   3rd Qu.:1   3rd Qu.: 1415.724   3rd Qu.: 1591.94   Max.   :645.0   Max.   :1   Max.   :14639.170   Max.   :12502.86      glmtheta            rlmtheta           lqstheta           gamtheta         Min.   :    1.539   Min.   :   23.92   Min.   :   11.06   Min.   :    1.539   1st Qu.:  342.056   1st Qu.:  358.53   1st Qu.:  380.97   1st Qu.:  342.056   Median :  816.486   Median :  789.31   Median :  898.02   Median :  816.486   Mean   : 1310.461   Mean   : 1308.33   Mean   : 1408.77   Mean   : 1310.461   3rd Qu.: 1718.193   3rd Qu.: 1707.00   3rd Qu.: 1777.14   3rd Qu.: 1718.193   Max.   :29687.208   Max.   :29687.21   Max.   :17861.89   Max.   :29687.208   quantregtheta      glmboosttheta       Min.   :   20.97   Min.   :    1.539   1st Qu.:  359.88   1st Qu.:  342.067   Median :  818.52   Median :  816.484   Mean   : 1320.32   Mean   : 1310.448   3rd Qu.: 1758.11   3rd Qu.: 1718.179   Max.   :29005.49   Max.   :29686.714   RMSE - QUARTERLY -----      series           period      theta            glmnbtheta     Min.   : 646.0   Min.   :4   Min.   :   8.075   Min.   :  10.3   1st Qu.: 834.5   1st Qu.:4   1st Qu.: 178.873   1st Qu.: 213.8   Median :1023.0   Median :4   Median : 356.054   Median : 413.5   Mean   :1023.1   Mean   :4   Mean   : 568.246   Mean   : 619.8   3rd Qu.:1211.5   3rd Qu.:4   3rd Qu.: 638.098   3rd Qu.: 712.3   Max.   :1401.0   Max.   :4   Max.   :7592.100   Max.   :8070.6      glmtheta         rlmtheta          lqstheta          gamtheta      Min.   :  20.5   Min.   :  20.07   Min.   :  14.76   Min.   :  20.5   1st Qu.: 214.7   1st Qu.: 214.43   1st Qu.: 226.35   1st Qu.: 214.7   Median : 416.0   Median : 414.46   Median : 456.80   Median : 416.0   Mean   : 688.9   Mean   : 688.75   Mean   : 739.78   Mean   : 688.9   3rd Qu.: 832.7   3rd Qu.: 843.02   3rd Qu.: 919.21   3rd Qu.: 832.7   Max.   :8620.4   Max.   :8763.45   Max.   :6697.08   Max.   :8620.4   quantregtheta      glmboosttheta    Min.   :   19.05   Min.   :  20.5   1st Qu.:  214.37   1st Qu.: 214.7   Median :  430.28   Median : 416.0   Mean   :  703.29   Mean   : 688.9   3rd Qu.:  842.21   3rd Qu.: 832.7   Max.   :10508.84   Max.   :8620.4   RMSE - MONTHLY -----      series         period       theta            glmnbtheta       Min.   :1402   Min.   :12   Min.   :   16.07   Min.   :   13.93   1st Qu.:1758   1st Qu.:12   1st Qu.:  255.31   1st Qu.:  283.97   Median :2115   Median :12   Median :  517.13   Median :  565.79   Mean   :2115   Mean   :12   Mean   :  754.26   Mean   :  827.42   3rd Qu.:2472   3rd Qu.:12   3rd Qu.:  944.13   3rd Qu.: 1029.99   Max.   :2829   Max.   :12   Max.   :12302.42   Max.   :11985.62      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   17.31   Min.   :   17.28   Min.   :   14.31   Min.   :   17.31   1st Qu.:  265.61   1st Qu.:  263.04   1st Qu.:  280.40   1st Qu.:  265.61   Median :  589.47   Median :  593.14   Median :  594.36   Median :  589.47   Mean   :  890.13   Mean   :  887.46   Mean   :  972.64   Mean   :  890.13   3rd Qu.: 1124.05   3rd Qu.: 1110.66   3rd Qu.: 1250.92   3rd Qu.: 1124.05   Max.   :13455.93   Max.   :13538.13   Max.   :11462.02   Max.   :13455.93   quantregtheta     glmboosttheta      Min.   :   15.6   Min.   :   17.31   1st Qu.:  269.1   1st Qu.:  265.61   Median :  583.2   Median :  589.47   Mean   :  914.6   Mean   :  890.13   3rd Qu.: 1161.2   3rd Qu.: 1124.04   Max.   :13634.0   Max.   :13455.88   RMSE - OTHER -----      series         period       theta            glmnbtheta       Min.   :2830   Min.   :99   Min.   :   8.218   Min.   :   9.938   1st Qu.:2873   1st Qu.:99   1st Qu.:  61.988   1st Qu.: 100.167   Median :2916   Median :99   Median : 120.836   Median : 182.118   Mean   :2916   Mean   :99   Mean   : 242.133   Mean   : 309.795   3rd Qu.:2960   3rd Qu.:99   3rd Qu.: 279.193   3rd Qu.: 340.758   Max.   :3003   Max.   :99   Max.   :3453.536   Max.   :3129.978      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   6.652   Min.   :   6.711   Min.   :   4.814   Min.   :   6.652   1st Qu.:  51.985   1st Qu.:  55.197   1st Qu.:  54.531   1st Qu.:  51.985   Median : 106.711   Median : 105.570   Median : 102.020   Median : 106.711   Mean   : 249.562   Mean   : 250.666   Mean   : 256.004   Mean   : 249.562   3rd Qu.: 223.361   3rd Qu.: 223.213   3rd Qu.: 238.648   3rd Qu.: 223.361   Max.   :4079.840   Max.   :4065.917   Max.   :3765.921   Max.   :4079.840   quantregtheta      glmboosttheta      Min.   :   8.082   Min.   :   6.651   1st Qu.:  55.418   1st Qu.:  51.986   Median : 103.246   Median : 106.712   Mean   : 253.318   Mean   : 249.559   3rd Qu.: 228.469   3rd Qu.: 223.364   Max.   :4230.672   Max.   :4079.814   COVERAGE - YEARLY -----      series          period      theta          glmnbtheta        glmtheta      Min.   :  1.0   Min.   :1   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.:161.5   1st Qu.:1   1st Qu.: 83.33   1st Qu.: 33.33   1st Qu.: 33.33   Median :322.0   Median :1   Median :100.00   Median : 83.33   Median : 83.33   Mean   :322.5   Mean   :1   Mean   : 84.32   Mean   : 68.56   Mean   : 66.95   3rd Qu.:484.5   3rd Qu.:1   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :645.0   Max.   :1   Max.   :100.00   Max.   :100.00   Max.   :100.00      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 33.33   1st Qu.: 33.33   1st Qu.: 33.33   1st Qu.: 33.33   Median : 66.67   Median : 66.67   Median : 83.33   Median : 83.33   Mean   : 66.38   Mean   : 64.23   Mean   : 66.95   Mean   : 66.17   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   glmboosttheta    Min.   :  0.00   1st Qu.: 33.33   Median : 83.33   Mean   : 66.95   3rd Qu.:100.00   Max.   :100.00   COVERAGE - QUARTERLY -----      series           period      theta          glmnbtheta     Min.   : 646.0   Min.   :4   Min.   :  0.00   Min.   :  0.00   1st Qu.: 834.5   1st Qu.:4   1st Qu.: 87.50   1st Qu.: 75.00   Median :1023.0   Median :4   Median :100.00   Median :100.00   Mean   :1023.1   Mean   :4   Mean   : 87.22   Mean   : 83.77   3rd Qu.:1211.5   3rd Qu.:4   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :1401.0   Max.   :4   Max.   :100.00   Max.   :100.00      glmtheta         rlmtheta         lqstheta        gamtheta      Min.   :  0.00   Min.   :  0.00   Min.   :  0.0   Min.   :  0.00   1st Qu.: 56.25   1st Qu.: 50.00   1st Qu.: 50.0   1st Qu.: 56.25   Median : 87.50   Median : 87.50   Median : 87.5   Median : 87.50   Mean   : 75.30   Mean   : 75.26   Mean   : 74.5   Mean   : 75.30   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.0   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.0   Max.   :100.00   quantregtheta   glmboosttheta    Min.   :  0.0   Min.   :  0.00   1st Qu.: 50.0   1st Qu.: 56.25   Median : 87.5   Median : 87.50   Mean   : 74.4   Mean   : 75.30   3rd Qu.:100.0   3rd Qu.:100.00   Max.   :100.0   Max.   :100.00   COVERAGE - MONTHLY -----      series         period       theta          glmnbtheta      Min.   :1402   Min.   :12   Min.   :  0.00   Min.   :  5.556   1st Qu.:1758   1st Qu.:12   1st Qu.: 88.89   1st Qu.: 77.778   Median :2115   Median :12   Median :100.00   Median : 94.444   Mean   :2115   Mean   :12   Mean   : 89.84   Mean   : 86.101   3rd Qu.:2472   3rd Qu.:12   3rd Qu.:100.00   3rd Qu.:100.000   Max.   :2829   Max.   :12   Max.   :100.00   Max.   :100.000      glmtheta          rlmtheta          lqstheta         gamtheta       Min.   :  5.556   Min.   :  5.556   Min.   :  0.00   Min.   :  5.556   1st Qu.: 77.778   1st Qu.: 77.778   1st Qu.: 72.22   1st Qu.: 77.778   Median : 94.444   Median : 94.444   Median : 94.44   Median : 94.444   Mean   : 86.183   Mean   : 86.082   Mean   : 83.09   Mean   : 86.183   3rd Qu.:100.000   3rd Qu.:100.000   3rd Qu.:100.00   3rd Qu.:100.000   Max.   :100.000   Max.   :100.000   Max.   :100.00   Max.   :100.000   quantregtheta     glmboosttheta     Min.   :  5.556   Min.   :  5.556   1st Qu.: 77.778   1st Qu.: 77.778   Median : 94.444   Median : 94.444   Mean   : 85.167   Mean   : 86.183   3rd Qu.:100.000   3rd Qu.:100.000   Max.   :100.000   Max.   :100.000   COVERAGE - OTHER -----      series         period       theta          glmnbtheta        glmtheta      Min.   :2830   Min.   :99   Min.   :  0.00   Min.   : 12.50   Min.   : 12.50   1st Qu.:2873   1st Qu.:99   1st Qu.:100.00   1st Qu.:100.00   1st Qu.:100.00   Median :2916   Median :99   Median :100.00   Median :100.00   Median :100.00   Mean   :2916   Mean   :99   Mean   : 93.68   Mean   : 95.19   Mean   : 91.31   3rd Qu.:2960   3rd Qu.:99   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :3003   Max.   :99   Max.   :100.00   Max.   :100.00   Max.   :100.00      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   : 12.50   Min.   : 12.50   Min.   : 12.50   Min.   : 12.50   1st Qu.:100.00   1st Qu.:100.00   1st Qu.:100.00   1st Qu.:100.00   Median :100.00   Median :100.00   Median :100.00   Median :100.00   Mean   : 91.24   Mean   : 91.24   Mean   : 91.31   Mean   : 90.73   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   glmboosttheta    Min.   : 12.50   1st Qu.:100.00   Median :100.00   Mean   : 91.31   3rd Qu.:100.00   Max.   :100.00   WINKLER - YEARLY -----      series          period      theta            glmnbtheta       Min.   :  1.0   Min.   :1   Min.   :   149.8   Min.   :   135.9   1st Qu.:161.5   1st Qu.:1   1st Qu.:  2088.6   1st Qu.:  2836.9   Median :322.0   Median :1   Median :  3965.6   Median :  5667.1   Mean   :322.5   Mean   :1   Mean   :  9461.6   Mean   : 14531.6   3rd Qu.:484.5   3rd Qu.:1   3rd Qu.:  8123.2   3rd Qu.: 16657.3   Max.   :645.0   Max.   :1   Max.   :146923.2   Max.   :150928.8      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   142.9   Min.   :   148.2   Min.   :   161.8   Min.   :   142.9   1st Qu.:  2757.0   1st Qu.:  2773.6   1st Qu.:  2996.9   1st Qu.:  2757.0   Median :  6158.4   Median :  6234.4   Median :  7113.8   Median :  6158.4   Mean   : 17825.6   Mean   : 17968.2   Mean   : 21628.9   Mean   : 17825.6   3rd Qu.: 19483.3   3rd Qu.: 20031.8   3rd Qu.: 24644.4   3rd Qu.: 19483.3   Max.   :652521.2   Max.   :652521.2   Max.   :319696.8   Max.   :652521.2   quantregtheta      glmboosttheta      Min.   :   147.1   Min.   :   142.9   1st Qu.:  2785.1   1st Qu.:  2756.9   Median :  6591.8   Median :  6158.2   Mean   : 18437.3   Mean   : 17825.4   3rd Qu.: 20114.9   3rd Qu.: 19484.5   Max.   :629977.7   Max.   :652503.7   WINKLER - QUARTERLY -----      series           period      theta            glmnbtheta       Min.   : 646.0   Min.   :4   Min.   :   181.7   Min.   :   201.7   1st Qu.: 834.5   1st Qu.:4   1st Qu.:  1043.9   1st Qu.:  1407.0   Median :1023.0   Median :4   Median :  1901.2   Median :  2517.0   Mean   :1023.1   Mean   :4   Mean   :  4710.3   Mean   :  5593.2   3rd Qu.:1211.5   3rd Qu.:4   3rd Qu.:  3829.0   3rd Qu.:  4658.6   Max.   :1401.0   Max.   :4   Max.   :189229.7   Max.   :181194.4      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   150.4   Min.   :   150.4   Min.   :   141.7   Min.   :   150.4   1st Qu.:  1375.3   1st Qu.:  1394.0   1st Qu.:  1433.3   1st Qu.:  1375.3   Median :  2760.6   Median :  2792.3   Median :  2965.4   Median :  2760.6   Mean   :  6777.3   Mean   :  6814.5   Mean   :  7616.0   Mean   :  6777.3   3rd Qu.:  6271.5   3rd Qu.:  6441.3   3rd Qu.:  7976.4   3rd Qu.:  6271.5   Max.   :170507.1   Max.   :171700.5   Max.   :162725.5   Max.   :170507.1   quantregtheta      glmboosttheta      Min.   :   142.5   Min.   :   150.4   1st Qu.:  1419.5   1st Qu.:  1375.4   Median :  2790.6   Median :  2760.4   Mean   :  7105.7   Mean   :  6777.1   3rd Qu.:  6900.2   3rd Qu.:  6270.8   Max.   :176740.5   Max.   :170507.4   WINKLER - MONTHLY -----      series         period       theta            glmnbtheta       Min.   :1402   Min.   :12   Min.   :   123.1   Min.   :   193.8   1st Qu.:1758   1st Qu.:12   1st Qu.:  1444.9   1st Qu.:  1650.2   Median :2115   Median :12   Median :  3154.7   Median :  3169.2   Mean   :2115   Mean   :12   Mean   :  5071.6   Mean   :  5788.5   3rd Qu.:2472   3rd Qu.:12   3rd Qu.:  5428.2   3rd Qu.:  5978.7   Max.   :2829   Max.   :12   Max.   :129135.8   Max.   :160190.5      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :   147.1   Min.   :   147.1   Min.   :   110.5   Min.   :   147.1   1st Qu.:  1637.9   1st Qu.:  1645.1   1st Qu.:  1721.2   1st Qu.:  1637.9   Median :  3455.6   Median :  3458.1   Median :  3610.6   Median :  3455.6   Mean   :  6514.0   Mean   :  6487.6   Mean   :  8153.8   Mean   :  6514.0   3rd Qu.:  6644.7   3rd Qu.:  6635.1   3rd Qu.:  7806.3   3rd Qu.:  6644.7   Max.   :177738.4   Max.   :177797.3   Max.   :271625.2   Max.   :177738.4   quantregtheta      glmboosttheta      Min.   :   129.4   Min.   :   147.1   1st Qu.:  1653.2   1st Qu.:  1637.9   Median :  3429.8   Median :  3455.6   Mean   :  6845.1   Mean   :  6513.9   3rd Qu.:  7183.7   3rd Qu.:  6644.5   Max.   :172824.8   Max.   :177737.8   WINKLER - OTHER -----      series         period       theta           glmnbtheta      Min.   :2830   Min.   :99   Min.   :  215.8   Min.   :  193.7   1st Qu.:2873   1st Qu.:99   1st Qu.:  416.6   1st Qu.:  712.6   Median :2916   Median :99   Median :  661.8   Median : 1229.0   Mean   :2916   Mean   :99   Mean   : 1375.9   Mean   : 2313.1   3rd Qu.:2960   3rd Qu.:99   3rd Qu.: 1320.4   3rd Qu.: 2185.5   Max.   :3003   Max.   :99   Max.   :13205.7   Max.   :29189.4      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   :  146.3   Min.   :  147.8   Min.   :  133.5   Min.   :  146.3   1st Qu.:  448.3   1st Qu.:  458.1   1st Qu.:  515.1   1st Qu.:  448.3   Median :  895.8   Median :  885.8   Median :  875.2   Median :  895.8   Mean   : 2256.3   Mean   : 2261.6   Mean   : 2025.5   Mean   : 2256.3   3rd Qu.: 1755.3   3rd Qu.: 1888.6   3rd Qu.: 1762.8   3rd Qu.: 1755.3   Max.   :33854.7   Max.   :33975.6   Max.   :38790.9   Max.   :33854.7   quantregtheta     glmboosttheta     Min.   :  149.7   Min.   :  146.2   1st Qu.:  461.1   1st Qu.:  448.3   Median :  896.4   Median :  895.8   Mean   : 2309.8   Mean   : 2256.3   3rd Qu.: 1855.2   3rd Qu.: 1755.3   Max.   :33681.9   Max.   :33854.8  

1 - 3 M1

%%R# Load necessary librarieslibrary(doSNOW)library(tcltk)require(Mcomp)nseries <- length(M1)# Set up parallel backendcl <- makeSOCKcluster(parallel::detectCores())  # Use 2 cores (adjust as needed)registerDoSNOW(cl)# Define progress barpb <- txtProgressBar(min = 0, max = nseries, style = 3)# Progress functionprogress <- function(n) setTxtProgressBar(pb, n)# Options for progress trackingopts <- list(progress = progress)pb <- utils::txtProgressBar(min=0, max=nseries, style = 3)(M1results <- foreach::foreach(i = 1:nseries, .combine = rbind,                             .errorhandling = "remove",                             .verbose=FALSE,                             .options.snow = opts)%dopar%{                               x <- Mcomp::M1[[i]]$x                               xx <- Mcomp::M1[[i]]$xx                               h <- length(xx)                               obj <- suppressWarnings(thetaf(x, h=h, level=95))                               res1 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::glm.nb,                                                                        attention = TRUE))                               res2 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=stats::glm,                                                                        attention = TRUE))                               res3 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::rlm,                                                                        attention = TRUE))                               res4 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::lqs,                                                                        attention = TRUE))                               res5 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=gam::gam,                                                                        attention = TRUE))                               res6 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=quantreg::rq,                                                                        attention = TRUE))                               res7 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                 fit_func=mboost::glmboost,                                                                 attention = TRUE))                               res8 <- accuracy(obj, xx)                               period <- switch (Mcomp::M1[[i]]$period,                                                 "YEARLY" = 1,                                                 "QUARTERLY" = 4,                                                 "MONTHLY" = 12                               )                               utils::setTxtProgressBar(pb, i)                               res <- cbind(i, period,                                            res1, res2,                                            res3, res4,                                            res5, res6,                                            res7, res8)                               colnames(res) <- c("series", "period", "theta", "glmnbtheta",                                                  "glmtheta", "rlmtheta", "lqstheta",                                                  "gamtheta", "quantregtheta", "glmboosttheta")                               res                             })close(pb)M1results <- data.frame(M1results)print(head(M1results))print(tail(M1results))print(dim(M1results))base::saveRDS(M1results, "results_M1.rds")print(summary(subset(M1results[grep("mase", rownames(M1results)), ], period==1)))print(summary(subset(M1results[grep("mase", rownames(M1results)), ], period==4)))print(summary(subset(M1results[grep("mase", rownames(M1results)), ], period==12)))print(summary(subset(M1results[grep("mae", rownames(M1results)), ], period==1)))print(summary(subset(M1results[grep("mae", rownames(M1results)), ], period==4)))print(summary(subset(M1results[grep("mae", rownames(M1results)), ], period==12)))print(summary(subset(M1results[grep("rmse", rownames(M1results)), ], period==1)))print(summary(subset(M1results[grep("rmse", rownames(M1results)), ], period==4)))print(summary(subset(M1results[grep("rmse", rownames(M1results)), ], period==12)))from IPython.display import FileLink# Create a download link for the fileFileLink('results_M1.rds')%%Rresults_M1 <- readRDS("results_M1.rds")cat("\n\n MASE - YEARLY ----- \n\n")print(summary(subset(results_M1[grep("mase", rownames(results_M1)), ], period==1)))cat("\n\n MASE - QUARTERLY ----- \n\n")print(summary(subset(results_M1[grep("mase", rownames(results_M1)), ], period==4)))cat("\n\n MASE - MONTHLY ----- \n\n")print(summary(subset(results_M1[grep("mase", rownames(results_M1)), ], period==12)))cat("\n\n RMSE - YEARLY ----- \n\n")print(summary(subset(results_M1[grep("rmse", rownames(results_M1)), ], period==1)))cat("\n\n RMSE - QUARTERLY ----- \n\n")print(summary(subset(results_M1[grep("rmse", rownames(results_M1)), ], period==4)))cat("\n\n RMSE - MONTHLY ----- \n\n")print(summary(subset(results_M1[grep("rmse", rownames(results_M1)), ], period==12)))cat("\n\n COVERAGE - YEARLY ----- \n\n")print(summary(subset(results_M1[grep("coverage", rownames(results_M1)), ], period==1)))cat("\n\n COVERAGE - QUARTERLY ----- \n\n")print(summary(subset(results_M1[grep("coverage", rownames(results_M1)), ], period==4)))cat("\n\n COVERAGE - MONTHLY ----- \n\n")print(summary(subset(results_M1[grep("coverage", rownames(results_M1)), ], period==12)))cat("\n\n WINKLER - YEARLY ----- \n\n")print(summary(subset(results_M1[grep("winkler", rownames(results_M1)), ], period==1)))cat("\n\n WINKLER - QUARTERLY ----- \n\n")print(summary(subset(results_M1[grep("winkler", rownames(results_M1)), ], period==4)))cat("\n\n WINKLER - MONTHLY ----- \n\n")print(summary(subset(results_M1[grep("winkler", rownames(results_M1)), ], period==12))) MASE - YEARLY -----      series           period      theta          glmnbtheta      Min.   :  1.00   Min.   :1   Min.   : 0.339   Min.   : 0.2002   1st Qu.: 45.00   1st Qu.:1   1st Qu.: 1.590   1st Qu.: 1.7242   Median : 89.00   Median :1   Median : 3.030   Median : 3.5463   Mean   : 89.81   Mean   :1   Mean   : 4.189   Mean   : 4.8790   3rd Qu.:135.00   3rd Qu.:1   3rd Qu.: 5.488   3rd Qu.: 5.9936   Max.   :181.00   Max.   :1   Max.   :53.736   Max.   :54.4274      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   : 0.2284   Min.   : 0.1634   Min.   : 0.1689   Min.   : 0.2284   1st Qu.: 1.2867   1st Qu.: 1.2723   1st Qu.: 1.1949   1st Qu.: 1.2867   Median : 2.3605   Median : 2.3112   Median : 2.4514   Median : 2.3605   Mean   : 3.3171   Mean   : 3.3137   Mean   : 3.4067   Mean   : 3.3171   3rd Qu.: 3.9079   3rd Qu.: 3.7760   3rd Qu.: 3.9569   3rd Qu.: 3.9079   Max.   :50.3795   Max.   :51.5947   Max.   :54.2701   Max.   :50.3795   quantregtheta     glmboosttheta     Min.   : 0.1689   Min.   : 0.2283   1st Qu.: 1.2799   1st Qu.: 1.2867   Median : 2.4032   Median : 2.3605   Mean   : 3.3675   Mean   : 3.3171   3rd Qu.: 3.8951   3rd Qu.: 3.9080   Max.   :52.2621   Max.   :50.3796   MASE - QUARTERLY -----      series          period      theta            glmnbtheta      Min.   :182.0   Min.   :4   Min.   : 0.06685   Min.   : 0.2688   1st Qu.:231.0   1st Qu.:4   1st Qu.: 0.76595   1st Qu.: 0.9400   Median :282.0   Median :4   Median : 1.28289   Median : 1.3712   Mean   :281.8   Mean   :4   Mean   : 1.72391   Mean   : 1.8599   3rd Qu.:331.0   3rd Qu.:4   3rd Qu.: 1.89038   3rd Qu.: 2.0453   Max.   :384.0   Max.   :4   Max.   :13.56309   Max.   :13.8709      glmtheta          rlmtheta          lqstheta          gamtheta       Min.   : 0.1237   Min.   : 0.1260   Min.   : 0.1906   Min.   : 0.1237   1st Qu.: 0.8431   1st Qu.: 0.8498   1st Qu.: 0.8649   1st Qu.: 0.8431   Median : 1.3482   Median : 1.3615   Median : 1.4702   Median : 1.3482   Mean   : 1.8028   Mean   : 1.8130   Mean   : 1.9865   Mean   : 1.8028   3rd Qu.: 2.1977   3rd Qu.: 2.2306   3rd Qu.: 2.3770   3rd Qu.: 2.1977   Max.   :12.8633   Max.   :12.4328   Max.   :12.1660   Max.   :12.8633   quantregtheta     glmboosttheta     Min.   : 0.1329   Min.   : 0.1237   1st Qu.: 0.8626   1st Qu.: 0.8431   Median : 1.4129   Median : 1.3482   Mean   : 1.8693   Mean   : 1.8028   3rd Qu.: 2.3317   3rd Qu.: 2.1977   Max.   :12.5140   Max.   :12.8633   MASE - MONTHLY -----      series         period       theta           glmnbtheta      Min.   : 385   Min.   :12   Min.   :0.08899   Min.   :0.03055   1st Qu.: 539   1st Qu.:12   1st Qu.:0.61489   1st Qu.:0.72027   Median : 693   Median :12   Median :0.88503   Median :1.09843   Mean   : 693   Mean   :12   Mean   :1.09097   Mean   :1.30865   3rd Qu.: 847   3rd Qu.:12   3rd Qu.:1.31576   3rd Qu.:1.59016   Max.   :1001   Max.   :12   Max.   :5.66195   Max.   :6.11137      glmtheta          rlmtheta          lqstheta           gamtheta       Min.   :0.07755   Min.   :0.06842   Min.   :0.007376   Min.   :0.07755   1st Qu.:0.74019   1st Qu.:0.73040   1st Qu.:0.768420   1st Qu.:0.74019   Median :1.17541   Median :1.16993   Median :1.230610   Median :1.17541   Mean   :1.42698   Mean   :1.40937   Mean   :1.497829   Mean   :1.42698   3rd Qu.:1.81082   3rd Qu.:1.79974   3rd Qu.:1.888202   3rd Qu.:1.81082   Max.   :7.22650   Max.   :6.92929   Max.   :6.583633   Max.   :7.22650   quantregtheta      glmboosttheta     Min.   :0.008536   Min.   :0.07755   1st Qu.:0.741870   1st Qu.:0.74019   Median :1.170760   Median :1.17541   Mean   :1.427073   Mean   :1.42697   3rd Qu.:1.783612   3rd Qu.:1.81080   Max.   :6.317748   Max.   :7.22647   RMSE - YEARLY -----      series           period      theta            glmnbtheta       Min.   :  1.00   Min.   :1   Min.   :       0   Min.   :       0   1st Qu.: 45.00   1st Qu.:1   1st Qu.:      17   1st Qu.:      22   Median : 89.00   Median :1   Median :     347   Median :     416   Mean   : 89.81   Mean   :1   Mean   :  175332   Mean   :  197775   3rd Qu.:135.00   3rd Qu.:1   3rd Qu.:    8364   3rd Qu.:   10104   Max.   :181.00   Max.   :1   Max.   :15662440   Max.   :16475297      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :       0   Min.   :       0   Min.   :       0   Min.   :       0   1st Qu.:      10   1st Qu.:      12   1st Qu.:      13   1st Qu.:      10   Median :     213   Median :     213   Median :     205   Median :     213   Mean   :  157517   Mean   :  157542   Mean   :  175530   Mean   :  157517   3rd Qu.:    7067   3rd Qu.:    7097   3rd Qu.:    7832   3rd Qu.:    7067   Max.   :13016053   Max.   :12958792   Max.   :13326865   Max.   :13016053   quantregtheta      glmboosttheta      Min.   :       0   Min.   :       0   1st Qu.:      11   1st Qu.:      10   Median :     212   Median :     213   Mean   :  159385   Mean   :  157517   3rd Qu.:    6784   3rd Qu.:    7067   Max.   :13021534   Max.   :13016145   RMSE - QUARTERLY -----      series          period      theta            glmnbtheta        Min.   :182.0   Min.   :4   Min.   :    0.01   Min.   :     0.02   1st Qu.:231.0   1st Qu.:4   1st Qu.:    7.38   1st Qu.:     7.50   Median :282.0   Median :4   Median :   24.01   Median :    24.87   Mean   :281.8   Mean   :4   Mean   : 2351.98   Mean   :  2584.09   3rd Qu.:331.0   3rd Qu.:4   3rd Qu.:  253.31   3rd Qu.:   252.57   Max.   :384.0   Max.   :4   Max.   :94218.49   Max.   :102660.28      glmtheta            rlmtheta            lqstheta         Min.   :     0.02   Min.   :     0.02   Min.   :     0.01   1st Qu.:     9.86   1st Qu.:     9.38   1st Qu.:     9.39   Median :    29.71   Median :    29.23   Median :    30.34   Mean   :  2817.96   Mean   :  2845.29   Mean   :  3232.61   3rd Qu.:   200.88   3rd Qu.:   208.27   3rd Qu.:   212.49   Max.   :129950.26   Max.   :127877.25   Max.   :201583.89      gamtheta         quantregtheta       glmboosttheta       Min.   :     0.02   Min.   :     0.02   Min.   :     0.02   1st Qu.:     9.86   1st Qu.:     9.53   1st Qu.:     9.86   Median :    29.71   Median :    28.72   Median :    29.71   Mean   :  2817.96   Mean   :  2853.71   Mean   :  2817.95   3rd Qu.:   200.88   3rd Qu.:   240.04   3rd Qu.:   200.88   Max.   :129950.26   Max.   :115511.98   Max.   :129949.34   RMSE - MONTHLY -----      series         period       theta            glmnbtheta       Min.   : 385   Min.   :12   Min.   :     0.0   Min.   :     0.0   1st Qu.: 539   1st Qu.:12   1st Qu.:     7.8   1st Qu.:     8.7   Median : 693   Median :12   Median :    46.4   Median :    50.8   Mean   : 693   Mean   :12   Mean   :  2564.9   Mean   :  2532.1   3rd Qu.: 847   3rd Qu.:12   3rd Qu.:   496.2   3rd Qu.:   594.1   Max.   :1001   Max.   :12   Max.   :686105.3   Max.   :521915.2      glmtheta           rlmtheta           lqstheta            gamtheta        Min.   :     0.0   Min.   :     0.0   Min.   :      0.0   Min.   :     0.0   1st Qu.:     9.5   1st Qu.:     9.7   1st Qu.:     10.5   1st Qu.:     9.5   Median :    52.1   Median :    50.8   Median :     56.8   Median :    52.1   Mean   :  3548.7   Mean   :  3449.2   Mean   :   3953.3   Mean   :  3548.7   3rd Qu.:   648.8   3rd Qu.:   641.3   3rd Qu.:    643.8   3rd Qu.:   648.8   Max.   :969404.8   Max.   :959390.3   Max.   :1310439.1   Max.   :969404.8   quantregtheta      glmboosttheta      Min.   :     0.0   Min.   :     0.0   1st Qu.:    10.1   1st Qu.:     9.5   Median :    53.6   Median :    52.1   Mean   :  3221.8   Mean   :  3548.6   3rd Qu.:   623.1   3rd Qu.:   648.8   Max.   :854678.2   Max.   :969391.4   COVERAGE - YEARLY -----      series           period      theta          glmnbtheta     Min.   :  1.00   Min.   :1   Min.   :  0.00   Min.   :  0.00   1st Qu.: 45.00   1st Qu.:1   1st Qu.: 33.33   1st Qu.: 16.67   Median : 89.00   Median :1   Median : 83.33   Median : 50.00   Mean   : 89.81   Mean   :1   Mean   : 69.02   Mean   : 51.22   3rd Qu.:135.00   3rd Qu.:1   3rd Qu.:100.00   3rd Qu.: 83.33   Max.   :181.00   Max.   :1   Max.   :100.00   Max.   :100.00      glmtheta         rlmtheta         lqstheta         gamtheta      Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 33.33   1st Qu.: 33.33   1st Qu.: 16.67   1st Qu.: 33.33   Median : 50.00   Median : 50.00   Median : 50.00   Median : 50.00   Mean   : 56.40   Mean   : 55.18   Mean   : 57.06   Mean   : 56.40   3rd Qu.: 83.33   3rd Qu.: 83.33   3rd Qu.:100.00   3rd Qu.: 83.33   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   quantregtheta    glmboosttheta    Min.   :  0.00   Min.   :  0.00   1st Qu.: 16.67   1st Qu.: 33.33   Median : 50.00   Median : 50.00   Mean   : 54.90   Mean   : 56.40   3rd Qu.:100.00   3rd Qu.: 83.33   Max.   :100.00   Max.   :100.00   COVERAGE - QUARTERLY -----      series          period      theta          glmnbtheta        glmtheta      Min.   :182.0   Min.   :4   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.:231.0   1st Qu.:4   1st Qu.: 62.50   1st Qu.: 62.50   1st Qu.: 37.50   Median :282.0   Median :4   Median : 87.50   Median : 87.50   Median : 75.00   Mean   :281.8   Mean   :4   Mean   : 74.24   Mean   : 77.09   Mean   : 67.83   3rd Qu.:331.0   3rd Qu.:4   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :384.0   Max.   :4   Max.   :100.00   Max.   :100.00   Max.   :100.00      rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 37.50   1st Qu.: 37.50   1st Qu.: 37.50   1st Qu.: 37.50   Median : 75.00   Median : 75.00   Median : 75.00   Median : 75.00   Mean   : 66.94   Mean   : 64.97   Mean   : 67.83   Mean   : 66.31   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   glmboosttheta    Min.   :  0.00   1st Qu.: 37.50   Median : 75.00   Mean   : 67.83   3rd Qu.:100.00   Max.   :100.00   COVERAGE - MONTHLY -----      series         period       theta          glmnbtheta      Min.   : 385   Min.   :12   Min.   :  0.00   Min.   :  5.556   1st Qu.: 539   1st Qu.:12   1st Qu.: 83.33   1st Qu.: 66.667   Median : 693   Median :12   Median : 94.44   Median : 88.889   Mean   : 693   Mean   :12   Mean   : 86.50   Mean   : 80.146   3rd Qu.: 847   3rd Qu.:12   3rd Qu.:100.00   3rd Qu.:100.000   Max.   :1001   Max.   :12   Max.   :100.00   Max.   :100.000      glmtheta          rlmtheta         lqstheta         gamtheta       Min.   :  5.556   Min.   :  0.00   Min.   :  0.00   Min.   :  5.556   1st Qu.: 61.111   1st Qu.: 61.11   1st Qu.: 61.11   1st Qu.: 61.111   Median : 83.333   Median : 83.33   Median : 83.33   Median : 83.333   Mean   : 77.220   Mean   : 77.45   Mean   : 76.24   Mean   : 77.220   3rd Qu.:100.000   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.000   Max.   :100.000   Max.   :100.00   Max.   :100.00   Max.   :100.000   quantregtheta    glmboosttheta     Min.   :  0.00   Min.   :  5.556   1st Qu.: 66.67   1st Qu.: 61.111   Median : 88.89   Median : 83.333   Mean   : 77.20   Mean   : 77.220   3rd Qu.:100.00   3rd Qu.:100.000   Max.   :100.00   Max.   :100.000   WINKLER - YEARLY -----      series           period      theta             glmnbtheta        Min.   :  1.00   Min.   :1   Min.   :        0   Min.   :        0   1st Qu.: 45.00   1st Qu.:1   1st Qu.:       94   1st Qu.:      138   Median : 89.00   Median :1   Median :     2524   Median :     4572   Mean   : 89.81   Mean   :1   Mean   :  2825772   Mean   :  2625047   3rd Qu.:135.00   3rd Qu.:1   3rd Qu.:    52463   3rd Qu.:   103077   Max.   :181.00   Max.   :1   Max.   :363721233   Max.   :292512406      glmtheta            rlmtheta            lqstheta         Min.   :        1   Min.   :        1   Min.   :        0   1st Qu.:       80   1st Qu.:       84   1st Qu.:      118   Median :     2545   Median :     2545   Median :     1988   Mean   :  2478384   Mean   :  2449829   Mean   :  2966028   3rd Qu.:    67371   3rd Qu.:    73562   3rd Qu.:    99765   Max.   :272681766   Max.   :266401330   Max.   :250335398      gamtheta         quantregtheta       glmboosttheta       Min.   :        1   Min.   :        0   Min.   :        1   1st Qu.:       80   1st Qu.:       98   1st Qu.:       80   Median :     2545   Median :     2052   Median :     2546   Mean   :  2478384   Mean   :  2501609   Mean   :  2478381   3rd Qu.:    67371   3rd Qu.:    72881   3rd Qu.:    67371   Max.   :272681766   Max.   :256611668   Max.   :272682043   WINKLER - QUARTERLY -----      series          period      theta            glmnbtheta       Min.   :182.0   Min.   :4   Min.   :     0.1   Min.   :     0.2   1st Qu.:231.0   1st Qu.:4   1st Qu.:    29.9   1st Qu.:    44.1   Median :282.0   Median :4   Median :   161.0   Median :   168.8   Mean   :281.8   Mean   :4   Mean   : 16183.1   Mean   : 17696.5   3rd Qu.:331.0   3rd Qu.:4   3rd Qu.:  2614.2   3rd Qu.:  2741.3   Max.   :384.0   Max.   :4   Max.   :558932.9   Max.   :648026.8      glmtheta           rlmtheta           lqstheta            gamtheta        Min.   :     0.2   Min.   :     0.2   Min.   :      0.2   Min.   :     0.2   1st Qu.:    71.6   1st Qu.:    75.2   1st Qu.:     82.3   1st Qu.:    71.6   Median :   244.4   Median :   254.6   Median :    252.7   Median :   244.4   Mean   : 16607.8   Mean   : 16945.3   Mean   :  29875.9   Mean   : 16607.8   3rd Qu.:  2168.3   3rd Qu.:  2686.1   3rd Qu.:   2491.8   3rd Qu.:  2168.3   Max.   :619354.8   Max.   :593478.7   Max.   :1938535.2   Max.   :619354.8   quantregtheta      glmboosttheta      Min.   :     0.2   Min.   :     0.2   1st Qu.:    73.4   1st Qu.:    71.6   Median :   260.7   Median :   244.3   Mean   : 18923.8   Mean   : 16607.8   3rd Qu.:  3340.1   3rd Qu.:  2168.3   Max.   :598457.6   Max.   :619355.6   WINKLER - MONTHLY -----      series         period       theta             glmnbtheta        Min.   : 385   Min.   :12   Min.   :      0.1   Min.   :      0.2   1st Qu.: 539   1st Qu.:12   1st Qu.:     39.7   1st Qu.:     47.8   Median : 693   Median :12   Median :    286.6   Median :    403.2   Mean   : 693   Mean   :12   Mean   :  15275.0   Mean   :  14985.3   3rd Qu.: 847   3rd Qu.:12   3rd Qu.:   2956.9   3rd Qu.:   3832.6   Max.   :1001   Max.   :12   Max.   :3159077.6   Max.   :2662241.0      glmtheta           rlmtheta           lqstheta           gamtheta        Min.   :       0   Min.   :       0   Min.   :       0   Min.   :       0   1st Qu.:      57   1st Qu.:      58   1st Qu.:      60   1st Qu.:      57   Median :     474   Median :     473   Median :     546   Median :     474   Mean   :   35530   Mean   :   34776   Mean   :   46968   Mean   :   35530   3rd Qu.:    4202   3rd Qu.:    4181   3rd Qu.:    4098   3rd Qu.:    4202   Max.   :13125821   Max.   :12816589   Max.   :19791829   Max.   :13125821   quantregtheta     glmboosttheta      Min.   :      0   Min.   :       0   1st Qu.:     61   1st Qu.:      57   Median :    450   Median :     474   Mean   :  27957   Mean   :   35529   3rd Qu.:   3920   3rd Qu.:    4202   Max.   :8714877   Max.   :13125496  

1 - 4 M4 Yearly

%%Rlibrary(M4comp2018)M4Yearly <- Filter(function(l) l$period == "Yearly", M4)# Load necessary librarieslibrary(doSNOW)library(tcltk)require(Mcomp)nseries <- length(M4Yearly)# Set up parallel backendcl <- makeSOCKcluster(parallel::detectCores())  # Use 2 cores (adjust as needed)registerDoSNOW(cl)# Define progress barpb <- txtProgressBar(min = 0, max = nseries, style = 3)# Progress functionprogress <- function(n) setTxtProgressBar(pb, n)# Options for progress trackingopts <- list(progress = progress)pb <- utils::txtProgressBar(min=0, max=nseries, style = 3)(M4results <- foreach::foreach(i = 1:nseries, .combine = rbind,                             .errorhandling = "remove",                             .verbose=FALSE,                             .options.snow = opts)%dopar%{                               x <- M4Yearly[[i]]$x                               xx <- M4Yearly[[i]]$xx                               h <- length(xx)                               obj <- suppressWarnings(thetaf(x, h=h, level=95))                               res1 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::glm.nb,                                                                        attention = TRUE))                               res2 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=stats::glm,                                                                        attention = TRUE))                               res3 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::rlm,                                                                        attention = TRUE))                               res4 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=MASS::lqs,                                                                        attention = TRUE))                               res5 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=gam::gam,                                                                        attention = TRUE))                               res6 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                        fit_func=quantreg::rq,                                                                        attention = TRUE))                               res7 <- accuracy(obj, xx)                               obj <- suppressWarnings(glmthetaf(x, h=h,                                                                 fit_func=mboost::glmboost,                                                                 attention = TRUE))                               res8 <- accuracy(obj, xx)                               utils::setTxtProgressBar(pb, i)                               res <- cbind(i,                                            res1, res2,                                            res3, res4,                                            res5, res6,                                            res7, res8)                               colnames(res) <- c("series", "theta", "glmnbtheta",                                                  "glmtheta", "rlmtheta", "lqstheta",                                                  "gamtheta", "quantregtheta", "glmboosttheta")                               res                             })close(pb)M4results <- data.frame(M4results)print(head(M4results))print(tail(M4results))print(dim(M4results))base::saveRDS(M4results, "results_M4.rds")%%Rprint(summary(subset(M4results[grep("mase", rownames(M4results)), ])))from IPython.display import FileLink# Create a download link for the fileFileLink('results_M4.rds')%%Rresults_M4Yearly <- readRDS("results_M4.rds")cat("\n\n MASE - YEARLY ----- \n\n")print(summary(results_M4Yearly[grep("mase", rownames(results_M4Yearly)), ]))cat("\n\n RMSE - YEARLY ----- \n\n")print(summary(results_M4Yearly[grep("rmse", rownames(results_M4Yearly)), ]))cat("\n\n COVERAGE - YEARLY ----- \n\n")print(summary(results_M4Yearly[grep("coverage", rownames(results_M4Yearly)), ]))cat("\n\n WINKLER - YEARLY ----- \n\n")print(summary(results_M4Yearly[grep("winkler", rownames(results_M4Yearly)), ])) MASE - YEARLY -----      series          theta            glmnbtheta          glmtheta        Min.   :    1   Min.   : 0.03825   Min.   : 0.08616   Min.   : 0.05602   1st Qu.: 5750   1st Qu.: 1.24816   1st Qu.: 1.57047   1st Qu.: 1.25346   Median :11498   Median : 2.31134   Median : 2.95540   Median : 2.20297   Mean   :11499   Mean   : 3.37253   Mean   : 3.98933   Mean   : 3.08111   3rd Qu.:17246   3rd Qu.: 4.20756   3rd Qu.: 5.11213   3rd Qu.: 3.83220   Max.   :23000   Max.   :52.23208   Max.   :53.45190   Max.   :52.33301                                                                               rlmtheta           lqstheta           gamtheta        quantregtheta      Min.   : 0.01779   Min.   : 0.04004   Min.   : 0.05602   Min.   : 0.01118   1st Qu.: 1.24618   1st Qu.: 1.30599   1st Qu.: 1.25346   1st Qu.: 1.26680   Median : 2.20604   Median : 2.35514   Median : 2.20297   Median : 2.25031   Mean   : 3.08741   Mean   : 3.28814   Mean   : 3.08111   Mean   : 3.13130   3rd Qu.: 3.83867   3rd Qu.: 4.09708   3rd Qu.: 3.83220   3rd Qu.: 3.89659   Max.   :52.68334   Max.   :51.94242   Max.   :52.33301   Max.   :52.45575                                                                               glmboosttheta      Min.   : 0.05602   1st Qu.: 1.25324   Median : 2.20283   Mean   : 3.08085   3rd Qu.: 3.83188   Max.   :52.33302   NA's   :4          RMSE - YEARLY -----      series          theta            glmnbtheta          glmtheta        Min.   :    1   Min.   :    1.72   Min.   :    4.94   Min.   :    2.12   1st Qu.: 5750   1st Qu.:  200.02   1st Qu.:  264.62   1st Qu.:  189.72   Median :11498   Median :  499.14   Median :  614.67   Median :  457.67   Mean   :11499   Mean   : 1021.30   Mean   : 1159.17   Mean   :  995.90   3rd Qu.:17246   3rd Qu.: 1211.77   3rd Qu.: 1412.04   3rd Qu.: 1121.98   Max.   :23000   Max.   :34316.38   Max.   :34391.85   Max.   :35284.94                                                                               rlmtheta           lqstheta           gamtheta        quantregtheta      Min.   :    0.69   Min.   :    1.27   Min.   :    2.12   Min.   :    0.48   1st Qu.:  189.85   1st Qu.:  199.59   1st Qu.:  189.72   1st Qu.:  191.53   Median :  457.02   Median :  479.90   Median :  457.67   Median :  462.37   Mean   :  994.38   Mean   : 1056.00   Mean   :  995.90   Mean   : 1010.53   3rd Qu.: 1117.41   3rd Qu.: 1182.88   3rd Qu.: 1121.98   3rd Qu.: 1128.71   Max.   :34141.46   Max.   :41798.59   Max.   :35284.94   Max.   :32639.88                                                                               glmboosttheta      Min.   :    2.12   1st Qu.:  189.73   Median :  457.76   Mean   :  996.01   3rd Qu.: 1122.19   Max.   :35284.45   NA's   :4          COVERAGE - YEARLY -----      series          theta          glmnbtheta        glmtheta      Min.   :    1   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 5750   1st Qu.: 66.67   1st Qu.: 50.00   1st Qu.: 50.00   Median :11498   Median :100.00   Median :100.00   Median :100.00   Mean   :11499   Mean   : 78.74   Mean   : 76.19   Mean   : 74.67   3rd Qu.:17246   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :23000   Max.   :100.00   Max.   :100.00   Max.   :100.00                                                                         rlmtheta         lqstheta         gamtheta      quantregtheta    Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   1st Qu.: 50.00   1st Qu.: 50.00   1st Qu.: 50.00   1st Qu.: 50.00   Median :100.00   Median :100.00   Median :100.00   Median :100.00   Mean   : 74.66   Mean   : 73.06   Mean   : 74.67   Mean   : 73.99   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   3rd Qu.:100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00   Max.   :100.00                                                                       glmboosttheta    Min.   :  0.00   1st Qu.: 50.00   Median :100.00   Mean   : 74.68   3rd Qu.:100.00   Max.   :100.00   NA's   :4        WINKLER - YEARLY -----      series          theta            glmnbtheta          glmtheta        Min.   :    1   Min.   :    48.2   Min.   :    36.4   Min.   :    38.1   1st Qu.: 5750   1st Qu.:  1125.6   1st Qu.:  1689.0   1st Qu.:  1293.0   Median :11498   Median :  2823.9   Median :  4013.1   Median :  3349.8   Mean   :11499   Mean   : 11418.0   Mean   : 12791.4   Mean   : 12283.2   3rd Qu.:17246   3rd Qu.:  8017.8   3rd Qu.: 10444.7   3rd Qu.:  9313.3   Max.   :23000   Max.   :886227.6   Max.   :938877.6   Max.   :930890.3                                                                               rlmtheta           lqstheta            gamtheta        quantregtheta      Min.   :    37.7   Min.   :     23.6   Min.   :    38.1   Min.   :    35.3   1st Qu.:  1300.0   1st Qu.:   1418.7   1st Qu.:  1293.0   1st Qu.:  1331.0   Median :  3370.7   Median :   3686.6   Median :  3349.8   Median :  3470.1   Mean   : 12298.1   Mean   :  13778.0   Mean   : 12283.2   Mean   : 12656.4   3rd Qu.:  9311.0   3rd Qu.:  10250.2   3rd Qu.:  9313.3   3rd Qu.:  9559.5   Max.   :938995.6   Max.   :1336459.5   Max.   :930890.3   Max.   :933935.2                                                                                glmboosttheta      Min.   :    38.1   1st Qu.:  1292.6   Median :  3349.9   Mean   : 12284.5   3rd Qu.:  9313.4   Max.   :930890.5   NA's   :4         
To leave a comment for the author, please follow the link and comment on their blog: T. Moudiki's Webpage - R.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Continue reading: Extending the Theta forecasting method to GLMs, GAMs, GLMBOOST and attention: benchmarking on Tourism, M1, M3 and M4 competition data sets (28000 series)