# 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
## -20.069 -4.346 1.143 4.289 12.974
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 202.00 31.20 6.474 2.05e-06 ***
## PPM_DAY0 402.25 232.93 1.727 0.09887 .
## PPM_DAY1 -135.92 430.39 -0.316 0.75527
## PPM_DAY2 -224.17 558.60 -0.401 0.69225
## PPM_DAY3 -415.76 315.15 -1.319 0.20129
## PPM_DAY4 1261.94 357.03 3.535 0.00197 **
## PPM_DAY5 -1429.17 731.81 -1.953 0.06428 .
## PPM_DAY6 333.38 280.33 1.189 0.24761
## PPM_DAY7 1293.15 814.56 1.588 0.12733
## PPM_DAY15 -806.12 622.88 -1.294 0.20966
## PPM_DAY21 -446.66 448.95 -0.995 0.33112
## PPM_DAY30 210.73 154.67 1.362 0.18751
## PPM_DAY60 57.62 78.36 0.735 0.47031
## PPM_DAY90 -116.59 69.03 -1.689 0.10601
## PPM_DAY180 35.67 32.15 1.110 0.27975
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.603 on 21 degrees of freedom
## Multiple R-squared: 0.8777, Adjusted R-squared: 0.7962
## F-statistic: 10.77 on 14 and 21 DF, p-value: 1.284e-06
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
## -31.537 -8.270 -1.753 9.204 35.980
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 212.25 30.76 6.899 1.17e-07 ***
## PPM_DAY0 -237.11 173.78 -1.364 0.1826
## PPM_DAY3 -152.67 184.65 -0.827 0.4149
## PPM_DAY6 513.12 193.58 2.651 0.0127 *
## PPM_DAY30 -191.79 84.46 -2.271 0.0305 *
## PPM_DAY180 18.00 45.13 0.399 0.6928
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 17.23 on 30 degrees of freedom
## Multiple R-squared: 0.438, Adjusted R-squared: 0.3443
## F-statistic: 4.676 on 5 and 30 DF, p-value: 0.002831
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