SharedUebungen_Mathe1_WS17 / Lineare_Regression.sagewsOpen in CoCalc
Author: Darius Mottaghy
# Lineare Regression g,t=var('g t') # Definition der symbolischen Variablen für die Ausgleichsgerade x=vector([0,1,2,3,4,5,6]) # x-Werte y=vector([3,5,7,8,10,10,22])# y-Werte n=len(x) # Anzahl der Messwerte summe_x=sum(x) # Summe der X-werte summe_y=sum(y) # Summe der Y-Werte # show(summe_x) summe_xy=x.dot_product(y)# Berechnung der Summe der xy summe_xquad=x.dot_product(x) # Berechnung der Summe von x^2 summe_yquad=y.dot_product(y) # Berechnung der Summe von y^2 b=(n*summe_xy-summe_x*summe_y)/(n*summe_xquad-(summe_x)^2) # Berechnung der Steigung der Regressionsgeraden a=(summe_y-summe_x*b)/n # Berechnung des Achsenabschmitts der Regressionsgeraden # Gerade g=a+b*t p = plot(g, 0, 10, axes_labels=['x','y'],color='red') # Gerade plotten d = list_plot(zip(x,y)) # Daten plotten (Vektoren werden in einer Liste zusammengefasst) #Bestimmung des Korrelationskoeffizienten r=(n*summe_xy-summe_x*summe_y)/(sqrt(n*summe_xquad-summe_x^2)*sqrt(n*summe_yquad-summe_y^2))
# Plot anzeigen (Daten und Gerade zusammen) show(p+d, frame=true, gridlines=true) #Text unter Grafik html('$y = a+bx$, mit a=%.2f und b=%.2f, Korrelationskoeffizient r=%.2f'%(a,b,r))
y=a+bxy = a+bx, mit a=1.79 und b=2.50, Korrelationskoeffizient r=0.88