2 Vektoren
2.1 Definition
Es gibt verschiedene Sichtweisen oder Interpretationen von Vektoren. Sie lassen sich etwas plakativ unter den Labels Physik-Sicht, Daten-Sicht und Mathematik-Sicht zusammenfassen. Auch wenn man aus den Wirtschaftswissenschaften kommt, sollte man alle drei Sichtweisen kennen, denn manchmal ist die eine Sichtweise hilfreicher oder intuitiver, manchmal ist es eine andere.
2.1.1 Physik-Sicht
Ein Vektor ist ein Pfeil mit einer gegebenen Länge, der in eine gegebene Richtung zeigt. Wenn zwei Pfeile die gleiche Länge haben und auch in die gleiche Richtung zeigen, dann repräsentieren sie den gleichen Vektor, sie gehören sozusagen zur gleichen Pfeilklasse. Die Physik-Sicht wird üblicherweise nur im zwei- oder dreidimensionalen Raum eingenommen. Die Physik-Sicht ist - wenig überraschend - besonders gut für manche Vorgänge in der Natur geeignet, bei denen sowohl die Richtung als auch die Stärke eine Rolle spielt, z.B. Wind oder elektrische Felder.
Beispiel:
Die folgende Abbildung zeigt zwei Vektoren (in unterschiedlichen Farben). Beide Vektoren sind als Pfeile an mehreren Stellen zu sehen.
2.1.2 Daten-Sicht
In der Daten-Sicht ist ein Vektor schlicht und einfach eine Liste von Zahlen. Die Reihenfolge der Zahlen spielt dabei eine Rolle, es handelt sich also um eine geordnete Liste von Zahlen. Eine Liste mit zwei Elementen ist dann ein Vektor der Dimension 2, eine Liste mit drei Elementen ein Vektor der Dimension 3. Einen Vektor der Dimension 2 kann man sich auch als einen Punkt im zweidimensionalen Raum vorstellen, und entsprechend einen Vektor der Dimension 3 als einen Punkt im dreidimensionalen Raum (darauf gehen wir später noch näher ein). In dieser Sichtweise sind aber auch höhere Dimensionen kein Problem. Eine Liste mit
In der Daten-Sicht ist ein Vektor eine kompakte und bequeme Kurzschreibweise für komplexe Informationen.
Beispiel 1:
Wir fassen zwei Variablen in einer Liste zusammen: das Alter einer Person (in Jahren) und das Einkommen dieser Person (in Euro/Monat). Zwei mögliche Vektoren wären
Beispiel 2:
Von einer Person wird der jährliche Lohn im Alter von 20, 21, …, 67 Jahren erhoben. Die Angaben werden in einem Vektor zusammengefasst, z.B.
Beispiel 3:
In einem Warenkorb seien
2.1.3 Mathematik-Sicht
In der mathematischen Sichtweise ist ein Vektor ein Element eines Vektorraums. Was ein Vektorraum in der mathematischen Sichtweise ist, behandeln wir in diesem Kurs jedoch nicht.
2.2 Koordinatensystem
In diesem Kurs werden wir immer wieder den zweidimensionalen Raum betrachten, an einigen Stellen auch den dreidimensionalen Raum. Für das Verständnis der Methoden der linearen Algebra sind diese Fälle am besten geeignet, weil eine anschauliche geometrische Interpretation möglich ist. Das bedeutet jedoch, dass wir die Daten-Sicht, in der Vektoren vor allem als kompakte Notation für komplexe Informationen in höherdimensionalen Räumen dienen, für eine Weile verlassen, obwohl gerade diese Sichtweise in der Ökonomik und in der Ökonometrie später eine wichtige Rolle spielt.
Häufig ist die Vorstellung eines Vektors als Pfeil hilfreich, der nicht frei im Raum positioniert ist, sondern im Ursprung des Koordinatensystems startet. Das erste Element des Vektors gibt die x-Koordinate (Abszisse) an, das zweite Element die y-Koordinate (Ordinate). Die folgende Abbildung zeigt beispielhaft fünf Vektoren, nämlich
Jeder Vektor kann auch einfach als Repräsentation eines Punkts im zweidimensionalen Raum interpretiert werden. Jeder Punkt im zweidimensionalen Raum kann durch einen Vektor der Dimension 2 dargestellt werden. Es ist hilfreich, wenn man in Gedanken zwischen diesen verschiedenen Blickwinkeln auf Vektoren hin- und herschalten kann.
Um einen Punkt im dreidimensionalen Raum durch einen Vektor darzustellen, braucht man einen Vektor der Dimension 3. Die folgende Abbildung zeigt fünf Vektoren im dreidimensionalen Raum. Sie können das Bild mit Hilfe Ihrer Maus drehen, indem Sie die linke Maustaste gedrückt halten, oder es vergrößern oder verkleinern, indem Sie die Maus auf das Bild halten und dann scrollen.
2.3 Vektoren in R
Wenn man in R ein Objekt neu definiert, handelt es sich meist um einen Vektor. Zur Eingabe eines Vektors dient die Funktion c()
(für concatenate). Die beiden Vektoren
<- c(3, 7)
x <- c(-6, 1) y
Will man einen Vektor x
anzeigen lassen, kann man entweder die Funktion print(x)
eingeben oder einfach nur x
.
x
[1] 3 7
Die Elemente des Vektors werden von R nebeneinander geschrieben. In der eckigen Klammer steht die Nummer des ersten Elements in der Zeile. Das ist zum Lesen nützlich, wenn man sehr lange Vektoren ausgibt, bei denen sich der Output über mehrere Zeilen erstreckt. Diese Schreibweise weicht jedoch von der üblichen Notation von Vektoren als Spaltenvektoren ab.
Für spezielle Vektoren gibt es eigene Funktionen. So erzeugt zum Beispiel die Funktion rep
(für repeat) einen Vektor, in dem ein Element mehrmals vorkommt (oder mehrere Elemente mehrmals vorkommen). Einen 50-dimensionalen Vektor, in dem nur Nullen stehen, also
<- rep(0, 50)
n print(n)
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[39] 0 0 0 0 0 0 0 0 0 0 0 0
Die Hilfefunktion zu der Funktion rep
zeigt Ihnen, wie mehrere Elemente wiederholt werden können.
Sehr nützlich ist ferner die Funktion seq
(für sequence). Sie erzeugt einen Vektor mit äquidistanten Einträgen. Als Argument erwartet die Funktion drei der folgenden vier Eingaben: from
(erster Wert), to
(letzter Wert), by
(Schrittweite) und length
(Anzahl der Vektorelemente). Mit dem Befehl
<- seq(1, 2, length=11) g
erhält man einen Vektor mit 11 gleich weit voneinander entfernten Elemente, dessen erstes Element 1 und dessen letztes Element 2 ist.
print(g)
[1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
Für ganzzahlige Element mit einer Schrittweite von 1 gibt es die Kurzschreibweise a:b
. Dadurch erhält man einen Vektor, der die ganzen Zahlen von a
bis b
enthält. Zum Beispiel
0:20
[1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Um ein einzelnes Element aus einem Vektor herauszulesen, kann man den Index des Elements in eckigen Klammern angeben. Als Beispiel betrachten wir den Vektor
<- c(4, 1, 7, 3, 9, -3, 0, 4, -1, 0) x
Das fünfte Element ist
5] x[
[1] 9
In der eckigen Klammer kann auch ein Vektor von Indizes stehen, dann werden alle Elemente des Vektors herausgelesen, die an den entsprechenden Stellen stehen. So ist zum Beispiel
c(1,3,5)] x[
[1] 4 7 9
oder
6:10] x[
[1] -3 0 4 -1 0
Manchmal möchte man ein einzelnes Element aus einem Vektor ausschließen. Das erfolgt in R durch einen negativen Index, z.B.
-7] x[
[1] 4 1 7 3 9 -3 4 -1 0
Neben der Indizierung durch ganze Zahlen ist es auch möglich, einen Vektor von logischen Ausdrücken (FALSE
/TRUE
) als Index zu verwenden. Der logische Vektor muss die gleiche Länge haben wie der zu indizierende Vektor.
Als Beispiel für eine logische Indizierung wählen wir aus dem Vektor x
alle Elemente aus, die kleiner als 4 sind. In einem ersten Schritt schreiben wir die logischen Werte in den Vektor a
.
<- (x < 4)
a print(a)
[1] FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
Mit dem logischen Vektor a
werden nun die Elemente aus x
herausgelesen.
x[a]
[1] 1 3 -3 0 -1 0
2.4 Norm und Länge
Unter der Norm eines Vektors versteht man die (geometrische) Länge des Pfeils, den der Vektor darstellt. Zeichnet man den Vektor
Mit Hilfe der folgenden beiden Hilfslinien
wird deutlich, dass die Norm des Vektors nach dem Satz des Pythagoras
Die Norm ist für Vektoren mit mehr als zwei Elementen analog definiert. Es gilt dann
In R gibt es zwar einen Befehl norm
, aber er berechnet nicht die hier definierte Norm eines Vektors. Die Norm
<- c(4,3)
x print(sqrt(sum(x^2)))
[1] 5
In R kann man die Anzahl der Elemente eines Vektors mit dem Befehl length
bestimmen, zum Beispiel
<- c(4, 1, 7, 3, 9, -3, 0, 4, -1, 0)
x length(x)
[1] 10
In diesem Kurs nennen wir diese Art der Länge, also die Anzahl der Elemente eines Vektors, meist seine Dimension.
2.5 Addition
Zwei Vektoren werden addiert, indem man die Elemente des einen Vektors und die entsprechenden Elemente des anderen Vektors addiert. Die Summe der beiden Vektoren
- Die beiden Vektoren sind zwei Pfeile.
- Den gelblichen Pfeil verschiebenen wir so, dass er an der Spitze des dunklen Pfeils startet.
- Die Summe ist der Pfeil vom Ursprung bis zur Spitze des verschobenen Pfeils.
Die Addition ist kommutativ, d.h. es kommt das gleiche Ergebnis heraus, wenn man die Reihenfolge umdreht. Geometrisch bedeutet das, dass man auch den anderen Pfeil verschieben kann. Als Summe ergibt sich derselbe Pfeil wie vorher.
Will man mehr als zwei Vektoren addieren, werden sie einfach alle hintereinander gehängt. Als Beispiel betrachten wir wieder die fünf Vektoren aus Abschnitt 2.2, nämlich
Die Abbildung der Summe sieht wie folgt aus; der dicke schwarze Pfeil stellt das Ergebnis der Addition dar.
Die Addition der einzelnen Elemente liefert natürlich das gleiche Ergebnis.
In höherdimensionalen Räumen geht man analog vor. Im dreidimensionalen Raum ist die Summe zweier Vektoren
Die Addition von Vektoren in R wird einfach mit einem normalen Pluszeichen dargestellt. Will man die beiden Vektoren
<- c(3, 7)
x <- c(-6, 1)
y <- x + y z
Gibt man den Vektor
z
[1] -3 8
R formaliert den Output nicht der üblichen Vektordarstellung als Spalte, sondern schreibt die Elemente einfach nebeneinander.
Ob die Vektoren zweidimensional oder höherdimensional sind, spielt keine Rolle. Es ist also problemlos möglich, Vektoren mit sehr vielen Elementen zu addieren, sofern die Vektoren alle die gleiche Dimension haben. Der Versuch, zwei Vektoren unterschiedlicher Dimension zu addieren, führt zu einer Warnmeldung:
<- c(3, 7)
x <- c(-6, 1, 4)
y <- x + y
z
#> Warning in x + y: Länge des längeren Objektes
#> ist kein Vielfaches der Länge des kürzeren Objektes
Eine Warnmeldung ist keine Fehlermeldung. Tatsächlich addiert R auch Vektoren unterschiedlicher Dimension, indem der Vektor mit der niedrigeren Dimension recycelt wird. In diesem Beispiel wird also der zweidimensionale Vektor x
auf die Dimension 3 erhöht, indem an sein Ende das Element von Anfang angehängt wird, so dass sich (3,7,3)
ergibt.
Die einzige Ausnahme stellt die Addition eines Skalars dar:
+ 1 x
[1] 4 8
oder auch
6 + y
[1] 0 7
Diese Schreibweise ist so intuitiv naheliegend, dass R keine Warnmeldung ausgibt, sondern jedes Element des Vektors um die additive Konstante erhöht (oder bei einer Subtraktion verringert).
2.6 Skalarmultiplikation
Bei der Skalarmultiplikation wird ein Vektor mit einem Skalar (d.h. mit einer reellen Zahl) multipliziert. Als Ergebnis erhält man einen Vektor, bei dem jedes Element mit dem Skalar multipliziert wird. Für einen Skalar
Multipliziert man ihn mit
Und wenn man den Vektor mit einer negativen Zahl multipliziert, zeigt er anschließend genau in die entgegengesetzte Richtung und wird (je nach Betrag) gestreckt oder gestaucht.
Die Skalarmultiplikation eines Vektor mit 0 ist auch erlaubt. In diesem Fall ergibt sich ein Vektor aus Nullen. Dieser Vektor hat weder eine Länge, noch eine Richtung.
Im
Die Skalarmultiplikation in R wird mit dem Sternchen (Asterisk, *
) dargestellt. Will man den Vektor
<- c(3, 7)
v <- -5*v u
Gibt man den Vektor
u
[1] -15 -35
Ob der Vektor zweidimensional oder höherdimensional ist, spielt keine Rolle. Jedes Element des Vektors wird mit dem Skalar multipliziert.
2.7 Linearkombinationen
2.7.1 Definition
Eine Summe skalierter Vektoren heißt Linearkombination. Wenn
Als Beispiel betrachten wir die Linearkombination der beiden Vektoren
Welche Punkte im
2.7.2 Basisvektoren
Wir haben bereits gesehen, dass man Vektoren als Repräsentationen von Punkten auffassen kann. Ein Vektor der Dimension 2 kann einen Punkt im zweidimensionalen darstellen, ein Vektor der Dimension 3 einen Punkt im dreidimensionalen Raum und noch längere Vektoren stehen für Punkte in höherdimensionalen Räumen. Diese Sichtweise verfeinern wir nun ein wenig.
Dazu stellen wir uns jede Koordinate des Vektors als einen Skalar vor. Wir wissen aus dem letzten Abschnitt, dass Skalare Vektoren strecken oder stauchen (oder, wenn sie negativ sind, auch die Richtung umklappen). Wir interpretieren nun die Elemente eines Vektors als Skalare, die Vektoren strecken oder stauchen:
Ein Vektor
Als Beispiel stellen wir den Vektor
Offensichtlich kann man jeden Punkt in
Natürliche Basisvektoren gibt es auch in höheren Dimensionen. Die natürlichen Basisvektoren im dreidimensionalen Raum sind
Der Ausdruck “natürliche Basisvektoren” legt nahe, dass es auch andere Basisvektoren gibt. Tatsächlich können wir im zweidimensionalen Raum die beiden natürlichen Basisvektoren
Kann man zwei beliebige Vektoren als Basisvektoren des
2.7.3 Lineare Unabhängigkeit
Sei
Es gibt eine alternative, äquivalente Definition der linearen Unabhängigkeit: Die Vektoren in
Als Beispiel betrachten wir die beiden Vektoren
Die beiden Vektoren
Zwei Vektoren sind - grafisch betrachtet - linear abhängig, wenn sie in die genau gleiche (oder genau entgegengesetzte) Richtung zeigen. Diese beiden Vektoren sind also linear abhängig:
Auch diese beiden Vektoren sind linear abhängig:
Dagegen sind diese beiden Vektoren linear unabhängig:
Wenn wir den Vektor, der nur aus Nullen besteht, einmal ignorieren, dann lässt sich folgendes sagen: Im zweidimensionalen Raum sind zwei Vektoren linear abhängig, wenn sie in die gleiche Richtung zeigen (oder genau entgegengesetzt). Sonst sind sie linear unabhängig. Wenn man zu zwei linear unabhängigen Vektoren der Dimension 2 einen dritten zweidimensionalen Vektor hinzunimmt, dann kann er in jedem Fall als Linearkombination der beiden anderen Vektoren ausgedrückt werden. Daher können im zweidimensionalen Raum nie mehr als zwei Vektoren linear unabhängig sein.
Wie sieht es mit dem Nullvektor aus? Er ist laut Definition sogar für sich alleine betrachtet linear abhängig, denn offensichtlich gilt für jeden beliebigen Skalar
Wir können nun auf die Frage des letzten Abschnitts zurück kommen, welche Vektoren als Basisvektoren geeignet sind. Die Antwort auf diese Frage lautet für den zweidimensionalen Fall: Man braucht zwei linear unabhängige Vektoren. Im dreidimensionalen Fall braucht man drei linear unabhängige Vektoren, und im
Wie lässt sich die lineare Unabhängigkeit einer Menge von Vektoren überprüfen? Im zweidimensionalen Fall ist das sehr einfach, weil nur untersucht werden muss, ob die zwei Vektoren in die gleiche Richtung zeigen (also der eine Vektor ein Vielfaches des anderen ist). Im höherdimensionalen Fall wird es jedoch schwieriger. In Abschnitt 5.3 wird gezeigt, wie man mit Hilfe von R numerisch überprüfen kann, ob eine Menge von Vektoren linear unabhängig ist. An dieser Stelle gehen wir kurz darauf ein, wie man lineare Unabhängigkeit “per Hand” feststellen kann. Es handelt sich um das Gauß-Jordan-Verfahren. Leichte Variationen dieses Verfahrens helfen einem unter anderem dabei, die Inverse einer Matrix zu finden (Abschnitt 5.5) oder ein lineares Gleichungssystem zu lösen (Kapitel 7).
Das Verfahren wird an einem Beispiel im dreidimensionalen Raum vorgestellt. Wir untersuchen, ob die drei Vektoren
- zwei Zeilen miteinander vertauschen;
- alle Elemente einer Zeile mit einer Konstanten ungleich 0 multiplizieren;
- eine Zeile wird durch die Summe (oder Differenz) von dieser Zeile mit dem Vielfachen einer anderen Zeile ersetzt.
Wir starten mit dem Feld unter der 4. Um dort eine Null zu erhalten, subtrahieren wir
2.7.4 Lineare Hülle
Als lineare Hülle (oder Erzeugnis oder auch Aufspann, engl. span) einer Menge von Vektoren
Beispiele:
Die beiden Vektoren
Die beiden Vektoren
Interessanter als der zweidimensionale Fall ist der dreidimensionale Fall, denn hier gibt es mehr Möglichkeiten: Drei linear unabhängige Vektoren spannen den gesamten
Die drei Vektoren liegen alle in einer Ebene, wie die folgende Abbildung illustriert (um das Bild vollständig zu erfassen, sollte man es mit der Maus bei gedrückter linker Maustaste bewegen).
Wenn die drei Vektoren alle in die gleiche (oder genau entgegengesetzte) Richtung zeigen, spannen sie nur eine Gerade auf. Das wird in der nachfolgenden Abbildung für die Vektoren
2.8 Inneres Produkt
Unter dem inneren Produkt (auch: Skalarprodukt, engl. inner product, oft auch dot product) zweier Vektoren
Aus der Definition des inneren Produkts ergeben sich sofort einige Rechenregeln,
Beispiel:
In einem Warenkorb seien 5 Produkte. Die Preise (in geeigneten Einheiten) können in einem fünfdimensionalen Vektor zusammengefasst werden,
Das innere Produkt zweier Vektoren wird in R mit dem Multiplikationszeichen %*%
berechnet.
<- c(4.1, 0.95, 10, 7.25, 1.98)
p <- c(2, 5, 0.5, 3, 2.5)
q %*% q p
[,1]
[1,] 44.65
Dagegen erhält man bei einer Multiplikation mit dem Sternchen den Vektor
*q p
[1] 8.20 4.75 5.00 21.75 4.95
Die Summe aller dieser Vektorelemente ergibt dann wieder das innere Produkt:
sum(p*q)
[1] 44.65
Noch ein Beispiel:
Angenommen, ein Portfolio enthält
Die Renditen aller Wertpapiere werden in einen Vektor
Das innere Produkt hat auch eine geometrische Interpretation. Sie wird in dem folgenden Beispiel illustriert. Die beiden Vektoren
Anschließend wird
Es gibt eine einfache Formel zur analytischen Berechnung der Projektion von
Die Norm (also die geometrische Länge) von
Das innere Produkt ist symmetrisch. Man könnte es also auch grafisch bestimmen, indem man
Es gibt noch eine weitere Sichtweise auf das innere Produkt. Zwischen dem inneren Produkt zweier Vektoren und dem Winkel zwischen den Vektoren gibt es eine enge Beziehung (was nicht überrascht, wenn man sich die Projektionen ansieht). Es gilt Das innere Produkt der normierten Vektoren (also der Vektoren, die auf die Länge 1 gestaucht oder gestreckt wurden) entspricht dem Kosinus des Winkels zwischen den Vektoren. Daraus folgt, dass ein positives inneres Produkt anzeigt, dass die Vektoren gleichgerichtet sind, und ein negatives inneres Produkt, dass sie gegengerichtet sind. Wenn das innere Produkt den Wert 0 annimmt, sind die Vektoren orthogonal (d.h. rechtwinklig zueinander).
Beispiel:
Die beiden Vektoren
Durch diesen Zusammenhang kann man die Idee eines Winkels zwischen zwei Vektoren auch für Dimensionen größer als 3 definieren. Auch wenn man sich nicht anschaulich vorstellen kann, was es bedeutet, dass zwei Vektoren der Dimension 100 orthogonal sind, so weiß man doch, wie man es überprüft, nämlich durch das innere Produkt. Ist es 0, dann stehen Vektoren rechtwinklig zueinander.