Summary

In this project, we evaluate different models for forecasting one-year-ahead March inflation in order to build a time series of March real interest rates. In particular, we compare the predictive accuracy between two models: AR(1) and Simple Exponential Smoothing (SES). We evaluate the predictive accuracy of one-year-ahead forecasts using roll-forward partioning, where the training window is expanded by one observation for every one-year-ahead forecast. Throughout this process, we attempt to find the optimal learning rate, alpha, for SES.

Our results reveal that there is no significant difference between an AR(1) and SES in terms of forecasting accuracy. No rate of alpha could alter these results.

Finally, we plot a times series of real interest rates, in which the values from the one-year-ahead AR(1) and SES forecasts are used as proxies for expected inflation.

Data Used

Variables

We use the data frame \(rates.yearly\) to store 18 variables:

Methodology

In order to build a times series of real interest rates, we attempt to find the best model for predicting inflation based on litterature and statistical testing. Autocorrelation plots as well as the Bayesian Information Criterion (BIC) suggest that March inflation follows an AR(1) process (although Dickey-Fuller suggests otherwise). We wanted to test the AR(1) against a Simple Exponential Smoothing (SES) model knowing that stationary models of inflation tend to perform worse than models which account for a time varying mean (“Forecasting Inflation” by Faust and Wright). We try to to find the optimal learning rate, alpha, for SES and set it to a default value of 0.2. It is important to note, however, that a high learning rate (alpha) leads to overfitting (“Practical Time Series Forecasting with R” by Schmueli and Lichtendahl Jr).

We first estimate an AR(1) and a SES model on inflation. The Diebold-Mariano test reveals no significant difference between the two models. This is true for any rate of alpha.

Then, we measure the long-term forecasting accuracy of AR(1) and SES using fixed partioning (i.e. the training set is fixed throughout the forecast horizon). The 30-year-ahead forecast spans from March 1989 up to March 2019. No significant difference was found between the two forecasts at any level of alpha.

Roll-forward partioning was used next to forecast one-year-ahead between 1955 and 2019. With roll-forward partioning, the size of the training set increases by one for each one-year-ahead forecast as we add the next observed (realized) datapoint to the set. Roll-forward partitioning enables us to generate multiple one-year-ahead forecasts and thus gain a more accurate understanding of how the forecast peforms on average. No significant difference was found between AR(1) and SES.

Finally, we plot four graphs for every type of interest rates (10Y, 5Y, 3Y, & 1Y), each of which contains the following curves from March 1954 to March 2018:

Model Estimation for Inflation

1. Plotting Realized Inflation

Geometric Decay of autocorrelations suggests AR(1)

Large significant autocorrelation at lag 1 suggests AR(1)

## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression none 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.4825 -0.6451  0.3273  1.3877  9.6189 
## 
## Coefficients:
##            Estimate Std. Error t value Pr(>|t|)  
## z.lag.1    -0.11793    0.06267  -1.882   0.0642 .
## z.diff.lag -0.15213    0.11550  -1.317   0.1922  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.205 on 68 degrees of freedom
## Multiple R-squared:  0.09214,    Adjusted R-squared:  0.06544 
## F-statistic: 3.451 on 2 and 68 DF,  p-value: 0.03738
## 
## 
## Value of test-statistic is: -1.8817 
## 
## Critical values for test statistics: 
##      1pct  5pct 10pct
## tau1 -2.6 -1.95 -1.61

Suprisingly, Dickey-Fuller Test reveals a unit root (cannot reject null a 5% lvl), therefore, inflation series follows a random walk. This is contrary to the findings using monthly data and annual January data

## Series: pi.ts 
## ARIMA(1,0,0) with non-zero mean 
## 
## Coefficients:
##         ar1    mean
##       0.630  3.4359
## s.e.  0.091  0.6565
## 
## sigma^2 estimated as 4.574:  log likelihood=-156.14
## AIC=318.28   AICc=318.63   BIC=325.11
## 
## Training set error measures:
##                       ME     RMSE      MAE      MPE     MAPE      MASE
## Training set -0.03752273 2.108838 1.437376 151.9024 238.1562 0.9412812
##                     ACF1
## Training set -0.03594673

However, model selection using BIC still suggests AR(1).

2. Comparing Ar(1) with Simple Exponential Smoothing (SES)

## [1] "RMSE for AR(1):"
## [1] 2.108838
## [1] "RMSE for SES:"
## [1] 2.267202
## 
##  Diebold-Mariano Test
## 
## data:  ar1.mod$residualsses.mod$residuals
## DM = -0.93116, Forecast horizon = 1, Loss function power = 2, p-value =
## 0.3549
## alternative hypothesis: two.sided

RMSE of AR(1) is 2.102 which is lower than for SES (RMSE= 2.267). The Diebold-Mariano test shows no significant difference in accuracy between both models at a 5% lvl (p-value for two-sided test = 0.354). No rate of alpha could change this.

Forecasting Inflation

1. 30-year-ahead Forecast with fixed partitioning (forecast horizon: 1990 to 2019)

## [1] "RMSE of AR(1) forecast:"
## [1] 2.112149
## [1] "RMSE of SES forecast:"
## [1] 2.501827
## 
##  Diebold-Mariano Test
## 
## data:  ar1.fixed$residualsses.fixed$residuals
## DM = -1.0844, Forecast horizon = 1, Loss function power = 2, p-value =
## 0.2845
## alternative hypothesis: two.sided

RMSE for AR(1) is lower than for SES. D-M test reveals no significant difference in accuracy at a 5% lvl. Again, no significant value for alpha.

2. Forecasting with Roll-Forward partitioning (horizon: 1955 to 2019)

## [1] "RMSE for recursive AR(1)"
## [1] 2.100374
## [1] "RMSE for recursive SES"
## [1] 2.065069
## 
##  Diebold-Mariano Test
## 
## data:  valid.roll - ar1.rollvalid.roll - ses.roll
## DM = 0.28795, Forecast horizon = 1, Loss function power = 2, p-value =
## 0.7743
## alternative hypothesis: two.sided

In this case, RMSE for SES is lower than for AR(1), however, the difference is not significant at a 5% lvl. No value of alpha can change this.

Conclusion: There is no significant difference between AR(1) and SES long-term forecasts. This is also true for one-year-ahead forecasts.

Plotting Real Interest Rates using Roll-Forward Forecasts of Inflation

In the graph above, we can see the nominal rate plotted against the realized real rate as well as the forecasted real rates. For each forecasted real rate (AR(1) & SES), the value of \(r\) at year \(y\) is computed by subtracting forecasted inflation at year \(y+1\) from the nominal rate at year \(y\).

Sources

Forecasting Inflation: Faust & Wright, Chapter Chapter 1 in Handbook of Economic Forecasting, 2013, vol. 2, pp 2-56 from Elsevier

TS forecasting in R: Schmueli, G. C., & Lichtendahl, K. C. (2016). Practical Time Series Forecasting in R (2nd ed.). Axelrod Schnall.