Você está na página 1de 21

Modelos Lineares Generalizados

2ª Lista

Silvaneo Viera dos Santos Junior

2022-11-27

Questão 1
a)
Sabemos que, para quaisquer duas variáveis aleatórias contínuas X e Y , vale que:

fXY (x, y) = fX (x|Y = y)fY (y).

Pelo enunciado temos que:

⃗ ∼ Ber (Φ(Zi ))
Yi |β, Z
⃗ ∼ N (X ′ β, I)
Z|β
β ∼ N (β0 , Σ0 ),

onde I é a matriz identidade e Z


⃗ = (Z1 , ..., ZT )′ .

Daí obtemos que:

⃗ ∝ exp − 1 Z ⃗ − X ′ β − 1 (β − β0 )′ Σ−1 (β − β0 ) .
  ′   
f (β, Z) ⃗ − X ′β Z
2 2 0

Por último, usando o teorema de Bayes, temos que:

   
⃗ 1 , ..., YT ∝ f (Y1 , ..., YT ) f β, Z
f β, Z|Y ⃗
n
1 ⃗ ⃗ − X ′ β − 1 (β − β0 )′ Σ−1 (β − β0 )
 ′   Y
= exp − Z − X ′β Z Isign(Zi )=(−1)1−Yi ,
2 2 0
i=1

onde I é a função indicadora e sign é a função sinal, i.e., para todo evento A e para todo r ∈ R:
(
1, se A ocorre.
IA =
0, caso contrário.

1, se r > 0.

sign(r) = 0, se r = 0.
−1, se r < 0.

1
b)
Sabemos que, de modo geral, para duas variáveis aleatórias contínuas X e Y , vale que:

fX (x|Y = y) ∝ fXY (x, y)

Daí, temos que:

   
⃗ Y1 , ..., YT ∝ f β, Z|Y
f β|Z, ⃗ 1 , ..., YT

1 ⃗ ⃗ − X ′ β − 1 (β − β0 )′ Σ−1 (β − β0 )
 ′   
∝ exp − Z − X ′β Z
2 2 0

1  ′ ⃗ ⃗′
 
∝ exp − −β X Z − Z Xβ + β ′ X ′ Xβ + β ′ Σ−1 β − β ′ −1
Σ β − β ′ −1
Σ β 0
2 0 0 0 0

1 ′
 
∝ exp − β X ′ X + Σ−1 (Σ −1
+ ′⃗ ′ ′
(Σ −1
+ ′⃗

β − β 0 X Z) β − β β 0 X Z)
2 0 0 0

1
∝ exp{− (
2
β ′ X ′ X + Σ−1

0 β
 −1  −1 ′
− X ′ X + Σ−1 Σ + ′⃗
X ′ X + Σ−1

0 0 β 0 X Z 0 β
−1
− β ′ X ′ X + Σ−1 X ′ X + Σ−1 (Σ−1
0 β0 + X Z)
′⃗
 
0 0
 −1  −1 ′ −1 −1
+ X ′ X + Σ−1 Σ0 β 0 + X ′ Z ⃗ X + Σ−1 X ′ X + Σ−1 (Σ0 β0 + X ′ Z)


0 0 0

)}
1
 
′ −1
= exp − (β − β1 ) Σ1 (β − β1 ) ,
2
−1
onde β1 = Σ1 (Σ−1 ′⃗ ′ −1
0 β0 + X Z) e Σ1 = X X + Σ0 .
Da equação acima é fácil ver que:

⃗ Y1 , ..., YT ∼ N (β1 , Σ1 ) .
β|Z,

Por último, temos que:


 
f (Zi |β, Z1 , ...Zi−1 , Zi+1 , ..., ZT , Y1 , ..., YT ) ∝ f β, Z|Y
⃗ 1 , ..., YT

1
 
2
= exp − (Zi − x′i β) Isign(Zi )=(−1)1−Yi ,
2
ou seja, Zi |β, Z1 , ...Zi−1 , Zi+1 , ..., ZT , Y1 , ..., YT tem distribuição N (x′i β, 1) truncada a direita no zero, se
Yi = 0, ou truncada a esquerda no zero, se Yi = 1.

