Analisi con dati complessi, qualcosa di diverso?


31

Supponiamo ad esempio che stai realizzando un modello lineare, ma i dati sono complessi.y

y=xβ+ϵ

Il mio set di dati è complesso, come in tutti i numeri in y sono della forma (a+bi) . C'è qualcosa di diverso dal punto di vista procedurale quando si lavora con tali dati?

Chiedo perché, finirai per ottenere matrici di covarianza complesse e testerai statistiche che sono complesse.

Devi usare un coniugato traspone invece di trasporre quando fai i minimi quadrati? è significativa una complessa covarianza?


3
Considera il numero complesso come due variabili separate e in questo modo rimuovi i da tutte le tue equazioni. Altrimenti sarà un incubo ...
sashkello,

Qualche informazione su x o β ?
Stijn,

3
@Sashkello Che "incubo"? Le dimensioni sono dimezzate quando si usano numeri complessi, quindi probabilmente è una semplificazione. Inoltre, hai trasformato un DV bivariato in un DV univariato , il che è un enorme vantaggio. PeterRabbit: sì, sono necessarie trasposizioni coniugate. La complessa matrice di covarianza è definita positivamente eremitica. Come la sua controparte reale, ha ancora autovalori reali positivi, che affronta la questione della significatività.
whuber

2
@whuber Non ha senso per me andare in numeri complessi se il problema è come mostrato. Non è più semplice gestire numeri complessi, altrimenti non ci sarebbe affatto una domanda qui. Non tutto funzionerà bene con numeri complessi e non è un cambiamento semplice se non sai cosa stai facendo. Trasformare questo problema nello spazio reale è equivalente e puoi applicare tutta la varietà di tecniche statistiche senza preoccuparti se funziona o meno nello spazio complesso.
sashkello,

1
@whuber Buona risposta e bella spiegazione. Direi che non appena si supera la trasformazione da uno all'altro non è davvero difficile ...
sashkello

Risposte:


40

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+ioyj per i valori della variabile dipendente e

wj=uj+iovj per i valori della variabile indipendente.

Inoltre, per i parametri scrivere

β 1 = γ 1 + i δ 1β0=γ0+ioδ0 e . β1=γ1+ioδ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)

Matrice a dispersione

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+5io,-3/4+3/43io)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

Trama residua

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)

Adatta come trasformazione

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 Rcodice 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)

Ho fatto una domanda di follow-up sullo stimatore e sulla sua covarianza. Quando risolvo il mio problema con il complesso , la matrice di covarianza (che stima usando il residuo adatto) del mio stimatore ha parti reali e immaginarie. Non sono sicuro di come funzioni. La parte immaginaria della covarianza riguarda solo la parte immaginaria dello stimatore (lo stesso per la parte reale)? Se voglio tracciare gli elementi della configurazione, non sono sicuro di come procedere ... Le parti immaginarie e reali dello stimatore hanno lo stesso elemento della configurazione? Sarebbe possibile includere alcune informazioni su questo nella tua spiegazione? Grazie! yβ^y
bill_e,

Se tutto è stato calcolato correttamente, la covarianza sarà comunque definita positiva. In particolare, questo implica che quando lo usi per calcolare la covarianza della parte reale o della parte immaginaria di una variabile, otterrai un numero positivo, quindi tutti gli elementi della configurazione saranno ben definiti.
whuber

La matrice di Cov è semi-definita positiva, ma suppongo che ciò di cui sono confuso sia dove dici: "quando la usi per calcolare la covarianza della parte reale o della parte immaginaria di una variabile". Supponevo che quando avrei calcolato un elemento della configurazione, avrebbe avuto una parte reale e immag, che corrisponderebbe alla parte reale e immaginata di un elemento di . Questo non sembra essere il caso però. Sai perché questo è? β^
bill_e,

Inoltre, se quando calcolo i valori per le statistiche dei test, ottengo numeri come dire, 3 + .1 * i. Per questo mi aspettavo che il numero non avesse una parte immaginaria. È normale? O un segno che sto facendo qualcosa di sbagliato?
bill_e,

Quando calcoli le statistiche dei test con numeri complessi, dovresti aspettarti di ottenere risultati complessi! Se hai una ragione matematica per cui la statistica dovrebbe essere reale, allora il calcolo deve essere errato. Quando la parte immaginaria è davvero minuscola rispetto alla parte reale, è probabile che si sia accumulato un errore in virgola mobile ed è generalmente sicuro eliminarla ( zapsmallin R). Altrimenti è un segno che qualcosa è fondamentalmente sbagliato.
whuber

5

Dopo un bel lungo google sesh, ho trovato alcune informazioni pertinenti sulla comprensione del problema in modo alternativo. Si scopre che problemi simili sono in qualche modo comuni nell'elaborazione del segnale statistico. Invece di iniziare con una probabilità gaussiana che corrisponde a minimi quadrati lineari per dati reali, si inizia con un:

http://en.wikipedia.org/wiki/Complex_normal_distribution

Questa pagina di Wikipedia fornisce una carrellata soddisfacente su questo oggetto.

In particolare, se si può presumere che la distribuzione del vostro stimatore sia gaussiana multivar, nel caso di dati complessi si userebbe la normale complessa. Il calcolo della covarianza di questo stimatore è un po 'diverso, e dato sulla pagina wiki. β^

Un'altra fonte che ho scoperto che giunge alla stessa conclusione di whuber, ma esplora altri stimatori come la massima probabilità è: "Stime dei modelli di regressione lineare impropria", di Yan et al.


1

Mentre @whuber ha una risposta ben illustrata e ben spiegata, penso che sia un modello semplificato a cui manca un po 'della potenza dello spazio complesso.

La regressione lineare dei minimi quadrati sui reali è equivalente al seguente modello con input , parametri e target :β xwβX

z=β0+β1w+ε

dove è normalmente distribuito con media zero e una varianza (tipicamente costante).ε

Suggerisco che la regressione lineare complessa sia definita come segue:

z=β0+β1w+β2w¯+ε

Ci sono due differenze principali.

β2

ε

Tornando al modello reale, la soluzione ordinaria dei minimi quadrati viene fuori minimizzando la perdita, che è la probabilità di log negativa. Per una distribuzione normale, questa è la parabola:

y=un'X2+cX+d.

X=z-(β0+β1w)un'cd

y=un'|X|2+(BX2+cX)+d.

cdun'BB

[X-μX-μ¯]H[Suu¯S¯]-1[X-μX-μ¯]+d
S,u,μ,dSuμ

Ecco un'immagine della densità di una distribuzione normale complessa:

La densità di una distribuzione normale univariata complessa

B

Ciò complica la regressione, anche se sono abbastanza sicuro che la soluzione sia ancora analitica. L'ho risolto nel caso di un input e sono felice di trascrivere la mia soluzione qui, ma ho la sensazione che whuber possa risolvere il caso generale.


Grazie per questo contributo Non lo seguo, però, perché non sono sicuro (a) del perché introduci un polinomio quadratico, (b) cosa intendi effettivamente per polinomio "corrispondente", o (c) quale modello statistico stai adattando. Saresti in grado di approfondire quelli?
whuber

@whuber L'ho riscritto come modello statistico. Per favore fatemi sapere se ha senso per voi.
Neil G

zww¯ε

\Beta2

|X|2X2

1

Questo problema ha messo di nuovo sulla Mathematica StackExchange e la mia risposta / commento esteso c'è che @whuber 's risposta eccellente dovrebbe essere seguito.

La mia risposta qui è un tentativo di estendere la risposta di @whuber solo un po 'rendendo la struttura dell'errore un po' più esplicita. Lo stimatore dei minimi quadrati proposto è quello che si userebbe se la distribuzione dell'errore bivariato avesse una correlazione zero tra componenti reali e immaginarie. (Ma i dati generati hanno una correlazione degli errori di 0,8.)

ρ=0ρ0

Stimatore di dati e minimi quadrati

ρ=0

le stime di massima verosimiglianza supponendo che rho sia zero

ρ=0

ρ

Stime di massima verosimiglianza incluso rho

γ0δ0ργ1

