Prognos is a forecasting libray in Scala similar to R forecast package. It's implemented using breeze numerical computing library.
Algorithms in this library can be used from Scalding, Spark and other Java/Scala applications. Check tests, prognos-scalding-example and prognos-spark-example for usage examples.
Forecasting algorithms in this library are based on the book Forecasting Principles and Practice by Rob Hyndman
For using it from a scala application, add this as dependency in build.sbt, after publishing it to local/artifact repository:
libraryDependencies += "com.fk" % "prognos_2.10" % "1.0"
Available forecasting algorithms:
- Moving Average
- Simple Exponential Smoothing
- Holt Linear and Exponential
- HoltWinters
Please send a pull request for other algorithms:
- Holt Damped Linear/Exponential
- Optimization to find alpha, beta, gamma parameters in Holt's method
- ARIMA
- Auto ARIMA
- Add timeseries data from R fpp package or other sources to testdata package
- Add unit test for validating forecast output
- Add forecasting algorithm
- Send a pull request
- For publishing locally and testing, use $ sbt publish-local