MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.

________________________________________________________________________________

 

Inhalt....: Regression

Kategorie.: Arbeitsblatt

Mathematik: Stochastik, Statistik

MuPAD.....: 3.1.1

Datum.....: 2005-07-04

Autoren...: Anke Kusterer <kusterer@math.uni-goettingen.de>

Autoren...: Anna Lena Stahr <annalena.stahr@web.de>

Funktionen: stats::linReg, stats::reg, plot::Scatterplot

________________________________________________________________________________

 

Regression

 

Dieses Notebook führt in die lineare und allgemeine Regression mit MuPAD ein.

 

Wir betrachten ein Zufallsexperiment, dessen Ergebnis Y nicht nur vom Zufall,

sondern auch vom Wert x einer sogenannten erklärenden Variablen abhängt,

und fragen nach dem Zusammenhang zwischen den Werten der erklärenden

Variablen und dem Ergebnis Y des Zufallsexperiments. Zum Beispiel könnten

wir den Einfluss des Körpergewichts auf den Blutdruck oder den Einfluss der

Körpergröße auf das Körpergewicht untersuchen. Natürlich haben nicht alle

Menschen mit einer festen Körpergröße x dasselbe Körpergewicht. Das

Körpergewicht hängt also nicht nur von der Körpergröße x, sondern auch von

der zufällig ausgewählten Person ab. In diesem Sinne ist das Körpergewicht Y

als eine Zufallsvariable zu verstehen.

Wird der Zusammenhang zwischen der erklärenden Variable und dem Ausgang

des Zufallsexperiments durch eine Gleichung der Form Y=a+bx+N beschrieben

- hierbei sind a und b reelle Zahlen und N ist eine normalverteilte Zufallsvariable

mit Erwartungswert 0 und Varianz s2 - so spricht man von einem linearen

Regressionsmodell. Zwischen der erklärenden Variable x und dem

Erwartungswert der Zufallsvariablen Y besteht dann eine lineare Abhängigkeit:

E(Y)=a+bx. Die Beeinflussung des Ergebnisses durch den Zufall wird also durch

die Zufallsvariable N wiedergegeben.

 

Die Parameter a und b werden Regressionskoeffizienten genannt, die durch

y=a+bx beschriebene Gerade heißt Regressionsgerade.

Wie aber bestimmt man die Regressionskoeffizienten?

 

Dazu führen wir bei verschiedenen Werten x1,…,xn der erklärenden Variablen

unabhängige Experimente durch und benennen die zugehörigen Zufallsvariablen

mit Y1,…,Yn. Ihre Ausgänge bezeichnen wir entsprechend mit y1,…,yn. Für das

Gesamtexperiment erhalten wir dann das Modell Yi = a + bxi + Ni, i=1,...,n, wobei

Ni unabhängige, normalverteilte Zufallsvariablen mit Erwartungswert 0 und

Varianz s2 sind. Die Zufallsvariablen Y1,…,Yn sind somit unabhängige, aber nicht

identisch verteilte Zufallsvariablen. Wir stellen die Datenpaare (xi, yi) als

Punktwolke in einem zweidimensionalen Koordinatensystem dar. Wegen des

Zufallseinflusses auf das Ergebnis des Experiments liegen die Punkte nicht alle

auf der Regressionsgeraden, sondern um diese herum verstreut:

 

 

image

Unser Problem besteht nun darin, aus den Datenpaaren (xi, yi), i=1,...,n, die

Regressionsgerade zu schätzen. Dazu versuchen wir, die Summe der Quadrate

der vertikalen Abstände zwischen den Datenpunkten und der

Regressiongeraden y=a+bx zu minimieren:

image

Diese Methode wird Kleinste-Quadrate-Methode genannt.

 

Die Werte für die Regressionskoeffizienten erhalten wir, indem wir die partiellen

Ableitungen von Q(a,b) nach a und b gleich 0 setzen. Wir erhalten dann das

lineare Gleichungssystem

image