Il mio punto in tutto ciò è che il modello adatto deve essere reso completamente esplicito e che i programmi di algebra simbolica possono aiutare ad alleviare il disordine. (E, naturalmente, gli stimatori della massima verosimiglianza assumono una distribuzione normale bivariata che gli stimatori dei minimi quadrati non assumono.)

Appendice: il codice Mathematica completo

(* Predictor variable *)
w = {0 - 5 I, -3 - 4 I, -2 - 4 I, -1 - 4 I, 0 - 4 I, 1 - 4 I, 2 - 4 I,
    3 - 4 I, -4 - 3 I, -3 - 3 I, -2 - 3 I, -1 - 3 I, 0 - 3 I, 1 - 3 I,
    2 - 3 I, 3 - 3 I, 4 - 3 I, -4 - 2 I, -3 - 2 I, -2 - 2 I, -1 - 2 I,
    0 - 2 I, 1 - 2 I, 2 - 2 I, 3 - 2 I, 
   4 - 2 I, -4 - 1 I, -3 - 1 I, -2 - 1 I, -1 - 1 I, 0 - 1 I, 1 - 1 I, 
   2 - 1 I, 3 - 1 I, 
   4 - 1 I, -5 + 0 I, -4 + 0 I, -3 + 0 I, -2 + 0 I, -1 + 0 I, 0 + 0 I,
    1 + 0 I, 2 + 0 I, 3 + 0 I, 4 + 0 I, 
   5 + 0 I, -4 + 1 I, -3 + 1 I, -2 + 1 I, -1 + 1 I, 0 + 1 I, 1 + 1 I, 
   2 + 1 I, 3 + 1 I, 4 + 1 I, -4 + 2 I, -3 + 2 I, -2 + 2 I, -1 + 2 I, 
   0 + 2 I, 1 + 2 I, 2 + 2 I, 3 + 2 I, 
   4 + 2 I, -4 + 3 I, -3 + 3 I, -2 + 3 I, -1 + 3 I, 0 + 3 I, 1 + 3 I, 
   2 + 3 I, 3 + 3 I, 4 + 3 I, -3 + 4 I, -2 + 4 I, -1 + 4 I, 0 + 4 I, 
   1 + 4 I, 2 + 4 I, 3 + 4 I, 0 + 5 I};
(* Add in a "1" for the intercept *)
w1 = Transpose[{ConstantArray[1 + 0 I, Length[w]], w}];

z = {-15.83651 + 7.23001 I, -13.45474 + 4.70158 I, -13.63353 + 
    4.84748 I, -14.79109 + 4.33689 I, -13.63202 + 
    9.75805 I, -16.42506 + 9.54179 I, -14.54613 + 
    12.53215 I, -13.55975 + 14.91680 I, -12.64551 + 
    2.56503 I, -13.55825 + 4.44933 I, -11.28259 + 
    5.81240 I, -14.14497 + 7.18378 I, -13.45621 + 
    9.51873 I, -16.21694 + 8.62619 I, -14.95755 + 
    13.24094 I, -17.74017 + 10.32501 I, -17.23451 + 
    13.75955 I, -14.31768 + 1.82437 I, -13.68003 + 
    3.50632 I, -14.72750 + 5.13178 I, -15.00054 + 
    6.13389 I, -19.85013 + 6.36008 I, -19.79806 + 
    6.70061 I, -14.87031 + 11.41705 I, -21.51244 + 
    9.99690 I, -18.78360 + 14.47913 I, -15.19441 + 
    0.49289 I, -17.26867 + 3.65427 I, -16.34927 + 
    3.75119 I, -18.58678 + 2.38690 I, -20.11586 + 
    2.69634 I, -22.05726 + 6.01176 I, -22.94071 + 
    7.75243 I, -28.01594 + 3.21750 I, -24.60006 + 
    8.46907 I, -16.78006 - 2.66809 I, -18.23789 - 
    1.90286 I, -20.28243 + 0.47875 I, -18.37027 + 
    2.46888 I, -21.29372 + 3.40504 I, -19.80125 + 
    5.76661 I, -21.28269 + 5.57369 I, -22.05546 + 
    7.37060 I, -18.92492 + 10.18391 I, -18.13950 + 
    12.51550 I, -22.34471 + 10.37145 I, -15.05198 + 
    2.45401 I, -19.34279 - 0.23179 I, -17.37708 + 
    1.29222 I, -21.34378 - 0.00729 I, -20.84346 + 
    4.99178 I, -18.01642 + 10.78440 I, -23.08955 + 
    9.22452 I, -23.21163 + 7.69873 I, -26.54236 + 
    8.53687 I, -16.19653 - 0.36781 I, -23.49027 - 
    2.47554 I, -21.39397 - 0.05865 I, -20.02732 + 
    4.10250 I, -18.14814 + 7.36346 I, -23.70820 + 
    5.27508 I, -25.31022 + 4.32939 I, -24.04835 + 
    7.83235 I, -26.43708 + 6.19259 I, -21.58159 - 
    0.96734 I, -21.15339 - 1.06770 I, -21.88608 - 
    1.66252 I, -22.26280 + 4.00421 I, -22.37417 + 
    4.71425 I, -27.54631 + 4.83841 I, -24.39734 + 
    6.47424 I, -30.37850 + 4.07676 I, -30.30331 + 
    5.41201 I, -28.99194 - 8.45105 I, -24.05801 + 
    0.35091 I, -24.43580 - 0.69305 I, -29.71399 - 
    2.71735 I, -26.30489 + 4.93457 I, -27.16450 + 
    2.63608 I, -23.40265 + 8.76427 I, -29.56214 - 2.69087 I};

