Open pulkkins opened 5 years ago
These are all excellent ideas! I'm particularly interested to the developments towards more sophisticated time models, such as ARMA and VAR.
@pulkkins what's the progress on this issue? I've added for now the "release v1.2" milestone (which will mainly include the spectral version of steps), but if this needs more time, we can also include it in a successive release.
@dnerini I have implemented the first versions of VAR and ARI models and parameter estimation by OLS. After the testing, that I will do this week, these are ready to be included to v1.2. The remaining items in the above list still need more work.
Excellent, thanks @pulkkins.
We wait for these features to be merged into master before releasing v1.2.
(I remove the v1.2 milestone from this issue, since part of it will be released later on.)
The pysteps.timeseries.autoregression module implements only a very basic version of the AR(p) model. More advanced time series models and parameter estimation methods could be implemented. For instance:
1) Some users have expressed their interest to applying the S-PROG and STEPS models to input data, where the time intervals between consecutive inputs are not regular. This cannot be done with the current implementation of the AR(p) model. 2) It would be interesting to see if it makes sense to apply the AR(p) model to differenced time series instead of the original one (i.e. an integrated ARI(p,d) model). 3) Replacing the AR(p) model with an ARMA(p,q) model could be another interesting experiment. 4) Eventually we could implement a multivariate AR(p) or a vector autoregressive (VAR) model if the input data has more parameters than just reflectivity or precipitation intensity. 5) The validity of the Yule-Walker estimator for the AR(p) parameters should be taken into closer examination. There are alternative methods such as ordinary least squares (OLS) or maximum likelihood that could be more robust. 6) Finally, localization of the AR(p) model should be implemented in pysteps.timeseries.autoregression, not in pysteps.nowcasts.sseps.