Estimating ARMA odds in Julia

I am looking for a function in Julia to evaluate coefficients for an ARMA process.

For example, using the forecast error model as pem and armax in Matlab (part of the system identification toolkit). pem documentation and armage documentation .

I looked at the following packages, but can't see what they are doing what I'm looking for: TimeSeries.jl TimeModels.jl

One solution, of course, is to use Matlab.jl and use the Matlab functions, but I was hoping to do all this in Julia.

If there is nothing right now, does anyone know if there are any good Julia functions for multidimensional numerical minimization (e.g. Newton-Raphson) that can be used to implement the PEM function?

+5
source share
1 answer

UPDATE: I just clicked on a module on github called RARIMA.jl . This module can be used to evaluate, predict and model ARIMA models (of which ARMA is a special case). Some of the functions are implemented in Julia, others (in particular, evaluation) call the equivalent R functions using the RCall package, which you will need to install and make sure that it works before using RARIMA. The package is not officially registered (yet), so Pkg.add("RARIMA") will not work. If you want to use RARIMA, try Pkg.clone("https://github.com/colintbowers/RARIMA.jl") . If this fails, you can specify the problem on the github page of the repository, but before you do this, be sure to check the RCall checkbox. Greetings, I will come back and update here if / when the package is officially registered.

ORIGINAL ANSWER: I just looked at the source, and TimeModels does not seem to have any functions for evaluating ARIMA models, although they have one simulation function. However, given this time, I suspect it will be a package that deals with ARIMA modeling. The TimeSeries package TimeSeries more about building a TimeSeries object TimeSeries , rather than using time series models, so I would be surprised if ARIMA modeling were combined into this package.

As far as I can tell, at the moment, if you want to fully use the ARIMA package, you will need to use Matlab or R. R is very good (see Rob Hyndman's forecast package - this is very good), and probably with Julia interface easier to interact with than the Matlab variant. Of course, another option is to run it yourself and combine the code with the TimeModels package TimeModels

In terms of optimization procedures, Julia has just a few that are written in Julia and can be found in the JuliaOpt umbrella. The Optim package, in particular, is quite popular and well developed. However, most of the people I know who really use this stuff use NLOpt , which is a free open source library available in many languages ​​(including Julia). I have not heard anything but good things about this library from people who usually work with this material 24/7.

+6
source

Source: https://habr.com/ru/post/1207243/


All Articles