##
## Call:
## lm(formula = sqrt_fei ~ Brent, data = sqrt_fei.train.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.13703 -0.04239 -0.01040 0.03662 0.16623
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5426638 0.0195997 27.69 <2e-16 ***
## Brent 0.0070378 0.0002403 29.29 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06559 on 107 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.8891, Adjusted R-squared: 0.8881
## F-statistic: 857.8 on 1 and 107 DF, p-value: < 2.2e-16
## [1] 0.9086685
## Fitting the auto.arima model
## Fitting the nnetar model
## Fitting the auto.arima model
## Fitting the nnetar model
fcast<-autoplot(ts.union('FEI Historical'=fei_propane_new,'Predicted Forward Curve'=fei_propane_forwardcurve,FEI_Propane_Forecast),
facets=FALSE,size=1)+guides(color=guide_legend(title = "Forecast Models"))+
labs(y="Price",x="Date")+ggtitle("FEI Propane Forecast")+
scale_color_manual(values = c(1,2,3,4))
autoplotly(fcast)
## Warning: `group_by_()` is deprecated as of dplyr 0.7.0.
## Please use `group_by()` instead.
## See vignette('programming') for more help
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
#FEI Butane
##
## Call:
## lm(formula = sqrt_fei ~ Brent, data = sqrt_fei.train.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.153509 -0.035863 -0.006233 0.041491 0.184546
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.6028573 0.0203258 29.66 <2e-16 ***
## Brent 0.0075037 0.0002492 30.11 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06802 on 107 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.8944, Adjusted R-squared: 0.8935
## F-statistic: 906.7 on 1 and 107 DF, p-value: < 2.2e-16
## [1] 0.9302591
## Fitting the auto.arima model
## Fitting the nnetar model
## Fitting the auto.arima model
## Fitting the nnetar model
##
## Attaching package: 'MASS'
## The following object is masked from 'package:plotly':
##
## select
## The following object is masked from 'package:dplyr':
##
## select
##
## Call:
## lm(formula = propane_diff ~ Brent + WTI, data = propane_diff_df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.67326 -0.12301 -0.01376 0.13316 0.59725
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001192 0.061898 0.019 0.98466
## Brent 0.010115 0.003677 2.751 0.00681 **
## WTI -0.005801 0.004313 -1.345 0.18109
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2161 on 127 degrees of freedom
## Multiple R-squared: 0.3127, Adjusted R-squared: 0.3019
## F-statistic: 28.89 on 2 and 127 DF, p-value: 4.563e-11
## Loading required package: splines
## Loading required package: foreach
##
## Attaching package: 'foreach'
## The following objects are masked from 'package:purrr':
##
## accumulate, when
## Loaded gam 1.20
## Call:
## gam(formula = propane_diff ~ poly(Brent, 3) + poly(WTI, 2), data = propane.diff.train.df)
##
## Degrees of Freedom: 109 total; 104 Residual
## Residual Deviance: 5.00146
##
## Call: gam(formula = propane_diff ~ poly(Brent, 3) + poly(WTI, 2), data = propane.diff.train.df)
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.55766 -0.10821 -0.02561 0.11240 0.63460
##
## (Dispersion Parameter for gaussian family taken to be 0.0481)
##
## Null Deviance: 7.2786 on 109 degrees of freedom
## Residual Deviance: 5.0015 on 104 degrees of freedom
## AIC: -13.816
##
## Number of Local Scoring Iterations: 2
##
## Anova for Parametric Effects
## Df Sum Sq Mean Sq F value Pr(>F)
## poly(Brent, 3) 3 2.0964 0.69881 14.5311 5.656e-08 ***
## poly(WTI, 2) 2 0.1807 0.09034 1.8786 0.158
## Residuals 104 5.0015 0.04809
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## [1] 0.5292114
FEI_butane_Forecast<-hybrid.fun(fei_butane) %>% forecast(h=60)
## Fitting the auto.arima model
## Fitting the nnetar model
FEI_butane_Forecast<-FEI_butane_Forecast$mean %>% ts(frequency = 12,start = c(2021,1))