<span></span><p dir="ltr"><span><b>The Problem</b></span></p><p dir="ltr"><span>ARIMA models are one of the most important tools in the study of time series (</span><a href="http://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average"><span>http://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average</span></a><span>). Generally ARIMA models are built by using data to fit parameters, and then can be used either as-is to understand the process, or to make forecasts. We are interested in both (separate) algorithms for both. You can find many conveniently formatted time series data sets at <a href="https://datamarket.com/data/list/?q=cat:edb%20provider:tsdl">https://datamarket.com/data/list/?q=cat:edb%20provider:tsdl</a>.</span></p><p dir="ltr"><span><b>The Interface</b></span></p><p dir="ltr"><span>The fitting algorithm should take either a time series (as a double[]) or a set of time series (as a double[][]), along with whatever parameters are needed by your fitting algorithm. The forecasting algorithm should take model parameters as well as whatever else is needed, for instance, the number of steps in the future to predict, etc.</span></p><p dir="ltr"><span><b>The Algorithm</b></span></p><span>Consider using </span><a href="https://pypi.python.org/pypi/statsmodels"><span>https://pypi.python.org/pypi/statsmodels</span></a><span> for general ideas, or even as implementation base when python becomes more fully supported. There are potentially many approaches to this, but we aim for utility to the general Algorithmia user, so try to be mainstream in your approach. Try to document why you have taken a particular approach.</span>