Skip to content

Commit

Permalink
Created TimeRegrTask and started on Arima Learner
Browse files Browse the repository at this point in the history
NEWS

NEWS: are OK until HERE

xgboost: missing: go back to set it NA in mlr

xgboost: missing: simply use NULL as default

fix xgboost tests (#1234)

* fix xgboost tests

* fix more tests

test for xgboost printer

Add support for visualizing tasks with 2 or more hyperparameters (#1233)

* Add support for visualizing tasks with 2 or more hyperparameters

* Add tests for partial dependence

* Edit documentation

* Forgot to regenerate documentation

* Fixed checks for using partial dependence and minor style fixes

* Fix typos in argname

* Fix arg name in test

NEWS for #1233

remove weight.fun in place of expanded fun in generatePartialDependence (#1235)

* remove weight.fun in place of expanded fun in generatePartialDependence

 - internal wrapper for fun arg to allow passing of internal
   newdata (prediction grid) and data (training data from input arg)
   which allows computation of weights in fun instead of via an extra
   step using another arg, weight.fun (now removed)

* fix typo

NEWS for #1235

update auto-generated documentation [ci skip]

Update description with mason (#1237)

travis does not work with rdevel, i will open an issue

Added ctb (#1242)

* Added Bruno Vieira as ctb.

* Added Bruno Vieira as ctb.

fixes for issue #63 in the tutorial (#1243)

- incorrect jacobian function in doPartialDerivativeIteratoin
 - improper fun/fun.wrapper (for weights use)
 - test added based on tutorial fail
 - simplified code a bit

renamed file for consistency

update auto-generated documentation [ci skip]

added the colsample_bylevel parameter in the xgboost learners (#1245)

* Update RLearner_classif_xgboost.R

* Update RLearner_regr_xgboost.R

NEWS for #1245 and add xgboost version number requirements

forgot space...

ksvm mini tunable fix for hyper par settings (#1249)

New measures: Cohen's Kappa and Mean Quadratic Weighted Kappa (#1250)

* new measure 'mean quadratic weighted kappa'

* add note for mqwk

* rename objects in test

* rename to wk and fix typo in note

* yet another typo

* rename wk to wkappa

* new_measure_cohens_kappa

* correct measure ranges

NEWS for #1250

fixed broken url

listLearners output as S3 class with print (#1213)

Make hyperparseffect tests faster with less iterations (#1260)

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added docs for time components in resample and resampleDesc

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Updated readme with examples.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

had to capitalize L in makeRLearner for Arima

Added Lag and Difference preprocess wrapper.

Testing

Making sure rebase worked.

Updated readme.

garch now works for resampling.

Added LambertW to description suggests and updated the readme.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added test for createLagDiffFeatures

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Updated merge for Arima prediction.

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added garch unit test.

Added test for createLagDiffFeatures

Added helper objects for forecast unit testing and Arima can now return standard errors at set levels

fixed typo in garch test

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Added updateLearner function and updateModel function to update online models.

Added docs for updateModel and built basic test for forecast task. Need to test multiplexer.

Fixed Lambert W and created test for forecast

Currently passing fcregr and forecast unit tests. Attempted rebase.

Changed dates to start with January 14th 1992

Fixed forecast models so that when users want to return quantiles of forecasts they set the predict.type to quantile. Fixed typo in tbats unit test. added fcregr to regression measures. Created test files to run all fcregr models. createLagDiffFeatures had a bug that did not return the target variable which is now resolved. iracing now works with forecast models, but a strange line of code that sets predict length to truth length had to be included. mase moved to measures file. Error found in ets that only happens during test. etsInitialFunc... cannot load from forecast namespace. Created makeForecastRegrLearner function and added checks in predict and train specific to fcregr models. Previously this was done by adding bits to regr tests, but enough has been added to become a new branch.

Fixed bugs in growing and fixed resampling where number of iterations was incorrect leading to out of bounds error. added extra params for tbats, bats, and arfima that correspond to auto.arima.

Added updateModel to the readme and changed initialWindow to initial.window in docs

Updated updateModel to change the task data, but it may not be correct. Changed file name containing updateModel from updateLearner to updateModel. Updated readme to include updating arima model.

Updated namespace and docs for updateModel

Now passes R CMD CHECK. Update Lambert W transform to not work with one variable and the target predictor. Added frequency to task, updateData and update model have correct documentation. Unit tests for forecast pass, but we need a test for lambertW.

Updated data frame conversion for xts s.t. the dates are now in the row names. Added update model functions to bats, ets, nnetar, and tbats. Still need to fix tests for each of those. Fixed lag diff features to work with new data frame conversion of xts. Now in train, if a fcregr has no predictors it will still build the model, which is what we want. built new helpers for updating models.

VIP: shifted ... in makeLearner to avoid partial matching feature (feature in quotes). Fixed garch to work with dates being in rownames. Set defaults on nnetar to match forecast's nnetar. Made a test for nnetar

Created TimeRegrTask and started on Arima Learner

NEWS

NEWS: are OK until HERE

xgboost: missing: go back to set it NA in mlr

xgboost: missing: simply use NULL as default

fix xgboost tests (#1234)

* fix xgboost tests

* fix more tests

test for xgboost printer

Add support for visualizing tasks with 2 or more hyperparameters (#1233)

* Add support for visualizing tasks with 2 or more hyperparameters

* Add tests for partial dependence

* Edit documentation

* Forgot to regenerate documentation

* Fixed checks for using partial dependence and minor style fixes

* Fix typos in argname

* Fix arg name in test

NEWS for #1233

remove weight.fun in place of expanded fun in generatePartialDependence (#1235)

* remove weight.fun in place of expanded fun in generatePartialDependence

 - internal wrapper for fun arg to allow passing of internal
   newdata (prediction grid) and data (training data from input arg)
   which allows computation of weights in fun instead of via an extra
   step using another arg, weight.fun (now removed)

* fix typo

NEWS for #1235

update auto-generated documentation [ci skip]

Update description with mason (#1237)

travis does not work with rdevel, i will open an issue

Added ctb (#1242)

* Added Bruno Vieira as ctb.

* Added Bruno Vieira as ctb.

fixes for issue #63 in the tutorial (#1243)

- incorrect jacobian function in doPartialDerivativeIteratoin
 - improper fun/fun.wrapper (for weights use)
 - test added based on tutorial fail
 - simplified code a bit

renamed file for consistency

update auto-generated documentation [ci skip]

added the colsample_bylevel parameter in the xgboost learners (#1245)

* Update RLearner_classif_xgboost.R

* Update RLearner_regr_xgboost.R

NEWS for #1245 and add xgboost version number requirements

forgot space...

ksvm mini tunable fix for hyper par settings (#1249)

New measures: Cohen's Kappa and Mean Quadratic Weighted Kappa (#1250)

* new measure 'mean quadratic weighted kappa'

* add note for mqwk

* rename objects in test

* rename to wk and fix typo in note

* yet another typo

* rename wk to wkappa

* new_measure_cohens_kappa

* correct measure ranges

NEWS for #1250

fixed broken url

listLearners output as S3 class with print (#1213)

Make hyperparseffect tests faster with less iterations (#1260)

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added docs for time components in resample and resampleDesc

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Updated readme with examples.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

had to capitalize L in makeRLearner for Arima

Added Lag and Difference preprocess wrapper.

Testing

Making sure rebase worked.

Updated readme.

garch now works for resampling.

Added LambertW to description suggests and updated the readme.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added test for createLagDiffFeatures

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Updated merge for Arima prediction.

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added garch unit test.

Added test for createLagDiffFeatures

Added helper objects for forecast unit testing and Arima can now return standard errors at set levels

fixed typo in garch test

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Added updateLearner function and updateModel function to update online models.

Added docs for updateModel and built basic test for forecast task. Need to test multiplexer.

Fixed Lambert W and created test for forecast

Currently passing fcregr and forecast unit tests. Attempted rebase.

Changed dates to start with January 14th 1992

Fixed forecast models so that when users want to return quantiles of forecasts they set the predict.type to quantile. Fixed typo in tbats unit test. added fcregr to regression measures. Created test files to run all fcregr models. createLagDiffFeatures had a bug that did not return the target variable which is now resolved. iracing now works with forecast models, but a strange line of code that sets predict length to truth length had to be included. mase moved to measures file. Error found in ets that only happens during test. etsInitialFunc... cannot load from forecast namespace. Created makeForecastRegrLearner function and added checks in predict and train specific to fcregr models. Previously this was done by adding bits to regr tests, but enough has been added to become a new branch.

Fixed bugs in growing and fixed resampling where number of iterations was incorrect leading to out of bounds error. added extra params for tbats, bats, and arfima that correspond to auto.arima.

Added updateModel to the readme and changed initialWindow to initial.window in docs

Updated updateModel to change the task data, but it may not be correct. Changed file name containing updateModel from updateLearner to updateModel. Updated readme to include updating arima model.

Updated namespace and docs for updateModel

Now passes R CMD CHECK. Update Lambert W transform to not work with one variable and the target predictor. Added frequency to task, updateData and update model have correct documentation. Unit tests for forecast pass, but we need a test for lambertW.

Updated data frame conversion for xts s.t. the dates are now in the row names. Added update model functions to bats, ets, nnetar, and tbats. Still need to fix tests for each of those. Fixed lag diff features to work with new data frame conversion of xts. Now in train, if a fcregr has no predictors it will still build the model, which is what we want. built new helpers for updating models.

VIP: shifted ... in makeLearner to avoid partial matching feature (feature in quotes). Fixed garch to work with dates being in rownames. Set defaults on nnetar to match forecast's nnetar. Made a test for nnetar

Created TimeRegrTask and started on Arima Learner

NEWS

NEWS: are OK until HERE

xgboost: missing: go back to set it NA in mlr

xgboost: missing: simply use NULL as default

fix xgboost tests (#1234)

* fix xgboost tests

* fix more tests

test for xgboost printer

Add support for visualizing tasks with 2 or more hyperparameters (#1233)

* Add support for visualizing tasks with 2 or more hyperparameters

* Add tests for partial dependence

* Edit documentation

* Forgot to regenerate documentation

* Fixed checks for using partial dependence and minor style fixes

* Fix typos in argname

* Fix arg name in test

NEWS for #1233

remove weight.fun in place of expanded fun in generatePartialDependence (#1235)

* remove weight.fun in place of expanded fun in generatePartialDependence

 - internal wrapper for fun arg to allow passing of internal
   newdata (prediction grid) and data (training data from input arg)
   which allows computation of weights in fun instead of via an extra
   step using another arg, weight.fun (now removed)

* fix typo

NEWS for #1235

update auto-generated documentation [ci skip]

Update description with mason (#1237)

travis does not work with rdevel, i will open an issue

Added ctb (#1242)

* Added Bruno Vieira as ctb.

* Added Bruno Vieira as ctb.

fixes for issue #63 in the tutorial (#1243)

- incorrect jacobian function in doPartialDerivativeIteratoin
 - improper fun/fun.wrapper (for weights use)
 - test added based on tutorial fail
 - simplified code a bit

renamed file for consistency

update auto-generated documentation [ci skip]

added the colsample_bylevel parameter in the xgboost learners (#1245)

* Update RLearner_classif_xgboost.R

* Update RLearner_regr_xgboost.R

NEWS for #1245 and add xgboost version number requirements

forgot space...

ksvm mini tunable fix for hyper par settings (#1249)

New measures: Cohen's Kappa and Mean Quadratic Weighted Kappa (#1250)

* new measure 'mean quadratic weighted kappa'

* add note for mqwk

* rename objects in test

* rename to wk and fix typo in note

* yet another typo

* rename wk to wkappa

* new_measure_cohens_kappa

* correct measure ranges

NEWS for #1250

fixed broken url

listLearners output as S3 class with print (#1213)

Make hyperparseffect tests faster with less iterations (#1260)

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added docs for time components in resample and resampleDesc

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Updated readme with examples.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

had to capitalize L in makeRLearner for Arima

Added Lag and Difference preprocess wrapper.

Testing

Making sure rebase worked.

Updated readme.

garch now works for resampling.

Added LambertW to description suggests and updated the readme.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added test for createLagDiffFeatures

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Updated merge for Arima prediction.

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added garch unit test.

Added test for createLagDiffFeatures

Added helper objects for forecast unit testing and Arima can now return standard errors at set levels

fixed typo in garch test

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Added updateLearner function and updateModel function to update online models.

Added docs for updateModel and built basic test for forecast task. Need to test multiplexer.

Fixed Lambert W and created test for forecast

Currently passing fcregr and forecast unit tests. Attempted rebase.

Changed dates to start with January 14th 1992

Fixed forecast models so that when users want to return quantiles of forecasts they set the predict.type to quantile. Fixed typo in tbats unit test. added fcregr to regression measures. Created test files to run all fcregr models. createLagDiffFeatures had a bug that did not return the target variable which is now resolved. iracing now works with forecast models, but a strange line of code that sets predict length to truth length had to be included. mase moved to measures file. Error found in ets that only happens during test. etsInitialFunc... cannot load from forecast namespace. Created makeForecastRegrLearner function and added checks in predict and train specific to fcregr models. Previously this was done by adding bits to regr tests, but enough has been added to become a new branch.

Fixed bugs in growing and fixed resampling where number of iterations was incorrect leading to out of bounds error. added extra params for tbats, bats, and arfima that correspond to auto.arima.

Added updateModel to the readme and changed initialWindow to initial.window in docs

Updated updateModel to change the task data, but it may not be correct. Changed file name containing updateModel from updateLearner to updateModel. Updated readme to include updating arima model.

Updated namespace and docs for updateModel

Now passes R CMD CHECK. Update Lambert W transform to not work with one variable and the target predictor. Added frequency to task, updateData and update model have correct documentation. Unit tests for forecast pass, but we need a test for lambertW.

Updated data frame conversion for xts s.t. the dates are now in the row names. Added update model functions to bats, ets, nnetar, and tbats. Still need to fix tests for each of those. Fixed lag diff features to work with new data frame conversion of xts. Now in train, if a fcregr has no predictors it will still build the model, which is what we want. built new helpers for updating models.

VIP: shifted ... in makeLearner to avoid partial matching feature (feature in quotes). Fixed garch to work with dates being in rownames. Set defaults on nnetar to match forecast's nnetar. Made a test for nnetar

Created TimeRegrTask and started on Arima Learner

NEWS

NEWS: are OK until HERE

xgboost: missing: go back to set it NA in mlr

xgboost: missing: simply use NULL as default

fix xgboost tests (#1234)

* fix xgboost tests

* fix more tests

test for xgboost printer

Add support for visualizing tasks with 2 or more hyperparameters (#1233)

* Add support for visualizing tasks with 2 or more hyperparameters

* Add tests for partial dependence

* Edit documentation

* Forgot to regenerate documentation

* Fixed checks for using partial dependence and minor style fixes

* Fix typos in argname

* Fix arg name in test

NEWS for #1233

remove weight.fun in place of expanded fun in generatePartialDependence (#1235)

* remove weight.fun in place of expanded fun in generatePartialDependence

 - internal wrapper for fun arg to allow passing of internal
   newdata (prediction grid) and data (training data from input arg)
   which allows computation of weights in fun instead of via an extra
   step using another arg, weight.fun (now removed)

* fix typo

NEWS for #1235

update auto-generated documentation [ci skip]

Update description with mason (#1237)

travis does not work with rdevel, i will open an issue

Added ctb (#1242)

* Added Bruno Vieira as ctb.

* Added Bruno Vieira as ctb.

fixes for issue #63 in the tutorial (#1243)

- incorrect jacobian function in doPartialDerivativeIteratoin
 - improper fun/fun.wrapper (for weights use)
 - test added based on tutorial fail
 - simplified code a bit

renamed file for consistency

update auto-generated documentation [ci skip]

added the colsample_bylevel parameter in the xgboost learners (#1245)

* Update RLearner_classif_xgboost.R

* Update RLearner_regr_xgboost.R

NEWS for #1245 and add xgboost version number requirements

forgot space...

ksvm mini tunable fix for hyper par settings (#1249)

New measures: Cohen's Kappa and Mean Quadratic Weighted Kappa (#1250)

* new measure 'mean quadratic weighted kappa'

* add note for mqwk

* rename objects in test

* rename to wk and fix typo in note

* yet another typo

* rename wk to wkappa

* new_measure_cohens_kappa

* correct measure ranges

NEWS for #1250

fixed broken url

listLearners output as S3 class with print (#1213)

Make hyperparseffect tests faster with less iterations (#1260)

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added docs for time components in resample and resampleDesc

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Updated readme with examples.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

had to capitalize L in makeRLearner for Arima

Added Lag and Difference preprocess wrapper.

Testing

Making sure rebase worked.

Updated readme.

garch now works for resampling.

Added LambertW to description suggests and updated the readme.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added test for createLagDiffFeatures

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Created TimeRegrTask and started on Arima Learner

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Trying to upload caret picture for windowing.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Made pre processing wrapper using LambertW transform

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Added forecast helper objects and started working on unit test for Arima.

Added ARMA learner. For now, allowing cl on line 92 of predictLearner (checkPredictLearnerOutput) to be a ts object

Predict added for Arima.

Prediction now returns the response, but the 'truth' variables is NA, since forecasts do not know the true value at the time of forecast

Added new forecast function. Need to figure out why Arima and forecast are not going to the namespace.

Fixed forecast to use holdout set, made mase measure

Updated namespace to import forecast, then use the method for WrappedModel. Dunno if this meeses with forecast() in the forecast package.

Created Windowing description functions and starting adding Windowing instances

Created fixed and growing window instances, may not work for horizon > 1.

Added window() function, mostly copying resample(). Need to add functions for windowing with aggregation.

Added window level to zzz.R, Created checkAggrBeforeWindow function, WindowPrediction, makeWindowPrediction. Fixed growing and fixed windows by using code from caret.

Windowing works for arima, should probably do something about n.ahead and horizon being the same thing.

Imported forecast to resample, no longer need forecast functions or windows

Removed window and forecast functions, removed window from zzz levels

Added skip parameter to growing CV and fixed CV so user does not have to run every iteration.

had to capitalize L in makeRLearner for Arima

Added imports from xts and zoo. Added xreg to Arima.

Added Lag and Difference preprocess wrapper.

Made createLagDiffFeatures a task preprocessor.

Changed names of timeReg to ForecastRegr and timeregr to fcregr.

Testing

Making sure rebase worked.

Updates now pass base tests

Updated prediction from timereg to forecastreg. Updated README with some examples of using forecasting.

Updated readme.

Fixed createLagDiffFeatures. But NA's are handled poorly.

added bats, ets, garch, nnetr, tbats, and thief. Not tested yet, but garch works.

garch now works for resampling.

bats, ets, garch, nnetar, tbats are now working. Updated Readme. thief is not working (frowny face)

Added LambertW to description suggests and updated the readme.

Updated lag and diff preproc func for seasonal lag and differences. Untested.

Updated lag and diff preproc to have seasonal lags and diffs.

Fixed lag diff preproc to include padding and lag lengths for differencing.

Updated docs for createLagDiffFeatures

Updated merge for Arima prediction.

Fixed training for fcregr tasks to only use subsets.

Moved test for bats to testthat.

Added tests for tbats and ets

Added garch unit test.

Added test for createLagDiffFeatures

Added helper objects for forecast unit testing and Arima can now return standard errors at set levels

fixed typo in garch test

Moved thief to to-do and implimented arfima with a test.

Added se prediction type to arfima, bats, ets, nnetar, and tbats

Added updateLearner function and updateModel function to update online models.

Added docs for updateModel and built basic test for forecast task. Need to test multiplexer.

Fixed Lambert W and created test for forecast

Currently passing fcregr and forecast unit tests. Attempted rebase.

Changed dates to start with January 14th 1992

Fixed forecast models so that when users want to return quantiles of forecasts they set the predict.type to quantile. Fixed typo in tbats unit test. added fcregr to regression measures. Created test files to run all fcregr models. createLagDiffFeatures had a bug that did not return the target variable which is now resolved. iracing now works with forecast models, but a strange line of code that sets predict length to truth length had to be included. mase moved to measures file. Error found in ets that only happens during test. etsInitialFunc... cannot load from forecast namespace. Created makeForecastRegrLearner function and added checks in predict and train specific to fcregr models. Previously this was done by adding bits to regr tests, but enough has been added to become a new branch.

Fixed bugs in growing and fixed resampling where number of iterations was incorrect leading to out of bounds error. added extra params for tbats, bats, and arfima that correspond to auto.arima.

Added updateModel to the readme and changed initialWindow to initial.window in docs

Updated updateModel to change the task data, but it may not be correct. Changed file name containing updateModel from updateLearner to updateModel. Updated readme to include updating arima model.

Updated namespace and docs for updateModel

Now passes R CMD CHECK. Update Lambert W transform to not work with one variable and the target predictor. Added frequency to task, updateData and update model have correct documentation. Unit tests for forecast pass, but we need a test for lambertW.

Updated data frame conversion for xts s.t. the dates are now in the row names. Added update model functions to bats, ets, nnetar, and tbats. Still need to fix tests for each of those. Fixed lag diff features to work with new data frame conversion of xts. Now in train, if a fcregr has no predictors it will still build the model, which is what we want. built new helpers for updating models.

VIP: shifted ... in makeLearner to avoid partial matching feature (feature in quotes). Fixed garch to work with dates being in rownames. Set defaults on nnetar to match forecast's nnetar. Made a test for nnetar

Added ggvis and shiny to depends in description else R CMD CHECK was failing. Removed weird file ~HEAD. and updated man for makeLearner.

Now we can start with a forecast task, do createLagDiff, and get back a regr task if no cols are selected. This lets us us regr tasks for forecasting.

Changed updateData() to updateLagDiff() as that's all I really needed it for. predictLearner now allows fcregr types to have no new data. cleaned up mase in measures.

Fixed GrowthCV and FixedCV so they both create initial.window and skip proportional to size. Need to fix lagdiff features. Made some mods to StackedLearner. Updated Readme

Added Multivariate forecast type and learner.

Performed rebase

Passing R CMD CHECK with one note. Added multivariate forecasts, can be done with a stacked learner.

updated README. Passing R CMD CHECK. Still need to update docs.

Corrected according to style guide, removed extra whitespace and assignment arrows. ggvis and shiny were kept as they are called in zzz. Added packages to description in alphabetical order. Put back in official readme.

Removed leftover comma in description suggests

Added print statement for multivariate forecast tasks.

Added the printing of target variables to forecast and multivariate forecast tasks.

Added xreg variables to be non-target variables in forecast task. fixed Arima and auto.arima model update methods. For some reason a <- must be in fun1() for learner.model to be assigned.

Fixed some bugs in createLagDiffFeatures. Added arbitrary forecast function. Still need to write tests for forecast

Fixed bug to preserve factor levels when making lags of factors. Created new helper objects for forecasting tasks. Made unit tests for forecasting with base tasks.

Fixed whitespacing merge issue in helper_learners_all.

Updated to aavoid compilation errors. Failing base tests which I have not changed.

Reduced memory usage in forecast by only taking necessary data instead of the whole dataset.

Added example for lagDiff

Fixed lagdiff tests and objects in task that were created for forecast which overwrote base test objects

Had to remove xgboost::predict from xgboost as predict is not exported from xgboosts library

WARNING: Placed an expect_warning() in classif test for xgboost after receiving a warning obout mulitple objective functions

Fixed bugs in forecast functions to work with tests

Trying to update travis to use g++ and gcc 6.9

trying to update g++ and gcc to version 6

For now, allowing slightly higer tolerance in difference for update step. Trying to load up gfortran 6 as well.

Removing temp travis.yml file

Pre-rebase

Removed warning from classif_xgboost test

copy-paste xgboost classif tests from master

Removed spacing from xgboost tests and learners

Commented out test on classifiers for travis until DLL error is fixed.

Trying out gcDLLs() in learner tests

Included properties = 'oneclass' to tests on all classifiers

Fixed bug in forecasting for machine learning models where length() was being used instead of nrow()

Set tolerance higher for ets

Fixed bug in MASE measure

Made change to multivar.mase to use ColMeans for speed

Trying to break up the tests in classif_all

Trying to add gcDLLs() to fix DLL error.

...

...

...

...

...

...

Added frequency element to MASE

Added fcregr and mfcregr to test_base_helpers

Updated

Reverted back to old lag diff task

Reverted back to old forecast function

Removed test that learners train and predict and put in new function testBasicLearnerProperties in test_learners_all_fcregr

Broke out classif all tests by subset

Broke up tests further

Fixed spacing between curly brackes and function

Removed classif tests until MAX_NUM_DLL error PR is merged

removed subset option from listLearners

Update branch with Lar's review. Need to double check. Also pre-rebase

fixed unit tests

Added dump to forecast makePrediction and changed getTaskDescription to getTaskDesc

Fixed from review

Removed getTaskDescription to the best of my knowledge.

replaced all ){ with ) {

Removed <- in cbindsetdiff

Removed duplicates in imports and removed gettaskdescription in updatemodel

Added docs to deprecated getTaskDescription as we were failing one travis

set up the base of forecasting

Cut out more things to make smaller

...

...

Removed mfcregr from tests

added spaces removed from xgboost

fixed spacing in classif tests

Uncommented classif tests

...

...

How in the world am I getting the classif max_num_dll error????

Moved ggvis, shiny, lubridate, xts, and zoo from depends to suggests

removed updatelearner

Import zoo

added lubridate

Forgot ggvis

lubridate was in depends and suggests

updated spacing

...

updated for giuseppec review

changes row.names to row.dates in makePrediction

missed some merge changes

updated for lintr

added callees to makeLearnerForecastRegr

added function in callee

tiny style improvements

Updated for lintr

Added inherits instead of any(class(...)) for helper_helper

...

Fixed for jakob's review

make seperate mase measure function

Forgot docs for target and frequency in MASE measure

Removed lubridate from fc prediction task. Now using difftime to forecast periodic dates

...

...

Added is.POSIXt function so we don't have to import lubridate for one function

accidentally still had lubridate in helper_objects

Fixed lintr errors

updated for mb review

Removed xts formatting, forecast now accepts a data.frame

added wrong argument to mase score

Updated for mb706 review

Added for Lars review

Moved dates from rownames to the task desc

update doc for getTaskDates()

Forgot desc in task dates

added braces to prediction step

add braces to both ifs in prediction

skip in GrowingCV and FixedCV are now set to an integer value

Set skip to chunk like CV. Fixed indices in growing and fixed CV to always include most recent observation in last index.

MASE measure was not taking subset of task target from training step

removed mfcregr from mase properties because not added yet

added fcregr to Measure docs
  • Loading branch information
SteveBronder committed Jun 4, 2017
1 parent 7b03c77 commit 24f0106
Show file tree
Hide file tree
Showing 55 changed files with 848 additions and 86 deletions.
5 changes: 5 additions & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Authors@R: c(
person("Giuseppe", "Casalicchio", email = "giuseppe.casalicchio@stat.uni-muenchen.de", role = "aut"),
person("Mason", "Gallo", email = "masonagallo@gmail.com", role = "aut"),
person("Jakob", "Bossek", email = "jakob.bossek@tu-dortmund.de", role = "ctb"),
person("Bronder", "Stephen", email = "sbronder@stevebronder.com", role = "ctb"),
person("Erich", "Studerus", email = "erich.studerus@upkbs.ch", role = "ctb"),
person("Leonard","Judt", email = "leonard.judt@tu-dortmund.de", role = "ctb"),
person("Tobias", "Kuehn", email = "tobi.kuehn@gmx.de", role = "ctb"),
Expand Down Expand Up @@ -49,8 +50,11 @@ Imports:
stringi,
checkmate (>= 1.8.2),
data.table,
ggplot2,
methods,
parallelMap (>= 1.3),
stats,
stringi,
survival,
utils,
XML
Expand Down Expand Up @@ -87,6 +91,7 @@ Suggests:
flare,
fields,
FNN,
forecast,
fpc,
frbs,
FSelector,
Expand Down
14 changes: 14 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ S3method(listMeasures,default)
S3method(makePrediction,ClassifTaskDesc)
S3method(makePrediction,ClusterTaskDesc)
S3method(makePrediction,CostSensTaskDesc)
S3method(makePrediction,ForecastRegrTaskDesc)
S3method(makePrediction,MultilabelTaskDesc)
S3method(makePrediction,RegrTaskDesc)
S3method(makePrediction,SurvTaskDesc)
Expand Down Expand Up @@ -218,6 +219,7 @@ S3method(makeRLearner,cluster.cmeans)
S3method(makeRLearner,cluster.dbscan)
S3method(makeRLearner,cluster.kkmeans)
S3method(makeRLearner,cluster.kmeans)
S3method(makeRLearner,fcregr.Arima)
S3method(makeRLearner,multilabel.cforest)
S3method(makeRLearner,multilabel.rFerns)
S3method(makeRLearner,multilabel.randomForestSRC)
Expand Down Expand Up @@ -417,6 +419,7 @@ S3method(predictLearner,cluster.cmeans)
S3method(predictLearner,cluster.dbscan)
S3method(predictLearner,cluster.kkmeans)
S3method(predictLearner,cluster.kmeans)
S3method(predictLearner,fcregr.Arima)
S3method(predictLearner,multilabel.cforest)
S3method(predictLearner,multilabel.rFerns)
S3method(predictLearner,multilabel.randomForestSRC)
Expand Down Expand Up @@ -508,7 +511,10 @@ S3method(print,FeatureImportance)
S3method(print,Filter)
S3method(print,FilterMethodsList)
S3method(print,FilterValues)
S3method(print,FixedCVDesc)
S3method(print,ForecastRegrTask)
S3method(print,FunctionalANOVAData)
S3method(print,GrowingCVDesc)
S3method(print,HoldoutDesc)
S3method(print,HyperParsEffectData)
S3method(print,ImputationDesc)
Expand Down Expand Up @@ -670,6 +676,7 @@ S3method(trainLearner,cluster.cmeans)
S3method(trainLearner,cluster.dbscan)
S3method(trainLearner,cluster.kkmeans)
S3method(trainLearner,cluster.kmeans)
S3method(trainLearner,fcregr.Arima)
S3method(trainLearner,multilabel.cforest)
S3method(trainLearner,multilabel.rFerns)
S3method(trainLearner,multilabel.randomForestSRC)
Expand Down Expand Up @@ -788,6 +795,7 @@ export(f1)
export(fdr)
export(featperc)
export(filterFeatures)
export(fixedcv)
export(fn)
export(fnr)
export(fp)
Expand Down Expand Up @@ -863,6 +871,7 @@ export(getStackedBaseLearnerPredictions)
export(getTaskClassLevels)
export(getTaskCosts)
export(getTaskData)
export(getTaskDates)
export(getTaskDesc)
export(getTaskDescription)
export(getTaskFeatureNames)
Expand All @@ -876,6 +885,7 @@ export(getTaskType)
export(getTuneResult)
export(gmean)
export(gpr)
export(growingcv)
export(hasLearnerProperties)
export(hasMeasureProperties)
export(hasProperties)
Expand Down Expand Up @@ -930,6 +940,7 @@ export(makeFeatSelWrapper)
export(makeFilter)
export(makeFilterWrapper)
export(makeFixedHoldoutInstance)
export(makeForecastRegrTask)
export(makeImputeMethod)
export(makeImputeWrapper)
export(makeLearner)
Expand All @@ -953,6 +964,7 @@ export(makeRLearner)
export(makeRLearnerClassif)
export(makeRLearnerCluster)
export(makeRLearnerCostSens)
export(makeRLearnerForecastRegr)
export(makeRLearnerMultilabel)
export(makeRLearnerRegr)
export(makeRLearnerSurv)
Expand All @@ -978,6 +990,7 @@ export(makeUndersampleWrapper)
export(makeWeightedClassesWrapper)
export(makeWrappedModel)
export(mape)
export(mase)
export(mcc)
export(mcp)
export(meancosts)
Expand All @@ -1004,6 +1017,7 @@ export(measureLSR)
export(measureLogloss)
export(measureMAE)
export(measureMAPE)
export(measureMASE)
export(measureMCC)
export(measureMEDAE)
export(measureMEDSE)
Expand Down
5 changes: 5 additions & 0 deletions R/FailureModel.R
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ predictFailureModel = function(model, newdata) {
rep(NA_real_, n)
else
matrix(NA_real_, nrow = n, ncol = 2L, dimnames = list(NULL, c("response", "se")))
} else if (type == "fcregr") {
res = if (ptype == "response")
rep(NA_real_, n)
else
matrix(NA_real_, nrow = n, ncol = 2L, dimnames = list(NULL, c("response", "quantile")))
} else if (type == "surv") {
if (ptype == "response")
res = rep.int(NA_real_, n)
Expand Down
74 changes: 74 additions & 0 deletions R/ForecastRegrTask.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#' @title Create a task for univariate forecasting
#'
#' @rdname Task
#'
#' @description Creates a task for univariate forecasting learners
#'
#' @export
makeForecastRegrTask = function(id = deparse(substitute(data)), data, target,
weights = NULL, blocking = NULL, frequency = 1L, date.col = "dates", fixup.data = "warn",
check.data = TRUE) {
assertString(id)
assertClass(data, "data.frame")
assertString(target)
assertString(date.col)
frequency = asCount(frequency)
assertChoice(fixup.data, choices = c("no", "quiet", "warn"))
assertFlag(check.data)

# Need to check that dates
# 1. Exist
# 2. Are unique
# 3. Follow POSIXct convention
dates = data[, date.col, drop = FALSE]
if (check.data) {
assertNumeric(data[[target]], any.missing = FALSE, finite = TRUE, .var.name = target)
if (any(duplicated(dates)))
stop(catf("Multiple observations for %s. Dates must be unique.", dates[any(duplicated(dates)), ]))
if (!is.POSIXt(dates[, 1]))
stop(catf("Dates are of type %s, but must be in a POSIXt format", class(dates[, 1])))
}
if (fixup.data != "no") {
if (is.integer(data[[target]]))
data[[target]] = as.double(data[[target]])
if (is.unsorted(dates[, 1])) {
if (fixup.data == "warn")
warning("Dates and data will be sorted in ascending order")
date.order = order(dates)
data = data[date.order, , drop = FALSE]
dates = dates[date.order, , drop = FALSE]
}
}
# Remove the date column and add it as the rownames
data = data[, date.col != colnames(data), drop = FALSE]

task = makeSupervisedTask("fcregr", data, target, weights, blocking, fixup.data = fixup.data, check.data = check.data)
task$task.desc = makeForecastRegrTaskDesc(id, data, target, weights, blocking, frequency, dates)
addClasses(task, c("ForecastRegrTask", "TimeTask"))
}

makeForecastRegrTaskDesc = function(id, data, target, weights, blocking, frequency, dates) {
td = makeTaskDescInternal("fcregr", id, data, target, weights, blocking)
td$dates = dates
td$frequency = frequency
addClasses(td, c("ForecastRegrTaskDesc", "SupervisedTaskDesc"))
}


#' @export
print.ForecastRegrTask = function(x, print.weights = TRUE, ...) {
td = getTaskDesc(x)
catf("Task: %s", td$id)
catf("Type: %s", td$type)
catf("Target: %s", td$target)
catf("Observations: %i", td$size)
catf("Dates:\n Start: %s \n End: %s", td$dates[1], td$dates[length(td$dates)])
catf("Frequency: %i", td$frequency)
catf("Features:")
catf(printToChar(td$n.feat, collapse = "\n"))
catf("Missings: %s", td$has.missings)
if (print.weights)
catf("Has weights: %s", td$has.weights)
catf("Has blocking: %s", td$has.blocking)
}

5 changes: 4 additions & 1 deletion R/Measure.R
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#' \item{classif.multi}{Is the measure applicable for multi-class classification?}
#' \item{multilabel}{Is the measure applicable for multilabel classification?}
#' \item{regr}{Is the measure applicable for regression?}
#' \item{fcregr}{Is the measure applicable for forecasting regression?}
#' \item{surv}{Is the measure applicable for survival?}
#' \item{cluster}{Is the measure applicable for cluster?}
#' \item{costsens}{Is the measure applicable for cost-sensitive learning?}
Expand Down Expand Up @@ -129,6 +130,7 @@ makeMeasure = function(id, minimize, properties = character(0L),
#' surv \tab cindex\cr
#' costsens \tab mcp\cr
#' multilabel \tab multilabel.hamloss\cr
#' fcregr \tab mse
#' }
#'
#' @param x [\code{character(1)} | \code{\link{Task}} | \code{\link{TaskDesc}} | \code{\link{Learner}}]\cr
Expand All @@ -152,7 +154,8 @@ getDefaultMeasure = function(x) {
regr = mse,
surv = cindex,
costsens = mcp,
multilabel = multilabel.hamloss
multilabel = multilabel.hamloss,
fcregr = mse
)
}

Expand Down
51 changes: 51 additions & 0 deletions R/Prediction.R
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,57 @@ makePrediction.CostSensTaskDesc = function(task.desc, row.names, id, truth, pred
)
}

#' @export
makePrediction.ForecastRegrTaskDesc = function(task.desc, row.names, id, truth, predict.type, predict.threshold = NULL, y, time, error = NA_character_, dump = NULL) {
data = namedList(c("id", "truth", "response", "se"))
if (any(inherits(y, "matrix"))) {
size.y = nrow(y)
} else {
size.y = length(y)
}

# This will only happen when there is a task with no subset
# aka, we predict future values and have to get their times
if (length(truth) > size.y) {
row.dates = as.POSIXct(task.desc$dates)
diff.time = difftime(row.dates[2], row.dates[1], units = "auto")
start = row.dates[length(row.dates)] + diff.time
end = start + diff.time * size.y
row.dates = seq.POSIXt(start, end, by = diff.time)
data$id = NULL
data$truth = NULL
} else {
row.dates = row.names[seq_len(length(truth))]
if (inherits(y, "matrix")) {
y = y[seq_len(length(truth)), , drop = FALSE]
} else {
y = y[seq_len(length(truth))]
}
data$id = id
data$truth = truth
}
if (predict.type == "response") {
data$response = y
data = filterNull(data)
} else {
y = as.data.frame(y)
data$response = y[, 1L, drop = FALSE]
colnames(data$response) = NULL
data$se = y[, -1, drop = FALSE]
data = filterNull(data)
}

makeS3Obj(c("PredictionForecastRegr", "Prediction"),
predict.type = predict.type,
data = setRowNames(as.data.frame(data, row.names = NULL), row.dates),
threshold = NA_real_,
task.desc = task.desc,
time = time,
error = error,
dump = dump
)
}

#' @export
print.Prediction = function(x, ...) {
catf("Prediction: %i observations", nrow(x$data))
Expand Down
1 change: 1 addition & 0 deletions R/Prediction_operators.R
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ getProbabilities = function(pred, cl) {
#' cluster \tab integer\cr
#' surv \tab numeric\cr
#' multilabel \tab logical matrix, columns named with labels\cr
#' fcregr \tab numeric\cr
#' }
#'
#' @template arg_pred
Expand Down
12 changes: 11 additions & 1 deletion R/RLearner.R
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ makeRLearnerInternal = function(id, type, package, par.set, par.vals, properties
requirePackages(package, why = stri_paste("learner", id, sep = " "), default.method = "load")

assertString(id)
assertChoice(type, choices = c("classif", "regr", "multilabel", "surv", "cluster", "costsens"))
assertChoice(type, choices = c("classif", "regr", "multilabel", "surv", "cluster", "costsens", "fcregr"))
assertSubset(properties, listLearnerProperties(type))
assertClass(par.set, classes = "ParamSet")
checkListElementClass(par.set$pars, "LearnerParam")
Expand Down Expand Up @@ -165,3 +165,13 @@ makeRLearnerCostSens = function(cl, package, par.set, par.vals = list(), propert

return(lrn)
}


#' @export
#' @rdname RLearner
makeRLearnerForecastRegr = function(cl, package, par.set, par.vals = list(), properties = character(0L), name = cl, short.name = cl, note = "", callees = character(0L)) {
addClasses(
makeRLearnerInternal(cl, "fcregr", package, par.set, par.vals, properties, name, short.name, note, callees),
c(cl, "RLearnerForecastRegr")
)
}
Loading

0 comments on commit 24f0106

Please sign in to comment.