估计Julia中的ARMA系数

时间:2014-11-19 19:28:35

标签: matlab time-series julia

我在Julia中寻找一个函数来估算ARMA过程的系数。

例如,在Matlab(系统识别工具箱的一部分)中使用预测误差模型为pemarmaxpem documentationarmax documentation

我查看了以下套餐,但无法看到他们做了我正在寻找的事情: TimeSeries.jl TimeModels.jl

一个解决方案当然是使用Matlab.jl并使用Matlab函数,但我希望在Julia中完成所有这些。

如果现在还没有,有没有人知道多维数值最小化(如Newton-Raphson)是否有任何好的Julia函数可用于实现PEM函数?

1 个答案:

答案 0 :(得分:6)

UPDATE:我刚刚将一个模块推送到名为RARIMA.jl的github。该模块可用于估计,预测和模拟ARIMA模型(其中ARMA是一种特殊情况)。一些功能在Julia中实现,其他功能(特别是估计)使用RCall包调用等效的R函数,您需要在使用RARIMA之前安装并验证它是否有效。该软件包尚未正式注册(因此),因此Pkg.add("RARIMA")目前无效。如果您想使用RARIMA,请尝试使用Pkg.clone("https://github.com/colintbowers/RARIMA.jl")。如果失败,您可以在存储库github页面上提交问题,但是确保在执行此操作之前检查RCall是否已安装并正常工作。干杯,如果包裹正式注册,我会回来更新。

原始答案:我只是浏览了一下来源,TimeModels似乎没有估算 ARIMA模型的任何功能,尽管确实有一个用于模拟它们的函数。考虑到时间,我怀疑这将是处理ARIMA建模的包。 TimeSeries包更多地是关于构建对象类型TimeSeries而不是实现时间序列模型,所以如果将ARIMA建模合并到该包中,我会感到惊讶。

尽可能接近,在这一点上,如果你想要一个功能完备的ARIMA包,你需要使用Matlab或R.R一个非常好(参见Rob Hyndman编写的预测包 - 它非常很好)并且可能比使用Matlab选项更容易与Julia交互。当然,另一种选择是自己启动并将代码与TimeModels包合并: - )

在优化程序方面,Julia有很多用Julia编写的,可以在JuliaOpt保护伞下找到。特别是Optim包非常受欢迎且发展良好。但是,我认识的大多数人真正使用NLOpt这是一个可以从多种语言(包括Julia)调用的免费开源库。我从那些倾向于全天候使用这些东西的人那里听到了关于这个图书馆的好东西。