Hello -
In my opinion you will need to deal with non-negativity requirements of your forecasts in a post processing step. The statistical model will provide you with an unconstrained forecast, based on the patterns at hand, which can be negative of course.
If, like in your case, you have additional requirements about the decisions at hand, like: forecasts cannot be negative (example: sales forecasting), forecasts need to be integer (example: number of call center agents), forecasts are impacted by supply options (example: inventory control, where products come in batches), etc. you will need to deal with them in a post process.
Some post-processing can be simple, like setting forecasts to 0, others can be more elaborate: overrides in a hierarchical setup with rules about what can be changed, which boil down to an optimization problem. Sometimes this is referred to as a constrained forecast.
Thanks,
Udo
PS: having said all of this you may want to make sure that your model is appropriate. I looked at your data briefly, maybe an ESM approach (using a damped trend model or a seasonal model for example) will do a better job - just a Friday morning thought.
Example:
data test;
input value;
datalines;
2501.3670464
2108.8958506
2891.8512364
3296.7321201
2152.0694575
2268.121497
1762.4315729
725.869754
1352.3058047
1116.6313661
1682.9098849
1352.5916422
1817.0154846
942.74009745
1809.1170823
1724.7927787
2132.5585948
1509.8093098
629.94039571
524.47316682
483.21510113
784.94561717
1678.526544
3958.0868899
2623.3232306
3431.4607677
2358.1385337
2552.8319758
2970.995978
1573.3429921
;
run;
proc esm data=test plot=(forecasts);
forecast value / model=damptrend;
run;
*assuming seasonality of 12;
proc esm data=test plot=(forecasts) seasonality=12;
forecast value / model=seasonal;
run;
... View more