image

Mit

image

folgt aus der ersten Gleichung

 

image

 

Wir setzen das in die zweite Gleichung ein und erhalten

image

Wegen

image

erhalten wir dann

 

image

 

 

Im Folgenden betrachten wir ein Beispiel:

 

Beim Auswerten von Studien ist man häufig daran interessiert, den Zusammen-

hang zwischen zwei oder mehreren ermittelten Variablen zu betrachten.

Graphisch können zwei solche Größen (hier Körpergewicht und Systolischer

Blutdruck) als Punktwolke dargestellt werden. Dazu definieren wir die zwei Listen

"Gewicht" und "Blutdruck", in denen der i. Eintrag jeweils dem Gewicht bzw. dem

Blutdruck des i. Patienten entspricht:

 

Gewicht:=[54.5, 77.0, 78.5, 48.0, 90.0, 86.5, 54.6, 61.0, 66.0, 54.0, 85.0, 80.0, 80.5, 96.7,

    68.0, 50.0, 71.5, 55.0, 78.5, 94.5, 68.7, 97.2, 53.0, 84.0]:

Blutdruck:=[128, 154, 180, 96, 142, 170, 122, 130, 118, 98, 172, 149, 150, 181, 170, 109, 140,

    150, 139, 157, 121, 160, 91, 161]:

N:=nops(Gewicht);nops(Blutdruck)

math

math

Z:=[[Gewicht[i],Blutdruck[i]]$i=1..N]

math

Wolke:=plot::PointList2d(Z,Color=RGB::DarkBlue,

                         AxesTitles=["Körpergewicht",

                                     "Systolischer Blutdruck"]):

plot(Wolke)

MuPAD graphics

 

Berechnung der Regressionsgeraden mit MuPAD

 

Durch diese Punktwolke (das sogenannte Scatter-Diagramm), kann nun eine

Regressionsgerade gelegt werden. Diese kann auf zwei Arten ermittelt werden:

a) Mit dem Befehl stats::linReg

b) Mit Hilfe von plot::Scatterplot

 

zu a)

Der Befehl stats::linReg berechnet unter Annahme einer linearen Beziehung

yi = a + bxi + Ni zwischen den Datenpaaren (xi, yi) die Koeffizienten a und b mit

der Methode der kleinsten Quadrate (d.h., dass die Summe der quadratischen

Fehler minimiert wird). stats::linReg gibt folgende Werte der Regressionsgerade

aus: [[y-Achsen-Abschnitt, Steigung], minimale Summe der Quadrate]

 

Für unser Körpergewicht-Blutdruck-Beispiel von oben sieht dies wie folgt aus:

 

A:=stats::linReg(Gewicht,Blutdruck)

math

Die oben erzeugte Punktwolke und die so ermittelte Regressionsgerade in einer

Grafik:

 

RG:= x -> A[1][1]+x*A[1][2]:

RG_Fkt:=plot::Function2d(RG,x=30..100,Color=RGB::Green):

plot(RG_Fkt,Wolke,AxesTitles=["Körpergewicht",

                              "Systolischer Blutdruck"])

MuPAD graphics

Im nächsten Diagramm zeichnen wir zusätzlich die vertikalen Abstände zwischen

den Datenpunkten und der Regressiongeraden ein.

 

Strecken:=plot::Line2d([Gewicht[i],RG(Gewicht[i])],

                       [Gewicht[i],Blutdruck[i]],

                       Color=RGB::CadmiumRedLight)$i=1..N:

plot(Wolke, RG_Fkt, Strecken,

     AxesTitles=["Körpergewicht","Systolischer Blutdruck"])

MuPAD graphics

Durch die folgende Berechnung wird die Summe der Quadrate der vertikalen

Abstände ermittelt. Diese entspricht der minimalen Quadratsumme, die MuPAD

oben alks zweiten Operanden von A ausgegeben hat.

 

_plus((RG(Gewicht[i])-Blutdruck[i])^2 $ i=1..N)

