Title: | EEMD Based Auto Regressive Integrated Moving Average Model |
---|---|
Description: | Forecasting time series with different decomposition based ARIMA models. For method details see Yu L, Wang S, Lai KK (2008). <doi:10.1016/j.eneco.2008.05.003>. |
Authors: | Rajeev Ranjan Kumar [aut, cre], Girish Kumar Jha [aut, ths, ctb], Kapil Choudhary [aut, ctb], Ronit Jaiswal [ctb] |
Maintainer: | Rajeev Ranjan Kumar <[email protected]> |
License: | GPL-3 |
Version: | 0.1.0 |
Built: | 2024-11-23 03:47:30 UTC |
Source: | https://github.com/cran/eemdARIMA |
Monthly international Maize price (Dollor per million ton) from January 2001 to December 2019.
data("Data_Maize")
data("Data_Maize")
A time series data with 228 observations.
price
a time series
Dataset contains 228 observations of monthly international Maize price (Dollor per million ton). It is obtained from World Bank "Pink sheet".
https://www.worldbank.org/en/research/commodity-markets
https://www.worldbank.org/en/research/commodity-markets
data(Data_Maize)
data(Data_Maize)
The EEMDARIMA function computes forecasted value with different forecasting evaluation criteria for Ensemble Empirical Mode Decomposition based ARIMA Model.
EEMDARIMA(data, stepahead=10, num.IMFs=emd_num_imfs(length(data)), s.num=4L, num.sift=50L, ensem.size=250L, noise.st=0.2)
EEMDARIMA(data, stepahead=10, num.IMFs=emd_num_imfs(length(data)), s.num=4L, num.sift=50L, ensem.size=250L, noise.st=0.2)
data |
Input univariate time series (ts) data. |
stepahead |
The forecast horizon. |
num.IMFs |
Number of Intrinsic Mode Function (IMF) for input series. |
s.num |
Integer. Use the S number stopping criterion for the EMD procedure with the given values of S. That is, iterate until the number of extrema and zero crossings in the signal differ at most by one, and stay the same for S consecutive iterations. |
num.sift |
Number of siftings to find out IMFs. |
ensem.size |
Number of copies of the input signal to use as the ensemble. |
noise.st |
Standard deviation of the Gaussian random numbers used as additional noise. This value is relative to the standard deviation of the input series. |
To overcome the problem of mode mixing in EMD decomposition technique, Ensemble Empirical Mode Decomposition (EEMD) method was developed by Wu and Huang (2009). EEMD significantly reduces the chance of mode mixing and represents a substantial improvement over the original EMD.
TotalIMF |
Total number of IMFs. |
AllIMF |
List of all IMFs with residual for input series. |
data_test |
Testing set used to measure the out of sample performance. |
AllIMF_forecast |
Forecasted value of all individual IMF. |
FinalEEMDARIMA_forecast |
Final forecasted value of the EEMD based ARIMA model. It is obtained by combining the forecasted value of all individual IMF. |
MAE_EEMDARIMA |
Mean Absolute Error (MAE) for EEMD based ARIMA model. |
MAPE_EEMDARIMA |
Mean Absolute Percentage Error (MAPE) for EEMD based ARIMA model. |
rmse_EEMDARIMA |
Root Mean Square Error (RMSE) for EEMD based ARIMA model. |
Choudhary, K., Jha, G.K., Kumar, R.R. and Mishra, D.C. (2019) Agricultural commodity price analysis using ensemble empirical mode decomposition: A case study of daily potato price series. Indian journal of agricultural sciences, 89(5), 882–886.
Wu, Z. and Huang, N.E. (2009) Ensemble empirical mode decomposition: a noise assisted data analysis method. Advances in adaptive data analysis, 1(1), 1–41.
emdARIMA
Data("Data_Maize") EEMDARIMA(Data_Maize)
Data("Data_Maize") EEMDARIMA(Data_Maize)
The emdARIMA function gives forecasted value of Empirical Mode Decomposition based ARIMA Model with different forecasting evaluation criteria.
emdARIMA(data, stepahead=10, num.IMFs=emd_num_imfs(length(data)), s.num=4L, num.sift=50L)
emdARIMA(data, stepahead=10, num.IMFs=emd_num_imfs(length(data)), s.num=4L, num.sift=50L)
data |
Input univariate time series (ts) data. |
stepahead |
The forecast horizon. |
num.IMFs |
Number of Intrinsic Mode Function (IMF) for input series. |
s.num |
Integer. Use the S number stopping criterion for the EMD procedure with the given values of S. That is, iterate until the number of extrema and zero crossings in the signal differ at most by one, and stay the same for S consecutive iterations. |
num.sift |
Number of siftings to find out IMFs. |
This function firstly, decompose the nonlinear and nonstationary time series into several independent intrinsic mode functions (IMFs) and one residual component (Huang et al., 1998). Secondly, ARIMA is used to forecast these IMFs and residual component individually. Finally, the prediction results of all IMFs including residual are aggregated to form the final forecasted value for given input time series.
TotalIMF |
Total number of IMFs. |
AllIMF |
List of all IMFs with residual for input series. |
data_test |
Testing set used to measure the out of sample performance. |
AllIMF_forecast |
Forecasted value of all individual IMF. |
FinalEMDARIMA_forecast |
Final forecasted value of the EMD based ARIMA model. It is obtained by combining the forecasted value of all individual IMF. |
MAE_EMDARIMA |
Mean Absolute Error (MAE) for EMD based ARIMA model. |
MAPE_EMDARIMA |
Mean Absolute Percentage Error (MAPE) for EMD based ARIMA model. |
rmse_EMDARIMA |
Root Mean Square Error (RMSE) for EMD based ARIMA model. |
Choudhary, K., Jha, G.K., Kumar, R.R. and Mishra, D.C. (2019) Agricultural commodity price analysis using ensemble empirical mode decomposition: A case study of daily potato price series. Indian journal of agricultural sciences, 89(5), 882–886.
Huang, N.E., Shen, Z., Long, S.R., Wu, M.C., Shih, H.H., Zheng, Q. and Liu, H.H. (1998) The empirical mode decomposition and the Hilbert spectrum for nonlinear and non stationary time series analysis. In Proceedings of the Royal Society of London A: mathematical, physical and engineering sciences. 454, 903–995.
Jha, G.K. and Sinha, K. (2014) Time delay neural networks for time series prediction: An application to the monthly wholesale price of oilseeds in India. Neural Computing and Applications, 24, 563–571.
EEMDARIMA
data("Data_Maize") emdARIMA(Data_Maize)
data("Data_Maize") emdARIMA(Data_Maize)