Sommario
La generalizzazione della regressione dei minimi quadrati a variabili a valore complesso è semplice, consistente principalmente nella sostituzione di trasposizioni matriciali con trasposizioni coniugate nelle solite formule matriciali. Una regressione a valore complesso, tuttavia, corrisponde a una complicata regressione multipla multivariata la cui soluzione sarebbe molto più difficile da ottenere utilizzando metodi standard (variabili reali). Pertanto, quando il modello a valore complesso è significativo, si consiglia vivamente di utilizzare l'aritmetica complessa per ottenere una soluzione. Questa risposta include anche alcuni modi suggeriti per visualizzare i dati e presentare grafici diagnostici dell'adattamento.
Per semplicità, discutiamo il caso della regressione ordinaria (univariata), che può essere scritta
zj= β0+ β1wj+ εj.
Mi sono preso la libertà di nominare la variabile indipendente e la variabile dipendente , che è convenzionale (vedi, ad esempio, Lars Ahlfors, Analisi complessa ). Tutto ciò che segue è semplice da estendere all'impostazione della regressione multipla.ZWZ
Interpretazione
Questo modello ha un'interpretazione geometrica facilmente visualizzati: moltiplicazione per sarà riscalare per il modulo e ruotarlo intorno all'origine dall'argomento di . Successivamente, l'aggiunta di traduce il risultato di questo importo. L'effetto di è di "muovere" quella traduzione un po '. Pertanto, regredire su in questo modo è uno sforzo per comprendere la raccolta di punti 2D come derivante da una costellazione di punti 2Dw j β 1 β 1 β 0 ε j z j w j ( z j ) ( w j )β1 wjβ1β1β0εjzjwj( zj)( wj)tramite tale trasformazione, consentendo alcuni errori nel processo. Questo è illustrato di seguito con la figura intitolata "Adatta come una trasformazione".
Si noti che il ridimensionamento e la rotazione non sono semplicemente una trasformazione lineare del piano: escludono ad esempio le trasformazioni oblique. Quindi questo modello non è lo stesso di una regressione multipla bivariata con quattro parametri.
Minimi quadrati ordinari
Per connettere il caso complesso al caso reale, scriviamo
zj= xj+ i yj per i valori della variabile dipendente e
wj= uj+ i vj per i valori della variabile indipendente.
Inoltre, per i parametri scrivere
β 1 = γ 1 + i δ 1β0= γ0+ i δ0 e . β1= γ1+ i δ1
Ognuno dei nuovi termini introdotti è, ovviamente, reale e è immaginario mentre indicizza i dati.j = 1 , 2 , … , nio2= - 1j = 1 , 2 , … , n
OLS trova e che minimizzano la somma dei quadrati delle deviazioni, β 1β^0β^1
Σj = 1n| | zj- ( β^0+ β^1wj) | |2= ∑j = 1n( z¯j- ( β^0¯+ β^1¯w¯j) ) ( zj- ( β^0+ β^1wj) ) .
Formalmente questo è identico alla solita formulazione a matrice: confrontalo con L'unica differenza che troviamo è che la trasposizione della matrice di progettazione è sostituita dalla trasposizione coniugata . Di conseguenza la soluzione di matrice formale èX ′ X ∗ = ˉ X ′( z- Xβ)'( z- Xβ) .X' X*= X¯'
β^= ( X*X)- 1X*z.
Allo stesso tempo, per vedere cosa potrebbe essere realizzato lanciando questo in un problema puramente reale-variabile, potremmo scrivere l'obiettivo OLS in termini di componenti reali:
Σj = 1n( xj- γ0- γ1uj+ δ1vj)2+ ∑j = 1n( yj- δ0- δ1uj- γ1vj)2.
Evidentemente questo rappresenta due collegati regressioni reali: uno di loro regredisce su e , gli altri regredisce su e ; e richiediamo che il coefficiente per sia il negativo del coefficiente per e il coefficiente per uguale al coefficiente per . Inoltre, perché il totaleu v y u v v x u y u x v y x yXuvyuvvXuyuXvyi quadrati dei residui delle due regressioni devono essere minimizzati, di solito non è il caso che entrambi i set di coefficienti forniscano la migliore stima solo per o . Ciò è confermato nell'esempio seguente, che esegue separatamente le due regressioni reali e confronta le loro soluzioni con la regressione complessa.Xy
Questa analisi rende evidente che riscrivere la regressione complessa in termini di parti reali (1) complica le formule, (2) oscura la semplice interpretazione geometrica e (3) richiederebbe una regressione multipla multivariata generalizzata (con correlazioni non banali tra le variabili ) risolvere. Possiamo fare di meglio.
Esempio
Ad esempio, prendo una griglia di valori in punti integrali vicino all'origine nel piano complesso. Per i valori trasformati sono aggiunti errori IID che hanno una distribuzione gaussiana bivariata: in particolare, le parti reale e immaginaria degli errori non sono indipendenti.w βww β
È difficile disegnare il solito dispersione di per variabili complesse, poiché sarebbe costituito da punti in quattro dimensioni. Invece possiamo vedere la matrice scatterplot delle loro parti reali e immaginarie.( wj, zj)
Per il momento ignora l'adattamento e guarda le prime quattro righe e quattro colonne a sinistra: queste visualizzano i dati. La griglia circolare di è evidente in alto a sinistra; ha punti. I grafici a dispersione dei componenti di rispetto ai componenti di mostrano chiare correlazioni. Tre di loro hanno correlazioni negative; solo (la parte immaginaria di ) (la parte reale di ) sono positivamente correlati.81 w z y z u ww81wzyzuw
Per questi dati, il vero valore di è . Rappresenta un'espansione di e una rotazione in senso antiorario di 120 gradi seguita dalla traslazione di unità a sinistra e unità in alto. Calcolo tre accoppiamenti: la soluzione dei minimi quadrati complessi e due soluzioni OLS per e separatamente, per il confronto.( - 20 + 5 i , - 3 / 4 + 3 / 4 √β3/2205(xj)(yj)( - 20 + 5 I , - 3 / 4 + 3 / 4 3-√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
Accadrà sempre che l'intercettazione solo reale sia d'accordo con la parte reale dell'intercettazione complessa e l'intercettazione solo immaginaria sia d'accordo con la parte immaginaria dell'intercettazione complessa. È evidente, tuttavia, che le pendenze solo reali e solo immaginarie non concordano con i coefficienti di pendenza complessi né tra loro, esattamente come previsto.
Diamo un'occhiata più da vicino ai risultati dell'adattamento complesso. Innanzitutto, un diagramma dei residui ci fornisce un'indicazione della loro distribuzione bussaria bivariata. (La distribuzione sottostante ha deviazioni standard marginali di e una correlazione di ). Quindi, possiamo tracciare la grandezza dei residui (rappresentati dalle dimensioni dei simboli circolari) e i loro argomenti (rappresentati dai colori esattamente come nella prima trama) contro i valori adattati: questa trama dovrebbe apparire come una distribuzione casuale di dimensioni e colori, che fa.0,820.8
Infine, possiamo rappresentare la misura in diversi modi. L'adattamento è apparso nelle ultime righe e colonne della matrice scatterplot ( qv ) e può valere la pena dare un'occhiata più da vicino a questo punto. Sotto a sinistra gli adattamenti sono tracciati come cerchi blu aperti e frecce (che rappresentano i residui) li collegano ai dati, mostrati come cerchi rossi solidi. A destra sono mostrati come cerchi neri aperti riempiti con colori corrispondenti ai loro argomenti; questi sono collegati da frecce ai corrispondenti valori di . Ricorda che ogni freccia rappresenta un'espansione di attorno all'origine, una rotazione di gradi e una traduzione di , più quell'errore bivariato guassiano.( z j ) 3 / 2 120 ( - 20 , 5 )( wj)( zj)3 / 2120( - 20 , 5 )
Questi risultati, i diagrammi e i diagrammi diagnostici suggeriscono tutti che la formula di regressione complessa funziona correttamente e raggiunge qualcosa di diverso rispetto alle regressioni lineari separate delle parti reali e immaginarie delle variabili.
Codice
Il R
codice per creare dati, adattamenti e grafici viene visualizzato di seguito. Si noti che la soluzione effettiva di si ottiene in una singola riga di codice. Sarebbe necessario un lavoro aggiuntivo - ma non troppo - per ottenere l'output dei minimi quadrati consueti: la matrice varianza-covarianza dell'adattamento, errori standard, valori p, ecc.β^
#
# 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)