math

 

zu b)

Die Funktion plot::Scatterplot erzeugt eine Punktwolke zweier diskreter

Datensätze [x1, x2,…,xn] und [y1, y2,…,yn]. Zusätzlich wird eine Regressionsgerade

y=a+bx aus den gegebenen Datenpaaren [x1, y1], ..., [xn, yn] berechnet und

gezeichnet. Die Werte für die Regressionskoeffizienten werden intern mit der oben

bereits beschriebenen Funktion stats::linReg berechnet.

 

plot(plot::Scatterplot(Gewicht, Blutdruck),

     AxesTitles=["Körpergewicht","Systolischer Blutdruck"]):

MuPAD graphics

 

 

Allgemeine Regression

 

Bei komplexeren Zusammenhängen ist die Methode der linearen Regression

oft nicht anwendbar. Ein Beispiel für so einen komplexen Zusammenhang ist

das Wachstum von Pflanzen oder Bakterienpopulationen, bei dem die

Größe der Pflanze bzw. der Population exponentiell mit der Zeit zunimmt.

Faktoren wie die Lichteinstrahlung, Temperatur, usw. bewirken den

Zufallseinfluss auf das Experiment.

Einige Vorgänge lassen sich auch durch Regressionskurven höherer als erster

Ordnung beschreiben. Wir wollen im Folgenden ein Beispiel für einen

quadratischen Zusammenhang untersuchen.

Beispiel für ein quadratisches Regressionsmodell:

 

In einem Test wurde der Bremsweg eines Fahrzeugs in Abhängigkeit von der

Geschwindigkeit gemessen. Das Fahrzeug fuhr dazu mit Geschwindigkeiten

von 30 km/h bis 150 km/h auf die Teststrecke zu:

 

Geschwindigkeit:=[i$i=30..150]:

 

Es wurden jeweils die folgenden Bremswege gemessen:

 

Bremsweg:=

  [3.97891745, 21.061060588, 17.06037225, 24.01629131, 12.43126793, 9.8094236134,

 

   19.651019548, 16.98468274, 19.84417492, 12.73642417, 25.14649198,

 

   21.44683376, 15.46205634, 24.29414796, 15.392030178, 33.71120709,

 

   23.16474327, 18.57062022, 23.36230183, 29.21325307, 28.75010144, 15.9006755,

 

   27.74729473, 15.00564141, 30.59248623, 45.93836398, 35.95137232,

 

   33.46136017, 36.38423997, 41.13594597, 40.59400644, 50.59150549,

 

   25.15378406, 35.81940001, 41.77130433, 49.61868359, 37.45803546,

 

   47.73291978, 41.18957922, 45.20238232, 49.92015362, 61.77461266,

 

   50.31902651, 41.14787663, 63.87246223, 60.0820335, 64.78429958, 69.47030006,

 

   65.52763979, 70.98651649, 63.6321556, 60.82405466, 69.01625347, 62.98062434,

 

   75.9652618, 82.48404609, 64.5017531, 68.7538461, 77.1799272, 77.75655815,

 

   75.73198462, 78.69878317, 92.20989107, 91.38679956, 89.82156977,

 

   93.93645958, 82.52517617, 94.26709463, 102.0333729, 89.90982932,

 

   105.9134785, 103.6583097, 113.5349407, 109.0112797, 115.3997244,

 

   104.9828971, 108.8500553, 102.6576437, 117.0859873, 124.6961986,

 

   115.9476952, 124.0723524, 125.0712362, 126.6447242, 130.7179894,

 

   128.1730612, 134.0034832, 144.0433438, 125.5202107, 140.737293, 133.4085889,

 

   145.1791798, 153.2579911, 140.0843198, 152.3572198, 150.8776044,

 

   163.6669613, 152.0843418, 169.1345325, 167.9793435, 170.0085124,

 

   182.4530317, 163.730378, 173.7505832, 174.3549419, 190.2999208, 189.7779234,

 

   196.9631235, 187.3460035, 201.4765792, 206.7704613, 189.4863833,

 

   202.3327058, 217.4426568, 210.3733267, 203.0912722, 210.4641933,

 

   225.4045869, 235.6651301, 222.3858326, 226.2468696]:

 

