# Mehrdimensionale lineare Regression/Umsetzung in R
## Einleitung

Diese Seite zum Thema Kurs:Mehrdimensionale lineare Regression/Umsetzung in R kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus. Dabei werden die folgenden Teilaspekte im Detail behandelt:
* (1) Laden der Daten
* (2) Iterationen zur Fehlerminimierung
* (3) Ausgabe der Matrix und des mittleren Fehlers pro Datum

## Zielsetzung

Diese Lernressource hat das Ziel, die mehrdimensionale lineare Regression in R umzusetzen und die wesentlichen Schritte in Analogie zur mathematischen Herleitung zu implementieren.

## Lernvoraussetzungen

Die Lernressource zum Thema Kurs:Mehrdimensionale lineare Regression/Umsetzung in R hat die folgenden Lernvoraussetzungen, die zum Verständnis der nachfolgenden Ausführungen hilfreich bzw. notwendig sind.
* (Mathematische Grundlagen) Die mathematischen Grundlagen sind wesentlich, um die Einsatzmöglichkeiten der Verfahren abschätzen zu kennen.
* (Grundlagen in GNU R) Die Grundlagen der Implementierung und GNU R sind hilfreich, um die Implementationsschritte zu verstehen und den Code auf anderen Datenquellen ggf. anpassen zu können.

## Aufgaben Studierende

Bitten erzeugen Sie ein KnitR-Markdown-Dokument, indem Sie die Teilschritte als Codefragement / Codechunks einbauen und testen. Gegen Sie schrittweise vor bis Sie mit den angegeben Codezeilen ein vollständiges Verfahren zur Mehrdimensionale lineare Regressionin R umgesetzt haben.

## Laden der Daten

Als einführenden Schritt eines überwachten Lernverfahrens muss man aus den gegebenen Daten festlegen, welche Datenspalten die Eingabespalten und welche Datenspalten die Ausgabespalten der Traininfsdaten darstellen. Kurs:Mehrdimensionale lineare Regression/Umsetzung in R dient dabei Speichen Sie zunächst die obige Beispieldatei multlinreg.csv in Ihr Verzeichnis mit dem KnitR-Dokument. Das Laden von Dateien in R und KnitR kann bzgl. der obigen Beispieldatei wie folgt geschehen:

### Tabelle für die Daten

In der folgenden Tabelle sind x1,x2,x3 die Komponenten der Eingabevektoren und y1,y2 die Komponenten der Ausgabevektoren.
Tabellarische Darstellung :
| x1 | x2 | x3 | y1 | y2 |
| 1 | 2 | 3 | 16.05071 | 1.92142 |
| 2 | 3 | 1 | 22.06779 | 0.08923 |
| 7 | 0 | 4 | 24.96846 | 10.98239 |
| 7 | 6 | 5 | 56.06086 | 6.02315 |

### Bemerkung - Matrixdimension

Die gesuchte lineare Abbildung $A$ für die mehrdimensionale lineare Regression ist also eine $2\times 3$-Matrix.
    $A:={\begin{pmatrix}a_{1,1}&a_{1,2}&a_{1,3}\\a_{2,1}&a_{2,2}&a_{2,3}\\\end{pmatrix}}$

### Dataframes für die Ein-/Ausgabe

Oft enthalten die Rohdaten auch weitere Spalten, die für die mehrdimensionale lineare Regression keine Rolle spielen. Daher muss man die Ein- und Ausgabevektor aus den Rohdaten auswählen und in ein Eingabe-Dataframe und ein Ausgabe-Dataframe zusammenfassen.

### Selektieren der Daten für x- und y-Werte

Die obige verwendete Tabelle multlinreg.csv. enthält in diesem Fall nur Spalten, die für die mehrdimensionale lineare Regression notwendig sind. Die Zuordnung der relevanten Datenspalten für die x- und y-Werte der linearen Regression wird nun gezeigt.

### Bemerkung - Pfad zu Daten

In dem Verzeichnis, in dem die R-Markdown-Dateien (Endung .Rmd) liegen, ist empfehlenswert, Unterverzeichnisse zu erzeugen:
* data/ - Verzeichnis in dem alle CSV-Dateien bzw. Tabellenkalkulationsdateien liegen oder in das erzeugt Tabellen abgespeichert werden.
* lib/ - Verzeichnis im dem R-Skripte und R-Bibliotheken liegen, die Sie für mehr als eine R-Markdown-Datei benötigen (z.B. knitr4education.R)

## Fehlerfunktion

Die Fehlerfunktion $E_{MLR}$ zerlegt die Matrix in Zeilenvektoren $a_{i}$ und ruft die Fehlerfunktion $E_{LR}$ für die $i$-te Spalte des Ausgabevektors $y_{\mathbb {D} }$ auf und aggregiert die Fehler (siehe Zerlegung und Berechnung des Gesamtfehlers).

### Start - mehrdimensionale lineare Regression
## Literatur/Quellennachweise

* 1 2 3 Bert Niehaus (2024) GitHub-Repository KnitR for Education https://github.com/niebert/knitr4education für eine Wikiversity-Lernressource - Datei: multilinreg.csv