c)
Para amostrar da distribuição descrita no item a) podemos usar o algoritmo de Gibbs, o qual apresentaremos
adiante para o caso especifico desta questão para gerar uma amostra de tamanho N .
• Passo 0: Inicializamos β (0) em um valor qualquer e tomamos i = 1.
(i)
• Passo 1: Para j = 1, ..., T , amostramos Zj da distribuição §′| β (⟩−∞) , ∞ truncada a direita no zero, se
Yj = 0, ou truncada a esquerda no zero, se Yj = 1.

2
 
(i) (i) (i) (i) (i)
• Passo 2: Amostramos β (i) da distribuição N β1 , Σ1 , onde β1 = Σ1 (Σ−1 0 β 0 + X Z ) e Σ1 =
′ ⃗ (i)
−1
X ′ X + Σ−1
0 .
• Passo 3: Se i = N , encerramos o processo, do contrário, tomamos i = i + 1 e voltamos ao passo 1.
Para testar o algoritmo acima, vamos fazer o ajuste do modelo proposto no enunciado para dados simulados.
Primeiro, vamos criar algumas covariáveis X1 , X2 , X3 de modo que:

.. .. .. ..
 
. . . . 
X=
1
⃗ X1 X2 X3  ,
.. .. .. ..
. . . .
sendo que cada Xi é gerado aleatoriamente com as seguintes distribuições:

X1 ∼ G(5, 0.5)
X2 ∼ N (3, 100)
X3 ∼ P oisson(10).

Geradas as covaraiáveis, tomamos como β “verdadeiro” o vetor βtrue = (−2.5, −0.2, 0.2, 0.4)′ . A partir das
covariáveis e do vetor βtrue , geramos Z
⃗ da distribuição N (X ′ βtrue , I) e tomamos Yi = IZ >0 .
i

Usando a abordagem acima, geramos uma amostra de tamanho n = 200 para averiguar a qualidade do ajuste,
sendo que tomamos como priori para β a distribuição Normal com média ⃗0 e matriz de covariância 100 × I.
Para a amostra obtida, salvamos a probabilidade de Yi = 1 para cada i e, nos gráficos a seguir, vamos
comparar o valor verdadeiro com o valor estimado pelo ajuste:

3
beta_0 beta_1
−1

−2 −0.1

−3 −0.2

−4
−0.3

−5
−0.4

0 5000 10000 15000 20000 0 5000 10000 15000 20000


val

Amostra
beta_2 beta_3 Valor
0.6 0.7 verdadeiro

0.5 0.6

0.4 0.5

0.3 0.4

0.2 0.3

0.1 0.2

0 5000 10000 15000 20000 0 5000 10000 15000 20000


ite

No gráfico acima, temos a evolução da cadeia gerada usando o algorítmo de Gibbs. Podemos observar que
a cadeia converge rapidamente e, em geral, ocila em torno do valor verdadeiro da parâmetro. No gráfico a
seguir, vamos avaliar a correlação dos valores amostrados de β:

4
beta_0 beta_1
1.00

0.75

0.50

0.25

0.00
acf

beta_2 beta_3
1.00

0.75

0.50

0.25

0.00

0 10 20 30 40 0 10 20 30 40
ite

Observe que a correlação de cada β é relativamente alta e demora um tempo considerável até se tornar
despresível. A partir dos dois gráficos acima parece adequado que tomemos como amostra final os valores a patir
da milésima iteração, tomando valores espaçado de 50 em 50, afim de obter uma amostra aproximadamente
i.i.d. da distribuição a posteriori dos parâmetros de interesse.
Adiante exibimos o histograma de cada coordenada de β junto com o valor verdadeiro de cada entrada:

5
beta_0 beta_1

2000

1500

1000

500

0
count

−5 −4 −3 −2 −1 −0.4 −0.3 −0.2 −0.1


