from java.awt import Color,Font
from java.util import *
from jhplot import *
from flanagan.analysis import *
print "\nfrom flanagan.analysis:"
c1 = HPlot("Canvas",600,400,0.12,1, 1)
c1.visible(1)
c1.gTitle("Linear regression")
c1.setAutoRange()
p1= P1D("data")
rand = Random()
x=[]
y=[]
for i in range(200):
x.append(10*rand.nextGaussian())
y.append( 20*x[i]+50*rand.nextGaussian()+5.0 )
p1.add(x[i],y[i])
reg=Regression(x,y)
reg.linear()
cof=reg.getCoeff()
sqrt=reg.getSumOfSquares()
a1=cof[0]
b1=cof[1]
err=reg.getCoeffSd()
a2=err[0]
b2=err[1]
func="P1*x+P0"
f1 = F1D(func, -40.0, 40.0)
# replace the parameters for evaluation
f1.setPar("P0",a1)
f1.setPar("P1",b1)
f1.setColor(Color.blue)
p1.setStyle("p")
p1.setSymbolSize(3)
c1.setNameX("X")
c1.setNameY("Y")
c1.draw(p1)
c1.draw(f1)
print "Intercept=",a1,"+/-",a2
print "Slope=",a1,"+/-",a2
# jHepWork @S.Chekanov