SMAC-Group/simts

TO DO - Version 0.3.0

Opened this issue · 0 comments

  • Prediction and residuals for state space models (@lionelvoirol )
  • Structure output of kalman_filter function in a list of matrix w/ forecast, filter and smooth (@lionelvoirol )
  • Discuss the functions AIC.fitsimts and evaluate in vignette(s) and textbook.
  • Add possibility to change title in Portmanteau Tests plot (see function diag_ljungbox and Figure 4.15).
  • Add summary.fitsimts (connect to gmwm).
  • Add possibility to compute CI by parametric bootstrap, block bootstrap and seeder.
  • Add news.md file
  • Add confidence intervals for parameters estimated with gmwm and rgmwm.
  • Add compatibility with RW, WN, QN and DR processes (as well as sum of latent processes) for the function estimate used with option gmwm and rgmwm.
  • Add possibility of simulating non-Gaussian time series (i.e. extent ts objects to contain some info on the distribution of the residuals, for example AR(1) would be Gaussian AR(1) while AR(1, df = 5) would an AR(1) with t-distributed residuals with 5 df.
  • Add an example of an unevenly spaced time series in the README and/or vignette. The code may need to be adapted.
  • The select function should be made compatible with the following models:
    • SAR and SMA
    • SARMA
    • SARIMA
  • Improve the function RW3dimensions. In particular, these parameters should be added as inputs: couleur = "blue4", xlab = "X-position", ylab = "Y-position", main = NULL, pt_col = NULL, pt_pch = 16, pt.cex = 2, leg_pos = NULL.
  • Add MAPE model selection features (See exts for details. Here is an example based on sunspot dataset, slide 38 - ARMAmodels.pdf)

screen shot 2018-10-28 at 5 50 53 pm

  • Add a check that supplied object is of class gts or fitsimts (e.g. predict() function in the stat environment takes non-compatible objects and can be used instead of the predict() function in simts)
  • Correct kernel density of the residual hist can go outside of the graph

screen shot 2018-10-29 at 12 25 47 am

  • Remove negative values (y axis) of Ljung-Box diagnostic plot see e.g.
n = 1000
model = AR(phi = c(0.9, -0.5), sigma2 = 1)
Xt = gen_gts(n, model, freq = 4)
plot(Xt)

model1 = estimate(AR(1), Xt)
predict(model1, n.ahead = 10)

check(model1)
  • Add diagnostic function based on wv. Suggested usage (probably after the release of wv package:
plot(wvar(res), main = "Haar WVar Representation", legend_position = NA)
  
  sigma2 = rep(var(res), length(wvar(res)$scales))
  points(wvar(res)$scales, sigma2/as.numeric(wvar(res)$scales), col = "orange", pch=0, cex=2)
  lines(wvar(res)$scales, sigma2/as.numeric(wvar(res)$scales), col = "orange", lty = 1)
  
  # add legend
  if (wvar(res)$robust == TRUE){
    wv_title_part1 = "Empirical Robust WV "
  }else{
    wv_title_part1 = "Empirical WV "
  }
  
  CI_conf = 1 - wvar(res)$alpha
  
  legend("bottomleft", 
         legend = c(as.expression(bquote(paste(.(wv_title_part1), hat(nu)^2))), 
                    as.expression(bquote(paste("CI(",hat(nu)^2,", ",.(CI_conf),")"))),
                    "WV implied by WN"),
         pch = c(16, 15, 0), lty = c(1, NA, 1), 
         col = c("darkblue", hcl(h = 210, l = 65, c = 100, alpha = 0.2), "orange"), 
         cex = 1, pt.cex = c(1.25, 3, 1.25), bty = "n")