简体   繁体   English

C#中的ARIMA算法

[英]ARIMA algorithm in C#

I am trying to implement my own ARIMA model in C#. 我正在尝试在C#中实现自己的ARIMA模型。 I don't need to use any "best model" selection code at this time, I just need to specify which model I want like ARIMA(p,d,q). 目前,我不需要使用任何“最佳模型”选择代码,只需指定所需的模型,例如ARIMA(p,d,q)。

So far I have made an autoregressive method that uses gradient descent to learn the auto-regressive coefficients, however I have read this method is not necessarily suitable for determining the MA model coefficients. 到目前为止,我已经提出了一种使用梯度下降的自回归方法来学习自回归系数,但是我已经阅读了该方法不一定适合确定MA模型系数。 In my own attempts before I figured that out through reading I just ended up with models that would diverge very quickly. 经过我自己的尝试,在通过阅读弄清楚之前,我最终得到的模型会迅速分化。 I may be doing something else wrong with my initialization and learning rate, however this leads me to my question at hand anyway. 我的初始化和学习速度可能有其他问题,但是无论如何,这仍然使我想到了我的问题。

Does anyone know of any good resources for an actual pseudo-code ARIMA algorithm? 有人知道实际的伪代码ARIMA算法有什么好的资源吗? Or perhaps a good book on algorithms to read on the subject? 还是一本关于算法的好书,可以阅读有关该主题的内容?

Are there any good learning rate selection methods you know of that would work with a MA model? 您知道有什么好的学习率选择方法适用于MA模型吗?

I understand the idea of ARIMA, what I am not sure on is what method to use to determine the MA model coefficients essentially. 我了解ARIMA的想法,我不确定该使用哪种方法本质上确定MA模型系数。 I've read many publications on this but most people seem to just use R or some other 3rd party tool with this all pre-made, and I want to program it myself. 我已经阅读了很多有关此的出版物,但是大多数人似乎都只使用R或其他一些第三方工具,而所有这些都是预制的,所以我想自己编程。

I understand you want to start simple, but there are many problems in addition to just specifying a model and running. 我知道您想从简单开始,但是除了指定模型和运行之外,还有很多问题。 You need to search for outliers. 您需要搜索异常值。 See Tsay's work here Outliers, Level Shifts, and Variance Changes in Time Series 在这里查看Tsay的工作,时间序列中的离群值,水平偏移和方差变化

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM