Alcuni anni fa ho scritto un articolo su questo per i miei studenti (in spagnolo), quindi posso provare a riscrivere queste spiegazioni qui. Esaminerò IRLS (minimi quadrati ripetutamente ripetuti) attraverso una serie di esempi di complessità crescente. Per il primo esempio abbiamo bisogno del concetto di una famiglia in scala locale. Sia una funzione di densità centrata su zero in un certo senso. Possiamo costruire una famiglia di densità definendo
dove è un parametro di scala e f ( x ) = f ( x ; μ , σ ) = 1f0σ>0μf0N(μ,σ)
f(x)=f(x;μ,σ)=1σf0(x−μσ)
σ>0μè un parametro di posizione. Nel modello di errore di misurazione, dove di solito il termine di errore è modellato come una distribuzione normale, al posto di quella distribuzione normale possiamo usare una famiglia di scala di posizione come costruita sopra. Quando è la distribuzione normale standard, la costruzione precedente fornisce la famiglia .
f0N(μ,σ)
Ora useremo IRLS su alcuni semplici esempi. Per prima cosa troveremo gli stimatori ML (massima verosimiglianza) nel modello
con la densità
Cauchy distribuisce la famiglia di posizioni (quindi questa è una famiglia di posizioni). Ma prima un po 'di notazione. Lo stimatore dei minimi quadrati ponderati di è dato da
dove è alcuni pesi. Vedremo che lo stimatore ML di può essere espresso nella stessa forma, conf ( y ) = 1
Y1,Y2,…,Yni.i.d
μ μ μ ∗ = ∑ n i = 1 w i y if(y)=1π11+(y−μ)2,y∈R,
μμwiuwiεi=yi - μ . L(y;μ)=(1μ∗=∑ni=1wiyi∑ni=1wi.
wiμwialcune funzioni dei residui
La funzione di probabilità è data da
e la funzione loglikelihood è data da
Il suo derivato rispetto a è
dove . Scrivi
ϵi=yi−μ^.
L(y;μ)=(1π)n∏i=1n11+(yi−μ)2
l(y)=−nlog(π)−∑i=1nlog(1+(yi−μ)2).
μ∂l(y)∂μ===0−∑∂∂μlog(1+(yi−μ)2)−∑2(yi−μ)1+(yi−μ)2⋅(−1)∑2ϵi1+ϵ2i
ϵi=yi−μf0(ϵ)=1π11+ϵ2 e , otteniamo
Troviamo
dove abbiamo usato la definizione
f′0(ϵ)=1π−1⋅2ϵ(1+ϵ2)2f′0(ϵ)f0(ϵ)=−1⋅2ϵ(1+ϵ2)211+ϵ2=−2ϵ1+ϵ2.
∂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.
Ricordando che
otteniamo l'equazione
che è l'equazione di stima di IRLS. Nota che
ϵi=yi−μ∑wiyi=μ∑wi,
- I pesi sono sempre positivi.wi
- Se il residuo è grande, diamo meno peso all'osservazione corrispondente.
Per calcolare lo stimatore ML in pratica, abbiamo bisogno di un valore iniziale , potremmo usare la mediana, per esempio. Usando questo valore calcoliamo i residui
e pesi
Il nuovo valore di è dato da
Continuando in questo modo definiamo
e
Il valore stimato al passaggio dell'algoritmo diventa
μ^(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.
Continuando fino a quando la sequenza
converge.
μ^(0),μ^(1),…,μ^(j),…
Ora studiamo questo processo con una posizione e una famiglia di scala più generali, , con meno dettagli. Lascia che siano indipendenti con la densità sopra. Definisci anche . La funzione loglikelihood è
Scrivendo , nota che
e
Calcolo del derivato del loglikelihood
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
ed eguagliare questo a zero fornisce la stessa equazione di stima del primo esempio. Quindi cercare uno stimatore per :
σ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.
portando allo stimatore
L'algoritmo iterativo sopra può essere utilizzato anche in questo caso.
σ2^=1n∑wi(yi−μ^)2.
Di seguito diamo un esame numerico usando R, per il modello esponenziale doppio (con scala nota) e con i dati y <- c(-5,-1,0,1,5)
. Per questi dati il vero valore dello stimatore ML è 0. Il valore iniziale sarà mu <- 0.5
. Un passaggio dell'algoritmo è
iterest <- function(y, mu) {
w <- 1/abs(y-mu)
weighted.mean(y,w)
}
con questa funzione è possibile provare a eseguire le iterazioni "a mano". Quindi è possibile eseguire l'algoritmo iterativo
mu_0 <- 0.5
repeat {mu <- iterest(y,mu_0)
if (abs(mu_0 - mu) < 0.000001) break
mu_0 <- mu }
Esercizio: se il modello è una distribuzione con parametro di scala mostra che le iterazioni sono date dal peso
Esercizio: se la densità è logistica, mostra che i pesi sono dati da
tkσw(ϵ)=1-eϵ
wi=k+1k+ϵ2i.
w(ϵ)=1−eϵ1+eϵ⋅−1ϵ.
Per il momento lo lascerò qui, continuerò questo post.