Different Methods for Forecasting Data - Monthly Rainfall of a region for the past 20 years
Objective - To Forecast for the next 2 years
I am new to time series forecasting and I am looking for suggestions on various methods that I can use in order to forecast from the above-mentioned collected data.
I have already used a SARIMA model and predictions have been done using R.
Now I need other different methods that I can use with this data for forecasting and choose the better performing model among them.
I apologize in case of the lack of clarity in the question put forth.
 A: SARIMA is a good first benchmark. I would suggest three more ones, all of which use seasonality, which I would assume to be relevant for rainfall:

*

*Seasonal exponential smoothing. If you use forecast::ets(), it will attempt to automatically fit a "good" model with additive or multiplicative trend and/or seasonality.

*A "seasonal naive" model, where the forecast is just the last observation for the corresponding month. So the forecast for next January (and January after that) would just be last January's observation.

*A similar model, where you would use the average of previous observations in the corresponding month, e.g., using the average of all historical January observations to forecast the next January.

You may wonder why I recommend the latter two models. The fact is that in forecasting, you should always compare complicated methods to simple benchmarks, which can be surprisingly hard to beat.
As a textbook, I very much recommend Forecasting: Principles and Practice (2nd ed.) by Athanasopoulos & Hyndman
and
Forecasting: Principles and Practice (3rd ed.) by Athanasopoulos & Hyndman.
A: You don't explicitly mention but it seems like you chose the first model yourself. You could try and see what the auto.arima() function in the forecasting package gives you. That function will test multiple models for you and come up with the best one it can find based in AIC, AICc, or BIC values. Setting the argument stationary to FALSE, it will include models that are both stationary and non-stationary. Setting the argument seasonal to TRUE, it will include both seasonal and non-seasonal models. Whatever model the command suggests as being the best, you can then forecast out using the forecast command in the same package. You'll be able to compare that to the results you already have and any others you generate manually.