Valor
beta_2 beta_3 verdadeiro

2000

1500

1000

500

0
0.2 0.4 0.6 0.3 0.4 0.5 0.6 0.7
val

Podemos observar que as distribuições estão relativamente concentradas próxima dos valores verdadeiros dos
parâmetros, especialmente os parâmetros β1 , β2 e β3 , que são os coeficientes associados as covariáveis (ver
escala do eixo x).
Por último, vamos avaliar a qualidade do ajuste na perpectiva mais importante: O qual bem estimamos
a probabilidade de que cada Yi seja igual a 1. Para isso, exibimos o gráfico com a média a posteriori dos
pi = P(Yi = 1):

6
p_i
1.00

0.75
true

0.50 Identidade
Média

0.25

0.00
0.00 0.25 0.50 0.75 1.00
mean

Pelo gráfico acima podemos observar que o valores dos pi estão bem estimados, pois os pontos no gráfico
estão bem próximos da reta identidade.
Podemos concluir então que temos um bom ajuste do modelo, uma vez que tanto as os coeficientes β quanto
das probabilidades pi estão satisfatoriamente estimados.

Questão 2
Para essa questão, ajustaremos um MLG com resposta Bernoulli e função de ligação igual ao inverso da
função de densidade acumulada da distribuição t. Para isso, usaremos um modelo análoga ao da questão
anterior, porém com a seguinte mudança:

Zi |β, σi2 ∼ N (x′i β, σi2 ),


onde:
ν ν 
σi2 ∼ IG ,
n2 2 ν  ν    ν  τ o
0
π0 (ν) ∝ exp n0 ln − ln Γ − ν .
2 2 2 2

Quando uma variável aleatória contínua X seja tal que sua densidade seja proporcional a exp n ν
ln ν
− ln Γ ν
− τ2 ν ,
  
2 2 2
diremos que X ∼ Π(n, τ ).

7
Adiante vamos exibir as condicionais completas para cada parâmetro a ser estimado no modelo, contudo,
como verêmos adiante, faremos uma pequena modificação com relação a metodologia apresentada em Albert
& Chib (1993).

Zi |. N (x′i β, σi2 )
ν + 1 ν + Zi
 
σi |. IG ,
2 2
n
!
X 1
ν|. Π n0 + n, τ0 + + ln(σi )
2
σ2
i=1 i
β|. N (β1 , Σ1 ).

Na notação acima, X|. representa X dado todos os demais parâmetros, ademais, β1 e Σ1 são tais que:

β1 = Σ1 (Σ−1
0 β0 + X Σ
′ ∗−1 ⃗
Z)
−1
Σ1 = X ′ Σ∗−1 X + Σ−1

0 ,
onde:

0
 2 
σ1
Σ =
∗ ..
. .
 

0 σn2

Na abordagem proposta em Albert & Chib (1993), tinhamos que a marginal completa de ν tinha densidade
proporcional à:

Y  ν  ν2  ν −1  1  ν2 −1 
ν 1

f (ν|.) ∝ π0 (ν) Γ exp − .
2 2 σi2 2 σi2

Porém, observamos que esta densidade não parece


 compatível com o modelo proposto,
 por isso, na abordagem
Pn 1
usada nesse trabalho, optamos por tomar ν|. Π n0 + n, τ0 + i=1 σ2 + ln(σi ) , oque equivale a:
2
i

 ν2   ν −1
ν
1 2 ν 1
Y  
f (ν|.) ∝ π0 (ν) 2
exp − .
Γ ν2 σi2 2 σi2


