Ich werde versuchen, dies in drei Schritten zu beantworten: Lassen Sie uns zunächst genau herausfinden, was wir unter einem univariaten Smooth verstehen. Als nächstes beschreiben wir eine multivariate Glättung (speziell eine Glättung von zwei Variablen). Schließlich werde ich versuchen, ein Tensorprodukt glatt zu beschreiben.
1) Univariate glatt
Nehmen wir an, wir haben einige Antwortdaten , von denen wir annehmen, dass sie eine unbekannte Funktion einer Prädiktorvariablen und einen Fehler . Das Modell wäre:yfxε
y=f(x)+ε
Um nun zu diesem Modell zu passen, müssen wir die funktionale Form von identifizieren . Dazu identifizieren wir Basisfunktionen, die überlagert werden, um die Funktion in ihrer Gesamtheit darzustellen . Ein sehr einfaches Beispiel ist eine lineare Regression, bei der die Basisfunktionen nur und , der , sind. Mit der Basiserweiterung haben wirffβ2xβ1
y=β1+β2x+ε
In Matrixform hätten wir:
Y=Xβ+ε
Wobei ein n-mal-1-Spaltenvektor ist, eine n-mal-2-Modellmatrix ist, ein 2-mal-1-Spaltenvektor von Modellkoeffizienten ist und ein n-mal-1-Spaltenvektor von Fehlern ist . hat zwei Spalten, weil unsere Basiserweiterung zwei Terme enthält: den linearen Term und den Achsenabschnitt.YXβεX
Dasselbe Prinzip gilt für die Basiserweiterung in MGCV, obwohl die Basisfunktionen viel ausgefeilter sind. Insbesondere müssen einzelne Basisfunktionen nicht über den gesamten Bereich der unabhängigen Variablen . Dies ist häufig der Fall, wenn knotenbasierte Basen verwendet werden (siehe "knotenbasiertes Beispiel").x). Das Modell wird dann als die Summe der Basisfunktionen dargestellt, von denen jede bei jedem Wert der unabhängigen Variablen ausgewertet wird. Wie ich bereits erwähnte, nehmen einige dieser Basisfunktionen außerhalb eines bestimmten Intervalls den Wert Null an und tragen daher nicht zur Basiserweiterung außerhalb dieses Intervalls bei. Stellen Sie sich als Beispiel eine kubische Spline-Basis vor, bei der jede Basisfunktion symmetrisch zu einem anderen Wert (Knoten) der unabhängigen Variablen ist. Mit anderen Worten, jede Basisfunktion sieht gleich aus, ist jedoch nur entlang der Achse der unabhängigen Variablen verschoben (Dies ist eine übermäßige Vereinfachung, da jede praktische Grundlage auch einen Achsenabschnitt und einen linearen Term enthält, aber Sie bekommen hoffentlich die Idee).
Explizit könnte eine Basiserweiterung der Dimension so aussehen:i−2
y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi−2(x)+ε
wobei jede Funktion möglicherweise eine kubische Funktion der unabhängigen Variablen .fx
Die Matrixgleichung kann weiterhin zur Darstellung unseres Modells verwendet werden. Der einzige Unterschied besteht darin, dass jetzt eine n-mal-i-Matrix ist. Das heißt, es gibt eine Spalte für jeden Term in der Basiserweiterung (einschließlich des Abschnitts und des linearen Terms). Da der Prozess der Basiserweiterung es uns ermöglicht hat, das Modell in Form einer Matrixgleichung darzustellen, können wir lineare kleinste Quadrate verwenden, um das Modell anzupassen und die Koeffizienten .Y=Xβ+εXβ
Dies ist ein Beispiel für eine ungepflegte Regression. Eine der Hauptstärken von MGCV ist die Glättungsschätzung über eine Strafmatrix und einen Glättungsparameter. Mit anderen Worten, anstelle von:
β=(XTX)−1XTY
wir haben:
β=(XTX+λS)−1XTY
wobei eine quadratische -by- Strafmatrix und ist eine skalare Glättungsparameter. Ich werde hier nicht auf die Spezifikation der Strafmatrix eingehen, aber es sollte genügen zu sagen, dass für jede gegebene Basiserweiterung eine unabhängige Variable und Definition einer quadratischen "Wiggliness" -Strafe (zum Beispiel eine Strafe der zweiten Ableitung) eine ist kann die Strafmatrix berechnen .SiiλS
MGCV kann verschiedene Mittel zum Schätzen des optimalen Glättungsparameters . Ich werde nicht auf dieses Thema eingehen, da mein Ziel hier darin bestand, einen breiten Überblick darüber zu geben, wie ein univariates Glätten aufgebaut ist, was ich glaube, getan zu haben.λ
2) Multivariate glatt
Die obige Erklärung kann auf mehrere Dimensionen verallgemeinert werden. Kehren wir zu unserem Modell zurück, das die Antwort als Funktion der Prädiktoren und liefert . Die Beschränkung auf zwei unabhängige Variablen verhindert, dass die Erklärung mit arkaner Notation überladen wird. Das Modell ist dann:yfxz
y=f(x,z)+ε
Nun sollte es intuitiv offensichtlich sein, dass wir mit einer Basiserweiterung (dh einer Überlagerung von Basisfunktionen) darstellen werden, wie wir es im univariaten Fall von oben getan haben . Es sollte auch offensichtlich sein, dass mindestens eine und höchstwahrscheinlich viele dieser Basisfunktionen Funktionen sowohl von als auch von (wenn dies nicht der Fall wäre, wäre implizit trennbar, so dass ). Eine visuelle Darstellung einer mehrdimensionalen Spline-Basis finden Sie hier . Eine vollständige zweidimensionale Basiserweiterung der Dimension könnte ungefähr so aussehen:f(x,z)f(x)xzff(x,z)=fx(x)+fz(z)i−3
y=β1+β2x+β3z+β4f1(x,z)+...+βifi−3(x,z)+ε
Ich denke, es ist ziemlich klar, dass wir dies immer noch in Matrixform darstellen können mit:
Y=Xβ+ε
durch einfaches Auswerten jeder Basisfunktion bei jeder eindeutigen Kombination von und . Die Lösung ist immer noch:xz
β=(XTX)−1XTY
Die Berechnung der Strafmatrix für die zweite Ableitung ist sehr ähnlich wie im univariaten Fall, außer dass wir, anstatt die zweite Ableitung jeder Basisfunktion in Bezug auf eine einzelne Variable zu integrieren, die Summe aller zweiten Ableitungen (einschließlich Teilableitungen) in Bezug integrieren auf alle unabhängigen Variablen. Die Details des Vorstehenden sind nicht besonders wichtig: Der Punkt ist, dass wir immer noch die Strafmatrix konstruieren und dieselbe Methode verwenden können, um den optimalen Wert des Glättungsparameters , und angesichts dieses Glättungsparameters ist der Koeffizientenvektor immer noch:Sλ
β=(XTX+λS)−1XTY
Diese zweidimensionale Glättung hat nun einen isotropen Nachteil: Dies bedeutet, dass ein einzelner Wert von in beide Richtungen gilt. Dies funktioniert einwandfrei, wenn sowohl als auch ungefähr den gleichen Maßstab haben, z. B. bei einer räumlichen Anwendung. Was aber, wenn wir die räumliche Variable durch die zeitliche Variable ersetzen ? Die Einheiten von können viel größer oder kleiner als die Einheiten von , und dies kann die Integration unserer zweiten Derivate beeinträchtigen, da einige dieser Derivate überproportional zur Gesamtintegration beitragen (z. B. wenn wir in Nanosekunden messen undλxzzttxtxin Lichtjahre, das Integral der zweiten Ableitung mit Bezug auf sein kann erheblich größer als das Integral der zweiten Ableitung in Bezug auf , und damit „wiggliness“ entlang der kann Richtung weitgehend unpenalized gehen). Folie 15 der "Smooth Toolbox", die ich verlinkt habe, enthält weitere Details zu diesem Thema.txx
Es ist erwähnenswert, dass wir die Basisfunktionen nicht in marginale Basen von und zerlegt haben . Dies impliziert, dass multivariate Glättungen aus Basen erstellt werden müssen, die mehrere Variablen unterstützen. Tensorproduktglättungen unterstützen die Konstruktion multivariater Basen aus univariaten Randbasen, wie ich unten erläutere.xz
3) Tensorprodukt glättet
Tensor-Produktglättungen behandeln das Problem der Modellierung von Antworten auf Wechselwirkungen mehrerer Eingaben mit verschiedenen Einheiten. Nehmen wir an, wir haben eine Antwort , die eine Funktion der räumlichen Variablen und der zeitlichen Variablen . Unser Modell ist dann:yfxt
y=f(x,t)+ε
Wir möchten eine zweidimensionale Basis für die Variablen und konstruieren . Das wird viel einfacher, wenn wir darstellen kann als:xtf
f(x,t)=fx(x)ft(t)
Im algebraischen / analytischen Sinne ist dies nicht unbedingt möglich. Denken Sie jedoch daran, dass wir die Domänen von und diskretisieren (stellen Sie sich ein zweidimensionales "Gitter" vor, das durch die Positionen der Knoten auf der und der Achse definiert wird), sodass die "wahre" Funktion durch die Überlagerung der Basisfunktionen dargestellt wird . So wie wir angenommen haben, dass eine sehr komplexe univariate Funktion durch eine einfache kubische Funktion in einem bestimmten Intervall ihrer Domäne approximiert werden kann, können wir annehmen, dass die nicht trennbare Funktion durch das Produkt einfacherer Funktionen approximiert werden kann undxtxtff(x,t)fx(x)ft(t) auf ein Intervall - vorausgesetzt, unsere Wahl der Basisdimensionen macht diese Intervalle ausreichend klein!
Unsere Basiserweiterung würde dann bei einer dimensionalen Basis in und einer dimensionalen Basis in wie folgt aussehen:ixjt
y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i−3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i−3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i−3)(x)+…+βijft(j−3)(t)fx(i−3)(x)+ε
Was als Tensorprodukt interpretiert werden kann. Stellen Sie sich vor , dass wir jede Basisfunktion in ausgewertet und , wodurch die Konstruktion von n-i-und n-by-j Modell Matrizen und sind. Wir könnten dann das -by- Tensorprodukt dieser beiden Modellmatrizen berechnen und in Spalten reorganisieren, so dass jede Spalte eine eindeutige Kombination . Denken Sie daran, dass die Randmodellmatrizen bzw. Spalten hatten. Diese Werte entsprechen ihren jeweiligen Basisabmessungen. Unsere neue Basis mit zwei Variablen sollte dann die DimensionxtXTn2ij X⊗Tijijijund daher die gleiche Anzahl von Spalten in seiner Modellmatrix.
ANMERKUNG: Ich möchte darauf hinweisen, dass, da wir die Tensorproduktbasisfunktionen explizit unter Verwendung von Produkten mit Randbasisfunktionen konstruiert haben, Tensorproduktbasen aus Randbasen eines beliebigen Typs konstruiert werden können. Sie müssen nicht mehr als eine Variable unterstützen, im Gegensatz zu der oben diskutierten multivariaten Glättung.
In der Realität führt dieser Prozess zu einer Gesamtbasiserweiterung der Dimension da die vollständige Multiplikation das Multiplizieren jeder Basisfunktion mit dem x- (also subtrahieren wir ) sowie das Multiplizieren jeder Basisfunktion durch den t- (also subtrahieren wir ), aber wir müssen den von selbst (also addieren wir 1). Dies wird als Anwenden einer Identifizierbarkeitsbeschränkung bezeichnet.ij−i−j+1tβx1jxβt1i
Wir können dies also so darstellen:
y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βij−i−j+1fij−i−j−2(x,t)+ε
Wobei jede der multivariaten Basisfunktionen das Produkt eines Paares von marginalen und Basisfunktionen ist. Auch hier ist es ziemlich klar, dass wir diese Basis noch mit der Matrixgleichung darstellen können:fxt
Y=Xβ+ε
Welches hat (noch) die Lösung:
β=(XTX)−1XTY
Wobei die Modellmatrix hat Spalten. Die und werden für jede unabhängige Variable wie folgt separat konstruiert:Xij−i−j+1JxJt
Jx=βTIj⊗Sxβ
und,
Jt=βTSt⊗Iiβ
Dies ermöglicht eine insgesamt anisotrope (in jeder Richtung unterschiedliche) Strafe (Hinweis: Die Strafen für die zweite Ableitung von werden bei jedem Knoten auf der Achse addiert und umgekehrt). Die Glättungsparameter und können nun auf die gleiche Weise geschätzt werden, wie der einzelne Glättungsparameter für die univariaten und multivariaten Glättungen war. Das Ergebnis ist, dass die Gesamtform eines Tensorprodukts glatt gegenüber einer Neuskalierung seiner unabhängigen Variablen unveränderlich ist.xtλxλt
Ich empfehle, alle Vignetten auf der MGCV-Website sowie " Generalized Additive Models: und Einführung mit R " zu lesen . Es lebe Simon Wood.