数年前、私はこのことについて学生向けに(スペイン語で)論文を書いたので、ここでそれらの説明を書き直すことができます。複雑さを増す一連の例を通して、IRLS(繰り返し重み付けされた最小二乗)を見ていきます。最初の例では、ロケーションスケールファミリの概念が必要です。ましょう、ある意味ではゼロを中心と密度関数です。f (x )= f (x ; μ 、σ )= 1を定義することにより、密度のファミリーを構築でき
ます。f0
ここで、σ>0はスケールパラメーターで、μは位置パラメーターです。通常、誤差項が正規分布としてモデル化される測定誤差モデルでは、その正規分布の代わりに、上記で構築されたロケーションスケールファミリを使用できます。場合F0は標準正規分布であり、構成は上記与え
f(x)=f(x;μ,σ)=1σf0(x−μσ)
σ>0μf0ファミリー。
N(μ,σ)
次に、いくつかの簡単な例でIRLSを使用します。最初に、モデルY 1のML(最尤)推定量を見つけます
。
密度を持つ
iid
Y1,Y2,…,Yni.i.d
コーシー分布位置ファミリー
μ(これは場所ファミリーであるように)。しかし、最初にいくつかの表記法。加重最小二乗推定量
μは、によって与えられ、
μ * = Σ N iが= 1 wはI 、Y If(y)=1π11+(y−μ)2,y∈R,
μμ
ここで、
wiはいくつかの重みです。我々は、のML推定器ことがわかります
μを用いて、同一の形で表現することができる
WI残差の一部機能は、
εiは=YIをμ∗=∑ni =1w私y私∑ni = 1w私。
wiμwi
尤度関数は
L (y ; μϵi=yi−μ^.
及びログ尤度関数は次式で与えられ
、L(Y)=-Nログ(π)- N Σ iが=1つのログ(1+を(YI-μ)2)。
その誘導体
μがある
∂ L (Y )L(y;μ)=(1π)n∏i=1n11+(yi−μ)2
l(y)=−nlog(π)−∑i=1nlog(1+(yi−μ)2).
μ εiは=YI-μを。書き込み
f0(ϵ)=1∂l(y)∂μ===0−∑∂∂μlog(1+(yi−μ)2)−∑2(yi−μ)1+(yi−μ)2⋅(−1)∑2ϵi1+ϵ2i
ϵi=yi−μおよび
f ′ 0(f0(ϵ)=1π11+ϵ2、
f ′ 0を得る
f′0(ϵ)=1π−1⋅2ϵ(1+ϵ2)2
私たちを見つける
∂ L (Y )f′0(ϵ)f0(ϵ)=−1⋅2ϵ(1+ϵ2)211+ϵ2=−2ϵ1+ϵ2.
定義
wi= f ′ 0( ϵ i)を使用した場合∂l(y)∂μ===−∑f′0(ϵi)f0(ϵi)−∑f′0(ϵi)f0(ϵi)⋅(−1ϵi)⋅(−ϵi)∑wiϵi
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.
To calculate the ML estimator in practice, we need a start value μ^(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)⋅ ε私− n21ν+ 121ν∑ w私ϵ2私=!0。
推定器につながる
σ2^= 1n∑ w私(y私- μ^)2。
この場合にも、上記の反復アルゴリズムを使用できます。
以下では、Rを使用して、二重指数モデル(既知のスケール)およびdataを使用した数値例を示しますy <- c(-5,-1,0,1,5)
。このデータの場合、ML推定量の真の値は0です。初期値はですmu <- 0.5
。アルゴリズムの1つのパスは
iterest <- function(y, mu) {
w <- 1/abs(y-mu)
weighted.mean(y,w)
}
この関数を使用すると、「手作業」で反復を行うことができます。次に、反復アルゴリズムを次のように実行できます。
mu_0 <- 0.5
repeat {mu <- iterest(y,mu_0)
if (abs(mu_0 - mu) < 0.000001) break
mu_0 <- mu }
演習:モデルが tk スケールパラメーターを使用した分布 σ 繰り返しが重みで与えられることを示す
w私= k + 1k + ϵ2私。
演習:密度がロジスティックの場合、重みが
w (ϵ )= 1 − eϵ1 + eϵ⋅ - 1ϵ。
とりあえずここに置いておきますが、この投稿を続けます。