Examples

The following example forecasts electricity usage in the United States:


use com.teracloud.streams.timeseries.modeling::ARIMA2;
composite ARIMAMain {
	graph
	stream<float64 ts> data=FileSource()
	{
		param
		file: "elecUsage.csv"; // get some electricity data 
	}
	
	stream<list<list<float64>> forecast> 
	forecastedData=ARIMA2(data)
	{
		param
			inputTimeSeries: ts; // time series to be forecasted
			initSamples:60u;  // use early 60 samples to train the model
			AROrder:12u;  // use AR model of order 12 
			stepAhead:1u; // forecast one step ahead (horizon)
		output
			forecastedData: forecast=forecastedAllTimeSeriesSteps(); // return all forecasted value up to specified horizon
	}
	() as ForecastedOutput = FileSink(forecastedData){
		param
			file:"ARIMAPrediction.csv"; // put result in a file
			format:csv;
	}		
}

The following graph illustrates the actual electricity usage and the predicted electricity usage, which is generated by using the ARIMA operator: