Alguns anos atrás, escrevi um artigo sobre isso para meus alunos (em espanhol), para tentar reescrever essas explicações aqui. Examinarei o IRLS (mínimos quadrados ponderados iterativamente) através de uma série de exemplos de crescente complexidade. Para o primeiro exemplo, precisamos do conceito de uma família em escala de localização. Seja f0 0 uma função de densidade centrada em zero em algum sentido. Podemos construir uma família de densidades definindo
f( x ) = f( x ; μ , σ) = 1σf0 0( x - μσ)
onde
σ> 0é um parâmetro de escala e
μé um parâmetro de localização. No modelo de erro de medição, onde normalmente o termo de erro é modelado como uma distribuição normal, podemos no lugar dessa distribuição normal usar uma família de escala de localização, conforme construído acima. Quando
f0 0é a distribuição normal padrão, a construção acima fornece a família
N ( μ , σ).
Agora vamos usar o IRLS em alguns exemplos simples. Primeiro, vamos encontrar os estimadores de ML (máxima verossimilhança) no modelo
com a densidade
f ( y ) = 1
Y1, Y2, ... , Yniid
a distribuição de Cauchy a família localização
μ (de modo que este é um local família). Mas primeiro alguma notação. O estimador de mínimos quadrados ponderados de
μ é dado por
μ ∗ = ∑ n i = 1 w i y if( y) = 1π11 + ( y- μ )2,y∈ R ,
μμ
Onde
wié alguns pesos. Vamos ver que o estimador de ML
μpode ser expressa sob a mesma forma, com a
wialguma função dos resíduos
£i=yi - μ .
A função de verossimilhança é dada por
L(y;μ)=(1μ∗= ∑ni = 1WEuyEu∑ni = 1WEu.
WEuμWEuϵEu= yEu- μ^.
e a função de probabilidade de logaritmo é dada por
l(y)=-nlog(π)- n ∑ i=1log(1+(yi-μ)2).
Sua derivada em relação a
μé
∂ l ( y )L ( y; μ ) = ( 1π)n∏i = 1n11 + ( yEu- μ )2
l ( y) = - n log( π) - ∑i = 1nregistro( 1 + ( yEu- μ )2) .
μ
onde
ϵi=yi-μ. Escreva
f0(ϵ)=1∂l ( y)∂μ===0 - ∑ ∂∂μregistro( 1 + ( yEu- μ )2)- ∑ 2 ( yEu- μ )1 + ( yEu- μ )2⋅(−1)∑2ϵi1+ϵ2i
ϵi=yi−μ e
f ' 0 (ε)=1f0(ϵ)=1π11+ϵ2 , obtemos
f ′ 0 (ϵ)f′0(ϵ)=1π−1⋅2ϵ(1+ϵ2)2
Encontramos
∂ l ( y )f′0(ϵ)f0(ϵ)=−1⋅2ϵ(1+ϵ2)211+ϵ2=−2ϵ1+ϵ2.
em que foi utilizada a definição
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= U Σ wEu,
que é a equação de estimativa do IRLS. Observe que
- Os pesos WEu são sempre positivos.
- Se o resíduo for grande, atribuímos menos peso à observação correspondente.
Para calcular o estimador de ML na prática, precisamos de um valor inicial μ^( 0 ), poderíamos usar a mediana, por exemplo. Usando esse valor, calculamos resíduos
ϵ( 0 )Eu= yEu- μ^( 0 )
e pesos
W( 0 )Eu= 21 + ϵ( 0 )Eu.
O novo valor de
μ^ É dado por
μ^( 1 )= ∑ w( 0 )EuyEu∑ w( 0 )Eu.
Continuando dessa maneira, definimos
ϵ( J )Eu= yEu- μ^( J )
e
W( J )Eu= 21 + ϵ( J )Eu.
O valor estimado no passe
j + 1 do algoritmo se torna
μ^( j + 1 )= ∑ w( J )EuyEu∑ w( J )Eu.
Continuando até a sequência
μ^( 0 ), μ^( 1 ), … , Μ^( J ), …
converge.
Agora estudamos esse processo com uma localização mais geral e uma família de escalas, f( y) = 1σf0 0( y- μσ), com menos detalhes. DeixeiY1, Y2, ... , Ynseja independente da densidade acima. Definir tambémϵEu= yEu- μσ. A função loglikelihood é
l ( y) = - n2registro( σ2) + ∑ log( f0 0( yEu- μσ) ).
Escrevendo
ν= σ2, Observe que
∂ϵEu∂μ= - 1σ
e
∂ϵEu∂ν= ( yEu- μ ) ( 1ν--√)′= ( yEu- μ ) ⋅ - 12 σ3.
Cálculo da derivada de probabilidade de log
∂l ( y)∂μ= ∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ∂ϵEu∂μ= ∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ( - 1σ) =- 1σ∑ f′o( ϵEu)f0 0( ϵEu)⋅ ( - 1ϵEu) (- ϵEu) = 1σ∑ wEuϵEu
e igualar esse valor a zero fornece a mesma equação de estimativa do primeiro exemplo. Em seguida, procure um estimador para
σ2:
∂l ( y)∂ν=====- n21ν+ ∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ∂ϵEu∂ν- n21ν+ ∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ( - ( yEu- μ )2 σ3)- n21ν- 121σ2∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ϵEu- n21ν- 121ν∑ f′0 0( ϵEu)f0 0( ϵEu)⋅ ( - 1ϵEu) (- ϵEu) ⋅ ϵEu- n21ν+ 121ν∑ wEuϵ2Eu=!0
levando ao estimador
σ2^= 1n∑ wEu( yEu- μ^)2.
O algoritmo iterativo acima também pode ser usado neste caso.
A seguir, apresentamos um exame numérico usando R, para o modelo exponencial duplo (com escala conhecida) e com dados y <- c(-5,-1,0,1,5)
. Para esses dados, o valor verdadeiro do estimador de ML é 0. O valor inicial será mu <- 0.5
. Uma passagem do algoritmo é
iterest <- function(y, mu) {
w <- 1/abs(y-mu)
weighted.mean(y,w)
}
Com esta função, você pode experimentar fazer as iterações "manualmente". Em seguida, o algoritmo iterativo pode ser feito por
mu_0 <- 0.5
repeat {mu <- iterest(y,mu_0)
if (abs(mu_0 - mu) < 0.000001) break
mu_0 <- mu }
Exercício: Se o modelo é um tk distribuição com parâmetro de escala σ mostre que as iterações são dadas pelo peso
WEu= k + 1k + ϵ2Eu.
Exercício: Se a densidade for logística, mostre que os pesos são dados por
w ( ϵ ) = 1 - eϵ1 + eϵ⋅ - 1ϵ.
Por enquanto, deixarei aqui, continuarei este post.