I am trying to perform univariate time series forecasting in python on a monthly rainfall dataset of 136 years using ARIMA.
My dataset is of the form:
. . .
I have two issues.
1) My forecast results have negative values though there are none in the training set and logically the rainfall values shouldn't be negative. My original data plot is as below.
Below is the graph of the test data and predicted values. As you can see the red curve of forecasted values extends below 0.
2) Since I have monthly data, the rainfall in some rows goes from a 0 to directly a high value in the next month, in which case the current value doesn't depend on the previous observed values as is the principle of autoregression. Is this what is causing a problem and not giving me a good fit? I have tried using yearly data instead but that doesn't give a right fit either and working with quarterly frequency will interrupt the actual monsoon period of the region of my dataset.
Here is the link to my dataset- https://docs.google.com/spreadsheets/d/1JEj9QZNQagLg-hKhzF2p0yNJsxceMlN1l0LpGDs4eg4/edit?usp=sharing