2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
為了簡化描述,我將假設(shè)點(diǎn)由復(fù)數(shù)表示。
您的問題可以這樣表述:
我們有n+1 個(gè)點(diǎn),任意設(shè)置為 (0,0) 的點(diǎn)和 n *unknown" 點(diǎn),你有m 個(gè)嘈雜的觀察結(jié)果,m比n大(很多) 。
觀察對應(yīng)于對點(diǎn)i和j之間差異的(輕微)錯(cuò)誤估計(jì):
Y[k] = X[i] - X[j]
那么,關(guān)系集可以表示為:
Y = A X + N
其中X是未知點(diǎn)的向量,向量Y對應(yīng)于觀測值,A是定義觀測值的矩陣,N代表觀測值的誤差。
第一種方法是 LS(最小二乘)方法。
通過使用 Moore-Penrose 偽逆,我們可以通過以下方式獲得 LS 估計(jì):
X1 = (A^H A)^(-1) A^H Y
其中 A^H 是A的 Hermitian 轉(zhuǎn)置。由于此處A是實(shí)數(shù),因此它對應(yīng)于A的轉(zhuǎn)置。這種估計(jì)最小化
min norm of (AX - AX1)
另一種方法是假設(shè)N是方差為 s2 的加性高斯噪聲。我們可以通過以下方式獲得 MMSE/Wiener 估計(jì):
X2 = (A^H A + s2 I)^(-1) A^H Y
其中 I 是大小為n的單位矩陣。這個(gè)估計(jì)最小化:
min E (norm (X2 - X)) = min MSE (Mean Square error)
其中E(.)
代表統(tǒng)計(jì)平均值(期望)。這是一種隨機(jī)方法(我們最小化期望),與 LS 方法相反。
有時(shí),我們不能假設(shè)噪聲是高斯分布的,或者我們不知道方差。此外,根據(jù)矩陣 A 的奇異值,LS 估計(jì)可能看起來并不完全穩(wěn)定。因此,有時(shí)會使用第三種方法:
X2 = (A^H A + lambda I)^(-1) A^H Y
其中 lambda 是一個(gè)(小的)松弛系數(shù),以避免 LS 方法可能出現(xiàn)的不穩(wěn)定性。
注意:如果矩陣求逆過于復(fù)雜,而且觀察誤差很小,當(dāng)然可以使用迭代方法來改進(jìn)估計(jì)。

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
我不知道這個(gè)問題的名字,但是https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html可以找到最小化平方和的解決方案錯(cuò)誤。
您已經(jīng)將第一個(gè)點(diǎn)固定在原點(diǎn)。您可以堅(jiān)持認(rèn)為第二個(gè)點(diǎn)位于 x 軸上。然后導(dǎo)致像這樣的點(diǎn)列表:(0, 0), (0, y1), (x2, y2), (x3, y3), ..., (xn, yn)
?,F(xiàn)在您只需編寫一個(gè)函數(shù)來獲取[y1, x2, y2, x3, yx, ..., xn, yn]
并返回誤差平方和。優(yōu)化它。該BFGS
方法可能是一個(gè)不錯(cuò)的選擇。
添加回答
舉報(bào)