หลายปีก่อนฉันเขียนบทความเกี่ยวกับเรื่องนี้สำหรับนักเรียนของฉัน (เป็นภาษาสเปน) ดังนั้นฉันสามารถลองเขียนคำอธิบายเหล่านั้นใหม่ที่นี่ ฉันจะดู IRLS (ซ้ำอย่างน้อยกำลังสองกำลังสองน้อย) ผ่านตัวอย่างของการเพิ่มความซับซ้อน สำหรับตัวอย่างแรกเราต้องการแนวคิดของตระกูลระดับตำแหน่ง ให้เป็นฟังก์ชันความหนาแน่นที่มีศูนย์เป็นศูนย์ในบางแง่มุม เราสามารถสร้างครอบครัวของความหนาแน่นโดยการกำหนด
f ( x ) = f ( x ; μ , σ ) = 1ฉ0
โดยที่σ>0เป็นพารามิเตอร์สเกลและμเป็นพารามิเตอร์ตำแหน่ง ในโมเดลข้อผิดพลาดในการวัดซึ่งโดยปกติคำว่าข้อผิดพลาดนั้นถูกจำลองเป็นการแจกแจงแบบปกติเราสามารถใช้การกระจายแบบปกติในสถานที่ของการกระจายแบบปกติที่ใช้ตระกูลระดับตำแหน่งตามที่สร้างไว้ด้านบน เมื่อฉ0คือการกระจายแบบปกติมาตรฐานการก่อสร้างดังกล่าวข้างต้นจะช่วยให้N(μ,σ)ครอบครัว
ฉ( x ) = f( x ; μ , σ) = 1σฉ0( x - μσ)
σ> 0μฉ0ไม่มี( μ , σ)
ตอนนี้เราจะใช้ IRLS กับตัวอย่างง่ายๆ ก่อนอื่นเราจะพบตัวประมาณค่า ML (โอกาสสูงสุด) ในโมเดล
มีความหนาแน่น
f ( y ) = 1
Y1, วาย2, … , YnIID
Cauchy แจกจ่ายตระกูลตำแหน่งที่ตั้ง
μ (ดังนั้นนี่คือตระกูลตำแหน่ง) แต่ก่อนอื่นบางสัญกรณ์ ตัวประมาณกำลังสองน้อยที่สุดของ
μถูกกำหนดโดย
μ ∗ = ∑ n ฉัน= 1 w ฉันy ฉันฉ( y) = 1π11 + ( y- μ )2,Y∈ R ,
μμ
ที่
Wผมเป็นน้ำหนักบางส่วน เราจะเห็นว่าประมาณการ ML ของ
μสามารถแสดงในรูปแบบเดียวกันกับ
Wฉันฟังก์ชั่นของเศษบาง
εฉัน=Yฉัน -μ
ฟังก์ชันความน่าจะเป็นได้รับจาก
L(y;μ)=(1μ* * * *= ∑ni = 1WผมYผมΣni = 1Wผม.
Wผมμwiϵi=yi−μ^.
และฟังก์ชั่น loglikelihood จะได้รับโดย
L(Y)=-nล็อก(π)- n Σฉัน=1ล็อก(1+(y ที่ฉัน-μ)2)
อนุพันธ์ของมันเทียบกับ
μคือ
∂ l ( y )L(y;μ)=(1π)n∏i=1n11+(yi−μ)2
l(y)=−nlog(π)−∑i=1nlog(1+(yi−μ)2).
μ
ที่
εฉัน=Yฉัน-μ
เขียน
f0(ϵ)=1∂l(y)∂μ===0−∑∂∂μlog(1+(yi−μ)2)−∑2(yi−μ)1+(yi−μ)2⋅(−1)∑2ϵi1+ϵ2i
ϵi=yi−μและ
f ′ 0 (ϵ)=1f0(ϵ)=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
จดจำว่า
εฉัน=Yฉัน-μเราได้รับสม
ΣWฉันYฉัน=μΣWฉัน,
ซึ่งเป็นสมการประเมินของ IRLS สังเกตได้ว่า
wi=f′0(ϵi)f0(ϵi)⋅(−1ϵi)=−2ϵi1+ϵ2i⋅(−1ϵi)=21+ϵ2i.
ϵi=yi−μ∑wiyi=μ∑wi,
- น้ำหนักเป็นบวกเสมอwi
- หากส่วนที่เหลือมีขนาดใหญ่เราให้น้ำหนักน้อยลงกับการสังเกตที่สอดคล้องกัน
μ^(0)
ϵ(0)i=yi−μ^(0)
w(0)i=21+ϵ(0)i.
μ^μ^(1)=∑w(0)iyi∑w(0)i.
ϵ(j)i=yi−μ^(j)
w(j)i=21+ϵ(j)i.
j+1μ^(j+1)=∑w(j)iyi∑w(j)i.
μ^(0),μ^(1),…,μ^(j),…
f(y)=1σf0(y−μσ)Y1,Y2,…,Ynϵi=yi−μσ
l(y)=−n2log(σ2)+∑log(f0(yi−μσ)).
ν=σ2∂ϵi∂μ=−1σ
∂ϵi∂ν=(yi−μ)(1ν−−√)′=(yi−μ)⋅−12σ3.
∂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
σ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.
σ2^=1n∑wi(yi−μ^)2.
ในต่อไปนี้เราให้ตัวเลข examle ใช้ R, สำหรับรุ่นชี้แจงคู่ (มีขนาดที่รู้จักกัน) y <- c(-5,-1,0,1,5)
และมีข้อมูล สำหรับข้อมูลมูลค่าที่แท้จริงของประมาณการ ML เป็น 0 mu <- 0.5
ค่าเริ่มต้นจะเป็น ขั้นตอนวิธีหนึ่งคือ
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σ
wi=k+1k+ϵ2i.
w(ϵ)=1−eϵ1+eϵ⋅−1ϵ.
สำหรับช่วงเวลาที่ฉันจะออกจากที่นี่ฉันจะดำเนินการโพสต์นี้