คุณช่วยอธิบายวิธีการ IRLS ที่ใช้งานง่ายเพื่อหา MLE ของ GLM ได้หรือไม่?


13

พื้นหลัง:

ฉันพยายามที่จะทำตามการตรวจสอบพรินซ์ตันของการประมาณค่า MLE สำหรับ GLM

ฉันเข้าใจพื้นฐานของการประมาณค่า MLE นี้likelihood, scoreข้อสังเกตและคาดว่าFisher informationและFisher scoringเทคนิค และฉันรู้ว่าวิธีการที่จะแสดงให้เห็นถึงการถดถอยเชิงเส้นที่เรียบง่ายด้วยการประมาณค่า MLE


คำถาม:

ฉันไม่เข้าใจแม้แต่บรรทัดแรกของวิธีนี้ :(

สัญชาตญาณของตัวแปรการทำงานของziหมายถึงอะไร:

zi=η^i+(yi−μ^i)dηidμi

ทำไมพวกเขาจะนำมาใช้แทนyiที่จะประเมินβ ?

และสิ่งที่พวกเขามีความสัมพันธ์กับresponse/link functionซึ่งคือการเชื่อมต่อระหว่างηและμ

หากใครมีคำอธิบายง่าย ๆ หรือสามารถนำฉันไปที่ข้อความระดับพื้นฐานเพิ่มเติมเกี่ยวกับเรื่องนี้ฉันจะขอบคุณ


1
ในฐานะที่เป็นบันทึกด้านข้างสำหรับฉันฉันได้เรียนรู้เกี่ยวกับ IRLS ในบริบทของการประมาณค่าที่แข็งแกร่ง (M-)ก่อนที่จะได้ยินเกี่ยวกับกรอบ "GLM" ทั้งหมด (ซึ่งฉันยังไม่เข้าใจ) สำหรับมุมมองที่ใช้งานได้จริงในวิธีการนี้โดยทั่วไปอย่างง่ายของกำลังสองน้อยที่สุดฉันขอแนะนำแหล่งที่มาที่ฉันพบเป็นครั้งแรก: ภาคผนวก B ของRichard Vision Szeliski Computer Vision (free E-) หนังสือ (4 หน้าแรกจริงๆแม้ว่าลิงก์เหล่านี้ ตัวอย่างที่ดีเช่นกัน)
— GeoMatt22

คำตอบ:


15

หลายปีก่อนฉันเขียนบทความเกี่ยวกับเรื่องนี้สำหรับนักเรียนของฉัน (เป็นภาษาสเปน) ดังนั้นฉันสามารถลองเขียนคำอธิบายเหล่านั้นใหม่ที่นี่ ฉันจะดู IRLS (ซ้ำอย่างน้อยกำลังสองกำลังสองน้อย) ผ่านตัวอย่างของการเพิ่มความซับซ้อน สำหรับตัวอย่างแรกเราต้องการแนวคิดของตระกูลระดับตำแหน่ง ให้เป็นฟังก์ชันความหนาแน่นที่มีศูนย์เป็นศูนย์ในบางแง่มุม เราสามารถสร้างครอบครัวของความหนาแน่นโดยการกำหนด f ( x ) = f ( x ; μ , σ ) = 1f0 โดยที่σ>0เป็นพารามิเตอร์สเกลและμเป็นพารามิเตอร์ตำแหน่ง ในโมเดลข้อผิดพลาดในการวัดซึ่งโดยปกติคำว่าข้อผิดพลาดนั้นถูกจำลองเป็นการแจกแจงแบบปกติเราสามารถใช้การกระจายแบบปกติในสถานที่ของการกระจายแบบปกติที่ใช้ตระกูลระดับตำแหน่งตามที่สร้างไว้ด้านบน เมื่อฉ0คือการกระจายแบบปกติมาตรฐานการก่อสร้างดังกล่าวข้างต้นจะช่วยให้N(μ,σ)ครอบครัว

f(x)=f(x;μ,σ)=1σf0(x−μσ)
σ>0μf0N(μ,σ)

ตอนนี้เราจะใช้ IRLS กับตัวอย่างง่ายๆ ก่อนอื่นเราจะพบตัวประมาณค่า ML (โอกาสสูงสุด) ในโมเดล มีความหนาแน่น f ( y ) = 1

Y1,Y2,…,Yni.i.d
Cauchy แจกจ่ายตระกูลตำแหน่งที่ตั้ง μ (ดังนั้นนี่คือตระกูลตำแหน่ง) แต่ก่อนอื่นบางสัญกรณ์ ตัวประมาณกำลังสองน้อยที่สุดของ μถูกกำหนดโดย μ ∗ = ∑ n ฉัน= 1 w ฉันy ฉัน
f(y)=1π11+(y−μ)2,y∈R,
μμ ที่Wผมเป็นน้ำหนักบางส่วน เราจะเห็นว่าประมาณการ ML ของμสามารถแสดงในรูปแบบเดียวกันกับWฉันฟังก์ชั่นของเศษบาง εฉัน=Yฉัน -μ ฟังก์ชันความน่าจะเป็นได้รับจาก L(y;μ)=(1
μ∗=∑i=1nwiyi∑i=1nwi.
wiμ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+ϵi2
ϵi=yi−μและf ′ 0 (ϵ)=1f0(ϵ)=1π11+ϵ2เราได้ f ′ 0 (ϵ)f0′(ϵ)=1π−1⋅2ϵ(1+ϵ2)2 เราพบ ∂ l ( y )
f0′(ϵ)f0(ϵ)=−1⋅2ϵ(1+ϵ2)211+ϵ2=−2ϵ1+ϵ2.
โดยที่เราใช้นิยาม wi= f ′ 0 ( ϵ i )
∂l(y)∂μ=−∑f0′(ϵi)f0(ϵi)=−∑f0′(ϵi)f0(ϵi)⋅(−1ϵi)⋅(−ϵi)=∑wiϵi
จดจำว่า εฉัน=Yฉัน-μเราได้รับสม ΣWฉันYฉัน=μΣWฉัน, ซึ่งเป็นสมการประเมินของ IRLS สังเกตได้ว่า
wi=f0′(ϵi)f0(ϵi)⋅(−1ϵi)=−2ϵi1+ϵi2⋅(−1ϵi)=21+ϵi2.
ϵi=yi−μ
∑wiyi=μ∑wi,
  1. น้ำหนักเป็นบวกเสมอwi
  2. หากส่วนที่เหลือมีขนาดใหญ่เราให้น้ำหนักน้อยลงกับการสังเกตที่สอดคล้องกัน

μ^(0)

ϵi(0)=yi−μ^(0)
wi(0)=21+ϵi(0).
μ^
μ^(1)=∑wi(0)yi∑wi(0).
ϵi(j)=yi−μ^(j)
wi(j)=21+ϵi(j).
j+1
μ^(j+1)=∑wi(j)yi∑wi(j).
μ^(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)∂μ=∑f0′(ϵi)f0(ϵi)⋅∂ϵi∂μ=∑f0′(ϵi)f0(ϵi)⋅(−1σ)=−1σ∑fo′(ϵi)f0(ϵi)⋅(−1ϵi)(−ϵi)=1σ∑wiϵi
σ2
∂l(y)∂ν=−n21ν+∑f0′(ϵi)f0(ϵi)⋅∂ϵi∂ν=−n21ν+∑f0′(ϵi)f0(ϵi)⋅(−(yi−μ)2σ3)=−n21ν−121σ2∑f0′(ϵi)f0(ϵi)⋅ϵi=−n21ν−121ν∑f0′(ϵi)f0(ϵi)⋅(−1ϵi)(−ϵi)⋅ϵi=−n21ν+121ν∑wiϵi2=!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+ϵi2.
w(ϵ)=1−eϵ1+eϵ⋅−1ϵ.

สำหรับช่วงเวลาที่ฉันจะออกจากที่นี่ฉันจะดำเนินการโพสต์นี้


uui

1
ฉันจะเพิ่มมากขึ้นในเรื่องนี้หมดเวลาแล้ว! ความคิดยังคงเหมือนเดิม แต่รายละเอียดมีส่วนร่วมมากขึ้น
— kjetil b halvorsen

2
จะมาถึงที่!
— kjetil b halvorsen

1
tk

2
คุณคิดจะเขียนโพสต์บล็อกที่ไหนสักแห่งเพื่อดำเนินการต่อคำอธิบายนี้? มีประโยชน์จริงๆสำหรับฉันและฉันแน่ใจว่าจะให้คนอื่น ๆ ...
— ihadanny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.