Vài năm trước tôi đã viết một bài báo về điều này cho các sinh viên của tôi (bằng tiếng Tây Ban Nha), vì vậy tôi có thể cố gắng viết lại những lời giải thích ở đây. Tôi sẽ xem xét IRLS (lặp lại các ô vuông nhỏ nhất) qua một loạt các ví dụ về độ phức tạp tăng dần. Ví dụ đầu tiên, chúng ta cần khái niệm về một gia đình quy mô địa điểm. Đặt f0 là một hàm mật độ tập trung ở 0 trong một số ý nghĩa. Chúng ta có thể xây dựng một họ mật độ bằng cách xác định
f(x)=f(x;μ,σ)=1σf0(x−μσ)
nơi
σ>0là một tham số quy mô và
μlà một tham số địa điểm. Trong mô hình lỗi đo lường, trong đó thông thường thuật ngữ lỗi được mô hình hóa như một phân phối bình thường, chúng ta có thể ở nơi phân phối bình thường đó sử dụng một họ quy mô vị trí như được xây dựng ở trên. Khi
f0là phân phối chuẩn chuẩn, xây dựng trên đưa ra
N(μ,σ)gia đình.
Bây giờ chúng tôi sẽ sử dụng IRLS trên một số ví dụ đơn giản. Đầu tiên chúng ta sẽ tìm thấy những ước lượng trong mô hình ML (tối đa khả năng)
Y1,Y2,…,Yni.i.d
với mật độ
f(y)=1π11+(y−μ)2,y∈R,
phân phối Cauchy gia đình vị trí
μ (vì vậy đây là một gia đình địa điểm). Nhưng trước tiên một số ký hiệu. Công cụ ước lượng bình phương nhỏ nhất có trọng số của
μ được cho bởi
μ∗=∑ni=1wiyi∑ni=1wi.
nơi
wilà một số trọng lượng. Chúng ta sẽ thấy rằng ước lượng ML của
μcó thể được thể hiện bằng các hình thức tương tự, với
wimột số chức năng của các số dư
ϵi=yi−μ^.
Hàm likelihood được cho bởi
L(y;μ)=(1π)n∏i=1n11+(yi−μ)2
và hàm loglikabilities được cho bởi
l(y)=−nlog(π)−∑i=1nlog(1+(yi−μ)2).
Đạo hàm của nó đối với
μlà
nơi
εi=yi-μ. Viết
f0(ε)=1∂l(y)∂μ===0−∑∂∂μlog(1+(yi−μ)2)−∑2(yi−μ)1+(yi−μ)2⋅(−1)∑2ϵi1+ϵ2i
ϵi=yi−μ và
f ' 0 (ε)=1f0(ϵ)=1π11+ϵ2 , chúng tôi nhận
f ' 0 (ε)f′0(ϵ)=1π−1⋅2ϵ(1+ϵ2)2f′0(ϵ)f0(ϵ)=−1⋅2ϵ(1+ϵ2)211+ϵ2=−2ϵ1+ϵ2.
We find
∂l(y)∂μ===−∑f′0(ϵi)f0(ϵi)−∑f′0(ϵi)f0(ϵi)⋅(−1ϵi)⋅(−ϵi)∑wiϵi
where we used the definition
wi=f′0(ϵi)f0(ϵi)⋅(−1ϵi)=−2ϵi1+ϵ2i⋅(−1ϵi)=21+ϵ2i.
Remembering that
ϵi=yi−μ we obtain the equation
∑wiyi=μ∑wi,
which is the estimating equation of IRLS. Note that
- The weights wi are always positive.
- If the residual is large, we give less weight to the corresponding observation.
μ^(0), we could use the median, for example. Using this value we calculate residuals
ϵ(0)i=yi−μ^(0)
and weights
w(0)i=21+ϵ(0)i.
The new value of
μ^ is given by
μ^(1)=∑w(0)iyi∑w(0)i.
Continuing in this way we define
ϵ(j)i=yi−μ^(j)
and
w(j)i=21+ϵ(j)i.
The estimated value at the pass
j+1 of the algorithm becomes
μ^(j+1)=∑w(j)iyi∑w(j)i.
Continuing until the sequence
μ^(0),μ^(1),…,μ^(j),…
converges.
Now we studies this process with a more general location and scale family, f(y)=1σf0(y−μσ), with less detail.
Let Y1,Y2,…,Yn be independent with the density above. Define also ϵi=yi−μσ. The loglikelihood function is
l(y)=−n2log(σ2)+∑log(f0(yi−μσ)).
Writing
ν=σ2, note that
∂ϵi∂μ=−1σ
and
∂ϵi∂ν=(yi−μ)(1ν−−√)′=(yi−μ)⋅−12σ3.
Calculating the loglikelihood derivative
∂l(y)∂μ=∑f′0(ϵi)f0(ϵi)⋅∂ϵi∂μ=∑f′0(ϵi)f0(ϵi)⋅(−1σ)=−1σ∑f′o(ϵi)f0(ϵi)⋅(−1ϵi)(−ϵi)=1σ∑wiϵi
and equaling this to zero gives the same estimating equation as the first example. Then searching for an estimator for
σ2:
∂l(y)∂ν=====−n21ν+∑f′0(ϵi)f0(ϵi)⋅∂ϵi∂ν−n21ν+∑f′0(ϵi)f0(ϵi)⋅(−(yi−μ)2σ3)−n21ν−121σ2∑f′0(ϵi)f0(ϵi)⋅ϵi−n21ν−121ν∑f′0(ϵi)f0(ϵi)⋅(−1ϵi)(−ϵi)⋅ϵi−n21ν+121ν∑wiϵ2i=!0.
leading to the estimator
σ2^=1n∑wi(yi−μ^)2.
The iterative algorithm above can be used in this case as well.
In the following we give a numerical examle using R, for the double exponential model (with known scale) and with data y <- c(-5,-1,0,1,5)
. For this data the true value of the ML estimator is 0.
The initial value will be mu <- 0.5
. One pass of the algorithm is
iterest <- function(y, mu) {
w <- 1/abs(y-mu)
weighted.mean(y,w)
}
with this function you can experiment with doing the iterations "by hand"
Then the iterative algorithm can be done by
mu_0 <- 0.5
repeat {mu <- iterest(y,mu_0)
if (abs(mu_0 - mu) < 0.000001) break
mu_0 <- mu }
Exercise: If the model is a tk distribution with scale parameter σ show the iterations are given by the weight
wi=k+1k+ϵ2i.
Exercise: If the density is logistic, show the weights are given by
w(ϵ)=1−eϵ1+eϵ⋅−1ϵ.
For the moment I will leave it here, I will continue this post.