Sommaire
La généralisation de la régression des moindres carrés aux variables à valeurs complexes est simple, consistant principalement à remplacer les transpositions matricielles par des transpositions conjuguées dans les formules matricielles habituelles. Une régression à valeurs complexes, cependant, correspond à une régression multiple multivariée compliquée dont la solution serait beaucoup plus difficile à obtenir en utilisant des méthodes standard (variables réelles). Ainsi, lorsque le modèle à valeurs complexes est significatif, l'utilisation d'une arithmétique complexe pour obtenir une solution est fortement recommandée. Cette réponse comprend également des suggestions de façons d'afficher les données et de présenter des tracés de diagnostic de l'ajustement.
Par souci de simplicité, discutons le cas de la régression ordinaire (univariée), qui peut être écrite
zj=β0+β1wj+εj.
J'ai pris la liberté de nommer la variable indépendante et la variable dépendante Z , qui est conventionnelle (voir, par exemple, Lars Ahlfors, Complex Analysis ). Tout ce qui suit est simple à étendre au paramètre de régression multiple.WZ
Interprétation
Ce modèle a une interprétation géométrique facilement visualisable: la multiplication par redimensionnera w j par le module de β 1 et le fera tourner autour de l'origine par l'argument de β 1 . Par la suite, l'ajout de β 0 traduit le résultat par ce montant. L'effet de ε j est de "gigue" cette traduction un peu. Ainsi, régresser le z j sur le w j de cette manière est un effort pour comprendre la collection de points 2D ( z j )β1 wjβ1β1β0εjzjwj(zj)comme résultant d'une constellation de points 2D via une telle transformation, permettant une erreur dans le processus. Ceci est illustré ci-dessous avec la figure intitulée "Fit as a Transformation".(wj)
Notez que le redimensionnement et la rotation ne sont pas n'importe quelle transformation linéaire du plan: ils excluent par exemple les transformations de biais. Ainsi , ce modèle n'est pas la même que celle d' une régression multiple avec deux variables quatre paramètres.
Les moindres carrés ordinaires
Pour connecter le cas complexe avec le cas réel, écrivons
pour les valeurs de la variable dépendante etzj=xj+iyj
pour les valeurs de la variable indépendante.wj=uj+ivj
De plus, pour les paramètres, écrivez
et β 1 = γ 1 + i δ 1 . β0=γ0+iδ0β1=γ1+iδ1
Chacun des nouveaux termes introduits est, bien sûr, réel, et est imaginaire tandis que j = 1 , 2 , … , n indexe les données.i2=−1j=1,2,…,n
OLS découvertes ß 0 et β 1 qui minimisent la somme des carrés des écarts,β^0β^1
∑j=1n||zj−(β^0+β^1wj)||2=∑j=1n(z¯j−(β^0¯+β^1¯w¯j))(zj−(β^0+β^1wj)).
Formellement, cela est identique à la formulation matricielle habituelle: comparez-la à La seule différence que nous trouvons est que la transposée de la matrice de conception X ' est remplacée par la transposée conjuguée X ∗ = ˉ X ' . Par conséquent, la solution matricielle formelle est(z−Xβ)′(z−Xβ).X′ X∗=X¯′
β^=(X∗X)−1X∗z.
Dans le même temps, pour voir ce qui pourrait être accompli en transposant cela en un problème purement variable, nous pouvons écrire l'objectif OLS en termes de composants réels:
∑j=1n(xj−γ0−γ1uj+δ1vj)2+∑j=1n(yj−δ0−δ1uj−γ1vj)2.
Cela représente évidemment deux régressions réelles liées : l'une régresse sur u et v , l'autre régresse y sur u et v ; et nous exigeons que le coefficient v pour x soit le négatif du coefficient u pour y et que le coefficient u pour x soit égal au coefficient v pour y . De plus, parce que le totalxuvyuvvxuyuxvyles carrés des résidus des deux régressions doivent être minimisés, il ne sera généralement pas le cas que l'un ou l'autre ensemble de coefficients donne la meilleure estimation pour ou y seul. Ceci est confirmé dans l'exemple ci-dessous, qui réalise séparément les deux régressions réelles et compare leurs solutions à la régression complexe.xy
Cette analyse montre que la réécriture de la régression complexe en termes de parties réelles (1) complique les formules, (2) obscurcit l'interprétation géométrique simple et (3) nécessiterait une régression multiple multivariée généralisée (avec des corrélations non triviales entre les variables ) résoudre. On peut faire mieux.
Exemple
À titre d'exemple, je prends une grille de valeurs aux points intégraux près de l'origine dans le plan complexe. Aux valeurs transformées w β s'ajoutent des erreurs ayant une distribution gaussienne bivariée: en particulier, les parties réelles et imaginaires des erreurs ne sont pas indépendantes.wwβ
Il est difficile de tracer le diagramme de dispersion habituel de pour les variables complexes, car il serait composé de points en quatre dimensions. Au lieu de cela, nous pouvons voir la matrice de nuage de points de leurs parties réelles et imaginaires.(wj,zj)
Ignorez l'ajustement pour l'instant et regardez les quatre premières lignes et les quatre colonnes de gauche: elles affichent les données. La grille circulaire de est évidente dans le coin supérieur gauche; il compte 81 points. Les diagrammes de dispersion des composantes de w par rapport aux composantes de z montrent des corrélations claires. Trois d'entre eux ont des corrélations négatives; seuls y (la partie imaginaire de z ) et u (la partie réelle de w ) sont corrélés positivement.w81wzyzuw
Pour ces données, la vraie valeur de est ( - 20 + 5 i , - 3 / quatre + 3 / quatre √β. Elle représente une extension de3/deuxet une rotationsens antihoraire de 120 degréssuivi partraduction de20unités vers la gauche et5unités vershaut. Je calcule trois ajustements: la solution des moindres carrés complexes et deux solutions OLS pour(xj)et(yj)séparément, pour comparaison.(−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
Il sera toujours le cas que l'ordonnée à l'origine uniquement en accord avec la partie réelle de l'ordonnée à l'origine complexe et l'ordonnée à l'origine uniquement en accord avec la partie imaginaire de l'ordonnée à l'origine complexe. Il est évident, cependant, que les pentes réelles et imaginaires uniquement ne correspondent ni aux coefficients de pente complexes ni entre elles, exactement comme prévu.
Examinons de plus près les résultats de l'ajustement complexe. Tout d'abord, un tracé des résidus nous donne une indication de leur distribution gaussienne bivariée. (La distribution sous-jacente a des écarts-types marginaux de et une corrélation de 0,8 .) Ensuite, nous pouvons tracer les magnitudes des résidus (représentés par les tailles des symboles circulaires) et leurs arguments (représentés par des couleurs exactement comme dans le premier tracé) par rapport aux valeurs ajustées: ce tracé devrait ressembler à une distribution aléatoire de tailles et de couleurs, ce qu'il fait.20.8
Enfin, nous pouvons décrire l'ajustement de plusieurs manières. L'ajustement est apparu dans les dernières lignes et colonnes de la matrice de nuage de points ( qv ) et mérite peut-être d'être examiné de plus près à ce point. En bas à gauche, les ajustements sont tracés sous forme de cercles et de flèches bleues ouvertes (représentant les résidus) les reliant aux données, représentées par des cercles rouges pleins. A droite, les sont représentés par des cercles noirs ouverts remplis de couleurs correspondant à leurs arguments; ceux-ci sont reliés par des flèches aux valeurs correspondantes de ( z j ) . Rappelons que chaque flèche représente une expansion par trois / deux autour de l'origine, la rotation de 120(wj)(zj)3/2120degrés, et traduction par , plus cette erreur guassienne bivariée.(−20,5)
Ces résultats, les graphiques et les graphiques de diagnostic suggèrent tous que la formule de régression complexe fonctionne correctement et réalise quelque chose de différent que les régressions linéaires séparées des parties réelle et imaginaire des variables.
Code
Le R
code pour créer les données, les ajustements et les tracés apparaît ci-dessous. On notera que la solution réelle de β est obtenu en une seule ligne de code. Un travail supplémentaire - mais pas trop - serait nécessaire pour obtenir la sortie habituelle des moindres carrés: la matrice variance-covariance de l'ajustement, les erreurs standard, les valeurs de p, etc.β^
#
# 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)