用于自动回归 (AR)、ARIMA、时间序列分析的 Java API [关闭]
Posted
技术标签:
【中文标题】用于自动回归 (AR)、ARIMA、时间序列分析的 Java API [关闭]【英文标题】:Java API for Auto regression (AR), ARIMA, Time Series Analysis [closed] 【发布时间】:2014-04-04 02:42:06 【问题描述】:我正在寻找使用 AR、ARIMA 等进行时间序列分析的开源或免费 Java API。我需要这个 API 来进行 DDOS 攻击分析。 我搜索了一下,找到了 2 个解决方案,但都没有完全解决问题:
1) 之前在 *** 中提出了同样的问题,并发布了关于 SuanSu Api 的解决方案,但此 API 不是免费的
2) Apache Math Library,但此 API 提供其他形式的回归,如简单、OLS、GLS 等,但不提供自动回归。
我检查了机器学习 API 中的选项,例如 Mahout,但还没有运气。请推荐一个合适的 API
【问题讨论】:
【参考方案1】:我的第四年计算项目用于使用 ARIMA、Holt Winters 等实现 Java 堆使用预测的时间序列预测,因此我可能会在这方面为您提供建议。
到目前为止,您最好的选择是使用 R 语言,您可以使用找到的 JRI 库 here 通过 Java 调用 R 提供的预测库。 R 是有据可查的、免费的和开源的。您甚至可以在服务器上运行 R,然后使用 Rserve 通过命令行对其进行调用,然后通过 HTTP 返回预测,但如果内存正确,则 JRI 是本地等价物。
如果您有任何问题,请告诉我。
【讨论】:
R 很棒,但我无法将它集成到我的 java 程序中。你发布你的java源代码了吗? @Paul 您是否检查了基于 Java 的原生 ARIMA 解决方案与使用 JRI 调用 R 之间的性能? JRI 在繁重的计算场景下是否工作良好?不幸的是 Apache Math 不支持 ARIMA,所以我正在考虑自己用 Java 开发它。【参考方案2】:看看spark-timeseries。源代码主要是 Scala,但在 Java 中使用该库相对简单。如果你在 JVM 上进行时间序列分析,那么无论如何你都应该考虑学习 Spark/Scala。
在撰写本文时,该库还很年轻,还有改进和发展的空间,但从 0.3 版开始,它实现了 AR、ARIMA、简单指数平滑 (EWMA) 和 Holt-Winters 平滑。它的改进领域是更好的自动 ARIMA 算法、对季节性 ARIMA 的支持和状态空间建模,但它已经非常有用了。
【讨论】:
以上是关于用于自动回归 (AR)、ARIMA、时间序列分析的 Java API [关闭]的主要内容,如果未能解决你的问题,请参考以下文章