ปัญหานี้เกิดขึ้นอีกครั้งในMathematica StackExchangeและคำตอบ / ความคิดเห็นเพิ่มเติมของฉันคือคำตอบที่ดีของ @whuber
คำตอบของฉันที่นี่คือความพยายามที่จะขยายคำตอบของ @whuber เพียงเล็กน้อยโดยทำให้โครงสร้างข้อผิดพลาดชัดเจนขึ้นอีกเล็กน้อย ตัวประมาณกำลังสองน้อยที่สุดที่เสนอคือสิ่งที่เราจะใช้ถ้าการแจกแจงข้อผิดพลาด bivariate มีความสัมพันธ์เป็นศูนย์ระหว่างองค์ประกอบจริงและจินตภาพ (แต่ข้อมูลที่สร้างขึ้นมีความสัมพันธ์ผิดพลาด 0.8)
หากมีการเข้าถึงโปรแกรมพีชคณิตเชิงสัญลักษณ์ดังนั้นความยุ่งเหยิงของการสร้างตัวประมาณค่าความน่าจะเป็นสูงสุดของพารามิเตอร์ (ทั้งเอฟเฟกต์ "คงที่" และโครงสร้างความแปรปรวนร่วม) สามารถกำจัดได้ ด้านล่างนี้ฉันใช้ข้อมูลเดียวกับในคำตอบของ @whuber และสร้างการประมาณการความเป็นไปได้สูงสุดโดยสมมติว่าρ = 0 แล้วโดยการสมมติ ρ ≠ 0. ฉันใช้Mathematicaแต่ฉันคิดว่าโปรแกรมพีชคณิตเชิงสัญลักษณ์อื่น ๆ สามารถทำสิ่งที่คล้ายกันได้ (และฉันได้โพสต์รูปภาพของรหัสและผลลัพธ์ก่อนแล้วตามด้วยรหัสจริงในภาคผนวกเนื่องจากฉันไม่สามารถรับMathematica code ให้ดูตามที่ควรจะเป็นโดยใช้แค่ข้อความ)
ตอนนี้สำหรับการประมาณการความเป็นไปได้สูงสุดที่สมมติขึ้น ρ = 0...
เราเห็นว่าประมาณการความน่าจะเป็นสูงสุดซึ่งถือว่า ρ = 0 จับคู่อย่างสมบูรณ์แบบด้วยค่าประมาณกำลังสองรวมน้อยที่สุด
ตอนนี้ให้ข้อมูลเป็นตัวกำหนดประมาณการสำหรับ ρ:
เรามาดูกันว่า γ0 และ δ0 เป็นหลักเหมือนกันไม่ว่าเราจะอนุญาตให้มีการประมาณ ρ. แต่γ1 มีค่าใกล้เคียงกับค่าที่สร้างข้อมูลมากขึ้น (แม้ว่าการอนุมานด้วยขนาดตัวอย่าง 1 ไม่ควรถือว่าชัดเจนว่าจะพูดน้อยที่สุด) และบันทึกของโอกาสที่จะสูงกว่ามาก
จุดของฉันในทั้งหมดนี้คือแบบจำลองที่ถูกต้องจะต้องทำอย่างชัดเจนและโปรแกรมพีชคณิตเชิงสัญลักษณ์ที่สามารถช่วยบรรเทาความยุ่งเหยิง (และแน่นอนที่สุดตัวประมาณความน่าจะเป็นถือว่าการแจกแจงปกติแบบ bivariate ซึ่งตัวประมาณกำลังสองน้อยสุดไม่ถือว่า)
ภาคผนวก: รหัส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}} *)