onlineforecast issueshttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues2021-09-12T15:23:14+02:00https://lab.compute.dtu.dk/packages/onlineforecast/-/issues/14Make "forecastmatrix" class2021-09-12T15:23:14+02:00pbacMake "forecastmatrix" classby making a "forecastmatrix" and "fmlist" classes such that e.g "bs.forecastmatrix", and "residuals.forecastmatrix" can be made and simlar. This will allow the use of bs() directly instead of bspline(), so actually nicer overallby making a "forecastmatrix" and "fmlist" classes such that e.g "bs.forecastmatrix", and "residuals.forecastmatrix" can be made and simlar. This will allow the use of bs() directly instead of bspline(), so actually nicer overallhttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues/13Feature: Optimize parameters separately on each horizon2021-07-13T09:38:38+02:00pbacFeature: Optimize parameters separately on each horizonOptimize the parameters for each horizon, e.g. if kseq = c(1,6,18), then three optimizations are run, yielding the optimal parameters for each horizon. When fitting the model the other horizons, an interpolation could be done, e.g. for k=3 would be the average of the 1 and 6 horizons optimal parameters.Optimize the parameters for each horizon, e.g. if kseq = c(1,6,18), then three optimizations are run, yielding the optimal parameters for each horizon. When fitting the model the other horizons, an interpolation could be done, e.g. for k=3 would be the average of the 1 and 6 horizons optimal parameters.https://lab.compute.dtu.dk/packages/onlineforecast/-/issues/11Replacement of parameters with same name for an input cannot be set individually2021-07-02T18:09:32+02:00pbacReplacement of parameters with same name for an input cannot be set individuallyhttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues/10Setting output variable, such that a different series are used for each horizon2021-07-02T14:36:17+02:00pbacSetting output variable, such that a different series are used for each horizonWhen fitting an error model it would be very useful to pass the Residuals matrix as model output and when then fitting a model, then the residuals for each individual horizon is used when the model is fitted.
An "observation matrix" has columns "hxx", so when the model for horizon xx the hxx column should be used when fitting the model.When fitting an error model it would be very useful to pass the Residuals matrix as model output and when then fitting a model, then the residuals for each individual horizon is used when the model is fitted.
An "observation matrix" has columns "hxx", so when the model for horizon xx the hxx column should be used when fitting the model.https://lab.compute.dtu.dk/packages/onlineforecast/-/issues/8Make scoring consistent in optimization and selection2021-07-13T13:03:50+02:00pbacMake scoring consistent in optimization and selectionShould complete_cases() be run, such that only complete cases across all horizons (and models) are included. How to best make this?
Perhaps use the score function everywhere, then it's easy to say that it, with default parameters, is used everywhere.Should complete_cases() be run, such that only complete cases across all horizons (and models) are included. How to best make this?
Perhaps use the score function everywhere, then it's easy to say that it, with default parameters, is used everywhere.https://lab.compute.dtu.dk/packages/onlineforecast/-/issues/7use scorefunctions with regularization2021-06-06T21:43:15+02:00pbacuse scorefunctions with regularizationE.g. use BIC when fitting with lm_fitE.g. use BIC when fitting with lm_fithttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues/6optimizer not robust against outliers2021-07-02T22:06:29+02:00hgbeoptimizer not robust against outliersWhen optimizing the dataset with outliers the process becomes unstable.
Investigate robust optimizer by replacing rmse with another type of error metric.
e.g., Huber’s PSI-function, see 1.1.4.2 Occasional outliers in CTSMR math guideWhen optimizing the dataset with outliers the process becomes unstable.
Investigate robust optimizer by replacing rmse with another type of error metric.
e.g., Huber’s PSI-function, see 1.1.4.2 Occasional outliers in CTSMR math guidehgbehgbehttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues/4Make optim run only on the parameters which can be changed2021-07-02T18:18:02+02:00pbacMake optim run only on the parameters which can be changedRight now, in the optim functions, all parameters set in prmbound are given to optim(), should only be the ones that can actually be changes (i.e. found in $insert_prm())Right now, in the optim functions, all parameters set in prmbound are given to optim(), should only be the ones that can actually be changes (i.e. found in $insert_prm())https://lab.compute.dtu.dk/packages/onlineforecast/-/issues/3Change or create new make_tday for handling other seasonality than daily2021-07-02T17:28:45+02:00hgbeChange or create new make_tday for handling other seasonality than dailyAllow the user to model other seasonalities than daily, e.g. week:
make_tday2 <- function (time, kseq, tstep = 3600, units = "hours")
{
tday <- sapply(kseq, function(k) {
tk <- time + k * tstep
as.numeric(tk - as.POSIXct(as.character(cut(tk, "week")), tz = "UTC"), unit = "hours")
})
nams(tday) <- paste0("k", kseq)
return(as.data.frame(tday))
}Allow the user to model other seasonalities than daily, e.g. week:
make_tday2 <- function (time, kseq, tstep = 3600, units = "hours")
{
tday <- sapply(kseq, function(k) {
tk <- time + k * tstep
as.numeric(tk - as.POSIXct(as.character(cut(tk, "week")), tz = "UTC"), unit = "hours")
})
nams(tday) <- paste0("k", kseq)
return(as.data.frame(tday))
}hgbehgbehttps://lab.compute.dtu.dk/packages/onlineforecast/-/issues/2Fix function that uses time, e.g. subset.data.list if a time comes in without...2021-07-02T16:24:11+02:00hgbeFix function that uses time, e.g. subset.data.list if a time comes in without timezone then use the timezone from the input time vectorhgbehgbe