Esse problema surgiu novamente no Mathematica StackExchange e minha resposta / comentário extenso é que a resposta excelente do @whuber deve ser seguida.
Minha resposta aqui é uma tentativa de estender a resposta do @whuber um pouco, tornando a estrutura do erro um pouco mais explícita. O estimador de mínimos quadrados proposto é o que se usaria se a distribuição de erro bivariada tivesse uma correlação zero entre os componentes reais e imaginários. (Mas os dados gerados têm uma correlação de erro de 0,8.)
ρ=0ρ≠0
ρ=0
ρ=0
ρ
γ0δ0ργ1
O que quero dizer com tudo isso é que o modelo que está sendo ajustado precisa ser completamente explícito e que os programas de álgebra simbólica podem ajudar a aliviar a confusão. (E, é claro, os estimadores de probabilidade máxima assumem uma distribuição normal bivariada que os estimadores de mínimos quadrados não assumem.)
Apêndice: O código completo do Mathematica
(* 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}} *)