Resumen
La generalización de la regresión de mínimos cuadrados a variables de valores complejos es sencilla, y consiste principalmente en reemplazar las transposiciones matriciales por transposiciones conjugadas en las fórmulas matriciales habituales. Sin embargo, una regresión de valor complejo corresponde a una regresión múltiple multivariada complicada cuya solución sería mucho más difícil de obtener utilizando métodos estándar (variable real). Por lo tanto, cuando el modelo de valor complejo es significativo, se recomienda utilizar la aritmética compleja para obtener una solución. Esta respuesta también incluye algunas formas sugeridas para mostrar los datos y presentar gráficas de diagnóstico del ajuste.
Para simplificar, analicemos el caso de la regresión ordinaria (univariante), que puede escribirse
zj= β0 0+ β1wj+ εj.
Me he tomado la libertad de nombrar la variable independiente y la variable dependiente Z , que es convencional (ver, por ejemplo, Lars Ahlfors, Complex Analysis ). Todo lo que sigue es sencillo de extender a la configuración de regresión múltiple.WZ
Interpretación
Este modelo tiene una interpretación geométrica fácilmente visualizado: multiplicación por se reescalar w j por el módulo de β 1 y girar alrededor del origen por el argumento de β 1 . Posteriormente, la adición de β 0 traduce el resultado en esta cantidad. El efecto de ε j es "fluctuar" esa traducción un poco. Por lo tanto, hacer retroceder la z j en la w j de esta manera es un esfuerzo por comprender la colección de puntos 2D ( z j )β1 wjβ1β1β0 0εjzjwj( zj)como resultado de una constelación de puntos 2D través de dicha transformación, lo que permite algún error en el proceso. Esto se ilustra a continuación con la figura titulada "Ajustar como transformación".(wj)
Tenga en cuenta que el cambio de escala y la rotación no son simplemente una transformación lineal del plano: descartan transformaciones asimétricas, por ejemplo. Por lo tanto, este modelo no es lo mismo que una regresión múltiple bivariada con cuatro parámetros.
Mínimos cuadrados ordinarios
Para conectar el caso complejo con el caso real, escribamos
para los valores de la variable dependiente yzj=xj+iyj
para los valores de la variable independiente.wj=uj+ivj
Además, para los parámetros escriba
y β 1 = γ 1 + i δ 1 . β0=γ0+iδ0β1=γ1+iδ1
Cada uno de los nuevos términos introducidos es, por supuesto, real, e es imaginario, mientras que j = 1 , 2 , ... , n indexa los datos.i2=−1j=1,2,…,n
MCO hallazgos ß 0 y β 1 que minimizan la suma de los cuadrados de las desviaciones,β^0β^1
∑j=1n||zj−(β^0+β^1wj)||2=∑j=1n(z¯j−(β^0¯+β^1¯w¯j))(zj−(β^0+β^1wj)).
Formalmente, esto es idéntico a la formulación matricial habitual: compárela con La única diferencia que encontramos es que la transposición de la matriz de diseño X ' se reemplaza por la transposición conjugada X ∗ = ˉ X ′ . En consecuencia, la solución de matriz formal es(z−Xβ)′(z−Xβ).X′ X∗=X¯′
β^=(X∗X)−1X∗z.
Al mismo tiempo, para ver qué se puede lograr al convertir esto en un problema puramente variable real, podemos escribir el objetivo OLS en términos de los componentes reales:
∑j=1n(xj−γ0−γ1uj+δ1vj)2+∑j=1n(yj−δ0−δ1uj−γ1vj)2.
Evidentemente, esto representa dos regresiones reales vinculadas : una de ellas regresa en u y v , la otra regresa y en u y v ; y requerimos que el coeficiente v para x sea el negativo del coeficiente u para y y el coeficiente u para x sea igual al coeficiente v para y . Además, porque el totalxuvyuvvxuyuxvylos cuadrados de los residuos de las dos regresiones se deben minimizar, por lo general no será el caso de que cualquiera de los conjuntos de coeficientes proporcione la mejor estimación para o y solo. Esto se confirma en el siguiente ejemplo, que realiza las dos regresiones reales por separado y compara sus soluciones con la regresión compleja.xy
Este análisis hace evidente que reescribir la regresión compleja en términos de las partes reales (1) complica las fórmulas, (2) oscurece la interpretación geométrica simple y (3) requeriría una regresión múltiple multivariada generalizada (con correlaciones no triviales entre las variables ) resolver. Podemos hacerlo mejor.
Ejemplo
Como ejemplo, tomo una cuadrícula de valores de en puntos integrales cerca del origen en el plano complejo. A los valores transformados w \ beta se agregan los errores iid que tienen una distribución gaussiana bivariada: en particular, las partes real e imaginaria de los errores no son independientes.wwβ
Es difícil dibujar el diagrama de dispersión habitual de para variables complejas, ya que consistiría en puntos en cuatro dimensiones. En cambio, podemos ver la matriz de diagrama de dispersión de sus partes reales e imaginarias.(wj,zj)
Ignore el ajuste por ahora y mire las cuatro filas superiores y las cuatro columnas izquierdas: estas muestran los datos. La cuadrícula circular de es evidente en la esquina superior izquierda; Tiene 81 puntos. Los diagramas de dispersión de los componentes de w contra los componentes de z muestran correlaciones claras. Tres de ellos tienen correlaciones negativas; solo la y (la parte imaginaria de z ) yu (la parte real de w ) están positivamente correlacionadas.w81wzyzuw
Para estos datos, el verdadero valor de es ( - 20 + 5 i , - 3 / 4 + 3 / 4 √β. Representa una expansión por3/2y una rotación en sentido antihorario de 120 grados, seguidos por la traducción de20unidades a la izquierda y5unidades hacia arriba. Calculo tres ajustes: la solución de mínimos cuadrados complejos y dos soluciones OLS para(xj)e(yj) porseparado, para comparar.(−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
Siempre será el caso que la intersección de solo real esté de acuerdo con la parte real de la intersección compleja y la intersección de solo imaginario esté de acuerdo con la parte imaginaria de la intersección compleja. Sin embargo, es evidente que las pendientes solo real e imaginaria no están de acuerdo con los coeficientes de pendiente complejos ni entre sí, exactamente como se predijo.
Echemos un vistazo más de cerca a los resultados del ajuste complejo. Primero, una gráfica de los residuos nos da una indicación de su distribución gaussiana bivariada. (La distribución subyacente tiene desviaciones estándar marginales de y una correlación de 0.8 .) Luego, podemos trazar las magnitudes de los residuos (representados por tamaños de los símbolos circulares) y sus argumentos (representados por colores exactamente como en el primer diagrama) en contra de los valores ajustados: este gráfico debe verse como una distribución aleatoria de tamaños y colores, lo que hace.20.8
Finalmente, podemos representar el ajuste de varias maneras. El ajuste apareció en las últimas filas y columnas de la matriz de diagrama de dispersión ( qv ) y puede merecer una mirada más cercana en este punto. A continuación, a la izquierda, los ajustes se trazan como círculos azules abiertos y las flechas (que representan los residuos) los conectan a los datos, que se muestran como círculos rojos sólidos. A la derecha, los se muestran como círculos negros abiertos rellenos con los colores correspondientes a sus argumentos; estos están conectados por flechas a los valores correspondientes de ( z j ) . Recordemos que cada flecha representa una expansión por 3 / 2 alrededor del origen, la rotación por 120(wj)(zj)3/2120grados, y traducción por , más ese error bivariado de Guassian.(−20,5)
Estos resultados, las gráficas y las gráficas de diagnóstico sugieren que la fórmula de regresión compleja funciona correctamente y logra algo diferente que las regresiones lineales separadas de las partes real e imaginaria de las variables.
Código
El R
código para crear los datos, ajustes y trazados aparece a continuación. Tenga en cuenta que la solución real de β se obtiene en una sola línea de código. Se necesitaría trabajo adicional, pero no demasiado, para obtener la salida de mínimos cuadrados habitual: la matriz de varianza-covarianza del ajuste, errores estándar, valores 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)