Com as distribuições marginais completas de cada parâmetro, temos que o algoritmo de Gibbs para gerar
uma amostra de tamanho N fica da seguinte forma:
• Passo 0: Inicializamos tomamos i = 1, β (0) como estimador de máxima verossimilhança para um GLM
com função de ligação Probit, ν (0) como uma amostra de tamanho 1 da distribuição a priori para ν e
2(0)
σi como uma amostra de tamanho 1 da distribuição IG( ν2 ,ν2 ). 
(i) 2(i−1)
• Passo 1: Para j = 1, ..., T , amostramos Zj da distribuição N x′j β (i−1) , σi truncada a direita no
zero, se Yj = 0, ou truncada a esquerda no zero, se Yj = 1.  
(i−1) (i)
2(i) ν (i−1) +1 ν +Zi
• Passo 2: Para j = 1, ..., T , amostramos σj da distribuição IG 2 , 2 e definimos:

 
2(i)
σ 0
 1 ..
Σ∗(i) =

 . .

2(i)
0 σn

8
  
Pn 2(i)
• Passo 3: Amostramos ν (i) da distribuição Π n0 + n, τ0 + j=1 2(i)1
+ ln σj .
σj
 
(i) (i) (i) (i)
• Passo 4: Amostramos β (i) da distribuição N β1 , Σ1 , onde β1 = Σ1 (Σ−1 0 β0 + X Σ Z )e
′ ∗(i)−1 ⃗ (i)

(i) −1 −1
Σ1 = X Σ ′ ∗(i)−1
X + Σ0 .


• Passo 5: Se i = N , encerramos o processo, do contrário, tomamos i = i + 1 e voltamos ao passo 1.


Do algoritmo acima, resta apenas especificar de que forma vamos amostrar da marginal completa de ν.
Para amostrar da distribuição Π(n, τ ) optamos por usar o algoritmo de Metropolis-Hastings com proposta
11

20 n0 −1
indepente, especificamente, usamos como proposta a distribuição G 11
20 n0 , x∗ , onde x∗ é a moda de
Π(n, τ ). Escolhemos esta proposta, pois observamos que, em geral, ela é semelhante à Π(n, τ ), de modo que
conseguimos uma taxa de aceitação média muito próxima de 1. O gráfico a seguir mostra um exemplo da
proximidade entre a distribuição alvo e a distribuição proposta:

0.075
f_densi(x)/c

0.050
Densidade Π
Proposta

0.025

0.000

0 10 20 30 40
x

Usando o algoritmo acima, fizemos o ajuste de dados simulados para testar o algoritmo. De forma análoga ao
que foi visto no item anterior, primeiro, vamos criar algumas covariáveis X1 , X2 , X3 de modo que:

.. .. .. ..
 
. . . . 
X=
1
⃗ X1 X2 X3  ,
.. .. .. ..
. . . .

sendo que cada Xi é gerado aleatoriamente com as seguintes distribuições:

9
X1 ∼ G(5, 0.5)
X2 ∼ N (3, 2)
X3 ∼ P oisson(10).

Geradas as covaraiáveis, tomamos como β “verdadeiro” o vetor βtrue = (−2.5, −0.2, 0.2, 0.4)′ , ademais,
geramos σi2 da distribuição IG(2, 2). A partir das covariáveis, do vetor βtrue e dos valores σi2 , geramos Zi da
distribuição N (X ′ βtrue , σi2 ) e tomamos Yi = IZi >0 .
Usando a abordagem acima, geramos uma amostra para averiguas a qualidade do ajuste, sendo que, para as
prioris, escolhemos os seguintes parâmetros:

β0 = ⃗0,
Σ0 = 100 × I,
n0 = 2,
τ0 = 2.

Adiante vamos exibir alguns gráficos para expor a qualidade do ajuste:

Cadeia de ν

400

300
nu_sample[1:N]

Amostra
Valor
200 verdadeiro

100

0 5000 10000 15000 20000


1:N

10
beta_0 beta_1
0.0
−1

−2
−0.2
−3

−4
−0.4

−5

−6
0 5000 10000 15000 20000 0 5000 10000 15000 20000
val

Amostra
beta_2 beta_3 Valor
verdadeiro

0.4
0.6

0.2
0.4

0.0

0.2
0 5000 10000 15000 20000 0 5000 10000 15000 20000
ite