(* whuber 's least squares estimates *)
{a, b} = Inverse[ConjugateTranspose[w1].w1].ConjugateTranspose[w1].z
(* {-20.0172+5.00968 \[ImaginaryI],-0.830797+1.37827 \[ImaginaryI]} *)

(* Break up into the real and imaginary components *)
x = Re[z];
y = Im[z];
u = Re[w];
v = Im[w];
n = Length[z]; (* Sample size *)

(* Construct the real and imaginary components of the model *)
(* This is the messy part you probably don't want to do too often with paper and pencil *)
model = \[Gamma]0 + I \[Delta]0 + (\[Gamma]1 + I \[Delta]1) (u + I v);
modelR = Table[
   Re[ComplexExpand[model[[j]]]] /. Im[h_] -> 0 /. Re[h_] -> h, {j, n}];
(* \[Gamma]0+u \[Gamma]1-v \[Delta]1 *)
modelI = Table[
   Im[ComplexExpand[model[[j]]]] /. Im[h_] -> 0 /. Re[h_] -> h, {j, n}];
(* v \[Gamma]1+\[Delta]0+u \[Delta]1 *)

(* Construct the log of the likelihood as we are estimating the parameters associated with a bivariate normal distribution *)
logL = LogLikelihood[
   BinormalDistribution[{0, 0}, {\[Sigma]1, \[Sigma]2}, \[Rho]],
   Transpose[{x - modelR, y - modelI}]];

mle0 = FindMaximum[{logL /. {\[Rho] -> 
      0, \[Sigma]1 -> \[Sigma], \[Sigma]2 -> \[Sigma]}, \[Sigma] > 
    0}, {\[Gamma]0, \[Delta]0, \[Gamma]1, \[Delta]1, \[Sigma]}]
(* {-357.626,{\[Gamma]0\[Rule]-20.0172,\[Delta]0\[Rule]5.00968,\[Gamma]1\[Rule]-0.830797,\[Delta]1\[Rule]1.37827,\[Sigma]\[Rule]2.20038}} *)

(* Now suppose we don't want to restrict \[Rho]=0 *)
mle1 = FindMaximum[{logL /. {\[Sigma]1 -> \[Sigma], \[Sigma]2 -> \[Sigma]}, \[Sigma] > 0 && -1 < \[Rho] < 
     1}, {\[Gamma]0, \[Delta]0, \[Gamma]1, \[Delta]1, \[Sigma], \[Rho]}]
(* {-315.313,{\[Gamma]0\[Rule]-20.0172,\[Delta]0\[Rule]5.00968,\[Gamma]1\[Rule]-0.763237,\[Delta]1\[Rule]1.30859,\[Sigma]\[Rule]2.21424,\[Rho]\[Rule]0.810525}} *)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.