Regression Script
Regression Script
3 Paramerterschätzung 7
Computerpraktikum im GP II 3.1 Schätzfunktion . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Maximum-Likelihood-Methode . . . . . . . . . . . . . . . . .
.
.
7
8
Lineare Regression 3.2.1 am Beispiel einfacher Mittelwert . . . . . . . . . . . .
3.2.2 Der gewichtete Mittelwert . . . . . . . . . . . . . . . .
.
.
8
10
3.2.3 Schätzung des Fehlers einer Messung aus der Streuung . 10
Daniel Brete 3.3 Das Problem der Erwartungstreue, Bessels Korrektur . . . . . . 12
2 Grundlagen 3 8 Aufgaben 30
2.1 Der Messprozess als Zufallsexperiment . . . . . . . . . . . . . . 3
2.2 Kontinuierliche Verteilung (Wahrscheinlichkeitsdichtefunktion) 4 Literatur 32
2.3 Gaußverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Erwartungswert . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Teil 2: Einführung in Mathematica 32
2.5 Varianz, Standardabweichung, physikalische Fehler . . . . . . . 6
1 WARUM SIE DIESEN VERSUCH MACHEN 3 2 GRUNDLAGEN 4
Genau wie bei diskreten Verteilungen die Summe über die Wahrscheinlich-
Eine Bitte: Dieses Skript wurde vollständig überarbeitet und ist
keiten aller möglichen Ereignisse 1 ist, ist das Integral über den gesamten
daher sicher nicht fehlerfrei. Helfen Sie nachfolgenden Prakti-
Wertebereich der Zufallsgröße 1. Man sagt die Verteilung ist normiert.
kanten; machen Sie uns auf Fehler und Unklarheiten aufmerk-
sam! +∞
P (x)dx = 1 (2)
−∞
2 Grundlagen
2.3 Gaußverteilung
In diesem Abschnitt werden einige Begriffe aus der Einführung in
Die für die Fehlerrechung wichtigste Verteilung ist die Gaußverteilung. Sie wird
die Fehlerrechung und Statistik im Grundpraktikum I wiederholt und
durch die Standardabweichung σ, die die Breite der Verteilung beschreibt, und
vertieft.
den Erwartungswert µ, den Schwerpunkt der Verteilung, beschrieben.
1 (x−µ)2
2.1 Der Messprozess als Zufallsexperiment P (x) = √ e− 2σ2 (3)
2πσ 2
Messen wir dieselbe Größe mehrfach, erhalten wir im allgemeinen verschiede-
ne Messwerte (x1 , x2 , . . .). Mathematisch betrachtet man die Messung daher
Im folgenden werden wir stets davon ausgehen, dass unsere Messgrößen
als Zufallsexperiment. Das Ergebnis X der Messung heißt Zufallsgröße. Je-
gaußverteilt sind. Warum das meist so ist, steht z.B. in [Bar, S. 49 ff].
des Messergebnis xi ist eine Realisation der Zufallsgröße. Geht man von ei-
ner diskreten Zufallsgröße aus, wird bei jeder Messung genau einer der Werte
xi ∈ {x1 , . . . , xn } angenommen. (z.B. Würfelexperiment) Bei einer Messung 2.4 Erwartungswert
beobachtet man dann mit der Wahrscheinlichkeit pi den Wert xi . Naiv möchten wir bei einer Messung den exakten “wahren” Wert xw der Größe
X erfahren, was auch abgesehen von der Frage ob es so etwas überhaupt gibt,
auf Grund von unvermeidlichen Ungenauigkeiten des Messprozesses prinzipiell
unmöglich ist. Als Ziel der Messung betrachten wir deshalb den Erwartungs-
wert µ = X der Messgröße. Im Fall einer diskreten Vertielung entspricht das
Integral der mit den Eintrittswahrscheinlichkeiten gewichteten Summe über
2 GRUNDLAGEN 5 2 GRUNDLAGEN 6
P (x)
∞
(7)
σ 2 = (X − µ)2 = (x − µ)2 P (x)dx
−∞
∞
2 2
= X − 2µX + µ = (x2 − 2µx + µ2 )P (x)dx
σ −∞
∞ ∞ ∞
= X 2 − 2µX + µ2 = x2 P (x)dx − 2µxP (x)dx + µ2 P (x)dx
−∞ −∞ −∞
∞ ∞ ∞
2 2 2 2
x = X − 2µX + µ = x P (x)dx − 2µ xP (x)dx +µ P (x)dx
µ = X −∞ −∞
−∞
(4) (2)
=µ =1
∞
Abbildung 1: Gaußverteilung
= X 2 − 2µ2 + µ2 = x2 P (x)dx − 2µ2 + µ2
−∞
∞
alle möglichen Werte. Wir werden der Anschaulichkeit halber in diesem Skript = X 2 − X2 = x2 P (x)dx − µ2
dennoch häufiger den Begriff des “wahren” Wertes xw verwenden. −∞
∞
µ = X = xP (x)dx (4) Abbildung 2: *Beweis der Varianzformel (8)
−∞
Der Erwartungswert kann auch für eine Funktion f der Zufallsgröße X definiert
werden, die dann selbst als Zufallsgröße F aufgefasst werden kann. Für f (X)
2.5 Varianz, Standardabweichung, physikalische Fehler
wird häufig kurz f geschrieben. In der Statistik ist die Varianz σ 2 das Maß für die Güte einer Messung der
∞ Größe X. Sie ist die mittlere quadratische Abweichung vom als bekannt vor-
F = f (X) = f = f (x)xP (x)dx (5) ausgesetzten Erwartungswert µ oder “wahren Wert” der Messung. Für konti-
−∞ nuierliche Verteilungen ist sie wie folgt definiert:
∞
(5)
Linearität des Erwartungswerts: Sind f und g Funktionen derselben Zu- σ 2 := (X − µ)2 = (X − X) 2 = (x − µ)2 P (x)dx (7)
fallsgröße X, dann gilt für Ihre Erwartungswerte: −∞
Fehler ∆x meist die Standardabweichung oder ein Schätzwert dafür angege- Es gibt also für eine Aufgabenstellung prinzipiell beliebig viele verschiedene
ben. Warum man in der Statistik lieber die Varianz verwendet, werden wir in Schätzfunktionen.
Abschnitt 3.3 erfahren. Welche Eigenschaften charakterisieren nun eine gute Schätzfunktion? Wich-
tig sind die folgenden drei Eigenschaften, die jedoch auch bei häufig verwen-
2.6 Gaußsches Fehlerfortpflanzungsgesetz deten Methoden nicht immer erfüllt werden können.
Ist die gesuchte Größe z = z(x1 , . . . , xn ) eine Funktion mehrerer Messwerte Konsistenz (asymptotische Erwartungstreue) Asympthotisch (für unend-
(x1 , . . . , xn ) mit den Fehlern (σ1 , . . . , σn ) und sind die Messwerte gaußverteilt lich lange Messreihen) sollte der Schätzwert x̂(x) mit dem Erwartungs-
und statistisch unabhängig gilt für den Fehler von z in erster Ordnung: wert des zu schätzenden Parameters übereinstimmen:
lim x̂(x1 , . . . , xn ) = X (12)
2 2 n
2
∂z ∂z ∂z n→∞
σz = σ12 + · · · + σn2 = σi2 (9)
∂x1 ∂xn i=1
∂xi
Erwartungstreue Die Konsistenz macht nur eine Aussage für große Stich-
proben. Wir wünschen uns aber auch, dass im Mittel über viele kleine
[Bar, S. 55ff], [Bev, S. 41f] Stichproben der Mittelwert der Schätzwerte mit dem “wahren” Wert des
Parameters übereinstimmt. Das heißt, der Erwartungswert der Schätz-
3 Paramerterschätzung funktion x̂ soll gleich dem Erwartungswert X des zu schätzenden
Parameters sein.
Wir werden am einfachen Beispiel des Mittelwerts neue Konzepte ein- x̂ = X (13)
führen und diese dann in den folgenden Kapiteln auf die Ausgleichs- Abweichungen des Erwartungswerts der Schätzfunktion vom Erwartungs-
gerade übertragen. wert des Parameters der Ausgangsverteilung nennt man Bias.
3.1 Schätzfunktion Wirksamkeit (efficiency) Eine Schätzfunktion heißt wirksamer als eine an-
dere, wenn ihre Varianz kleiner als die der anderen ist. Auf Fragen der
Stellen wir uns vor, wir haben dieselbe Größe X n-mal gemessen, dann können Wirksamkeit können wir in diesem Skript nicht weiter eingehen.
wir unsere Messreihe, die aus den Elementen xi besteht, als Messwertevektor
x darstellen:
3.2 Maximum-Likelihood-Methode
x = (x1 , . . . , xn ) (10)
3.2.1 am Beispiel einfacher Mittelwert
Die Aufgabe besteht nun darin, aus den Messwerten x = (x1 , . . . , xn ) einen
Schätzwert x̂ für den Erwartungswert X der Zufallsvariable X zu finden. Eine systematische Methode eine Schätzfunktion zu finden, ist die Maximum-
Dieser Schätzwert muss offensichtlich aus den Messwerten x = (x1 , . . . , xn ) Likelihood-Methode (ML-Methode). Bei der Herleitung dieses Prinzips geht
berechnet werden. Er ist also eine Funktion der Messwerte. Diese Funktion man zunächst davon aus, dass die Wahrscheinlichkeitsdichtefunktion P (x), und
heißt Schätzfunktion. damit auch der unbekannte zu schätzende Erwartungswert X = µ bekannt sei
x̂ = x̂(x) = x̂(x1 , . . . , xn ) (11) und fragt nach der Wahrscheinlichkeit, mit der diese Ursprungsverteilung zu
den beobachteten Messwerten x = (x1 , . . . , xn ) führt.
Die Wahl dieser Funktion ist zunächst einmal willkürlich. Natürlich drängt
Die Wahrscheinlichkeit erst den Wert x1 , dann x2 usw. in dieser Reihenfol-
sich in unserem Beispiel der gewöhnliche Mittelwert auf. In komplizierteren
ge zu messen, ist das Produkt der Einzelwahrscheinlichkeiten P (x). Auch für
Fällen ist jedoch nicht immer klar, wie eine geeignete Schätzfunktion für das
kontinuierliche Wahrscheinlichkeitsverteilungen gilt diese Regel. Als Ergebnis
Problem aussieht.
3 PARAMERTERSCHÄTZUNG 9 3 PARAMERTERSCHÄTZUNG 10
erhält man eine Wahrscheinlichkeitsdichtefunktion L(x), die die Wahrschein- 3.2.2 Der gewichtete Mittelwert
lichkeit, den beobachteten Satz von Messwerten zu erhalten, beschreibt; die
Angenommen eine Größe X wird mit verschiedenen Methoden, mit unter-
Likelihood-Funktion. Gehen wir davon aus, dass unsere Messwerte einer Gauß-
schiedlichen Fehlern σi gemessen. Wir werden naiv wieder eine Art Mittelwert
verteilung P (x) folgen, erhält man:
bilden wollen. Aber wie sind die einzelnen Werte zu gewichten? Wir setzen
wieder gaußverteilte Messwerte voraus. In der Sprache der Statistik entstammt
L(x) = L(x1 , . . . , xn ) = P (x1 )P (x2 ) · · · P (xn ) jetzt jeder Messwert xi einer anderen Verteilung Pi – jede mit eigenem σi aber
gemeinsamem µ. Wenden wir nun die oben eingeführte ML-Methode an, um
= P (xi ) einen Schätzwert für den Erwartungswert von X zu erhalten:
i (14)
1 (x −µ)2
− i2σ2 −(xi −µ)2
√ 1 2σ2
= e L(x) = L(x1 , . . . , xn ) =
Pi (xi ) = e i
i 2πσ 2 2πσi2
i i
(xi − µ)2
Leider kennen wir den Erwartungswert X = µ nicht. (Sonst brauch- ln L(x1 , . . . , xn ) = − ln 2πσi2 −
ten wir X nicht zu messen!) Wir wollen deshalb jetzt µ so wählen, dass i i
2σi2
xi − x̂ xi 1
die Wahrscheinlichkeit die beobachten Messwerte zu erhalten maximal wird. ∂ ln L
(Maximum-Likelihood) Dieser Wert von µ ist unser Schätzwert x̂ für X! 0= = 2 = 2 − x̂
∂µ µ=x̂ i
σi i
σi i
σi2
Suchen wir also das Maximum von L. Notwendige Bedingung für ein Maxi- n xi
mum ist eine Nullstelle der ersten Ableitung. Wenn L ein Maximum aufweist, i=1 σi2
wird auch ln(L) maximal. Dieses Maximum ist leichter zu bestimmen, da das x̂ = n 1 (=: x̄) (16)
i=1 σi2
Produkt von Exponentialfunktionen so zu einer Summe wird, die sich leichter
ableiten lässt. Bei der Mittelwertbildung sind also statistisch unabhängige, gaußverteilte Mess-
√ 1 werte mit wi = σ12 zu gewichten. Es lässt sich zeigen, dass diese ML-Schätzfunktion
ln (L(x)) = −n ln 2πσ 2 − 2 (xi − µ)2 i
die wirksamste Schätzfunktion für diesen Fall ist.
2σ i
∂ ln L 1 1
3.2.3 Schätzung des Fehlers einer Messung aus der Streuung
0= = (xi − x̂) = 2 xi − nx̂
∂µ µ=x̂ σ 2 i σ i Gehen wir noch einen Schritt weiter, nehmen wir an, wir haben eine Messung
n
1 mehrfach mit derselben Methode wiederholt und kennen den Fehler der Mess-
x̂ = xi (=: x̄) (15)
n i=1 werte nicht, dann sollte es möglich sein, aus der Abweichung der Messwerte
vom Mittelwert den Fehler einer einzelnen Messung σ zu schätzen.
Es ist nicht überraschend, dass die ML-Schätzfunktion x̂ in unserem Bei- Wird eine Messung mehrfach mit derselben Methode wiederholt, dann ha-
spiel das arithmetische Mittel x̄ ist. Man müsste jetzt eigentlich zeigen, dass ben alle Messwerte xi denselben Fehler σ, denn sie stammen aus derselben
diese Schätzfunktion konsistent, erwartungstreu und wirksam ist. Darauf kön- Ausgangsverteilung P (x). Diese soll auch in diesem Abschnitt gaußförmig sein.
nen wir jedoch an dieser Stelle leider nicht weiter eingehen. Die Aufgabe besteht nun darin, die beiden Parameter σ 2 und µ gleichzeitig
Kommen wir nun zu einer Fragestellung mit etwas weniger offensichtlichem zu schätzen. Für den Schätzwert von µ bei konstantem σ 2 haben wir bereits
Ergebnis: in (15) das arithmetische Mittel gefunden:
n
1
x̂ = x̄ = xi (17)
n i=1
3 PARAMERTERSCHÄTZUNG 11 3 PARAMERTERSCHÄTZUNG 12
Der Schätzwert für µ ist also von den Fehlern unabhängig, solange sie nur für 3.3 Das Problem der Erwartungstreue
alle Messwerte gleich groß sind. Bessels Korrektur am Beispiel von 3.2.3
Um auch eine Schätzung für σ zu erhalten, wenden wir wieder das ML-
Verfahren an. Die in (22) hergeleitete Schätzfunktion für die Varianz lässt sich analog zu
Abb. 2 umformen:
(xi −µ)2 1 2 1 2
P (xi ) = √
1
e− 2σ2 (18) (σ 2) = xi − x̄(x1 , . . . , xn ) = (xi − 2x̄xi + x̄2 )
n i n i
2πσ 2
√
1 (xi −µ)2
e− 2σ2 1 2 1 1 2 1 2 (23)
L(x) = (19) = xi − 2x̄ xi + x̄ = xi − x̄2
i 2πσ 2 n n i n i n i
i
√ 1
ln L = −n ln 2πσ 2 − 2 (xi − µ)2 (20) =x̄
2σ i
In dieser Form lässt sich zeigen, dass diese Schätzfunktion nicht erwartungstreu
Es sind zwei Parameter zu bestimmen; wir erhalten also ein System aus ist! Wir betrachten den Erwartungswert von (σ 2 ). Dazu benötigen wir den
zwei Gleichungen. Diese Gleichungen heißen Normalgleichungen. Erwartungswert des Mittelwerts x̄.
Wir fassen den Mittelwert x̄(x1 , . . . , xn ) als Funktion der Zufallsgrößen Xi
∂ ln L 1
0= ⇔0= (xi − x̂) ⇔ x̂ = xi =: x̄ (21a) auf.
∂µ µ=x̂ n i
c i Da jeder Messwert xi eine Realisation derselben Zufallsgröße X ist, hängt
σ 2 =σ 2
der Mittelwert x̄(X1 , . . . , Xn ), nur von der einen Zufallsgröße X = X1 = · · · =
∂ ln L n 1
0= =− + 2 (xi − x̂)2 (21b) Xn ab: x̄(X, . . . , X).
2
∂(σ ) µ=x̂ 2
2
σ =σ c 2
2 σ 2 σ 2 i x̄ ist eine erwartungstreue Schätzfunktion für X, deshalb gilt: X = x̄;
jedoch gilt dies nicht für die Erwartungswerte der Quadrate: X 2 = X̄ 2 !
Die erste Normalgleichung (21a) ist unabhängig von σ 2 und liefert das
1 2
bekannte Ergebnis. Die zweite Normalgleichung (21b) liefert nach einsetzen σ2 = X 2
− X̄ 2
= X 2 − X
von x̂ = x̄ aus (21a) eine Schätzfunktion für σ 2 : n i
2
2
= X − X − X2 − X2 = X 2 − X2 − X − X2
2
2 = 1
σ (xi − x̄)2 (22)
n i
=0
(8)2 2 (26) 2 1 2
Über ihre Konsistenz und Erwartungstreue haben wir keine Aussage gemacht! = σX − σX = σX − σX
n
Die Wahl von ML zur Gewinnung einer Schätzfunktion ist willkürlich. Wir
n−1 2 2
hätten genausogut direkt die naheliegende Formel (22) wählen können. Prinzi- = σX = σX
piell liefern verschiedene Methoden jedoch unterschiedliche Schätzfunktionen. n
Welche davon gut sind, muss im Einzelfall untersucht werden. 22 ist nicht gut! (24)
Wir werden diese Funktion deshalb im nächsten Abschnitt untersuchen und
eine bessere Schätzfunktion (25) für unser Problem finden. Bessels Korrektur Offensichtlich ist die Schätzfunktion tatsächlich nicht
erwartungstreu, allerdings konsistent, denn für große n geht der Faktor n−1 n
gegen 1. Ebenso offensichtlich ist, wie man aus dieser Funktion eine erwartungs-
treue Schätzfunktion erhält: Man multipliziert einfach mit dem Kehrwert des
3 PARAMERTERSCHÄTZUNG 13 4 DER FEHLER DER GESCHÄTZTEN PARAMETER 14
störenden Faktors. Diese Korrektur heißt Bessels Korrektur, und die korrigierte 4 Der Fehler der geschätzten Parameter
Schätzfunktion wird üblicherweise s2 genannt1 :
am Beispiel Mittelwert
n 2 1 2
s2 = σ = xi − x (25) Bisher haben wir nur Messwerte und ihre Fehler betrachtet und daraus
n−1 n−1 i
möglichst gute Schätzwerte für den “wahren Wert” unserer Messgröße
Dies ist also die Antwort auf die in (3.2.3) gestellte Frage, wie der Fehler ermittelt. In diesem Abschnitt untersuchen wir die Frage, wie man aus
einer Messung aus der Streuung geschätzt werden kann! den Fehlern der einzelnen Messwerte einen Fehler für diesen Schätz-
wert erhalten kann.
Freiheitsgrade Wie kann man dieses Ergebnis anschaulich deuten? Um den
Fehler eines Messwertes aus der Streuung zu bestimmen, benötigt man zusätz- 4.1 Bekannte Messfehler
liche Messungen. Man kann sinnvoll aus einer Messung einen Mittelwert (als
4.1.1 Fehler gleich groß
Schätzwert für den Erwartungswert der Messung) bilden. Aus einem Punkt
kann man jedoch keinen Schätzwert für die Streuung bestimmen. (22) liefert Beispiel: Ein Praktikumsbetreuer klatscht zweimal vor der von ihm
in diesem Fall stets den sinnlosen Wert 0. (25) hingegen ist sinnvoller Weise betreuten Gruppe von 6 Studenten, ausgestattet mit je einer Stoppuhr
für n = 1 nicht definiert. mit 1/100 s Auflösung, für diese nicht sichtbar mit einer Knallpatsche. Die
Man kann diese Überlegung verallgemeinern: Eine Gerade geht immer durch Gruppe hat die Aufgabe, die Zeit zwischen den Ereignissen möglichst
zwei Punkte und wird durch zwei Parameter (Steigung b und Achsenabschnitt genau zu bestimmen. Der Betreuer gibt an, die Reaktionszeitdifferenz
a) vollständig bestimmt. Wurden nur zwei Punkte gemessen, ist eine Schätzung zwischen Start und Stopp solle mit ∆t = 0.1 s als Fehler angenommen
der Streuung aus der Abweichung von der Geraden nicht möglich. werden.
Allgemein wird durch die Bestimmung eines Parameters ein Messwert ver-
Wurde dieselbe Größe, wie im Beispiel mehrfach unabhängig mit derselben
braucht. Werden also m Parameter geschätzt, bleiben für die Schätzung der
Methode gemessen und ist die Varianz für alle Werte gleich und bekannt, ge-
Fehler noch (n − m) Werte übrig. Dies ist die Zahl der Freiheitsgrade.
ben wir als Ergebnis der Messung den ungewichteten Mittelwert nach (15) an.
Es gibt eine weitere Überlegung, die verständlich macht, warum Bessels
Wir erwarten, dass der Fehler dieses Mittelwertes kleiner ist, als der eines ein-
Korrekturfaktor > 1 ist. s2 ist ein Schätzwert für die Varianz σ 2 , den mittleren
zelnen Wertes. Wie groß der Fehler ist, erfahren wir, in dem wir das Gaußsche
quadratischen Abstand eines Messwerts vom Erwartungswert. Im allgemeinen
Fehlerfortpflanzungsgesetz (9) auf die Mittelwertbildung (15) anwenden:
werden die Messwerte (x1 , . . . , xn ) näher an ihrem Mittelwert x̄(x1 , . . . , xn ),
als am Erwartungswert der unterliegenden Verteilung liegen. (22) liefert also
einen zu kleinen Wert. 1 1
x̄ = xi ⇒ σX̄ = √ σ (26)
n i n
Standardabweichung Für die Standardabweichung σ gibt es keine solche √
erwartungstreue Schätzfunktion! Glücklicherweise tritt in praktisch allen Rech- Das Ergebnis ist auch als n-Regel bekannt. Wie sind diese Fehler nun zu
nungen nur das Quadrat σ 2 auf, für das die erwartungstreue Schätzfunktion s2 interpretieren? Sicher handelt es sich nicht um die Standardabweichung σ der
√ Ursprungsverteilung. Aber in der Theorie der Fehlerrrechnung interpretieren
2
verwendet werden kann. Lediglich wenn ∆x = s als Schätzung für den Feh-
ler angegeben wird, tritt das Problem auf. Wenn man mit diesem Wert weiter wir die Fehler als Standardabweichungen von Zufallsgrößen. Auch der oben
rechnet, wird er aber wieder quadriert und die Welt ist in Ordnung. Man gibt berechnete Fehler des Mittelwertes σx̄ ist eine Standardabweichung, und zwar
nicht die Varianz direkt an, damit Wert und Fehler dieselbe Dimension haben. die einer Verteilungsfunktion der Mittelwerte.
√
Wiederholen wir das Experiment, erhalten wir viele solche Mittelwerte die
1 Auf s2 häufig mit σn−1 bezeichnet.
Taschenrechnern wird aus einer Gaußverteilung mit dem Erwartungswert µx = µx̄ aber mit der
Standardabweichung σx̄ stammen. (Abb. 3)
4 DER FEHLER DER GESCHÄTZTEN PARAMETER 15 4 DER FEHLER DER GESCHÄTZTEN PARAMETER 16
P (x) Nun gehen wir davon aus, dass wir aus derselben Messreihe sowohl unser
Mittelwert aus 7 Messungen Messergebnis (Einen Schätzwert für den Erwartungswert) bestimmen wollen,
Einzelmessung als auch eine Schätzwert für den Fehler dieses Ergebnisses.
Gehen wir wieder davon aus, dass alle Messwerte denselben Fehler haben,
σx̄ d.h., dass sie aus derselben Wahrscheinlichkeitsverteilung mit der unbekannten
Varianz σ 2 stammen, dann ist s2 (25) ein Schätzwert für die Varianz eines
einzelnen Wertes xi . Wir können diesen Schätzwert nun in Gleichung (26) für
den Fehler des Mittelwertes einsetzen und erhalten so:
σx
n
s2 i=1 (xi − x̄)
x σX ≈ = (28)
n n(n − 1)
µx = X = µx̄ = X̄
4.3 *Bekannte Fehler / aus der Streung geschätzt Fehler
Abbildung 3: Wahrscheinlichkeitsdichtefunktionen für Einzelmessung und Mit-
Betrachtet man eine gaußverteilte Messgröße x mit bekannter Standardabweichung
telwert σ. xw sei ihrer wahrer Wert, xi der Messwert. Man kann diese Angabe auf zwei Arten
interpretieren.
4.1.2 Fehler unterschiedlich groß Zum einen ist diese Standardabweichung definitionsgemäß die Wurzel aus dem
mittleren quadratischen Fehler.
Beispiel: Die Studenten 1,2,3 und 4 sind ausgeschlafen, 5 und 6 sind Zum anderen kann man die Standardabweichung als Konfidenzintervall auffas-
müde. Der Betreuer gibt an, für unausgeschlafene Praktikanten sei ein sen. Denn auf Grund der zugrundeliegenden Gaußverteilung, liegt der Messwert
Fehler von ∆t = 0.2s zu verwenden. Wir setzen also σ1 = σ2 = σ3 = xi mit einer Wahrscheinlichkeit von 68% (1σ-Wahrscheinlichkeit) in dem Intervall
σ4 = 0.1 s und σ5 = σ6 = 0.2 s. ]xw − σ; xw + σ[. Dann gilt natürlich auch: „Der wahre Wert xw liegt mit der sel-
ben Wahrscheinlichkeit im Intervall ]xi − σ; xi + σ[ um den Messwert xi . Genau
Wurde dieselbe Größe mit unterschiedlichen Methoden i mit unterschied- so sind Konfidenzintervalle definiert. Dabei kann die Wahrscheinlichkeit, die jetzt
lichen bekannten Fehlern σi gemessen, verwenden wir den gewichteten Mittel- statistische Sicherheit oder Vertrauensnivau heißt, beliebig vorgegeben werden. Die
Intervallgröße ändert sich dann entsprechend.
wert nach (16) und erhalten durch Anwendung des Fehlerfortpflanzungsgeset-
Wenn die Standardabweichung nun nicht a priori bekannt ist, sondern geschätzt
zes: wird, erhält man zwar einen Schätzwert für die Wurzel aus dem mittleren quadrati-
n xi schen Fehler, die zweite Interpretationsmöglichkeit als Konfidenzintervall geht aller-
i=1 σ2 1 dings verloren, weil die Grenzen des Intervalls selbst mit einer Unsicherheit behaftet
x̄ = n 1i ⇒ σx̄ = (27)
1 sind.
i=1 σi2 i σi2
Dennoch ist es auch in diesem Fall möglich, wieder Konfidenzintervalle anzuge-
ben. Diese sind allerdings für kleine n wesentlich größer, als durch die Schätzwerte
4.2 Unbekannte Fehler - alle Fehler gleich groß der Standardabweichung suggeriert wird. Lediglich für große n stimmen diese Konfi-
denzintervalle mit den geschätzten Standardabweichungen überein.
Bisher haben wir stets Situationen betrachtet, in denen der Fehler eines Mess- Wir können hier nicht auf die Berechnung der Konfidenzintervalle aus den Schätz-
werts unabhängig von der Messung bekannt war. (z.B.: vom Betreuer, aus einer werten der Standardabweichung eingehen. Mehr dazu findet man in [Mand, S. 114].
Bedienungsanleitung, durch eine Schätzung des Ablesefehlers, . . . ). Der Fehler [Bar, S. 134ff] Stichwort: Students t Verteilung.
der Messung war also prinzipiell a priori, also bevor die Messung durchgeführt
wurde, bekannt.
5 LINEARE REGRESSION 17 5 LINEARE REGRESSION 18
5 Lineare Regression
In diesem Abschnitt kommen wir endlich zu der Frage, wie man die
Lage einer Ausgleichsgerade durch die Messpunkte bestimmen kann. wahre Gerade
Um den Leser nicht zu ermüden, betrachten wir von Anfang an den
Fall, dass die einzelnen Messwerte unterschiedliche Fehler haben. y
Wir haben Paare von Punkten (xi , yi ) gemessen. Wir nehmen an, dass der Pi (y)
Zusammenhang zwischen x und y durch eine Gerade, d.h., durch eine Funktion
vom Typ
Y (X) = A + BX (29)
beschrieben werden kann. Diese Funktion heißt Modellfunktion. Wir können Y4
unsere Messdaten durch zwei Vektoren x = (x1 , . . . , xn ) und y = (y1 , . . . , yn ) Y3
Y2
darstellen. A und B sind Zufallsgrößen und unsere Aufgabe besteht darin, x1
möglichst gute Schätzwerte â und b̂ für Ihre Erwartungswerte A und B x2 Y1
x3
(anschaulich ihre wahren Werte aw , bw ) zu bestimmen. Wir machen folgende x4 x
Voraussetzungen:
• die xi seien vom Experimentator frei wählbar und ihre Fehler seien ge-
genüber denen der yi vernachlässigbar klein. In diesem Fall besteht also
kein Unterschied zwischen den Messwerten xi und ihren Erwartungswer- Abbildung 4: Wahrscheinlichkeitsdichte bei der linearen Regression
ten Xi bzw. ihren wahren Werten xwi .
• Jeder einzelne Messwert yi stammt aus einer eigenen Gaußverteilung mit
dem Erwartungswert µi = Yi und der Standardabweichung σi . Dies
wird in Abb. 4 verdeutlicht. y
yi : Mess-
In Abb. 5 ist der Unterschied zwischen Mess-, Schätz-, und Erwartungswert dˆi ri Yi : Erwartungs-
dargestellt.
geschätzte Gerade ŷi : Schätzwert
wahre Gerade
5.1 Schätzung der Parameter A und B der Geraden x
Wenden wir nun die Maximum-Likelihoodfunktion auf dieses Problem an: Für Xi = xi
jede Stelle xi gibt es nun einen “wahren Wert” yiw = yw (xi ) = Y (xi ) = Yi .
Die Wahrscheinlichkeit an der Stelle xi die Messung yi zu machen, wird durch Abbildung 5: Unterschied zwischen Mess-, Schätz-, und Erwartungswert bei
die folgende Gaußfunktion beschrieben: der linearen Regression
2
1 (yi − Yi )
Pi (yi ) = exp − (30)
2πσi2 2σi2
5 LINEARE REGRESSION 19 5 LINEARE REGRESSION 20
Die Likelihoodfunktion, also die Wahrscheinlichkeitsdichte, wenn man an den Minimierung von χ2 : Um die Werte der Parameter â und b̂, die χ2 mi-
Stellen x misst die Werte y zu beobachten, ergibt sich wieder als Produkt der nimieren, zu finden, bilden wir die partiellen Ableitungen von χ2 nach den
Einzelwahrscheinlichkeiten: Parametern und setzen diese gleich Null. Die so erhaltenen Gleichungen hei-
1 (yi − Yi )2 ßen Normalgleichungen.
L(y) = L(y1 , . . . , yn ) = Pi = exp − (31)
i i 2πσi2 2σi2
∂ 2 ∂ 1 1
Die Yi können wir nun mit Hilfe des Modells (29) durch die Erwartungswerte χ = (yi − â − b̂xi )2 = −2 (yi − â − b̂xi ) =0
∂â ∂â i σi2 σi2
für die Parameter A und B ausdrücken: i
(36a)
Yi = A + Bxi (32) ∂ 2 ∂ 1 xi
χ = (yi − â − b̂xi )2 = −2 (yi − â − b̂xi ) =0
Setzen wir dies in (31) ein, erhalten wir: ∂ b̂ ∂ b̂ i
σi2 i
σi 2
(36b)
1 (yi − A − Bxi )2 Die Normalgleichungen bilden ein lineares Gleichungssystem in zwei Varia-
L(y ) = Pi = exp − blen â und b̂, das leicht gelöst werden kann:
i i 2πσi2 2σi2
(33)
1 (yi − A − Bxi )2
= exp − 1 xi yi
2πσi2 2σi2 â + b̂ = (37a)
i i
i
σi2 i
σi2 i
σi2
Um die Werte für A und B zu finden, die unsere Messwerte am wahrscheinlichs-
xi x2 xi yi
ten machen, müssen wir nun die Likelihoodfunktion maximieren. Mit denselben â + i
b̂ = (37b)
Überlegungen wie in 3.2 bestimmen wir deshalb die Nullstellen der Ableitung i
σi2 i
σi
2
i
σi2
von ln L.
∂ ln L ∂ ln L Um die Lösung übersichtlicher darstellen zu können, führen wir als Abkür-
0= 0 = (34)
∂(A) A=â ∂(B) A=â zung die Determinante S der Koeffizientenmatrix ein.
B=b̂ B=b̂
Da (33) verhältnismäßig lang ist, ist es sicherlich gut, sich auf den Term zu 2
beschränken, der für die Ableitung von Bedeutung ist. Das ist allein die Summe 1 x2 xi
i
im Exponenten. Diese Summe nennen wir nun χ2 (chiquadrat).2 Um L zu S=
σ 2 σ 2 − σi2
i i i i i
maximieren, müssen wir diese Summe minimieren.
yi − ŷ(xi )
2 2 1 x2i yi xi xi yi
χ2 :=
1
(yi − â − b̂xi ) â = − (38a)
σi
=
σi
(35) S i
σi2 i σi2 i
σi2 i σi2
i i
Wir wollen also die beste Ausgleichsgerade dadurch finden, dass wir Werte für 1 1 xi yi xi yi
b̂ = − (38b)
die Parameter â und b̂ finden, die die gewichtete Summe der Quadrate der S i
σi2 i σi2 i
σi2 i σi2
Abweichungen χ2 minimieren. Wir wollen also die Ausgleichsgerade finden,
die die kleinste Summe der Quadrate hervorruft. Daher der Name Methode Dies sind also die ML-Schätzfunktionen â(x, y ) und b̂(x, y ).
der kleinsten Quadrate oder auf Englisch least-squares fit für das Verfahren.
2 Diese
Größe wird häufig auch WSSR („Weighted Sum of Squared Residuals“) genannt.
Eine analoge Größe findet sich auch schon bei der Herleitung des Mittelwertes in (14).
5 LINEARE REGRESSION 21 5 LINEARE REGRESSION 22
hier (n − 2).
2
1 2
n n
2 1 2 S 1 x2 xi
s = (yi − yˆi ) = yi − â − b̂x (44)
S = 4 = i
−
n − 2 i=1 n − 2 i=1 σ fi2 i fi2 fi2
i i
Aus der so geschätzen Varianz der Messwerte kann man in der Näherung 1 x2i yi xi xi yi
σ 2 ≈ s2 die Fehler von â und b̂ nach (39) schätzen. Bei dieser Schätzung â = − (46a)
S i
fi2 i fi2 i
fi2 i fi2
tritt wieder das Problem auf, dass der Fehler mit dem s behaftet ist in diese
Überlegung nicht eingeht. Deshalb gilt für die so geschätzten ∆â und ∆b̂ das 1 1 xi yi xi yi
b̂ = − (46b)
in 4.3 gesagte. Bei wiederholter Durchführung der Messreihe fluktuieren die S i
fi2 i fi2 i
fi2 i fi2
Varianzen s2 bei kleinem n (Zahl der Punkte einer Messreihe) sehr stark.
Wir schätzen nun analog zu (44) das gemeinsame σ 2 . Dabei müssen wir
Absolute Fehler verschieden – Verhältnis bekannt (gewichtete Streu- beachten, dass es nicht mehr nur einen Erwartungswert Y , sondern zu jedem
ung) Messwert eine Erwartungswert Yi = y(xi ) gibt. So erhalten wir die folgende
erwartungstreue Schätzung:
Beispiel: Exponentialfunktion Wir untersuchen eine Messreihe
1 1 2
bei der der Zusammenhang zwischen x und z durch eine Exponential- n
χ2
funktion Z(x) = exp(A + Bx) beschrieben wird. Wir wissen, dass al- s2 = = 2 yi − â − b̂xi (47)
le Punkte zi denselben unbekannten Fehler σ aufweisen. Wir möchten n−2 n − 2 i=1 fi
diesen Fehler und damit auch die Fehler der Parameter a und b aus
derselben Messreihe schätzen. Nun können wir durch Einsetzen von σi2 fi2 s2 in (39a) und (39b) Schätzun-
Um die Daten auswerten zu können, müssen wir die zi logarithmieren gen für die Fehler der Parameter â und b̂ berechnen.
und den unbekannten Fehler der zi nach dem Fehlerfortpflanzungsgesetz
umrechnen. Wir erhalten So einen neuen Datensatz mit yi = ln(zi ) und n
1 x2i 2
n
1 1 2
(9) ∆â = s und ∆b̂ = s (48)
σi = y1i σ.
Die Fehler der yi können also in der Form σi = fi σ dargestellt S i=1 fi2 S i=1 fi2
werden. In diesem Beispiel ist fi = y1i .
Im Beispiel wurde eine Situation dargestellt, in der die Fehler der einzelnen Geschafft! Sie sind fast am Ziel!
Punkte zwar nicht bekannt sind, wir jedoch ihre relative Größe untereinander Noch ein paar Hinweise zu den so aus der Streuung berechneten Fehlern:
kennen. Im Praktikum ist zwar vermutlich die Exponentialfunktion der ein- • ∆â und ∆b̂ sind für kleine n nicht verlässlich. Hier müssten eigentlich
zige (und nicht seltene) Fall in dem dies vorkommt, da andere linearisierbare Konfidenzintervalle betrachtet werden. (Siehe 4.3). Ein Beispiel, in dem
Zusammenhänge auf andere fi führen, wollen in diesem Abschnitt allgemein Konfidenzintervalle mit der geschätzten Standardabweichung verglichen
den Fall untersuchen, in dem sich die unbekannten Fehler σi als Produkt aus werden, findet man in [Mand, S. 141-147]
einem bekannten individuellen Faktor fi und dem unbekannten gemeinsamen
2
Anteil σ darstellen lässt. χ
• Die fi sind nur bis auf einen gemeinsamen Faktor bestimmt. n−2 ist von
σi = fi σ (45)
diesem Faktor ebenfalls abhängig. Die daraus berechneten ∆â und ∆b̂
Die Parameter â und b̂ können wir weiterhin problemlos nach (38) schätzen. sind davon unabhängig.
Dazu setzen wir (45) in (38) ein. Dabei kürzt sich der unbekannte gemeinsame χ 2
Faktor σ heraus! In (38) treten lediglich die fi an die Stelle der σi . Die Gewichte • Der Schätzwert für die Varianz eines Messpunktes ist s2i = fi2 s2 = fi2 n−2 ,
der Messwerte sind also wi = f12 : χ2
i
auch wenn die Größe n−2 in Mathematica auch im Fall unterschiedlicher
6 MEHR ZUR LINEAREN REGRESSION 25 6 MEHR ZUR LINEAREN REGRESSION 26
Gewichte als EstimatedVariance bezeichnet wird. Die Bezeichnung ist eine graphische Darstellung offenbart, dass die Werte überhaupt keinen linea-
dennoch nicht falsch, in unserem Beispiel mit der Exponentialfunktion ren Verlauf zeigen. Dass die Fehler trotzdem klein sind, liegt daran, dass in ihre
χ2
ist s2 = n−2 tatsächlich ein Schätzwert für die Varianz der nicht loga- Berechnung die tatsächliche Abweichung der Messwerte von der Schätzgeraden
rithmierten Werte. überhaupt nicht eingeht! Verfahren, die diese Abweichungen berücksichtigen,
liefern in einem solchen Fall zwar größere Fehler (siehe später). Aber die damit
berechneten Werte sind genauso sinnlos. Deshalb ist die graphische Darstel-
6 Mehr zur linearen Regression lung auch bei rechnerischer Auswertung so wichtig. Sie werden sich in Aufgabe
2 mit diesem Problem beschäftigen.
6.1 Die Bedeutung von χ2 bei bekannten Fehlern
Die in Abschnitt 5.2.2 hergeleiteten Relationen geben uns jetzt ein Mittel in 6.3 Das Bestimmtheitsmaß R2
die Hand, die Güte unserer linearen Approximation zu beurteilen, falls wir die Die Residuen (dˆi = yi − yˆi ) beschreiben, wie gut jeder einzelne Punkt durch das
Fehler der Messwerte doch kennen. Modell vorhergesagt wird. Wir möchten jedoch eine Größe finden, die beschreibt,
Wählt man fi = σi , dann ist σ definitionsgemäß gleich 1. Der Erwar- wie gut das Modell insgesamt passt. Hierzu definieren wir zunächst die Streuung der
tungswert für s2 ist (da s2 erwartungstreu ist) dann ebenfalls gleich 1. Weicht Messwerte yi als ihre quadratische Abweichung vom ihrem Mittelwert ȳ. Die Summe
χ2 über diese Abweichungen nennt man SQT („Sum of Squares Total“):
s2 = n−m 3
stark von 1 ab, können wir mit einer gewissen Wahrscheinlich-
keit schließen, dass die Eingangsfehler σi schlecht geschätzt wurden. Um dieses X
n
Werkzeug systematisch einsetzen zu können, müsste man sich Gedanken ma- SQT = (yi − ȳ)2 (49)
χ2 i=1
chen, mit welcher Wahrscheinlichkeit n−m nicht mehr als um einen bestimmten
Betrag vom Erwartungswert 1 abweicht. Darauf können wir hier nicht weiter Um nun ein Modell zu beurteilen, können wir die Streuung, die dieses Modell erklärt,
eingehen. untersuchen. Die zugehörige Summe heißt SQE („Sum of Squares Explained“) und
χ2 wird aus den Abständen zwischen den vom Modell vorhergesagten Werten ŷi und
Im Praktikum werden Sie in der Regel n−m 1 beobachten, weil die
Eingangsfehler auch systematische Anteile enthalten und nach oben – also zu dem Mittelwert aller Messwerte ȳ gebildet:
χ2
groß – geschätzt wurden. Erhalten Sie allerdings n−m > 1, sollten Sie sich X
n
Gedanken machen, ob nicht ungenauer gemessen wurde, als man hinterher SQE = (yˆi − ȳ)2 (50)
angegeben hat oder Fehlerquellen übersehen wurden. Bei einer ausreichenden i=1
Anzahl von Messpunkten kann man auch eine Fehlerschätzung nach Abschnitt Als Maß für die Güte des Modells definieren wir das Bestimmtheitsmaß R 2 als den
5.2.2 in Erwägung ziehen. Dies entspricht etwa dem Vorgehen beim Zeichnen Anteil der Streuung, den das Modell erklärt. Also bewegt sich R2 zwischen 0 und 1.
einer Grenzgerade, bei der man sich an der Lage der Punkte orientiert. SQE
R2 = (51)
SQT
6.2 Falsches Modell Für diese Größen gilt die folgende Streuungszerlegung (52), deren Gültigkeit nicht oh-
Wir haben bisher immer vorausgesetzt, dass der wahre Zusammenhang tat- ne weiteres einsichtig ist. Dabei stellt sich heraus, dass die Streuung der Messwerte
sächlich ein Gerade ist. Wenn dies nicht der Fall ist, sind die Schätzwerte für einfach die Summe der durch das Modell erklärten Streuung und der Residualstreu-
die Parameter und die Fehler bedeutungslos. Es kann leicht passieren, dass ung (die Summe der Quadrate der Residuen dˆi SQR („Sum of Squared Residuals“))
ist:
Achsabschnitt und Steigung mit sehr kleinem Fehler geschätzt werden, aber
3 In SQT = SQE + SQR
diesem Kontext wird s2 in der Literatur praktisch ausschließlich als „reduced chi
squared“ bezeichnet. Um dieser Konvention zu entsprechen, schreiben wir an dieser Stelle X
n X
n X
n
(52)
χ2 (yi − ȳ)2 = (yˆi − ȳ)2 + (yi − yˆi )2
n−m
, dabei ist (n − m) die Zahl der Freiheitsgrade.
i=1 i=1 i=1
6 MEHR ZUR LINEAREN REGRESSION 27 7 HINWEISE ZU SOFTWARE 28
Daraus folgt eine praktischere Formel für die Berechnung von R 2 : welche quadratischen Abstände minimiert werden sollen. Der kürzeste Abstand ri
Pn vom Messpunkt zur Ausgleichsgeraden ist es im Allgemeinen jedenfalls nicht (Abb.
SQE SQT − SQR SQR (yi − yˆi )2
R2 = = =1− = 1 − Pi=1
n
5), denn dann wäre die Lage der Geraden von der Achsenskalierung abhängig. Glück-
i=1 (yi − ȳ)
SQT SQT SQT 2
licherweise hilft auch hier das ML-Prinzip weiter. [Bar, S. 109]
Liegen alle beobachteten Punkte exakt auf einer Geraden, so sind die Residuen alle
gleich Null und ebenso die Residualstreuung. In diesem Fall ist also die Gesamtstreu- 6.6 *Interpolation und Kalibrierkurven
ung gleich der erklärten Streuung, d.h. die gesamte Variation von Y lässt sich durch
die Variation von X zusammen mit der postulierten linearen Beziehung erklären. In Gelegentlich führt man zunächst eine Messreihe durch, aus der man eine Ausgleichs-
diesem Fall ist R2 also 1. Je grösser nun die Residualstreuung ist, desto schlechter be- gerade bestimmt, um dann später die Grösse y zu messen indem man x misst und y
schreibt das Modell die Daten, d.h. desto weniger wird die in den Daten vorhandene mit Hilfe dieser Kalibrierkurve ausrechnet – oder umgekehrt. Das funktioniert indem
Streuung durch das Modell erklärt. man einfach den Messwert x in die Geradengleichung der Kalibrierkurve einsetzt.
Haben die Messwerte unterschiedliche Fehler, treten an die Stelle der Mittelwerte Leider ist die Berechnung des Fehlers des so geschätzten y-Wertes nicht ganz so un-
gewichtete Mittelwerte. Auch die einzelnen Summanden müssen gewichtet werden.
problematisch, weil Steigung und Achsenabschnitt nicht statistisch unabhängig sind.
X
n
(yi − yˆi )2 Xn
(yi − â − b̂xi )2 Xn
yi Wenn man einfach das Gaußsche Fehlerfortpflanzungsgesetz anwendet, um den Feh-
σi2 σi2 σ 2 ler dieses Schätzwertes zu bestimmen, erhält man deshalb einen zu kleinen Wert. Mit
i=1 i=1 i=1 i
R2 = 1 − =1− mit ȳ = (53) dem Größtfehler liegt man zwar auf der sicheren Seite, aber er ist wie der Name schon
Xn
(yi − ȳ)2 Xn
(yi − ȳ)2 Xn
1 sagt unangemessen groß. Auch hier lässt uns die Mathematik nicht im Stich. Durch
i=1
σi2 i=1
σi2 σ
i=1 i
2
eine einfache Koordinatentransformation ist es möglich, eine neue Geradengleichung
mit statistisch unabhängigen Parametern zu erhalten. [Bar, S. 103]
[Fahr, S. 158ff] Grenzen innerhalb derer ein Wert für R2 akzeptabel ist, lassen sich
nicht so ohne weiteres angeben. Man könnte jedoch eine Grenze angeben, so dass mit
einer vorgegebenen Wahrscheinlichkeit R2 kleiner als diese Grenze ist, falls es sich 6.7 *Ausblick: Matrixdarstellung und
um einen linearen Zusammenhang handelt. Diese Grenze ist natürlich von der Zahl nichtlineare Modelle
n der Messwerte abhängig. Das heisst nicht, dass wenn R2 kleiner als diese Grenze Wir haben gesehen, dass die Normalgleichungen ein lineares Gleichungssystem dar-
ist, der wahre Zusammenhang mit der angegebenen Wahrscheinlichkeit linear ist! stellen. Man kann dieses Gleichungssystem in der Sprache der linearen Algebra als
Matrixgleichung schreiben. Die übrigen Rechnungen werden dann viel kürzer.([Bar]
6.4 *Fehler in den x-Werten S. 103) Insbesondere wenn kompliziertere lineare Modelle als eine einfache Gerade
verwendet werden, ist diese Darstellung vorzuziehen, auch weil sich solche Gleichungs-
Sind nur die x-Werte fehlerbehaftet, bzw. die y-Fehler gegenüber den x-Fehlern ver- systeme besonders gut programmieren lassen.
nachlässigbar, vertauschen Sie einfach abhängige und unabhängige Variable. Auch auf nicht lineare Modelle kann das ML-Prinzip bzw. die Methode der kleins-
Die Umrechnung der so erhaltenen Parameter ist unproblematisch. Auch der ten Quadrate angewendet werden. In diesem Fall sind die Normalgleichungen leider
Fehler der Steigung kann problemlos nach dem Fehlerfortpflanzungsgesetz berech- nicht linear und man ist auf numerische Lösungen angewiesen. Eine Anwendung eines
net werden. Bei der Umrechnung des Achsenabschnitts tritt das selbe Problem wie solchen nichtlinearen Modells auf die simultane Bestimmung der Halbwertzeiten von
in 6.6 auf, da die Fehler von Achsabschnitt und Steigung nicht unabhängig sind. 108
Ag und 110 Ag, die Teil des Versuchs radioaktiver Zerfall ist, findet sich in [Bev].
Glücklicherweise wird im Praktikum häufig nur die Steigung benötigt.
(d) Vergleichen Sie die vier Ergebnisse (Grenzgeraden, Fehler der Para- • Schicken Sie Ihre Lösung als e-Mail-Attachment an Ihren Betreuer, und
χ2
meter, n−2 und R2 ). Was ist der Unterschied zwischen den beiden benennen Sie es dabei wie folgt:
Verfahren? (Hier müssen Sie ein wenig Text schreiben!) cpnachname _vo _xx.nb
(e) Zusatzaufgabe:
Dabei steht nachname für Ihren Nachnahmen, vo für die ersten beiden
• Vergleichen Sie die Ergebnisse mit dem durch Anwendung der Buchstaben ihres Vornamens. Mit xx wird die Versionsnummer bezeich-
Funktion Regress aus dem Statistikpaket von Mathematica mit net: Bei der ersten Abgabe verwenden Sie 01, bei der zweiten Abgabe
der Option Weights auf [Link] erhaltenen. (also der ersten Berichtigung) dann 02 und so weiter. Bei Berichti-
• Vergleichen Sie das Ergebnis mit Hilfe von (54) mit dem von gungen geben sie bitte den vom Tutor erhaltenen korrigierten
Aufgabe 1. Ausdruck mit ab! Bitte schreiben Sie zusätzlich Ihren Namen in einen
Kommentar am Anfang des Notebooks. Die Lösung von Aufgabe 4 (a)
4. (a) Leiten Sie die Gleichungen für Parameter und Fehler so wie das können sie natürlich auch auf Papier abgeben.
reduzierte χ2 für das Problem einer Ursprungsgerade analog zur
Darstellung in 5 her. (Geht am besten mit Papier und Bleistift!) • Beachten Sie, dass Mathematica keine Variablennamen mit Quadraten
(b) Schreiben Sie die Funktion aus Aufgabe 1a für diesen Fall und tes- wie R2 oder s2 akzeptiert.
ten Sie sie mit dem Datensatz [Link]. (Die Funktion Regress • Bewertung Um 5 Punkte zu erlangen, ist die Bearbeitung der Zusatz-
aus Mathematica verwendet in diesem Fall eine abweichende Defi- aufgaben erforderlich. 4 Punkte können Sie jedoch auch ohne Zusatzauf-
nition für R2 , lassen Sie sich also nicht verunsichern, falls Sie auch gaben erreichen.
das Ergebnis dieser Aufgabe mit dem der Funktion Regress ver-
gleichen!)
Literatur
5. Zusatzaufgabe (alternativ zu 1-4) Lösen Sie die vorstehenden Aufgaben
nicht wie hier beschrieben, sondern verwenden Sie die Matrixdarstellung [Bar] Barlow, Roger J. Statistics: a guide to the use of statistical methods
nach [Bar, S. 111ff] und die Funktionen von Mathematica zur linearen in the physical sciences. Wiley, 1989; Nachdr. 1999.
Algebra.
[Bev] Bevington, Philip R.; Robinson, D. Keith. Data reduction and
error analysis for the physical sciences. McGraw-Hill, 2. Aufl. 1992.
Hinweise
[Fahr] Fahrmeir, Ludwig [u.a.] Statistik – der Weg zur Datenanalyse.
• Wenn Sie noch wenig Computererfahrung haben, sollten Sie die Aufgaben Springer, 1997.
an den Computern des Fachbereichs bearbeiten.
[Mand] Mandel, John. The statistical analysis of experimental Data. New
• Falls Sie die Aufgaben zu Hause bearbeiten, sorgen Sie bitte dafür, dass York: Interscience, 1964; korr. Nachdr. New York: Dover, 1984.
Sie stets eine aktuelle Version in der Uni verfügbar haben, damit sie
kleine Korrekturen sofort ausführen können. [Squi] Squires, G. L.. Messergebnisse und ihre Auswertung: Eine Anleitung
zum praktischen naturwissenschaftlichen Arbeiten. Walter de Gruyter,
• Erzeugen Sie ein Notebook, das die Lösung aller Aufgaben enthält, da Sie 1971.
in einigen Aufgaben auf Ergebnisse der 1. Aufgabe zurückgreifen müssen.
Als Einführung in die Fehlerrechnung und Datenanalyse für Physiker sind vor
• Verwenden Sie die Funktionen Copy, Paste und Find und Replace aus- allem [Bar] und [Bev] gut geeignet. Am Ende einiger Abschnitte in diesem
giebig. Kleinere Formelteile oder Sonderzeichen können auch gut mit der Skript finden Sie Hinweise, wo das jeweilige Thema ausführlicher dargestellt
mittleren Maustaste kopiert werden. wird.
2 [Link]
Es gibt eine große Menge weiterer Style− und allgemeiner Einstellungen Variablen
für Zellen, die sich unter FormatStyle, bzw. Format... befinden.
Variablen sind vom Prinzip her sehr einfach. Man kann mit dem
Ausdrücke Gleichheitszeichen Variablennamen, die, wie schon oben empfohlen, mit
einem Kleinbuchstaben beginnen sollten, einen Wert zuweisen, ohne dass
Ausdrücke, die Mathematica zur Bearbeitung gegeben werden, werden so eine vorherige Deklaration erforderlich ist. Sobald der Name später wieder
weit wie möglich ausgewertet: auftaucht, setzt Mathematica dort den zugewiesenen Wert ein. Mit der
32 4 folgenden Zeile wird n auf 3 gesetzt:
18 n3
32 5a 3 3
3 5 5 a Jetzt kann man n wie eine Zahl verwenden, und wenn man n danach einen
neuen Wert zuweist, gilt ab dann dieser Wert:
Wie man sieht, werden die Zahlen so weit wie möglich zusammengefasst,
aber sobald Variablen auftreten, arbeitet Mathematica sehr vorsichtig. Um n2
Mathematica zu sagen, dass ein Ausdruck vereinfacht werden soll, 6
verwendet man die Funktion Simplify:
2^n
Simplify32 5a 3
8
15 1 a
n4
Hier hat Mathematica jetzt von selbst den Faktor 5 ausgeklammert.
4
Die Funktion FullSimplify tut dasselbe, versucht jedoch bei
n2
komplizierten Ausdrücken noch mehr Umformungen und liefert so
manchmal ein besseres Ergebniss. 8
Will man einen Ausdruck ausmultiplizieren, muss man Expand
Wie man sieht, kommt nach der Zuweisung n=4 bei dem gleichen
verwenden:
Ausdruck 2*n ein anderer Wert heraus, da sich n selbst geändert hat.
Expand32 5a 3 Diese Funktion ist manchmal nützlich, sollte aber vorsichtig benutzt
werden, denn es ist in Mathematica vorgesehen, dass man jederzeit jede
15 15 a
Formel ändern und neuberechnen kann. Das geht natürlich nur solange
Möchte man dagegen aus einem ausmultiplizierten Term wieder ein gut, wie sich die Variablen seit der ersten Berechnung nicht geändert
Produkt gewinnen, kann man Factor benutzen, obwohl in den meisten haben. Daher lautet eine Empfehlung: Variablen sollten nur einmal gesetzt
Fällen Simplify auch schon ausreicht. werden, und zwar natürlich vor jeder Anwendung dieser Variablen.
5 3;
Die meisten naiven Funktionen in Mathematica sind dergestalt, dass sie
ist ohne Ausgabe sinnlos. Aber wenn Sie einer Variablen einen Wert
auf eine Liste angewendet auf jedes Listenelement einzeln wirken. Dies ist
zuweisen, kennen Sie die Ausgabe schon:
eine Kurzschreibweise für die Funktion Map.
h 7;
Sin0, Pi 2, Pi
Ausserdem können mit dem Semikolon mehrere Anweisungen in einer
0, 1, 0
Zeile eingegeben werden.
kurz für:
h 7; l 9;
MapSin, 0, Pi 2, Pi
Sonderzeichen
0, 1, 0
Will man nun griechische Buchstaben in einem Ausdruck, Umlaute in
einem Kommentar oder mathematische Symbole wie oder in einem Listen sind eine Möglichkeit, Vektoren und Matrizen darzustellen.
Text verwenden, muss man diese Zeichen gesondert einfügen, wenn sie Vektoren fasst man als Listen von Zahlen (Real) auf und Matrizen als
sich nicht auf der Tastatur befinden. Dies kann man über Paletten, die man Listen von Vektoren. Das Arbeiten mit Vektoren und Matrizen ist in
nach Belieben im Menu unter FilePalette ... aufrufen kann. Für viele Mathematica recht bequem möglich, da die einfachen Rechenoperatoren
dieser Zeichen existiert aber auch ein Tastatur Shortcut. Diese Shortcuts Vektoren und Matrizen elementweise verknüpfen:
werden in der Form Shortcut eingegeben. 2, 3, 4 1, 5, 8
So sind, z.B. 3, 8, 12
D =
d =∆ Ist nur einer von zwei Operanden ein Vektor, der andere dagegen ein
[ [ = einfacher Ausdruck, so wird der Ausdruck mit jedem einzelnen Element
a " =ä des Vektors verknüpft. Das mag bei der Addition zwar reichlich sinnlos
erscheinen, ist aber das Verhalten, das man bei einer Multiplikation
Listen −Vektoren und Matrizen erwartet:
Die grundlegende Datenstruktur in Mathematica ist die Liste. Eine Liste 2, 3, 4 1
ist eine Aufzählung oder eine Menge von Elementen. Hierbei kommt es, 3, 4, 5
im Gegensatz zu mathematischen Mengen, jedoch auch auf die
2, 3, 4 2
Reihenfolge der Elemente an. Die Elemente einer Liste können so gut wie
alles sein, was Mathematica kennt. Also ist auch eine Liste einer Zahl, 4, 6, 8
einer Funktion und einer weiteren Liste eine Liste.
Man kann natürlich auch zwei Vektoren miteinander multiplizieren, aber
Um Elemente zu einer Liste zusammenzufassen, gibt es den Befehl List. das führt wie bei der Addition, bei der eine Zahl zu einem Vektor addiert
wird, nicht zu mathematisch sinnvollen Operationen:
List1, a, ArcTan, c, d, "String"
2, 3, 4 1, 1, 2
1, a, ArcTan, c, d, String
2, 3, 8
Abkürzend kann man aber auch einfach die Elemente in ein Paar
gemeinsamer geschweifter Klammern setzen. Zum Bestimmen des Skalarproduktes verwendet man statt des Sternes
einen Punkt. Dieser steht im allgemeinen für Matrixprodukt. Das
1, a, ArcTan, c, d, "String" Skalarprodukt zweier Vektoren ist auch nichts weiter als das
1, a, ArcTan, c, d, String Matrixprodukt eines Zeilenvektors mit einem Spaltenvektor. Da
Mathematica zwischen Zeilen− und Spaltenvektoren sowieso nicht
[Link] 9 10 [Link]
Mathematica zwischen Zeilen− und Spaltenvektoren sowieso nicht MatrixFormv 1, 2, 3, 4
unterscheidet, ist das Skalarprodukt tatsächlich ein Matrixprodukt
1 2
2, 3, 4.1, 1, 1 3 4
9 Häufig kommt es vor, dass man auf ein ganz bestimmtes Element eines
Vektors, einer Matrix oder allgemein einer Liste zugreifen will. Diesen
Eine Matrix wird als Vektor von Vektoren gleicher Länge eingegeben:
Zugriff ermöglicht die Funktion Part. Ihre Kurzformen sind viel
1, 2, 3, 4 einfacher. Alle der folgenden Formen sind Kurzschreibweisen für den mit
Part realisierten Zugriff auf die Elemente einer Liste.
1, 2, 3, 4
Zugreifen auf das erste Element des Vektors u geschieht so:
Die Ausgabe erscheint normalerweise schöner, wenn man die Matrix in
der sogenannten MatrixForm darstellt, indem man die Funktion Partu, 1
MatrixForm auf die Matrix anwendet. Mathematica macht die Ausgabe u1
in der Spezialform dadurch kenntlich, dass an die Ausgabennummer 6
//MatrixForm angehängt wird. Das kommt von einer ganz allgemeinen
Methode, Funktionen zu verketten, die erst etwas später erklärt wird: 6
MatrixForm1, 2, 2, 3 und der Zugriff auf das Element in der ersten Zeile und zweiten Spalte der
Matrix v so:
1 2
2 3 PartPartv, 1, 2;
Partv, 1, 2;
MatrixForm1, 2, 2, 3 1, 0, 0, 1 v12;
v1, 2 ;
2 2
v1, 2;
2 4 v1, 2 ;
v1,2
MatrixForm1, 2, 2, 3 1, 0, 0, 1
2
1 0
0 3 Die Listeneingabehilfe
MatrixForm1, 2, 2, 3.1, 0, 0, 1
Die Eingabe längerer Listen z.B. Messwertetabellen mit geschweiften
1 2 Klammern ist umständlich und unübersichtlich. Wenn sie solche langen
2 3 Tabellen nicht aus einer Datei einlesen möchten (siehe später), können Sie
Man beachte vor allem den Unterschied zwischen der elementweisen die Listeneingabehilfe verwenden. Wählen Sie hierzu aus dem Menu
Multiplikation mit dem Stern und der Matrixmultiplikation mit dem Punkt. InputCreate Table/Matrix/Palette. In dem sich öffnenden Dialogfeld
wählen Sie, ob Sie die Liste als Matrix oder Tabelle formatieren möchten
Zugreifen auf Elemente einer Liste: und die Zahl der Zeilen und Spalten. In der so eingegügten Vorlage
können Sie mit zum nächsten freien Feld springen.
Wir definieren zu Demonstrationszwecken einen Vektor u und eine
Matrix v.
u 6, 9
6, 9
[Link] 11 12 [Link]
das Gesamtergebnis 6 ergeben hat. Das ist aber auch noch nicht ganz das,
Funktionen
was man eigentlich braucht, da man zwar jetzt ein schön allgemeines
Funktionen werden genauso wie Variablen mit dem einfachen Muster hat, aber leider nicht mehr an das Argument herankommt.
Gleichheitszeichen definiert. Dabei steht auf der linken Seite des Daher gibt es in Mathematica die Möglichkeit, dem Blank einen Namen
Gleichheitszeichens ein sogenanntes Muster. Über Muster kann man sehr zu geben, indem man ihn vor den Unterstrich schreibt. Dieser Name kann
viel sagen, was aber den Rahmen dieses Skripts bei weitem sprengt. Daher dann auf der rechten Seite wie eine normale Variable verwendet werden:
fassen wir hier kurz zusammen, was von vornehmlicher Bedeutung ist: Die Funktion quadrat wird jetzt mit dem Muster »Die Funktion
Schreibt man einfach f[x]=x^2, scheint es auf den ersten Blick auch zu quadrat mit einem beliebigen Argument, dass im weiteren x genannt
funktionieren: wird,« definiert.
fx x ^ 2 quadratx_ x ^ 2
x2 x2
x fx quadrat3
9
x x2
Aber sobald man versucht, ein anderes Argument als x zu verwenden, tut Man sollte darauf achten, dass, wenn auf der rechten Seite eine Variable
Mathematica plötzlich so, als ob es keine Ahnung hätte, wie f definiert ist: vorkommt, die bereits einen Wert zugewiesen bekommen hat, dieser Wert
verwendet wird, egal, ob es vielleicht einen Parameter gibt, der den
y fy gleichen Namen hat:
y fy
n 15
Hier wurde die Funktion nicht eingesetzt. Man kann auch noch 15
Simplify darauf anwenden: Es klappt einfach nicht. Der Fehler liegt in
der Definition der Funktion. Wie schon erwähnt, steht auf der linken Seite negiereFalschn_ n
des Gleichheitszeichens ein Muster. In diesem Fall ist es ein sehr 15
einfaches Muster, nämlich die Funktion f mit dem Argument x. Daher
wird »Die Funktion f mit dem Argument x« auch durch die rechte Seite negiereRichtignn_ nn
ersetzt. Allerdings nicht »Die Funktion f mit dem Argument y«, da diese nn
Eingabe nicht auf das Muster passt.
negiereFalsch8, negiereRichtig8
Was man benötigt, ist ein Muster, das allgemeiner gefasst ist. Dazu
verwendet man den Unterstrich, häufig auch »Blank« genannt, da er für 15, 8
einen beliebigen Ausdruck steht, wie eine Blankostelle, die noch
Die Funktion negiereFalsch ist ein Beispiel für dieses Problem. Man
ausgefüllt werden muss. Daher der nächste Versuch mit einer konstanten
sieht es allerdings hier schon in der Antwort von Mathematica, denn nicht
Funktion:
jede Zahl kann negiert −15 ergeben. Leider bemerkt man bei schwierigen
constZwei_ 2 Funktionen dieses Problem nicht immer sofort. Daher die Warnung:
Variablen sollten nur mit Bedacht und aussagekräftigeren Namen als n
2
benutzt werden.
constZwei5 constZweix constZweix ^ 2
Funktionen können mit = oder := definiert werden. Üblicherweise wird :=
6 verwendet. Dann tritt auch das oben beschriebene Problem nicht auf.
Hier hat Mathematica festgestellt, dass das Muster »Die Funktion negieredochnichtfalschn_ : n
constZwei mit einem beliebigen Argument« in der unteren Zeile
dreimal vorkommt und für jedes Vorkommen 2 eingesetzt, so dass sich
das Gesamtergebnis ergeben hat. Das ist aber auch noch nicht ganz das,
[Link] 13 14 [Link]
negieredochnichtfalsch27 Für den Vergleich zweier Terme verwendet man das doppelte
27 Gleichheitszeichen, das im Gegensatz zum einfachen Gleichheitszeichen
keine Zuweisung, sondern einen Vergleich vornimmt. Die Funktion
Bei Verwendung von = wird die rechte Seite erst so weit wie möglich Solve dient dazu, die Lösungen einer Gleichung zu suchen. Solange nur
ausgewertet und dann als Funktionsdefinition gespeichert. Verwendet man eine Variable darin vorkommt, wird automatisch nach dieser Variablen
hingegen := erfolgt die Auswertung erst beim Aufruf der Funktion, aufgelöst. Dabei darf der Variablen vorher kein Wert zugewiesen worden
nachdem die Parameter eingesetzt wurden. Bei vielen einfachen sein, denn dieser Wert würde eingesetzt, bevor die Gleichung gelöst wird,
Funktionen ist das egal. Der Unterschied wird aber bei Konstruktionen und damit kann Mathematica nur noch feststellen, ob der aktuelle Wert
wie im folgenden Beispiel, das wir aus der Hilfe entnommen haben, der Variablen die Gleichung löst oder nicht:
deutlich.
n 15
exx_ : Expand1 x 2
15
iexx_ Expand1 x 2
Solve2 n 30
1 2 x x2
exy 2
iexy 2 Solve2 n 29
9 6 y y2
1 2 2 y 2 y2 Die Ausgabe sieht etwas seltsam aus. In dem ersten Fall erhält man eine
Liste, die die leere Liste enthält, im zweiten Fall einfach die leere Liste.
Es gibt drei Möglichkeiten, eine Funktion auf einen Ausdruck Man erklärt, dass die einfache leere Liste bei Solve stets dann
anzuwenden. Bisher haben wir nur die Funktionsnotation kennengelernt. herauskommt, wenn eine Gleichung unlösbar ist, da es dann eben keine
Darüberhinaus gibt es noch die Präfix− und die Postfixnotation. Die Lösung gibt, die in der Liste stehen könnte, und die leere Liste in einer
Syntax lautet Funktion@Argument, bzw. Argument//Funktion. Liste bei allgemeingültigen Gleichungen, da es eine Lösung gibt, bei der
Jeweils das gleiche leisten also aber keine weiteren Aussagen gemacht werden können. Diese Aussage
"man muss nichts weiter vorraussetzen" wird durch die innere leere Liste
ausgedrückt, und ist in der Liste aller Lösungen das einzige Ergebnis.
Sqrt4;
Sqrt 4; Man kann symbolisch nicht nur Gleichungen lösen, sondern auch
4 Sqrt
differenzieren und integrieren:
2
D2x x ^ 2, x
Symbolisch Rechnen
22x
Was Mathematica wirklich besser macht als einen Taschenrechner ist Integrate2 2x, x
nicht nur die Möglichkeit, mit selbstdefinierten Funktionen oder Vektoren
zu rechnen, sondern vor allem die Möglichkeit, symbolisch zu rechnen, 2 x x2
also die mathematische Terme zu bearbeiten. Zum Beispiel kann Im ersten Fall wurde der Term 2x+x^2 nach x differenziert, im zweiten
Mathematica viele Gleichungen exakt lösen, in dem es die Umformungen, Fall wurde über x integriert. Die Integrationskonstante lässt Mathematica
die nötig sind, um nach den Variablen aufzulösen selbst vornimmt: weg, man muss sie selbst addieren, wenn man eine Integrationskonstante
Solve3 x x ^ 2 10 braucht.
Die Anweisung Um diese Daten übersichtlicher darzustellen, kann man sich des Befehles
TableForm bedienen.
SinPi 8
Π TableFormdatenliste
Sin
8 0. 0.
funktioniert nicht so, wie Sie es vermutlich erwartet haben. Mathematica 1. 0.0174524
wertet Ausdrücke normalerweise nur symbolisch aus. Wenn das nicht 2. 0.0348995
funktioniert wird der Ausdruck unverändert zurückgegeben. Nur wenn der 3. 0.052336
Ausdruck Gleitkommazahlen enthält, erfolgt automatisch eine numerische 4. 0.756802
Auswertung. Ganze Zahlen können als Gleitkommazahlen geschrieben In Postfixnotation wird auch die Befehlseingabe übersichtlicher:
werden, in dem man einen Punkt anhängt.
datenliste TableForm
SinPi, SinPi 8, Sin0.125 Pi, Sin1, Sin1.
0. 0.
Π
0, Sin , 0.382683, Sin1, 0.841471 1. 0.0174524
8
2. 0.0348995
Mit der Funktion N kann man eine numerische Auswertung erzwingen. Sie 3. 0.052336
wird oft in der übersichtlicheren Postfixnotation verwendet. 4. 0.756802
NSinPi 8 Der Tabelle kann man noch Spaltenüberschriften verpassen, indem man
SinPi 8 N beim Funktionsaufruf von TableForm die Option TableHeadings
0.382683 anspricht. Die leere geschweifte Klammer steht dabei für die hier nicht
benutzte Zeilenbeschriftung.
0.382683
TableFormdatenliste,
TableHeadings , "n", "sinn"
Wichtige Befehle
n sinn
ReadList[ ] 0. 0.
1. 0.0174524
ReadList["file",{typ1,typ2,...}] liest Daten aus file ein 2. 0.0348995
und erstellt eine Liste mit Elementen der Form {typ1,typ2,...}. 3. 0.052336
4. 0.756802
datenliste ReadList"[Link]", Real, Real
Wie man schnell bemerkt, ist eine Postfixnotation unter Verwendung von
0., 0., 1., 0.0174524, 2., 0.0348995,
3., 0.052336, 4., 0.756802 mehreren Argumenten nicht möglich. Hier muss man sich mit einem Trick
behelfen. Auch wenn das zuerst umständlicher aussieht, als in der
Real, Integer, Complex sind hierbei grundlegende Zahlentypen, die Funktionsnotation, zahlt es sich bei längeren Ausdrücken durch eine
Mathematica kennt. Der Punkt hinter einer Zahl in der Ausgabe bedeutet, größere Übersichtlichkeit wieder aus. Dazu definiert man eine
dass es sich um eine Gleitkommazahl vom Type Real und nicht um eine Hilfsfunktion, die sich auf ein Argument beschränkt. Die primitive
Ganzzahl vom Typ Integer handelt. Variante sieht dann so aus:
tableWithHeadstable_ TableFormtable,
TableHeadings , "n", "sinn";
datenliste tableWithHeads;
[Link] 17 18 [Link]
Das ergibt zwar das gewünschte Ergebnis, allerdings ist es etwas Transpose[ ]
aufwändig, für die einmalige Benutzung eine eigene Funktion zu
definieren. Daher kennt Mathematica das Konzept der »pure functions«, Transpose[list] bildet das Transponierte eines Vektors oder einer
das man vielleicht mit »anonyme Funktionen« übersetzen könnte. Eine Matrix.
pure function hat keinen Namen, sondern wird dort definiert, wo sie
v 1, 2, 3 MatrixForm
benutzt wird. M 11, 12, 13, 21, 22, 23, 31, 32, 33
MatrixForm
Die ausführliche Variante benutzt dazu den Mathematica−Befehl 1 2 3
Function, der eine solche Funktion erzeugt. Der erste Parameter von
Function ist der Name der Variablen, die als Parameter der zu 11 12 13
definierenden anonymen Funktion dient. Möchte man in seiner Funktion
21 22 23
mehrere Parameter benutzen wollen, so gibt man einfach statt einer 31 32 33
Variablen eine Liste von Variaben als ersten Parameter von Function
an. Der zweite Parameter von Function ist die Definition der anonymen Transposev MatrixForm
Funktion. Also das, was auf der rechten Seite des Gleichheitszeichen in TransposeM MatrixForm
der Funktionsdefinition steht. Das Beispiel sieht jetzt so aus: 1
2
datenliste Functiontable, TableFormtable,
TableHeadings , "n", "sinn";
3
11 21 31
Die benannten Parameter, hier also table, machen die ganze Sache zwar
12 22 32
etwas übersichtlicher, aber auch länger. Daher gibt es auch noch eine
Syntax, bei der nicht nur die Funktion keinen Namen mehr hat, sondern 13 23 33
auch die Parameternamen entfallen. Den ersten (und häufig einzigen) Replace[ ], ReplaceAll[ ] oder /.
Parameter bezeichnet man mit #, die weiteren Parameter mit #2, #3 und
so weiter. Der Konsistenz wegen kann der erste Parameter auch mit #1 ReplaceAll benutzt Ersetzungsregeln der Form x2, um Ausdrücke
angesprochen werden. Um diese Syntax zu benutzen, lässt man das erste umzuformen, bzw. zu lösen. Die Syntax ist
Argument von Function einfach ganz weg: ReplaceAll[Ausdruck,Ersetzungsregel(n)] oder äquivalent
dazu auch Ausdruck /. Ersetzungsregel(n).
datenliste Function
TableForm#, TableHeadings , "n", "sinn"; ReplaceAllx x2 , x 2
Und schliesslich gibt es noch die Möglichkeit, auch das Wort Function x x2 . x 2
durch den Postfixoperator & zu ersetzen, der hinter den Funktionsrumpf zu 6
schreiben ist, wodurch man kürzere und daher übersichtlichere Ausdrücke
erhält, sofern man die Möglichkeiten nicht überstrapaziert: 6
Power
x,
2 Mit PlotStyle{Anweisungen} kann man grafische Eigenheiten,
Level 1 Level 1
wie Farbe und Strichbreite eines Plots bestimmen. Hier gibt es eine große
Level 0 Anzahl verschiedener Möglichkeiten, die in der Mathematica−Hilfe
beschrieben werden. Dies gilt ebenso für den Befehl PointSize.
FullForm Sinx2
Anwendungsbeispiel:
PowerSinx, 2
Replace Sinx2 , x a, 1
Sinx2 Lineare Regression
Replace hatte hier keinen Effekt, weil sich x erst auf dem zweiten Level
befindet. Dieses Beispiel sollten Sie Schritt für Schritt nachvollziehen. Am Ende
Betrachten wir einmal, wie sich das Ersetzen in Listen verhält. werden Sie eine Funktion erhalten, die Sie für die Auswertung Ihrer
Praktikumsversuche weiter verwenden können.
FullFormx , Replacex, x a, 2
Listx, a Laden der Mathematika−Standardpakete
Statistics‘DataManipulation‘
Graphics‘Graphics‘
[Link] 21 22 [Link]
Mit dem nächsten Befehl werden die Messwerte aus einer Textdatei in
n n
xi 2
1 yi
eine Liste gelesen. In der Datei stehen die Werte durch Leerzeichen a0
getrennt in drei Spalten. S
yi 2 yi 2
i1 i1
Die inneren Listen der so erzeugten Liste linear entsprechen den Zeilen
n n
xi yi
1 1
der Datei. Der Zugriff auf die einzelnen Werte wird einfacher, wenn wir b0
Listen erzeugen, die einer Spalte der ursprünglichen Datei entsprechen. S
yi 2 yi 2
i1 i1
Diese Aufgabe lässt sich mit dem Befehl Column lösen:
n n
x Columnlinear, 1
xi yi
2
y Columnlinear, 2 yi 2 yi
y Columnlinear, 3 i1 i1
0., 2., 4., 6., 8., 10., 12., 14., 16., 18. 1.03634
2.8, 5.2, 6.8, 9.6, 11.2, 14., 15.6, 17., 19.8, 21.4 1
n
xi 2
a0 Sqrt
1., 1.5, 1.2, 0.9, 1.4, 1.4, 1.5, 1.2, 1.3, 1.5 S yi 2
i1
In den Formeln für die lineare Regression treten Summen über alle 0.675303
Datenpunkte auf. Um diese auzuwerten, brauchen wir die Zahl der
n
Datenpunkte, d.h., die Zahl der Elemente einer Liste. Length liefert den 1 1
gewünschten Wert. b0 Sqrt
S yi 2
i1
n Lengthx
0.0685982
10
Nun sind alle Paramter berechnet und wir können das Ergebnis grafisch
Jetzt können wir die Formeln aus dem Skript verwenden, um Steigung, ausgeben. Die Messpunkte werden mit dem Befehl ErrorListPlot
Achsenabschnitt und die zugehörigen Fehler der Regressionsgeraden zu ausgegeben:
ermitteln. Das Summenzeichen wurde aus einer Palette eingefügt, die sich
beim Starten von Mathematica automatisch öffnet. Ist dies nicht der Fall, ErrorListPlotlinear
wählen Sie aus dem Menu FilePalettesBasicInput.
20
2
n n
xi 2
n
15
1 xi
S
yi 2 yi 2 yi
2 10
i1 i1 i1
1395.94 5
Die Ausgleichsgerade kann mit dem Befehl Plot gezeichnet werden. Das Lineare Regession als wiederverwendbare Funktion
erste Argrument dieser Funktion ist die zu plottende Funktion, das zweite
eine Liste, die Laufvariable und die Grenzen der x−Achse beinhaltet. x Die Aufgabe, Lineare Regression auf einen Satz Werte anzuwenden,
kann nicht als Laufvariable verwendet werden, weil wir schon eine Liste haben wir im vorigen Abschnitt gelöst. Wenn wir das Ganze nun auf eine
gleichen Namens definiert haben. Probieren Sie es aus! andere Datei anwenden wollen, müssen wir die Schritte alle einzeln
wiederholen. Oder besser das Notebook unter einem anderen Namen
Plot a0 b0 t, t, 1, 20 speichern, den Dateinamen der Messwerte ändern und das Notebook neu
auswerten. Sie könnten so verfahren und diesen Abschnitt überspringen,
wenn Sie nicht weiter in Mathematica eindringen wollen. Sinnvoller ist es
20 aber, eine Funktion zu definieren, der die Werte übergeben werden und
15 die dann alle Berechnungen durchführt.
Die lokalen Variablen existieren nach diesem Aufruf nicht mehr. (Hier
platzsparend als Liste ausgegeben):
[Link] 25 26 [Link]
n
1 1
b0 Sqrt
S yi 2
i1
Wenden wir die Funktion nun auf unseren Datensatz an, erhalten wir:
LinReglinear
0.0685982
[Link] 27 28 [Link]
Das ist nicht ganz das, was wir uns vorgestellt haben. Es wird nur das regerg LinReglinear
Ergebnis der letzten Anweisung ausgegeben. Um mehrere Variablen in
übersichtlicher Form auszugeben, unterdrücken wir zunächst auch die Berechnung der Fehler aus den Eingangsfehlern
Ausgabe der letzten Anweisung mit einem Semikolon und erweitern die
Prozedur um die folgenden Zeilen: Wert Fehler
Steigung b 1.03634 0.0685982
Print Achsenabschnitt a 3.01566 0.675303
"Berechnung der Fehler aus den Eingangsfehlern"; b 1.03634, b 0.0685982, a 3.01566, a 0.675303
PrintTableForm"", "Wert", "Fehler", "Steigung b",
b0, b0, "Achsenabschnitt a", a0, a0; Auf einzelne der berechneten Werte können wir jetzt zugreifen, indem wir
Der Befehl Print erzeugt auch dann eine Ausgabe, wenn er mit einem ausnutzen, dass regerg eine Liste von Ersetzungsregeln ist, und daher a,
Semikolon abgeschlossen wird. a, b und b durch Anwendung der Ersetzregeln mit /. regerg durch
ihre Werte ersetzt werden.
Als Ausgabe erhalten wir dann:
a . regerg
3.01566
LinReglinear
oder etwas komplizierter:
Berechnung der Fehler aus den Eingangsfehlern
a b . regerg
Wert Fehler 4.052
Steigung b 1.03634 0.0685982
Achsenabschnitt a 3.01566 0.675303 Ausgleichs−und Grenzgeraden können dann wie folgt erzeugt werden:
Um auf die von unserer Funktion berechneten Werte in folgenden
Rechnungen einfach zugreifen zu können, lassen wir die Funktion mit DisplayTogetherErrorListPlotlinear,
Plot
einer zusätzlichen Zeile eine Liste von Ersetzungsregeln zurückgeben. Evaluateb t a, b bt a a, b bt a a .
Beachten sie, dass die Anweisung, deren Ausgabe der zurückgegebene regerg, t, 0, 18,
Funktionswert sein soll, nicht mit einem Semikolon abgeschlossen werden PlotStyle Dashing.0, Dashing0.01,
darf und folglich als letzte stehen muss. Dashing.01
Lesen wir zunächst eine Datei mit Messwerten, die einem exponentiellen lny
y y
1
x lny
Gesetz folgen, ein. Schön wäre es, wenn die Werte dabei gleich
0. 4.40672 0.0121951
übersichtlich ausgegeben werden könnten. Dies gelingt mit dem schon
2. 4.02535 0.0178571
zuvor gebrauchten Befehl TableForm − diesmal als nachgestellter
4. 3.61092 0.027027
Operator.
6. 3.2581 0.0384615
exponential ReadList"[Link]", Real, Real, Real 8. 2.89037 0.0555556
TableForm#, TableHeadings , "x", "y", " y" & 10. 2.3979 0.0909091
x y y 12. 2.19722 0.111111
0. 82. 1. 14. 1.60944 0.2
2. 56. 1. 16. 1.09861 0.333333
4. 37. 1. experg LinReglinearisiert
6. 26. 1.
8. 18. 1. Berechnung der Fehler aus den Eingangsfehlern
10. 11. 1.
12. 9. 1. Wert Fehler
14. 5. 1. Steigung b 0.193466 0.00365475
16. 3. 1. Achsenabschnitt a 4.40686 0.010881
Versucht man weiter zu arbeiten, stellt man schnell fest, dass man auf die b 0.193466, b 0.00365475,
a 4.40686, a 0.010881
einzelnen Listenelemente nicht mehr richtig zugreifen kann. Dies liegt
daran, dass die Variable exponential nun die formatierte Tabelle DisplayTogether
enthält. Durch richtiges Klammern gelingt es, der Variablen die ErrorListPlotlinearisiert,
AxesLabel "x", "lny",
unformatierte Liste zuzuweisen und dennoch eine formatierte Ausgabe zu PlotEvaluateb t a . experg, t, 0, 18
erzeugen:
exponential
ReadList"[Link]", Real, Real, Real lny
TableForm#, TableHeadings , "x", "y", " y" &; 4.5
4
Der Funktion LinReg werden nun nicht die Werte direkt sondern die 3.5
logarithmierten Werte mit entsprechend umgerechneten Fehlern 3
übergeben. Das dritte Argument der Replace−Anweisung gibt dabei an, 2.5
2
dass nur bis zur zweiten Schachtelungsebene der Liste ersetzt werden soll. 1.5
x
2.5 5 7.51012.51517.5
Graphics
[Link] 31 32 [Link]
Ergebnis
Auswertung lineare Funktion
Wenn Sie an diesem Punkt angekommen sind, sollten Sie ein Notebook
vor sich haben, dass etwa wie folgt aussieht: linear ReadList"[Link]", Real, Real, Real
0., 2.8, 1., 2., 5.2, 1.5,
Statistics‘DataManipulation‘ 4., 6.8, 1.2, 6., 9.6, 0.9, 8., 11.2, 1.4,
Graphics‘Graphics‘ 10., 14., 1.4, 12., 15.6, 1.5, 14., 17., 1.2,
LinRegdaten_ : 16., 19.8, 1.3, 18., 21.4, 1.5
Module x, y, y, S, a0, b0, a0, b0, n, regerg LinReglinear
n Lengthdaten;
x Columndaten, 1; Berechnung der Fehler aus den Eingangsfehlern
y Columndaten, 2; y Columndaten, 3;
2
n n
xi 2
n
Wert Fehler
1
xi
S
; Steigung b 1.03634 0.0685982
2
yi 2 yi 2 yi Achsenabschnitt a 3.01566 0.675303
i1 i1 i1
b 1.03634, b 0.0685982, a 3.01566, a 0.675303
n n
xi 2 DisplayTogetherErrorListPlotlinear,
1 yi
a0
Plot
S
yi 2 yi 2 Evaluateb t a, b bt a a, b bt a a .
i1 i1 regerg, t, 0, 18,
PlotStyle Dashing.0, Dashing0.01,
xi yi
n n
Dashing.01
xi
;
2
yi 2 yi
i1 i1
n n 20
xi yi
1 1
b0
15
S yi 2 yi 2
i1 i1 10
n n
5
xi yi
;
2
yi 2 yi 2.5 5 7.5 1012.51517.5
i1 i1
n
Graphics
1 xi 2
a0 Sqrt ;
S yi 2
i1
n
1 1
b0 Sqrt ;
S yi 2
i1
Print
"Berechnung der Fehler aus den Eingangsfehlern";
PrintTableForm"", "Wert", "Fehler",
"Steigung b", b0, b0,
[Link] 33 34 [Link]
linearisiert Replaceexponential,
xi_, yi_, yi_ xi, Logyi, 1 yi yi, 2
TableForm #, TableHeadings Literatur:
1
, "x", "lny", " lny y" & Die beiden folgenden Titel sind bei der Auskunft in der
y
Fachbereichsbibliothek erhältlich. Sie können im Rahmen den
Kurzausleihe für einen Tag (z.B. in den Rechnerraum), über Nacht oder
x lny lny
y y
1
übers Wochenende ausgeliehen werden.
0. 4.40672 0.0121951
2. 4.02535 0.0178571 Wolfram, Stephen: Mathematica book. 4 Aufl. 1999
4. 3.61092 0.027027 Gaylord, Richard J. et al: Programming with Mathematica. 2. Aufl 1996
6. 3.2581 0.0384615
8. 2.89037 0.0555556 Das Mathematica book enthält eine gut lesbare Einführung, die vor allem
10. 2.3979 0.0909091 das Lösen kleinerer mathematischer Probleme ohne eigentliche
12. 2.19722 0.111111 Programmierung erklärt. Ausserdem enthält es eine ausführliche
14. 1.60944 0.2 Beschreibung der Befehle von Mathematica und der meisten Standard−
16. 1.09861 0.333333 Packages. Das Buch ist auch im Volltext über die Hilfe−Funktion
zugänglich.
experg LinReglinearisiert
Programming with Mathematica richtet sich an völlige Anfänger sowohl
Berechnung der Fehler aus den Eingangsfehlern
im Bezug auf Mathematica als auch im Hinblick auf allgemeine
Programmiertechniken. Es führt gleichzeitig Schritt für Schritt in
Wert Fehler
Mathematica und in elementare Programmiertechniken ein.
Steigung b 0.193466 0.00365475
Achsenabschnitt a 4.40686 0.010881
b 0.193466, b 0.00365475,
a 4.40686, a 0.010881