Nos gráficos acima, temos a evolução das cadeias geradas usando o algorítmo de Gibbs. Podemos observar
que as cadeia convergem relativamente rápido e, em geral, ocila em torno do valor verdadeiro da parâmetro
(observar escala do eixo y). No gráfico a seguir, vamos avaliar a correlação dos valores amostrados de β:

11
Correlacao de ν

1.00

0.75
acf

0.50

0.25

0.00

0 10 20 30 40
ite

12
beta_0 beta_1
1.00

0.75

0.50

0.25

0.00
acf

beta_2 beta_3
1.00

0.75

0.50

0.25

0.00

0 10 20 30 40 0 10 20 30 40
ite

Observe que a correlação de cada β é relativamente alta e demora um tempo considerável até se tornar
despresível. A partir dos dois gráficos acima parece adequado que tomemos como amostra final os valores a patir
da milésima iteração, tomando valores espaçado de 50 em 50, afim de obter uma amostra aproximadamente
i.i.d. da distribuição a posteriori dos parâmetros de interesse.
Adiante exibimos o histograma de cada coordenada de β do do parâmetro ν junto com os respectivos valores
verdadeiros:

13
6000

4000
count

Valor
verdadeiro

2000

0 25 50 75 100
nu_sample

14
beta_0 beta_1

2000

1000

0
count

−6 −4 −2 −0.4 −0.3 −0.2 −0.1 0.0


Valor
beta_2 beta_3 verdadeiro

2000

1000

0
0.0 0.2 0.4 0.2 0.4 0.6 0.8
val

Podemos observar que as distribuições estão relativamente concentradas próxima dos valores verdadeiros dos
parâmetros.
Por último, vamos avaliar a qualidade do ajuste na perpectiva mais importante: O qual bem estimamos
a probabilidade de que cada Yi seja igual a 1. Para isso, exibimos o gráfico com a média a posteriori dos
pi = P(Yi = 1):

15
p_i
1.00

0.75
true

0.50 Identidade
Média

0.25

0.00
0.00 0.25 0.50 0.75 1.00
1 − mean

Podemos observar novamente que a qualidade do ajuste parece muito boa, o que, a princípio, valida a
abordagem proposta.

Questão 3
## [1] "tau1" "tau2" "tau3" "tau4"
##
## Call:
## glm(formula = stabf ~ tau + g + p1, family = binomial(link = "probit"),
## data = data)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.4599 -0.6355 -0.1868 0.5593 3.2873
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 6.781507 0.062148 109.118 <2e-16 ***
## tau -0.748960 0.006422 -116.629 <2e-16 ***
## g -6.586312 0.061316 -107.416 <2e-16 ***
## p1 0.002059 0.008735 0.236 0.814
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##

16
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 78547 on 59999 degrees of freedom
## Residual deviance: 46874 on 59996 degrees of freedom
## AIC: 46882
##
## Number of Fisher Scoring iterations: 6

Cadeia de ν

100
nu_sample_t[1:N]

Amostra

50

0 5000 10000 15000 20000


1:N

17
beta_0 beta_1

12 −0.8

−1.0
10

−1.2
8

−1.4
0 5000 10000 15000 20000 0 5000 10000 15000 20000
val

beta_2 beta_3 Amostra

−8 0.02

0.00
−10

−0.02
−12

0 5000 10000 15000 20000 0 5000 10000 15000 20000


ite

18
beta_0 beta_1
0.0
−1

−2
−0.2
−3

−4
−0.4

−5

−6
0 5000 10000 15000 20000 0 5000 10000 15000 20000
val

beta_2 beta_3 Amostra

0.4
0.6

0.2
0.4

0.0

0.2
0 5000 10000 15000 20000 0 5000 10000 15000 20000
ite

19
Correlacao de ν

1.00

0.75
acf

0.50

0.25

0.00

0 10 20 30 40
ite

20
beta_0 beta_1
1.00

0.75

0.50

0.25

0.00
acf

beta_2 beta_3
1.00

0.75

0.50

0.25

0.00

0 10 20 30 40 0 10 20 30 40
ite

21

Você também pode gostar