Zusammenfassung
Die Verallgemeinerung der Regression der kleinsten Quadrate auf Variablen mit komplexem Wert ist einfach und besteht hauptsächlich darin, Matrixtransponierten durch konjugierte Transponierten in den üblichen Matrixformeln zu ersetzen. Eine komplexwertige Regression entspricht jedoch einer komplizierten multivariaten multiplen Regression, deren Lösung unter Verwendung von Standardmethoden (reelle Variablen) sehr viel schwieriger zu erhalten wäre. Wenn das komplexwertige Modell aussagekräftig ist, wird daher dringend empfohlen, komplexe Arithmetik zu verwenden, um eine Lösung zu erhalten. Diese Antwort enthält auch einige Vorschläge zur Anzeige der Daten und zur Darstellung der Diagnosediagramme der Anpassung.
Erläutern wir der Einfachheit halber den Fall einer gewöhnlichen (univariaten) Regression, die geschrieben werden kann
zj=β0+β1wj+εj.
Ich habe mir erlaubt, die unabhängige Variable und die abhängige Variable benennen , was konventionell ist (siehe zum Beispiel Lars Ahlfors, Complex Analysis ). Alles, was folgt, ist einfach auf die Einstellung der multiplen Regression zu erweitern.ZWZ
Deutung
Dieses Modell verfügt über eine leicht visualisiert geometrische Interpretation: Multiplikation mit wird rescale durch das Modul von und dreht es um den Ursprung durch das Argument von . Anschließend übersetzt das Hinzufügen von das Ergebnis um diesen Betrag. bewirkt, dass die Übersetzung ein wenig "zittert". Das Regressionieren von auf auf diese Weise ist daher ein Versuch, die Sammlung von 2D-Punkten zu verstehen, die sich aus einer Konstellation von 2D-Punktenw j β 1 β 1 β 0 ε j z j w j ( z j ) ( w j )β1 wjβ1β1β0εjzjwj(zj)(wj)über eine solche Transformation, wobei ein Fehler in dem Prozess berücksichtigt wird. Dies wird unten mit der Abbildung mit dem Titel "Fit as a Transformation" veranschaulicht.
Beachten Sie, dass die Neuskalierung und Drehung nicht nur eine lineare Transformation der Ebene sind, sondern zum Beispiel Schräglauftransformationen ausschließen. Daher ist dieses Modell nicht dasselbe wie eine bivariate multiple Regression mit vier Parametern.
Ordentliche kleinste Quadrate
Um den komplexen Fall mit dem realen Fall zu verbinden, schreiben wir
zj=xj+iyj für die Werte der abhängigen Variablen und
wj=uj+ivj für die Werte der unabhängigen Variablen.
Weiterhin für die Parameter schreiben
β 1 = γ 1 + i δ 1β0=γ0+iδ0 und . β1=γ1+iδ1
Jeder der neu eingeführten Begriffe ist natürlich real, und ist imaginär, während die Daten indiziert.j = 1 , 2 , ... , ni2=−1j=1,2,…,n
OLS findet und , die die Summe der Abweichungsquadrate minimieren. β 1β^0β^1
∑j=1n||zj−(β^0+β^1wj)||2=∑j=1n(z¯j−(β^0¯+β^1¯w¯j))(zj−(β^0+β^1wj)).
Formal ist dies identisch mit der üblichen Matrixformulierung: Vergleichen Sie es mit Der einzige Unterschied besteht darin, dass die Transponierte der Entwurfsmatrix durch die konjugierte Transponierte . Folglich ist die formale MatrixlösungX ' X ∗ = ˉ X '(z−Xβ)′(z−Xβ).X′ X∗=X¯′
β^=(X∗X)−1X∗z.
Gleichzeitig können wir das OLS-Ziel in Bezug auf die realen Komponenten aufschreiben, um zu sehen, was erreicht werden kann, wenn dies in ein rein variables Problem umgewandelt wird:
∑j=1n(xj−γ0−γ1uj+δ1vj)2+∑j=1n(yj−δ0−δ1uj−γ1vj)2.
Offensichtlich stellt dies zwei miteinander verknüpfte reale Regressionen dar: Eine von ihnen regressiert auf und , die andere regressiert auf und ; und wir fordern, dass der Koeffizient für das Negative des Koeffizienten für und der Koeffizient für gleich dem Koeffizienten für . Darüber hinaus, weil die Summeu v y u v v x u y u x v y x yxuvyuvvxuyuxvyQuadrate von Residuen aus den zwei Regressionen sollen minimiert werden, es wird normalerweise nicht der Fall sein, dass einer der Koeffizientensätze die beste Schätzung für oder alleine ergibt . Dies wird im folgenden Beispiel bestätigt, in dem die beiden reellen Regressionen separat ausgeführt und ihre Lösungen mit der komplexen Regression verglichen werden.xy
Diese Analyse macht deutlich, dass das Umschreiben der komplexen Regression in Bezug auf die Realteile (1) die Formeln kompliziert, (2) die einfache geometrische Interpretation verdeckt und (3) eine verallgemeinerte multivariate multiple Regression (mit nichttrivialen Korrelationen zwischen den Variablen) erfordern würde ) lösen. Wir können es besser machen.
Beispiel
Als Beispiel nehme ich ein Gitter von Werten an ganzzahligen Punkten in der Nähe des Ursprungs in der komplexen Ebene. Zu den transformierten Werten werden Fehler mit einer bivariaten Gaußschen Verteilung addiert: Insbesondere sind der Real- und der Imaginärteil der Fehler nicht unabhängig.w βwwβ
Es ist schwierig, das übliche Streudiagramm von für komplexe Variablen zu zeichnen , da es aus Punkten in vier Dimensionen bestehen würde. Stattdessen können wir die Streudiagramm-Matrix ihrer Real- und Imaginärteile anzeigen.(wj,zj)
Ignorieren Sie die Anpassung für den Moment und sehen Sie sich die oberen vier Zeilen und vier linken Spalten an: Diese zeigen die Daten an. Das kreisförmige Gitter von ist oben links zu sehen; es hat Punkte. Die Streudiagramme der Komponenten von gegen die Komponenten von zeigen klare Korrelationen. Drei von ihnen haben negative Korrelationen; nur das (der Imaginärteil von ) und (der Realteil von ) sind positiv korreliert.81 w z y z u ww81wzyzuw
Für diese Daten, der wahre Wert von ist . Es stellt eine Erweiterung um und eine Drehung um 120 Grad gegen den Uhrzeigersinn dar, gefolgt von einer Verschiebung von Einheiten nach links und Einheiten nach oben. Ich berechne drei Anpassungen: die komplexe Lösung der kleinsten Quadrate und zwei OLS-Lösungen für und getrennt zum Vergleich.( - 20 + 5 i , - 3 / 4 + 3 / 4 √β3/2205(xj)(yj)(−20+5i,−3/4+3/43–√i)3/2205(xj)(yj)
Fit Intercept Slope(s)
True -20 + 5 i -0.75 + 1.30 i
Complex -20.02 + 5.01 i -0.83 + 1.38 i
Real only -20.02 -0.75, -1.46
Imaginary only 5.01 1.30, -0.92
Es wird immer der Fall sein, dass der Real-Only-Abschnitt mit dem Realteil des komplexen Abschnitts übereinstimmt und der Imaginary-Only-Abschnitt mit dem Imaginary-Teil des komplexen Abschnitts übereinstimmt. Es ist jedoch offensichtlich, dass die reellen und imaginären Steigungen weder mit den komplexen Steigungskoeffizienten noch untereinander genau wie vorhergesagt übereinstimmen.
Schauen wir uns die Ergebnisse der komplexen Anpassung genauer an. Zunächst gibt eine Darstellung der Residuen einen Hinweis auf ihre bivariate Gaußsche Verteilung. (Die zugrunde liegende Verteilung hat marginale Standardabweichungen von und eine Korrelation von .) Dann können wir die Größen der Residuen (dargestellt durch die Größe der Kreissymbole) und ihre Argumente (dargestellt durch Farben genau wie im ersten Diagramm) darstellen. gegen die angepassten Werte: Dieses Diagramm sollte wie eine zufällige Verteilung von Größen und Farben aussehen, die es tut.0,820.8
Schließlich können wir die Anpassung auf verschiedene Arten darstellen. Die Anpassung erschien in den letzten Zeilen und Spalten der Streudiagramm-Matrix ( vgl. ) Und ist möglicherweise einen genaueren Blick auf diesen Punkt wert. Unten links sind die Anpassungen als offene blaue Kreise dargestellt, und Pfeile (die die Residuen darstellen) verbinden sie mit den Daten, die als durchgezogene rote Kreise dargestellt sind. Rechts werden die als offene schwarze Kreise dargestellt, die mit Farben gefüllt sind, die ihren Argumenten entsprechen. Diese sind durch Pfeile mit den entsprechenden Werten von . Denken Sie daran, dass jeder Pfeil eine Erweiterung um um den Ursprung, eine Drehung um Grad und eine Übersetzung um sowie diesen bivariaten Guassianischen Fehler darstellt.( z j ) 3 / 2 120 ( - 20 , 5 )(wj)(zj)3/2120(−20,5)
Diese Ergebnisse, die Diagramme und die diagnostischen Diagramme deuten darauf hin, dass die komplexe Regressionsformel korrekt funktioniert und etwas anderes erreicht als separate lineare Regressionen des Real- und Imaginärteils der Variablen.
Code
Der R
Code zum Erstellen der Daten, Anpassungen und Diagramme wird unten angezeigt. Beachten Sie, dass die eigentliche Lösung von in einer einzigen Codezeile erhalten wird. Zusätzliche Arbeit - aber nicht zu viel davon - wäre erforderlich, um die übliche Ausgabe der kleinsten Quadrate zu erhalten: die Varianz-Kovarianz-Matrix der Anpassung, Standardfehler, p-Werte usw.β^
#
# Synthesize data.
# (1) the independent variable `w`.
#
w.max <- 5 # Max extent of the independent values
w <- expand.grid(seq(-w.max,w.max), seq(-w.max,w.max))
w <- complex(real=w[[1]], imaginary=w[[2]])
w <- w[Mod(w) <= w.max]
n <- length(w)
#
# (2) the dependent variable `z`.
#
beta <- c(-20+5i, complex(argument=2*pi/3, modulus=3/2))
sigma <- 2; rho <- 0.8 # Parameters of the error distribution
library(MASS) #mvrnorm
set.seed(17)
e <- mvrnorm(n, c(0,0), matrix(c(1,rho,rho,1)*sigma^2, 2))
e <- complex(real=e[,1], imaginary=e[,2])
z <- as.vector((X <- cbind(rep(1,n), w)) %*% beta + e)
#
# Fit the models.
#
print(beta, digits=3)
print(beta.hat <- solve(Conj(t(X)) %*% X, Conj(t(X)) %*% z), digits=3)
print(beta.r <- coef(lm(Re(z) ~ Re(w) + Im(w))), digits=3)
print(beta.i <- coef(lm(Im(z) ~ Re(w) + Im(w))), digits=3)
#
# Show some diagnostics.
#
par(mfrow=c(1,2))
res <- as.vector(z - X %*% beta.hat)
fit <- z - res
s <- sqrt(Re(mean(Conj(res)*res)))
col <- hsv((Arg(res)/pi + 1)/2, .8, .9)
size <- Mod(res) / s
plot(res, pch=16, cex=size, col=col, main="Residuals")
plot(Re(fit), Im(fit), pch=16, cex = size, col=col,
main="Residuals vs. Fitted")
plot(Re(c(z, fit)), Im(c(z, fit)), type="n",
main="Residuals as Fit --> Data", xlab="Real", ylab="Imaginary")
points(Re(fit), Im(fit), col="Blue")
points(Re(z), Im(z), pch=16, col="Red")
arrows(Re(fit), Im(fit), Re(z), Im(z), col="Gray", length=0.1)
col.w <- hsv((Arg(w)/pi + 1)/2, .8, .9)
plot(Re(c(w, z)), Im(c(w, z)), type="n",
main="Fit as a Transformation", xlab="Real", ylab="Imaginary")
points(Re(w), Im(w), pch=16, col=col.w)
points(Re(w), Im(w))
points(Re(z), Im(z), pch=16, col=col.w)
arrows(Re(w), Im(w), Re(z), Im(z), col="#00000030", length=0.1)
#
# Display the data.
#
par(mfrow=c(1,1))
pairs(cbind(w.Re=Re(w), w.Im=Im(w), z.Re=Re(z), z.Im=Im(z),
fit.Re=Re(fit), fit.Im=Im(fit)), cex=1/2)