{"id":1433,"date":"2017-10-25T19:02:44","date_gmt":"2017-10-25T19:02:44","guid":{"rendered":"http:\/\/kourentzes.com\/forecasting\/?p=1433"},"modified":"2017-10-29T12:40:54","modified_gmt":"2017-10-29T12:40:54","slug":"new-r-package-nnfor-time-series-forecasting-with-neural-networks","status":"publish","type":"post","link":"https:\/\/kourentzes.com\/forecasting\/2017\/10\/25\/new-r-package-nnfor-time-series-forecasting-with-neural-networks\/","title":{"rendered":"New R package nnfor: time series forecasting with neural networks"},"content":{"rendered":"<p>My new R package\u00a0<a href=\"https:\/\/cran.r-project.org\/package=nnfor\" target=\"_blank\" rel=\"noopener\"><strong>nnfor<\/strong><\/a> is available on CRAN. This collects the various neural network functions that appeared in TStools. See this <a href=\"http:\/\/kourentzes.com\/forecasting\/2017\/02\/10\/forecasting-time-series-with-neural-networks-in-r\/\">post<\/a> for demo of these functions. In summary the package includes:<\/p>\n<ul>\n<li>Automatic, semi-automatic or fully manual specification of MLP neural networks for time series modelling, that helps in specifying inputs with lags of the target and exogenous variables. It can automatically deal with pre-processing (differencing and scaling) and identify the number of hidden nodes. The user can control which of these settings are left on automatic or not.<\/li>\n<li>A few options for building network ensembles.<\/li>\n<li>Plotting functions of the network topology, fit and forecast.<\/li>\n<li>All the above for ELMs (Extreme Learning Machines).<\/li>\n<li>Support for Temporal Hierarchies Forecasting, with the <a href=\"https:\/\/cran.r-project.org\/package=thief\" target=\"_blank\" rel=\"noopener\">thief<\/a> package for R.<\/li>\n<\/ul>\n<p>This builds on the neuralnet package for R, and provides the code to make the networks capable of handling time series data automatically. Although that package is quite flexible, it is computationally expensive and does not permit for deep learning. The plan is to eventually implement such capabilities in the package.<\/p>\n<p>There are numerous papers that support the ideas used to put together this package:<\/p>\n<ul>\n<li>In my new <a href=\"http:\/\/kourentzes.com\/forecasting\/2017\/10\/16\/new-forecasting-book-principles-of-business-forecasting-2e\/\">book<\/a>, Ord et al., 2017, Principles of Business Forecasting, 2e, Wessex Press Publishing. Chapter 10 describes the basic logic in building MLP networks for time series forecasting. This package implements the logic described there.<\/li>\n<li>This <a href=\"http:\/\/kourentzes.com\/forecasting\/2010\/04\/19\/feature-selection-for-time-series-prediction-a-combined-filter-and-wrapper-approach-for-neural-networks\/\">paper<\/a> demonstartes the performance of the input variable selection algorithm: Crone and Kourentzes, 2010, Feature selection for time series prediction &#8211; a combined filter and wrapper approach for neural networks. Neurocmputing, 73, 1923-1936. There is some influence from this <a href=\"http:\/\/kourentzes.com\/forecasting\/2010\/04\/19\/frequency-independent-automatic-input-variable-selection-for-neural-networks-for-forecasting\/\">proceedings paper<\/a> as well. (These feel like really old papers!)<\/li>\n<li>This <a href=\"http:\/\/kourentzes.com\/forecasting\/2014\/04\/19\/neural-network-ensemble-operators-for-time-series-forecasting\/\">paper<\/a> looks at the combination operator for the ensembles. Please move away from the average! Kourenztes et al., 2014, Neural network ensembles operators for time series forecasting. Expert Systems with Applications, 41, 4235-4244.<\/li>\n<\/ul>\n<p>The neural network functions in TStools will be removed, initially pointing towards this package and latter removed completely.<\/p>\n<p>There is a github repository for this, where I will be posting updates and fixes till they go on CRAN: <a href=\"https:\/\/github.com\/trnnick\/nnfor\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/trnnick\/nnfor<\/a><\/p>\n<p>Happy (nonlinear) forecasting!<\/p>\n<div class=\"SPOSTARBUST-Related-Posts\"><H3>Related Posts<\/H3><ul class=\"entry-meta\"><li class=\"SPOSTARBUST-Related-Post\"><a title=\"Stochastic Coherency in Forecast Reconciliation\" href=\"https:\/\/kourentzes.com\/forecasting\/2021\/07\/09\/stochastic-coherency-in-forecast-reconciliation\/\" rel=\"bookmark\">Stochastic Coherency in Forecast Reconciliation<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Visitor Arrivals Forecasts amid COVID-19: A Perspective from the Africa Team\" href=\"https:\/\/kourentzes.com\/forecasting\/2021\/07\/09\/visitor-arrivals-forecasts-amid-covid-19-a-perspective-from-the-africa-team\/\" rel=\"bookmark\">Visitor Arrivals Forecasts amid COVID-19: A Perspective from the Africa Team<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Discussion panel on &#8216;AI in research&#8217; at Sk\u00f6vde\" href=\"https:\/\/kourentzes.com\/forecasting\/2020\/11\/06\/discussion-panel-on-ai-in-research-at-skovde\/\" rel=\"bookmark\">Discussion panel on &#8216;AI in research&#8217; at Sk\u00f6vde<\/a><\/li>\n<\/ul><\/div><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>My new R package\u00a0nnfor is available on CRAN. This collects the various neural network functions that appeared in TStools. See this post for demo of these functions. In summary the package includes: Automatic, semi-automatic or fully manual specification of MLP neural networks for time series modelling, that helps in specifying inputs with lags of the\u2026 <span class=\"read-more\"><a href=\"https:\/\/kourentzes.com\/forecasting\/2017\/10\/25\/new-r-package-nnfor-time-series-forecasting-with-neural-networks\/\">Read More &raquo;<\/a><\/span><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[41],"tags":[14,37,12,39,68],"_links":{"self":[{"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/posts\/1433"}],"collection":[{"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/comments?post=1433"}],"version-history":[{"count":2,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/posts\/1433\/revisions"}],"predecessor-version":[{"id":1443,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/posts\/1433\/revisions\/1443"}],"wp:attachment":[{"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/media?parent=1433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/categories?post=1433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kourentzes.com\/forecasting\/wp-json\/wp\/v2\/tags?post=1433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- WP Super Cache is installed but broken. The constant WPCACHEHOME must be set in the file wp-config.php and point at the WP Super Cache plugin directory. -->