資料探測和穩健估計均可以探測出粗差,但是資料探測僅僅在資料中僅乙個觀測量含有粗差時好用,如果想要檢驗多個粗差,需要逐步剔除已檢驗粗差,再繼續檢驗。而穩健估計在處理包含有多個粗差時有一定優勢。
穩健估計分為三大類:m估計,r估計,l估計,m估計最常用,它是一種廣義的極大似然估計,有分為選權迭代法和p範數最小法。
其中ρ為m估計的函式,p為權
m估計的穩健性與ρ的選擇有關,當ρ=v**2時,即為最小二乘估計,它並不具有抗差性。
選取不同的ρ函式,會得出不同的m估計,因此m估計不是乙個估計,而是一類估計。
流程:
(1)建立數學模型:v=bx-l
(2)按照最小二乘法求解引數估計值及其殘差:x=inv(n)*w,v=bx-l
(3)由v求解觀測值的等價權矩陣p_,應用抗差最小二乘(p_代替p)進行迭代計算,直到δx<=η,η為迭代停止條件
(4)最後計算出x,v,權函式ρ
huber,hampel,丹麥法,igg,一次範數最小法,p範數最小法,相關等價權法。
其中p範數最小法
ρ函式:
權因子:
import numpy as np
np.set_printoptions(suppress=
true
)# 抑制科學記數法
# b,l,p矩陣
b = np.array([0
,1,0
,-1,
1,0,
-1,0
,-1,
1]).reshape(5,
2)l = np.array([0
,-1,
0,4,
8])p = np.array([2
,2,2
,2,1
])p = np.diag(p)
def
cal_canshu
(b, p, l)
: n = np.dot(b.t, p)
.dot(b)
w = np.dot(b.t, p)
.dot(l)
inv_n = np.linalg.inv(n)
x = inv_n.dot(w)
v = b.dot(x)
- l return x, v
# 由初始權陣計算x,v
x, v = cal_canshu(b, p, l)
# print(x,v)
# 選權迭代:p範最小法
m =1.5
k =0.0002
yita =
0.000001
# 終止迴圈條件
yita_array = np.array(
[yita]*2
)w =
# 權因子矩陣
for v in v:
w_v =
(abs
(v)**(2
- m)
+ k)**-
1p_ = p * w # 更新權陣
# print(p_)
# 計算更新權陣之後的x,v
x_, v_ = cal_canshu(b, p_, l)
delta =
abs(x_ - x)
delta[0]
=round
(delta[0]
,7)delta[1]
=round
(delta[1]
,7)# 保留7位小數
while
all(delta >= yita_array)
:# 這裡注意如果要比較矩陣大小,需選擇all(所有因子)/any(乙個及以上)進行比較
w_v =
for i in v_:
w_a =
(abs
(i)**(2
- m)
+ k)**(
-1)# print(w_v)
x = x_
p_ = p_ * w_v # 更新權陣
x_, v_ = cal_canshu(b, p_, l)
delta =
abs(x_ - x)
delta[0]
=round
(delta[0]
,7) delta[1]
=round
(delta[1]
,7)# 保留7位小數
ρ =
for i in v_:
[abs
(i)** m]
)print
(ρ, x_)
[
[0.9999999999960162],
[4.328242386676566e-18],
[7.999999908958161],
[5.28663897358714e-12],
[5.196152501558078]]
[-3.999999971.
]
從步驟可以看出,該方法關鍵是確定等價權,權函式是乙個在平差過程中隨改正數變化的量,經過多次迭代,含有粗差的異常觀測的權函式接近0
**權函式不是權陣,異常值的權會變大(l2,l4)
原子範數及線譜估計
原子範數 區別於 l 1 範數只能用來處理稀疏向量和核範數只能處理稀疏矩陣,原子範數通過選取不同的基向量,可以有處理不同的問題。一 定義 1.1 原子範數 x a inf 簡單的說,這是乙個由a中的向量構成的乙個凸包 conv a 通過整體的尺度變換使得 x 恰好落入 tconv a 中,把最後的尺...
余弦相似度和p範數
參考連線 余弦相似度 torch.nn.cosinesimilarity dim 1,eps 1e 08 cosinesimilarity 引數dim 要計算余弦相似性的維度,預設為1 eps 避免除零的最小值。預設為1e 8 形狀輸入x1 1,d,2 其中d位於dim位置上 輸入x2 1,d,2 ...
最小二乘估計與最大似然估計
看似最小二乘估計與最大似然估計在推導得到的結果很相似,但是其前提條件必須引起大家的注意!對於最小二乘估計,最合理的引數估計量應該使得模型能最好地擬合樣本資料,也就是估計值和觀測值之差的平方和最小,其推導過程如下所示。其中q表示誤差,yi表示估計值,yi 表示觀測值。對於最大似然法,最合理的引數估計量...