Mehrdimensionale lineare Regression/Affine Abbildung in R

Aus testwiki
Zur Navigation springen Zur Suche springen

Affines Modell

Die Funktionvorschrift von f:nm ist dabei eine vektorwertige Funktion, die durch eine Matrix AMat(m×n,) und einem Vektor bm festgelegt ist. Die Abbildung die dann als affines Modell eine Verkettung einer linearen Abbildung A mit Verschiebung um b und kann wie folgt berechnet werden (siehe Rechenbeispiel)

f(x)=Ax+bm.

Implementation in R - Affine Abbildung

Die Implementation der affinen Abbildung in R gliedert sich in folgende Schritte:

  • Definition von Matrizen/Vektoren
  • Matrixmultiplikation
  • Funktionsdefinition

Definition von Matrizen/Vektoren

Wir definieren nun die obige Matrix A in GNU R über

   A <- matrix(c(1,2,3,4,5,6), ncol=3)
   b <- matrix(c(5,8), ncol=1)

Analog definiert man die Vektoren mit unterschiedlicher Zeilenanzahl für x und y.

   x <- matrix(c(4,2,1), ncol=1)
   y <- matrix(c(31,19), ncol=1)

Matrixmultiplikation in R

Mit den definierten Matrizen kann man nun die Matrixmultiplikation berechnen und direkt das Ergebnis der affinen Abbildung Ax+b.

  A %*% x
  A %*% x + b

Definition einer affinen Funktion in R

Nun definiert man die Abbildung f:32 mit f(x):=Ax+b (siehe Rechenbeispiel)

  f <- function (px) {
    ## px : Vektor - unabhängige Variable
    A <- matrix(c(1,2,3,4,5,6), ncol=3)
    b <- matrix(c(5,8), ncol=1)
    return <-  A %*% px + b
    ## Rückgabewert: return Berechneter y-Vektor für Parameter px 
    return
  }
  
  ## Aufruf der Funktion für den Vektor x
  x <- matrix(c(4,2,1), ncol=1)
  f(x)