Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java API for Auto regression (AR), ARIMA, Time Series Analysis [closed]

I am looking for either Opensource or Free Java API for Time Series Analysis using AR, ARIMA etc. I need this api for DDOS Attack analysis. I googled around and found 2 solutions but both are not completely solving the problem:

1) This same question was asked earlier in stackoverflow and a solution was posted regarding SuanSu Api but this API is not free

2) Apache Math Library, but this API provides other forms of Regression like Simple, OLS, GLS etc but not Auto Regression.

I checked for Options in Machine Learning apis like Mahout but not luck yet. Please suggest an appropiate API

like image 587
rkmalaiya Avatar asked Mar 03 '14 06:03

rkmalaiya


People also ask

Is ARIMA a regression model?

Understanding Autoregressive Integrated Moving Average (ARIMA) An autoregressive integrated moving average model is a form of regression analysis that gauges the strength of one dependent variable relative to other changing variables.

Is ARIMA good for time series?

An ARIMA model is a class of statistical models for analyzing and forecasting time series data. It explicitly caters to a suite of standard structures in time series data, and as such provides a simple yet powerful method for making skillful time series forecasts.

Where do I find my PDQ in ARIMA?

The best way to find p, d, q values in R is to use auto. arima function from library(forecast) . For example, auto. arima(x, ic = "aic") .


2 Answers

I spent my 4th year Computing project on implementing time series forecasting for Java heap usage prediction using ARIMA, Holt Winters etc, so I might be in a good position to advise you on this.

Your best option by far is using the R language, you can call on the forecasting libraries provided by R, through Java by using the JRI library found here. R is well documented, free and open source. You can even run R on a server and then make calls to it via command line using Rserve, which then returns forecasts over HTTP but JRI is the local equivalent if memory serves me correctly.

If you have any questions, let me know.

like image 187
Paul Connolly Avatar answered Sep 25 '22 08:09

Paul Connolly


Have a look at spark-timeseries. The source code is mostly Scala, but it's relatively simple to use the library from within Java. If you're in a place where you are doing time series analysis on the JVM, then you should consider learning Spark/Scala anyways.

The library is young as of this writing and has room for improvement and growth, but as of version 0.3 it implements AR, ARIMA, simple exponential smoothing (EWMA), and Holt-Winters smoothing. It's areas for improvement are a better automatic ARIMA algorithm, support for seasonal ARIMA, and state space modeling, but it's already very useful.

like image 25
jmrachiele Avatar answered Sep 23 '22 08:09

jmrachiele