Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
age
15-19
15-19
15-19
20-24
20-24
20-24
25-29
25-29
25-29
30-34
30-34
30-34
35-39
35-39
35-39
40-44
40-44
40-44
met
ster
other
no
ster
other
no
ster
other
no
ster
other
no
ster
other
no
ster
other
no
n
2
75
90
32
223
280
147
296
237
298
197
207
276
96
196
202
71
174
> summary(cuse)
age
15-19:3
20-24:3
25-29:3
30-34:3
35-39:3
40-44:3
met
no
:6
other:6
ster :6
n
Min.
: 2.0
1st Qu.: 91.5
Median :196.5
Mean
:172.2
3rd Qu.:233.5
Max.
:298.0
A tabela a seguir mostra o quao associadas estao as duas variaveis (idade e metodo de
contracepcao)
> library(gregmisc)
> indiv <- data.frame(rep(cuse$age, cuse$n), rep(cuse$met,
+
cuse$n))
Cell Contents
|-------------------------|
|
N |
|
N / Row Total |
|-------------------------|
3099
| metodo
age |
no |
other |
ster | Row Total |
-------------|-----------|-----------|-----------|-----------|
15-19 |
90 |
75 |
2 |
167 |
|
0.539 |
0.449 |
0.012 |
0.054 |
-------------|-----------|-----------|-----------|-----------|
20-24 |
280 |
223 |
32 |
535 |
|
0.523 |
0.417 |
0.060 |
0.173 |
-------------|-----------|-----------|-----------|-----------|
25-29 |
237 |
296 |
147 |
680 |
|
0.349 |
0.435 |
0.216 |
0.219 |
-------------|-----------|-----------|-----------|-----------|
30-34 |
207 |
197 |
298 |
702 |
|
0.295 |
0.281 |
0.425 |
0.227 |
-------------|-----------|-----------|-----------|-----------|
35-39 |
196 |
96 |
276 |
568 |
|
0.345 |
0.169 |
0.486 |
0.183 |
-------------|-----------|-----------|-----------|-----------|
40-44 |
174 |
71 |
202 |
447 |
|
0.389 |
0.159 |
0.452 |
0.144 |
-------------|-----------|-----------|-----------|-----------|
Column Total |
1184 |
958 |
957 |
3099 |
-------------|-----------|-----------|-----------|-----------|
Atraves do teste 2 testamos a probabilidade conjunta da variavel Y (metodo contraceptivo) e X (idade), isto e, testamos a independencia.
Mas como podemos investigar se idade (X) e preditor da variavel resposta metodo contraceptivo (Y )? Agora estamos interessados na distribuicao condicional da variavel resposta
Y dado o preditor X.
Modelos Multinomiais
Distribuic
ao multinomial
Considere Yi uma variavel resposta que pode assumir valores discretos, nomeadamente,
1, 2, , J. Assumindo que a nossa variavel no exemplo anterior e metodo contraceptivo
temos:
pij = P r(Yi = j)
como sendo a probabilidade de uma mulher pertencer a algumas das categorias de utilizacao
de contraceptivo (esterilizacao, outro metodo, nenhum metodo). Caractersticas:
as categorias sao mutuamente exclusivas
para cada indivduo a soma das probabilidades e igual a 1 (
Pj
j=1
pij = 1)
Para dados agrupados, como o nosso exemplo, temos uma variavel ni que denota o
n
umero de casos do grupo i e seja Yij o n
umero de casos do grupo i na categoria j. O ndice
i representa o grupo idade e j as categorias de metodo contraceptivo. Logo, tem-se que,
y11 , y12 , y13 , representam o n
umero de mulheres entre 15 e 19 anos que sao esterilizadas, que
utilizam outro metodo de contracepcao ou que nao usam nenhum metodo, respectivamente.
Para dados individuais temos ni = 1 e y11 = 1 ou y11 = 0 se uma mulher e esterilizada
ou nao, respectivamente.
A distribuicao de probabilidade para a variavel Yij dado o total de casos ni e dado por:
P r(Yi1 = yi1 , , Yij = yij ) =
ni
yi1 , , yij
pyi1i1 pijij
(1)
15-19
20-24
25-29
-3.8066625 -2.1690537 -0.4776276
40-44
0.1492124
30-34
0.3643747
35-39
0.3422862
15-19
20-24
-0.18232156 -0.22761783
40-44
-0.89637542
>
+
+
>
>
>
25-29
30-34
35-39
0.22229931 -0.04951506 -0.71376647
logit
>
>
>
>
+
esterilizao
outro mtodo
1519
2024
2529
3034
3539
4044
idade
O grafico do logit emprico sugere que o logaritmo da chance das mulheres esterilizadas
aumenta rapido com a idade, atinge o maximo aos 30-34 anos e declina lentamente a partir
dessa faixa etaria. O logartmo da chance de outro metodo atinge o maximo aos 25-29 e
decresce rapidamente a seguir.
Seja 1 = esterilizacao, 2 = outro metodo, 3 = nenhum metodo. O modelo logit multinomial e igual a
pi1
= 0 + 1 agei
log
pi3
pi2
log
= 0 + 1 agei
pi3
(2)
# weights: 12 (6 variable)
initial value 3404.599483
iter 10 value 3112.762332
final value 3112.745366
converged
> mod1
Call:
multinom(formula = met ~ idade + I(idade^2), data = cuse, weights = n)
Coefficients:
(Intercept)
idade
I(idade^2)
other
-3.042142 0.2340215 -0.004432943
ster
-16.071596 0.9166541 -0.012667215
Residual Deviance: 6225.491
AIC: 6237.491
> round(unique(mod1$fit), 3)
1
4
7
10
13
16
no
0.580
0.478
0.382
0.308
0.304
0.409
other
0.411
0.460
0.399
0.281
0.193
0.146
ster
0.009
0.062
0.219
0.412
0.503
0.445
Podemos comparar o mod1 com um modelo mais simples, retirando o termo ao quadrado
da idade
> mod2 <- multinom(met ~ idade, data = cuse, weights = n)
# weights: 9 (4 variable)
initial value 3404.599483
final value 3184.024055
converged
> mod2
Call:
multinom(formula = met ~ idade, data = cuse, weights = n)
Coefficients:
(Intercept)
idade
other
0.7614718 -0.03357687
ster
-3.4062103 0.09929226
Residual Deviance: 6368.048
AIC: 6376.048
> anova(mod1, mod2)
Df
2
Consequentemente temos:
pi1
= exp(0 + 1 agei + 2 age2i ) = exp(1 )
pi3
pi2
= exp(0 + 1 agei + 2 age2i ) = exp(2 )
pi3
(4)
(5)
(6)
10
pi1 =
A figura a seguir mostra o grafico das probabilidades estimado pelo modelo mod1
> predicao <- predict(mod1, cuse[, c(2, 4)], type = "probs")
> prob <- round(as.vector(t(unique(predicao)[, c(3,
+
2, 1)])), 2)
> pred <- cbind(cuse[, c(1:2, 4)], prob)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>
+
+
>
>
>
>
+
age
15-19
15-19
15-19
20-24
20-24
20-24
25-29
25-29
25-29
30-34
30-34
30-34
35-39
35-39
35-39
40-44
40-44
40-44
11
12
0.3
0.2
Probabilidade
0.4
0.5
0.6
0.0
0.1
no
other
ster
1519
2024
2529
3034
3539
4044
Estimac
ao
O modelo multinomial acima descrito e estimado atraves do metodo da maxima verossimilhanca. O metodo consiste em maximizar a verossimilhanca em (2) com probabilidades pij
visto como funcao dos parametros de regressao s.
13
Para efeito de ilustracao, vamos considerar o seguinte exemplo: investigar fatores associados a satisfacao das condicoes da casa para residentes de Copenhagen. Os dados estao
disponveis no formato agrupado.
> library(rms)
1
2
3
4
5
6
14
ij = P r(Yi j) = i1 + i2 + + ij
a probabilidade cumulativa correspondente de Yi . O modelo de chances proporcionais para
Yi e descrito por:
1
P r(Yi j|Xi ) =
(7)
1 + exp[(j + xi )]
Podemos reescrever o modelo (7) da seguinte forma:
ij
logit(ij ) = ln
= j + xi
1 ij
(8)
coindiv$satis2 <- 1
coindiv$satis2[which(coindiv$satisfaction == "medium")] <- 2
coindiv$satis2[which(coindiv$satisfaction == "high")] <- 3
coindiv$satis2 <- factor(coindiv$satis2)
library(VGAM)
fit1 <- vglm(satis2 ~ housing, cumulative(parallel = TRUE),
coindiv)
summary(fit1)
15
Call:
vglm(formula = satis2 ~ housing, family = cumulative(parallel = TRUE),
data = coindiv)
Pearson Residuals:
Min
1Q
Median
3Q
Max
logit(P[Y<=1]) -1.3612 -0.9960 -0.35744 1.3221 1.6806
logit(P[Y<=2]) -1.6285 -1.0954 0.40890 1.0098 1.3922
Coefficients:
Value Std. Error
(Intercept):1
-0.64981
0.071302
(Intercept):2
0.47151
0.070384
housingatrium
-0.18811
0.137169
housingterraced 0.58502
0.131241
housingtower
-0.46842
0.115644
Number of linear predictors:
t value
-9.1134
6.6991
-1.3713
4.4576
-4.0506
Call:
vglm(formula = satis2 ~ housing + influence, family = cumulative(parallel = TRUE),
data = coindiv)
Pearson Residuals:
Min
1Q
Median
3Q
Max
16
17
relaciona linearmente com o logaritmo da chance de Y , uma forma simples de avaliar a ordem
da variavel resposta Y e verificar o grafico da media de X estratificado pelas categorias de Y .
Essas medias devem apresentar uma certa ordem consistente. Se para algumas covariaveis
X s, duas categorias adjacentes de Y nao distinguir as medias, temos evidencia de que tais
categorias de Y devem ser colapsadas.
Premissa de proporcionalidade
Juntamente com a premissa de ordem, podemos avaliar a premissa de proporcionalidade
atraves do calculo do valor esperado de X estratificado por Y , E(X|Y = j), assumindo um
modelo de chances proporcionais. Se X for uma variavel discreta, entao:
P r(Y = j|X)P r(X)
P (Y = j)
X
E(X|Y = j) =
xP r(Y = j|X)P r(X)/P (Y = j)
P r(X|Y = j) =
(9)
(10)
A Figura abaixo ilustra o modelo de chances proporcionais para uma variavel resposta
Y com 4 categorias (j = 1, 2, 3, 4) e uma covariavel X. Exemplo de um modelo hipotetico
com X variando entre 50 e 50 e com = 1 e j = 30, 0, 10
18
0.6
0.4
P(Y<=1)
P(Y<=2)
P(Y<=3)
0.0
0.2
Probabilidade
0.8
1.0
0.26
0.30
19
0.18
0.22
housing=tower
0.47
0.45
0.43
housing=apartments
satis2
satis2
n=1681
0.10
0.14
0.18
0.22
n=1681
housing=terraced
satis2
n=1681
0.40
20
0.37
influence=medium
satis2
0.45
0.30
influence=low
n=1681
satis2
n=1681
21
0.57
0.56
0.54
0.55
contact=high
0.58
0.59
0.60
satis2
n=1681
Resduos
Os resduos parciais sao os mais indicados na avaliacao de modelos de regressao para variaveis
ordinais. O resduo parcial para o modelo binario e dado por:
em que
rip = bp xip +
Pbi =
Yi Pbi
Pbi (1 Pbi )
(13)
1
1 + exp[(j + xi )]
O grafico suavisado (loess) de xip contra rip fornece uma estimativa nao parametrica de como
Xp se relaciona com o logaritmo da chance de Y = 1|Xp . Para o modelo ordinal e necessario
calcular o resduo parcial para todos os Y = j, tal que:
[Yi j] Pbi
rip = bp xip +
Pbi (1 Pbi )
(14)
O grafico a ser analisado e composto por curvas suavisadas dos residuos parciais para todos os
nveis j da variavel resposta Y . Se o modelo estiver bem ajustado entao espera-se encontrar
22
formas e inclinacoes semelhantes para uma dada covariavel Xp para todos as categorias j.
Os graficos de resduos parcias permitem avaliar a transformacao da covariavel (linearidade)
e ao mesmo tempo permite avaliar a premissa de proporcionalidade (paralelismo).
Para calcular os resduos parciais, temos que ajustar o modelo de chances proporcionais
atraves da funcao lmr() da biblioteca Hmisc. Nao se espantem com os sinais trocados dos
coeficientes comparados com os resultados da funcao vglm, pois a funcao lmr() estima o
modelo para P r(Y j) e o resultado anterior foi estimado para P r(Y j)
> fit2a <- lrm(satis2 ~ housing + influence, x = TRUE,
+
y = TRUE, data = coindiv)
> fit2a
Logistic Regression Model
lrm(formula = satis2 ~ housing + influence, data = coindiv, x = TRUE,
y = TRUE)
Frequencies of Responses
1
2
3
567 446 668
Obs
1681
C
0.641
Brier
0.208
Coef
S.E.
Wald Z
y>=2
1.3888 0.1149 12.08
y>=3
0.2102 0.1098 1.91
housing=atrium
0.2321 0.1375 1.69
housing=terraced -0.4926 0.1329 -3.71
housing=tower
0.5215 0.1182 4.41
influence=low
-1.2373 0.1260 -9.82
influence=medium -0.6889 0.1236 -5.57
> par(mfrow = c(2, 3))
> resid(fit2a, "partial", pl = T)
d.f.
5
Tau-a
0.186
P
0.0000
0.0555
0.0914
0.0002
0.0000
0.0000
0.0000
P
0
R2
0.1
23
0.4
0.0
y>=2
0.5
0.3
0.0
0.4
0.8
0.4
0.8
0.3
Partial Residual
0.0
0.0
housing=terraced
0.4
0.8
housing=tower
0.2
0.4
Partial Residual
0.6
0.6
1.0
Partial Residual
0.2
0.0
housing=atrium
0.1
0.2
0.6
0.1
y>=2
y>=3
0.1
y>=3
0.4
0.1
0.2
Partial Residual
y>=2
0.0
Partial Residual
y>=3
y>=2
y>=2
0.0
0.4
0.8
influence=low
y>=3
0.8
1.4
y>=3
0.0
0.4
0.8
influence=medium
Modelo de raz
ao contnua
O modelo de razao contnua baseia-se nas probabilidade condicionais em contraste com o
modelo anterior que baseia-se nas probabilidade cumulativas. Seja Y = j para j = 1, . . . , k
a variavel resposta. O modelo de razao contnua para Y e definido pelas seguintes k 1
regressoes:
1
1 + exp[(j + xi )]
P r(Yi = j)
logit(P r(Yi = j|Yi > j)) = ln
= 0 + xi
P r(Yi > j)
P r(Yi = j|Yi > j) =
(15)
O modelo de razao contnua e indicado para modelar uma variavel resposta ordinal
quando o indivduo tem que passar por uma categoria para chegar ate a proxima.
24
Call:
vglm(formula = satis2 ~ housing + influence, family = sratio(parallel = T),
data = coindiv)
Pearson Residuals:
Min
1Q
Median
3Q
Max
logit(P[Y=1|Y>=1]) -1.1227 -0.70698 -5.1963e-01 1.1153 2.4157
logit(P[Y=2|Y>=2]) -2.0443 -0.78283 -3.8706e-05 1.1056 2.1587
Coefficients:
Value Std. Error t value
(Intercept):1
-1.30922
0.10564 -12.3935
(Intercept):2
-0.92600
0.10650 -8.6947
housingatrium
-0.16282
0.12280 -1.3259
housingterraced 0.44980
0.11595
3.8792
housingtower
-0.45491
0.10442 -4.3565
influencelow
1.09090
0.11145
9.7883
influencemedium 0.61572
0.11031
5.5819
Number of linear predictors:
25
Exerccio
This case study was taken form Harrels book (chapter 14). This case study was conducted
by WHO in which vital signs and a large number of clinical signs and symptoms were used to
develop a predicitve model for an ordinal response. The data consist of laboratory assessment
of diagnosis and severity of illness related to pneumonia, meningitis and sepsis. The sample
consisted of 4552 infants aged 90 days or less. The following laboratory data are used in the
response variable:
cerobrospinal fluid (CSF) cultire from a lumbar puncture (LP)
blood culture (BC)
arterial oxygen saturation (SaO2 , a measure of lung dysfunction)
chest X-ray (CXR)
The table below describe the ordinal outcome used to model the data.
Y
0
1
2
Definition
None of the below
90% SaO2 < 95% or CXR+
BC+ or CXR+ or SaO2 < 90%
Task
1. Import data into R
2. Summarize/describe the Sc object
26
27
3. Y is the ordinal variable in the Sc object. Consider the covariates age, temp, rr,
hrat, waz, bul.conv, drowsy, agitated, reffort, ausc, feeding, abdominal to develop a
predictive model for Y
4. Examine the assumption of ordinality of Y for each predictor by assessing how varying
Y relate to the mean X, and whether the trend is monotonic. Check also the proportionality assumption for each covariate. The covariate temp, rr and hrat are expected to
have strong nonlinear effect. So for those predictors plot the mean absolute differences
from a suitable normalvalues as an approximate solution. Use 37, 60 and 125 for
temp, rr and hrat, respectively.
5. Fit a model with all covariates in the orginal scale.
6. Check if linearity holds for all covariates by plotting the partial residuals of the model
fitted before
7. Fit a model with all covariates but transform the temp, rr and hrat covariates as before.
8. Check if there are some covariates which could be ignored to predict Y . If so, remove
then and fit a reduced model.
9. Check the proportionaly assumption using the partial residuals of the fitted model.
Drop the covariates of the model that do not respect this assumption.
10. Categorize the age into 3 groups using the values 6 and 70 days as cut-off points.
11. Test the interactions of age categorized and temp, hrat and rr, transformed.
12. Propose a final model and then check the partial residuals.
13. Calculate the estimated probabilities P r(Y = j)
14. Write down a model interpretation.
R code:
load("ari.sav")
Sc$y<-Y
summary(Sc)
Sc$agecat<-cut2(Sc$age,c(7,60))
table(Sc$agecat)
options(device.ask.default=T)
28