# Polynomial Regression model using open forecast
from net.sourceforge.openforecast import DataPoint,DataSet,ForecastingModel
from net.sourceforge.openforecast import Observation
from net.sourceforge.openforecast.models import PolynomialRegressionModel
from java.lang import Math
from java.util import Random
from jhplot import *
import time
c1 = SPlot()
c1.visible()
c1.setAutoRange()
c1.setMarksStyle('various')
c1.setConnected(1, 1)
c1.setNameX('Time')
c1.setNameY('Data')
observedData = DataSet();
for x in xrange(50):
y = 10.6 + 3.5*x + 0.5*Math.pow(x,3)
dp = Observation( y )
dp.setIndependentValue( "x1", x )
#Fill x2 with random data - it should be ignored
dp.setIndependentValue( "x2", (Math.random()-0.5)*100 );
observedData.add( dp );
c1.addPoint(0,x,y,1)
c1.update()
model = PolynomialRegressionModel( "x1", 5 );
model.init( observedData );
fcValues = DataSet();
for x in xrange(50,100):
y = 10.6 + 3.5*x + 0.5*Math.pow(x,3)
dp = Observation( y )
dp.setIndependentValue( "x1", x )
# Fill x2 with random data - it should be ignored
dp.setIndependentValue( "x2", (Math.random()-0.5)*100 );
fcValues.add( dp );
print "Predictions.."
results = model.forecast( fcValues );
for dp in results:
xx=dp.getIndependentValue( "x1" )
yy=dp. getDependentValue()
c1.addPoint(1,xx,yy,1)
c1.update()
Ads help maintain this website.