"""retta di regressione pagine n 19 pag 106 Impedovo""" from graftarta2 import Graf from graphics import * X=[] for i in range(13): X.append(1988+i) #print X, len(X) Y=[546,598,660,720,759,782,827,894,951,994,1039,1072,1129] def media(Lista): """ media, varianza dei valori in Lista, sqm """ somma = 0 sommaqua = 0 n = len(Lista) for k in Lista: somma = somma+k sommaqua = sommaqua+k*k m = float(somma)/n varian = float(sommaqua)/n-m*m sqm=varian**0.5 #print 'media ',m, ' varianza ', varian,' sqm ', sqm return m, varian, sqm def covarianza(X,Y): prod=[] for i in range(len(X)): prod.append(X[i]*Y[i]) mediaX=media(X) mediaY=media(Y) mediaXY=media(prod) return mediaXY[0]-mediaX[0]*mediaY[0] medX, varX, sqmX=media(X) medY, varY, sqmY=media(Y) cov=covarianza(X,Y) a=cov/varX b=medY-a*medX print a, b #print m[0] gr=Graf("retta di regressione",600,400) gr.coordinate(-2,-100,13,1400,True) for i in range(len(X)): Point(X[i]-1988,Y[i]).draw(gr) def f(x): return a*(x+1988)+b gr.colorePenna("red") gr.grafico(f,0,13)