# Model A:
modelA <- lm( REVENUE ~ PPM_DAY0+PPM_DAY1+PPM_DAY2+PPM_DAY3+PPM_DAY4+PPM_DAY5+PPM_DAY6+PPM_DAY7+PPM_DAY15+PPM_DAY21+PPM_DAY30+PPM_DAY60+PPM_DAY90+PPM_DAY180 , data = dfa )
# Stats summary:
summary( modelA )
##
## Call:
## lm(formula = REVENUE ~ PPM_DAY0 + PPM_DAY1 + PPM_DAY2 + PPM_DAY3 +
## PPM_DAY4 + PPM_DAY5 + PPM_DAY6 + PPM_DAY7 + PPM_DAY15 + PPM_DAY21 +
## PPM_DAY30 + PPM_DAY60 + PPM_DAY90 + PPM_DAY180, data = dfa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -505.45 -148.46 23.48 162.18 459.86
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4646.91 1018.59 4.562 0.00017 ***
## PPM_DAY0 -1028.57 808.27 -1.273 0.21708
## PPM_DAY1 -1459.56 1577.05 -0.925 0.36522
## PPM_DAY2 -715.46 2349.26 -0.305 0.76371
## PPM_DAY3 4140.05 2291.83 1.806 0.08520 .
## PPM_DAY4 592.89 1314.33 0.451 0.65654
## PPM_DAY5 -1372.34 2382.37 -0.576 0.57071
## PPM_DAY6 -1632.51 2263.23 -0.721 0.47867
## PPM_DAY7 -3521.53 3425.67 -1.028 0.31565
## PPM_DAY15 3236.08 2746.03 1.178 0.25180
## PPM_DAY21 -708.64 538.13 -1.317 0.20207
## PPM_DAY30 -71.73 42.63 -1.682 0.10728
## PPM_DAY60 -891.88 2110.30 -0.423 0.67686
## PPM_DAY90 4125.07 2616.51 1.577 0.12984
## PPM_DAY180 -3556.99 2614.95 -1.360 0.18817
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 262.8 on 21 degrees of freedom
## Multiple R-squared: 0.5742, Adjusted R-squared: 0.2904
## F-statistic: 2.023 on 14 and 21 DF, p-value: 0.07008
dfa$modelA <- predict( modelA , dfa)
# Plot scattered chart: Model Prediction vs Actual
plot( data.frame(cbind(actuals=dfa$REVENUE, predicteds=dfa$modelA )) )
# Plot Hexa Binning chart: Model Prediction vs Actual
plot(hexbin(dfa$REVENUE, dfa$modelA , xbins=5) , main="Hexagonal Binning")
#modelB <- lm( REVENUE ~ PPM_DAY0+PPM_DAY3+PPM_DAY4+PPM_DAY15+PPM_DAY21+PPM_DAY30 , data = dfa )
# Model B:
modelB <- lm( REVENUE ~ PPM_DAY0+PPM_DAY3+PPM_DAY6+PPM_DAY30+PPM_DAY180 , data = dfa )
summary( modelB )
##
## Call:
## lm(formula = REVENUE ~ PPM_DAY0 + PPM_DAY3 + PPM_DAY6 + PPM_DAY30 +
## PPM_DAY180, data = dfa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -474.8 -192.8 -13.0 162.8 550.9
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3276.00 606.81 5.399 7.56e-06 ***
## PPM_DAY0 -1864.25 622.27 -2.996 0.00545 **
## PPM_DAY3 2259.14 1084.32 2.083 0.04583 *
## PPM_DAY6 12.22 1242.66 0.010 0.99222
## PPM_DAY30 -77.13 33.54 -2.299 0.02863 *
## PPM_DAY180 -1035.25 1351.17 -0.766 0.44955
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 268.5 on 30 degrees of freedom
## Multiple R-squared: 0.3652, Adjusted R-squared: 0.2594
## F-statistic: 3.452 on 5 and 30 DF, p-value: 0.01395
dfa$modelB <- predict( modelB , dfa)
# Plot scattered chart: Model Prediction vs Actual
plot( data.frame(cbind(actuals=dfa$REVENUE, predicteds=dfa$modelB )) )
# Plot Hexa Binning chart: Model Prediction vs Actual
plot(hexbin(dfa$REVENUE, dfa$modelB , xbins=5) , main="Hexagonal Binning")
Chart below is representing normalized (around their means) the fields: revenue, prediction, day 0 to 180