M:=nops(Geschwindigkeit);nops(Bremsweg)

math

math

Wir stellen die Datenpaare wieder in einer Punktwolke dar:

 

Autotest:=[[Geschwindigkeit[i],Bremsweg[i]]$i=1..M]:  

test:=plot::PointList2d(Autotest,Color=RGB::MidnightBlue):

plot(test,AxesTitles=["Geschwindigkeit in km/h",

                      "Bremsweg in m"])

MuPAD graphics

 

Wendet man nun den Befehl plot::Scatterplot an, erhält man folgende Grafik:

 

plot(plot::Scatterplot(Geschwindigkeit,Bremsweg),

     AxesTitles=["Geschwindigkeit in km/h","Bremsweg in m"]):

MuPAD graphics

Die lineare Regression liefert hier eine unbefriedigende Lösung. Für

kleine Geschwindigkeiten sagt sie einen negativen Bremsweg voraus.

Außerdem wissen wir aus der Physik bereits, dass sich bei doppelter

Geschwindigkeit der Bremsweg vervierfacht.

 

MuPAD bietet für das allgemeine Regressionsmodell die Funktion stats::reg.

stats::reg berechnet die Regressionskoeffizienten für die allgemeine

Regression. Dazu muss der funktionale Zusammenhang angegeben werden.

Für unseren quadratischen Fall bedeutet dies:

ax2+bx+c

Es könnte jedoch auch jeder andere Zusammenhang eingegeben werden.

stats::reg gibt die Regressionskoeffizienten in der in der Eingabe angegeben

Reihenfolge und als letzten Wert die minimale Summe der Quadrate aus.

 

C:=stats::reg(Geschwindigkeit,Bremsweg,a*x^2+b*x+c,[x],[a,b,c])

math

w:=plot::Function2d(C[1][1]*x^2+C[1][2]*x+C[1][3],

                    x=30..150,Color=RGB::Pink):

plot(w,test)

MuPAD graphics

Zuletzt vergleichen wir noch die Summe der Quadrate der vertikalen Abstände

bei linearer und bei quadratischer Regression:

 

stats::linReg(Geschwindigkeit, Bremsweg);

stats::reg(Geschwindigkeit,Bremsweg,a*x^2+b*x+c,[x],[a,b,c])

math

math

Die quadratische Regression liefert also tatsächlich eine bessere Beschreibung

des funktionalen Zusammenhangs zwischen der Geschwindigkeit und dem

Bremsweg.

 

________________________________________________________________________________

 

Aufgabe:

1. An Versuchspersonen wurden Körpergröße [cm] (erster Eintrag) und Körpergewicht [kg]

(zweiter Eintrag) gemessen:

(188,5;88,5), (177,5;86,5), (183;102), (182;93), (170;81,5), (185,5;83,5),

(175,5;82,5), (175,5;96), (183;87,5), (173;79,5)

Stellen Sie die Ergebnisse der Untersuchung in einer Punktwolke dar, berechnen Sie die

Regressionskoeffizienten und plotten Sie die Regressionsgerade.

________________________________________________________________________________

 

Anmerkungen:

1.  Für die wahrscheinlichkeitstheoretischen Grundlagen sei beispielweise auf das Buch "Einführung in

     die Wahrscheinlichkeitstheorie und Statistik" von Dehling, H. & Haupt, B., Springer-Verlag

     Berlin Heidelberg 2003, verwiesen.

 

2.  Weitere Anregungen zum Einsatz von MuPAD in der Lehre finden Sie auf unserem WebPortal

     MuPAD in Schule und Studium unter: http://schule.mupad.de bzw. http://studium.mupad.de.

________________________________________________________________________________

 

 

 

MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.