Analisando com desfecho binário Leo Bastos Fundação Oswaldo Cruz Leo Bastos (PROCC/Fiocruz) Dados binários 1 / 69
Outline 1 Análise para dados com desfecho binário. Mundo 2x2 Regressão para dados binários 2 Medidas de associação ajustadas Estimando o risco relativo* ajustado Estimando RR diretamente da regressão logística 3 GLM para amostras complexas 4 Modelos multinível Leo Bastos (PROCC/Fiocruz) Dados binários 2 / 69
Baixo peso ao nascer A tabela de contingência Baixo peso ao nascer x mãe fumou durante gravidez em um estudo sectional: Calculando o OR: Peso ao nascer < 2500g 2500g Fumou 86 44 Não fumou 29 30 OR fumou = 86/29 44/30 = 2.0219 Leo Bastos (PROCC/Fiocruz) Dados binários 4 / 69
Exemplo coorte: Medidas tabela 2x2 epi.2by2(with(table(low, smoke), data = birth), method = "cross.sectional") ## Outcome + Outcome - Total Prevalence * ## Exposed + 86 44 130 66.2 ## Exposed - 29 30 59 49.2 ## Total 115 74 189 60.8 ## Odds ## Exposed + 1.955 ## Exposed - 0.967 ## Total 1.554 ## ## Point estimates and 95 % CIs: ## --------------------------------------------------------- ## Prevalence ratio 1.35 (1.01, 1.79) ## Odds ratio 2.01 (1.03, 3.96) ## Attrib prevalence * 17.00 (1.87, 32.13) ## Attrib prevalence in population * 11.69 (-2.84, 26.22) ## Attrib fraction in exposed (%) 25.70 (0.98, 44.25) ## Attrib fraction in population (%) 19.22 (-0.21, 34.88) ## --------------------------------------------------------- ## * Cases per 100 population units Leo Bastos (PROCC/Fiocruz) Dados binários 5 / 69
Algumas medidas de associação por estudo Estudo de coorte Incidence risk ratio (Razão de riscos) Incidence rate ratio (Razão de taxas) Odds ratio (OR) Estudo caso controle Odds ratio (OR) Estudo seccional Odds ratio (OR) Prevalence ratio (PR, razão de prevalências) Leo Bastos (PROCC/Fiocruz) Dados binários 6 / 69
Exemplo coorte Leo Bastos (PROCC/Fiocruz) Dados binários 7 / 69
Exemplo coorte: Medidas tabela 2x2 ## Outcome + Outcome - Total Inc risk * ## Exposed + 9 1 10 90 ## Exposed - 3 7 10 30 ## Total 12 8 20 60 ## Odds ## Exposed + 9.000 ## Exposed - 0.429 ## Total 1.500 ## ## Point estimates and 95 % CIs: ## --------------------------------------------------------- ## Inc risk ratio 3.00 (1.14, 7.91) ## Odds ratio 17.28 (1.39, 1039.29) ## Attrib risk * 60.00 (26.05, 93.95) ## Attrib risk in population * 30.00 (-5.60, 65.60) ## Attrib fraction in exposed (%) 66.67 (12.15, 87.35) ## Attrib fraction in population (%) 50.00 (-6.82, 76.60) ## --------------------------------------------------------- ## * Cases per 100 population units Leo Bastos (PROCC/Fiocruz) Dados binários 8 / 69
Exemplo coorte: Kaplan Meier 0.0 0.2 0.4 0.6 0.8 1.0 Exposto Não exposto 0 2 4 6 8 Leo Bastos (PROCC/Fiocruz) Dados binários 9 / 69
Exemplo coorte: teste log rank survdiff(surv(x, D=="+") ~ E) ## Call: ## survdiff(formula = Surv(x, D == "+") ~ E) ## ## N Observed Expected (O-E)^2/E (O-E)^2/V ## E=- 10 3 5.68 1.27 3.47 ## E=+ 10 9 6.32 1.14 3.47 ## ## Chisq= 3.5 on 1 degrees of freedom, p= 0.0623 Leo Bastos (PROCC/Fiocruz) Dados binários 10 / 69
Modelos para medidas de associação ajustadas Quando precisamos controlar por outras variáveis explicativas OR Regressão logística Razão de taxas Análise de sobrevivência (e.g. Modelo de Cox) Razão de riscos (ou prevalencias) Modelo log-binomial, regressão de Poisson (com variância robusta), regressão logística*,... Leo Bastos (PROCC/Fiocruz) Dados binários 11 / 69
GLM Seja Y 1, Y 2,..., Y n variáveis aleatórias independentes Cada Y i FE(θ i ), com valor esperado E[Y i ] = µ i = c (θ i )/b (θ i ). As variáveis explicativas x i1,..., x ip influenciam a variável resposta através de um preditor linear η i = x T i β = β 0 + β 1 x 1i + + β p x pi A média, µ i (que é função de θ i ), e o preditor linear, η i, estão relacionados por uma função de ligação g( ) tal que: g(µ i ) = η i = x T i β Leo Bastos (PROCC/Fiocruz) Dados binários 12 / 69
Dados binários Seja Y 1, Y 2,..., Y n variáveis aleatórias independentes O desfecho é binário, i.e. Y i = {0, 1} Assume-se que onde θ i = P(Y i = 1) (0, 1). Sabemos que E[Y i ] = µ i = θ i. Y i Bern(θ i ) O componente sistemático está relacionado com o componente aleatório através da função de ligação, i.e. onde g( ) : (0, 1) R. g(µ i ) = x T i β = β 0 + β 1 x 1i + + β p x pi Leo Bastos (PROCC/Fiocruz) Dados binários 13 / 69
Funções de ligação Algumas possíveis funções de ligação: Logit ( ) µi log = x T i β = η i µ i = eη i 1 µ i 1 + e η i Complemento log-log: cloglog log ( log(1 µ i )) = x T i β µ i = 1 e eη i Probit Φ 1 (µ i ) = x T i β µ i = Φ(η i ) onde Φ( ) é a função acumulada da Normal padrão. Cauchit F 1 C (µ i) = x T i β µ i = F C (η i ) onde F C ( ) é a função acumulada da Cauchy padrão. (Cauchy t 1 ) Leo Bastos (PROCC/Fiocruz) Dados binários 14 / 69
Função logistica Função de ligação mais popular. Uma função dos efeitos pode ser interpretada como razão de chances. OR = p 1 1 p 1 p 2 1 p 2 Suponha o seguinte componente sistemático: η i = β 0 + β 1 x i. Para dois valores distintos de x, {x 1, x 2 }, podemos calcular a OR OR = P(Y i =1 X i =x 1 ) 1 P(Y i =1 X i =x 1 ) P(Y i =1 X i =x 2 ) 1 P(Y i =1 X i =x 2 ) = µ (xi =x 1 ) 1 µ (xi =x 1 ) µ (xi =x 2 ) 1 µ (xi =x 2 ) Leo Bastos (PROCC/Fiocruz) Dados binários 15 / 69
Função logistica Note que a função de ligação, para qualquer valor de x, tem a forma: ( ) µ(xi =x) log = β 0 + β 1 x i µ (x i =x) = exp{β 0 + β 1 x} 1 µ (xi =x) 1 µ (xi =x) Logo a razão de chances de interesse é OR = µ (xi =x 1 ) 1 µ (xi =x 1 ) µ (xi =x 2 ) 1 µ (xi =x 2 ) Se x 1 = 1 e x 2 = 0 então = exp{β 0 + β 1 x 1 } exp{β 0 + β 1 x 2 } = exp{β 1(x 1 x 2 )} OR = exp{β 1 } Leo Bastos (PROCC/Fiocruz) Dados binários 16 / 69
Voltando ao exemplo do peso ao nascer A tabela de contingência Baixo peso ao nascer x mãe fumou durante gravidez Calculando o OR: Peso ao nascer < 2500g 2500g Fumou 86 44 Não fumou 29 30 OR fumou = 86/44 29/30 = 2.0219 Leo Bastos (PROCC/Fiocruz) Dados binários 17 / 69
Saída R: glm() (saida <- glm(low ~ smoke, family=binomial(), data=birth)) ## ## Call: glm(formula = low ~ smoke, family = binomial(), data = birth) ## ## Coefficients: ## (Intercept) smokesim ## -1.0871 0.7041 ## ## Degrees of Freedom: 188 Total (i.e. Null); 187 Residual ## Null Deviance: 234.7 ## Residual Deviance: 229.8 AIC: 233.8 exp(c(saida$coef[2], confint(saida, 2) )) ## smokesim 2.5 % 97.5 % ## 2.021944 1.081872 3.800582 Leo Bastos (PROCC/Fiocruz) Dados binários 18 / 69
Função logistica Se for de interesse, e o delineamento do estudo permitir, podemos estimar a probabilidade do desfecho ocorrer sob condições específicas das variáveis explicativas. Ou seja, Para o modelo logistico: P(Y i = 1 X i = x) = µ (xi =x) = g 1 (x T i β) P(Y i = 1 X i = x) = ext i β 1 + e xt i β Logo, previsões para essas probabilidades são dados por P(Y i = 1 X i = x) = ext i ˆβ 1 + e xt i ˆβ Leo Bastos (PROCC/Fiocruz) Dados binários 19 / 69
Função logistica Suponha que dois cenários serão compardos, onde a única diferença entre eles é a variável x k, que assume valor a em um cenário e b no outro. O resto das variáveis são exatamente iguais, ou seja, para um particular valor x da variável x k, temos que log ( µ(xk =x) 1 µ (xk =x) ) = x T k β k+xβ k µ (x k =x) 1 µ (xk =x) Logo a razão de chances de interesse é OR = µ (xk =a) 1 µ (xk =a) µ (xk =b) 1 µ (xk =b) Se a = 1 e b = 0 então = exp{x T k β k+xβ k } = exp{xt k β k + aβ k } exp{x T k β k + bβ k } = exp{β k(a b)} OR = exp{β 1 } Leo Bastos (PROCC/Fiocruz) Dados binários 20 / 69
Exemplos Se x k for uma variável dicotômica (binária), então exp{ ˆβ k } é uma estimativa da razão de chances entre os dois grupos. Interpretação: A chance de um paciente (do grupo x k = 1) ter um resultado positivo do desfecho é exp{ ˆβ k } vezes a chance de um paciente (do grupo x k = 0), mantidas as outras variáveis constantes. Leo Bastos (PROCC/Fiocruz) Dados binários 21 / 69
Exemplos Se x k for uma variável numérica (contínua), então exp{ ˆβ k } é uma estimativa da razão de chances do acréscimo em uma unidade dessa variável. Interpretação: O acréscimo de uma unidade da variável x k implica em uma chance exp{ ˆβ k } vezes do paciente ter um desfecho positivo. Leo Bastos (PROCC/Fiocruz) Dados binários 22 / 69
Outras funções de probabilidade Link cloglog: Função de distribuição de valor extremo. Link probit: Função de distribuição de Normal padrão. Link cauchit: Função de distribuição de Cauchy padrão. Modelos úteis quando temos modelo dose-resposta. Dobson (2001), seção 7.3. Leo Bastos (PROCC/Fiocruz) Dados binários 23 / 69
Exemplo: Fatores de risco associados ao baixo peso Dados de 189 nascimentos foram coletados no Baystate Medical Center, Springfield, Massachusetts em 1986. low: Peso ao nascer abaixo de 2.5kg (1=sim, 0=não) age: Idade da mãe em anos. lwt: Peso da mãe em Kg na ultima menstruação. race: Raça da mãe ( white, black, other ) smoke: Fumou durante a gravidez (1=sim, 0=não) ht: Histórico de hipertensão (1=sim, 0=não) ui: Presença de uterine irritability (1=sim, 0=não) ftv: Número de visitas ao médico durante o primeiro trimestre. ptl: Número de partos prematuros. bwt: Peso ao nascer em gramas. Leo Bastos (PROCC/Fiocruz) Dados binários 24 / 69
Descritivas Baixo peso por idade da mae 15 20 25 30 35 40 45 Nao Sim Leo Bastos (PROCC/Fiocruz) Dados binários 25 / 69
Descritivas Baixo peso por raça Nao Sim Freq 40 60 80 Leo Bastos (PROCC/Fiocruz) Dados binários 26 / 69
Descritivas Baixo peso por ht Nao Sim Freq 0 50 100 150 nao sim Histórico de hipertensão Leo Bastos (PROCC/Fiocruz) Dados binários 27 / 69
Descritivas Baixo peso por ftv Freq 0 20 40 60 80 100 Nao Sim 0 1 Visitas ao medico 1o trimestre Leo Bastos (PROCC/Fiocruz) Dados binários 28 / 69
Testes estatísticos Variáveis Teste p-value Baixo peso x Idade t 0.0783 Baixo peso x Peso da mãe t 0.0136 Baixo peso x Raça da mãe χ 2 0.0819 Baixo peso x Fumou na gravidez χ 2 0.0396 Baixo peso x Histórico de hipertensão Exato de Fisher 0.0516 Baixo peso x uterine irritability χ 2 0.0355 Baixo peso x Visitas ao médico 1o trim. χ 2 0.1577 Baixo peso x Partos prematuros χ 2 0.0005 Leo Bastos (PROCC/Fiocruz) Dados binários 29 / 69
Saída R: glm() ## ## Call: ## glm(formula = low ~ age + lwt + race + smoke + ht + ui + ptl, ## family = binomial, data = birth) ## ## Deviance Residuals: ## Min 1Q Median 3Q Max ## -1.6473-0.7992-0.5106 0.9398 2.2061 ## ## Coefficients: ## Estimate Std. Error z value Pr(> z ) ## (Intercept) 1.83862 1.28421 1.432 0.15223 ## age -0.03832 0.03771-1.016 0.30953 ## lwt -0.03259 0.01544-2.110 0.03483 * ## raceother -0.40498 0.54648-0.741 0.45865 ## racewhite -1.20756 0.53209-2.269 0.02324 * ## smokesim 0.84883 0.40811 2.080 0.03753 * ## htsim 1.83602 0.70242 2.614 0.00895 ** ## uisim 0.71614 0.46309 1.546 0.12200 ## ptl 1.22237 0.46285 2.641 0.00827 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## (Dispersion parameter for binomial family taken to be 1) Leo Bastos (PROCC/Fiocruz) Dados binários 30 / 69
Saída R: glm() apos rodar o stepwise ## ## Call: ## glm(formula = low ~ lwt + race + smoke + ht + ui + ptl, family = binomial, ## data = birth) ## ## Deviance Residuals: ## Min 1Q Median 3Q Max ## -1.7261-0.7979-0.5150 0.9519 2.2044 ## ## Coefficients: ## Estimate Std. Error z value Pr(> z ) ## (Intercept) 1.14554 1.08178 1.059 0.28963 ## lwt -0.03472 0.01525-2.276 0.02284 * ## raceother -0.44266 0.54658-0.810 0.41801 ## racewhite -1.29581 0.52820-2.453 0.01416 * ## smokesim 0.87004 0.40436 2.152 0.03142 * ## htsim 1.86283 0.70626 2.638 0.00835 ** ## uisim 0.75700 0.45865 1.650 0.09884. ## ptl 1.12819 0.45020 2.506 0.01221 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## (Dispersion parameter for binomial family taken to be 1) ## Leo Bastos (PROCC/Fiocruz) Dados binários 31 / 69
Testando a variável ui usando a deviance ## Analysis of Deviance Table ## ## Model 1: low ~ lwt + race + smoke + ht + ptl ## Model 2: low ~ lwt + race + smoke + ht + ui + ptl ## Resid. Df Resid. Dev Df Deviance Pr(>Chi) ## 1 182 200.61 ## 2 181 197.93 1 2.677 0.1018 Leo Bastos (PROCC/Fiocruz) Dados binários 32 / 69
Saída R: glm() apos rodar o stewise ## ## Call: ## glm(formula = low ~ lwt + race + smoke + ht + ptl, family = binomial, ## data = birth) ## ## Deviance Residuals: ## Min 1Q Median 3Q Max ## -1.8141-0.8035-0.5460 0.9655 2.1589 ## ## Coefficients: ## Estimate Std. Error z value Pr(> z ) ## (Intercept) 1.32099 1.07173 1.233 0.21774 ## lwt -0.03638 0.01524-2.387 0.01698 * ## raceother -0.39411 0.54711-0.720 0.47131 ## racewhite -1.25716 0.52896-2.377 0.01747 * ## smokesim 0.87954 0.40052 2.196 0.02809 * ## htsim 1.76044 0.70690 2.490 0.01276 * ## ptl 1.23163 0.44606 2.761 0.00576 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## (Dispersion parameter for binomial family taken to be 1) ## ## Null deviance: 234.67 on 188 degrees of freedom Leo Bastos (PROCC/Fiocruz) Dados binários 33 / 69
Entendendo a variável raça A Variável raça é um fator com 3 níveis (black, other, white) Na modelagem, as variáveis precisam ser transformadas em números. E um fator é transformado em número usando contrastes ortogonais. other white black 0 0 other 1 0 white 0 1 O número de contrastes de uma variável, do tipo fator, é igual ao número de níveis menos 1. Sempre haverá um valor base, cujo o efeito estará embutido no intercepto. (no exemplo da raça, a base é black) O efeito de um constraste é sempre relativo ao efeito da base. Leo Bastos (PROCC/Fiocruz) Dados binários 34 / 69
Testando a variável raça usando a deviance ## Analysis of Deviance Table ## ## Model 1: low ~ lwt + smoke + ht + ptl ## Model 2: low ~ lwt + race + smoke + ht + ui + ptl ## Resid. Df Resid. Dev Df Deviance Pr(>Chi) ## 1 184 208.03 ## 2 181 197.93 3 10.097 0.01776 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' Leo Bastos (PROCC/Fiocruz) Dados binários 35 / 69
Baseado no teste de Wald Vamos supor que o modelo final é aquele que melhor representa o conhecimento a respeito do baixo peso, sob os pontos de vista teórico e estatístico. A equação do modelo final é logit(π i ) = 1.32 0.04lwd i 0.39race : other i 1.26race : white i + 0.88smoke : sim i + 1.76ht : sim i + 1.23ptl i Como podemos interpretar os resultados? Leo Bastos (PROCC/Fiocruz) Dados binários 36 / 69
Estimativas Estimate Std. Error z value Pr(> z ) (Intercept) 1.3210 1.0717 1.23 0.2177 lwt -0.0364 0.0152-2.39 0.0170 raceother -0.3941 0.5471-0.72 0.4713 racewhite -1.2572 0.5290-2.38 0.0175 smokesim 0.8795 0.4005 2.20 0.0281 htsim 1.7604 0.7069 2.49 0.0128 ptl 1.2316 0.4461 2.76 0.0058 Leo Bastos (PROCC/Fiocruz) Dados binários 37 / 69
Análise visual Regression Estimates 2 1 0 1 2 3 ptl htsim smokesim racewhite raceother lwt Leo Bastos (PROCC/Fiocruz) Dados binários 38 / 69
Baixo peso: Interpretação Mães com peso da mãe na última menstruação uma unidade menor tem a chance de ter filho com baixo peso é 1.037 vezes maior. A chance de uma mãe negra ter um filho com baixo peso é 3.515 vezes a chance de uma mãe branca. A chance de uma mãe que fumou na gravidez ter um filho com baixo peso é 2.41 vezes a chance de uma mãe que não fumou durante a gravidez. A chance de uma mãe com histórico de hipertensão ter um filho com baixo peso é 5.81 vezes a chance de uma mãe que não tem histórico de hipertensão. A chance de uma mãe que já teve pelo menos um parto prematuro ter um filho com baixo peso é 3.43 vezes a chance de uma mãe que não teve filho prematuro. Leo Bastos (PROCC/Fiocruz) Dados binários 39 / 69
Medidas de associação ajustadas Quando precisamos controlar por outras variáveis explicativas OR Regressão logística Razão de taxas Análise de sobrevivência (e.g. Modelo de Cox) Razão de riscos (ou prevalencias) Modelo log-binomial, regressão de Poisson (com variância robusta), regressão logística*,... Leo Bastos (PROCC/Fiocruz) Dados binários 41 / 69
Odds ratio via regressão logística Ao estimarmos um coeficiente β em um modelo de regressão logística junto com as outras variáveis, dizemos que estamos controlando por essas outras variáveis. A OR estimada é chamada de OR ajustada. A OR pode ser calculada nos três desenhos: coorte, seccional e caso-controle. Um propriedade: quanto menor a prevalência do desfecho, melhor a aproximação do uso da OR como Risco relativo (ou razão de prevalência). Leo Bastos (PROCC/Fiocruz) Dados binários 42 / 69
Razão de riscos (ou prevalências) A Razão de risco ou risco relativo, RR, pode ser calculada diretamente em estudos de coorte, e em estudos seccionais (razão de prevalências). SPG, suponha que queremos encontrar a RR para a variável X 1, RR 1, controlando pelas demais (X 2, z..., X p ). O RR 1 ajustada é dada por: RR 1 = P(Y = 1 X 1 = 1, X 2 = x 2,..., X k = x k ) P(Y = 1 X 1 = 0, X 2 = x 2,..., X k = x k ) Em um modelo log-binomial, essa razão se reduz a RR 1 = eβ 0+β 1 +β 2 x 2 +...+β k x k e β 0+β 2 x 2 +...+β k x k = e β 1 Como a função de ligação, log, não é uma função g( ) : (0, 1) R, então pode-se observar instabilidade numérica na estimação. Leo Bastos (PROCC/Fiocruz) Dados binários 43 / 69
Alternativas para o cálculo do risco relativo O método mais popular é a regressão de Poisson com variância robusta, Barros e Hirakata (2003, BMC) e Zou (2004, AJE). A ideia, ajustar um modelo de Poisson aos dados binários, e usar um método robusto de correção de variância para estimar a incerteza dos efeitos. Usa uma equivalência matematica entre a função de verossimilhança da distribuição de Poisson com um modelo de risco proporcionais de Cox com modificação de Breslow. A variância dos estimadortes é corrigida usando um método de estimação da matriz de variâncias heterocedástico-consistente, o R tem 9(!) estimadores. O default chamado HC3, é o melhor segundo um estudo de simulação (Long & Ervin, 2000, The American Statistician) para modelos lineares. Leo Bastos (PROCC/Fiocruz) Dados binários 44 / 69
Regressão para dados binários Seja Y 1, Y 2,..., Y n variáveis aleatórias binárias independentes Assume-se que Y i Poisson(λ i ) onde λ i é uma taxa. Usando a função de ligação log, temos que log(λ i ) = β 0 + β 1 x 1i + + β p x pi Agora não há problema de instabilidade numérica, e a Razão de taxas para a variável X 1 pode ser estimada RR 1 = λ X 1 =1 λ X1 =0 = e β 1 Leo Bastos (PROCC/Fiocruz) Dados binários 45 / 69
Regressão para dados binários No R, usa-se a função glm de forma usual, em seguida corrigi-se a variância usando os pacotes lmtest e sandwich As estimativas corrigidas são obtidas com a função: coeftest( modelopoisson, vcov.=vcovhc(modelopoisson, type= HC3 ) ) onde modelopoisson é a saída do ajuste modelo de Poisson aos dados binários Uma estimativa para o risco relativo (asism como a razão de prevalência) pode ser calculada diretamente da regressão logística. Leo Bastos (PROCC/Fiocruz) Dados binários 46 / 69
Estimando RR diretamente da regressão logística A ideia foi proposta por Wilcosky and Chambless (1985), é funciona da seguinte maneira: O RR é essencialmente a razão das seguintes probabilidades: Na regressão logística vimos que RR 1 = P(Y = 1 X 1 = 1, X 1 = x 1 ) P(Y = 1 X 1 = 0, X 1 = x 1 ) eβ0+β1x+β2x 2 +...βpx p P(Y = 1 X 1 = x, X 1 = x 1 ) = 1 + e β0+β1x+β2x 2 +...βpx p Dessa forma a razão que temos interesse é: RR 1 = e β 1 + e β0+β2x 2 +...βpx p 1 1 + e β0+β1+β2x 2 +...βpx p Dessa forma, o risco relativo depende de uma variadade de coisas. Leo Bastos (PROCC/Fiocruz) Dados binários 47 / 69
Estimando RR diretamente da regressão logística Os efeitos de regressão β são estimados diretamente do modelo Wilcosky and Chambless (1985) proporam algumas formas para lidar com as outras covariáveis: 1 RR marginal: A ideia é calcular o risco relativo médio da amostra n RR (m) i=1 1 = P(Y = 1 X 1 = 1, X 2 = x 2i,..., X p = x pi ) n i=1 P(Y = 1 X 1 = 0, X 2 = x 2i,..., X p = x pi ) 2 RR condicional: A ideia é calcular o risco relativo para um indivíduo médio da amostra 3 Lembrando que RR (c) 1 = P(Y = 1 X 1 = 1, X 2 = x 2,..., X p = x p ) P(Y = 1 X 1 = 0, X 2 = x 2,..., X p = x p ) eβ0+β1x+β2x 2 +...βpx p P(Y = 1 X 1 = x, X 2 = x2,..., X p = xp ) = 1 + e β0+β1x+β2x 2 +...βpx p Leo Bastos (PROCC/Fiocruz) Dados binários 48 / 69
Estimando RR diretamente da regressão logística Teoria assintótica para RR (m) e RR (c) foi desenvolvida por Flanders and Rhodes (1987) Um pacote para estimar RR (m) e RR (c), e seus respectivos erro padrão e IC, está em desenvolvimento. Exemplo tirado de Barros & Hirakata (2003) Com o objetivo de avaliar a ocorrencia de baixo peso em crianças de 4-5 anos em Pelotas/RS (desfecho) por hospitalização prévia (exposição), controlado por peso ao nascer (normal ou baixo peso). Peso atual Z X Baixo peso Normal Normal Sim 8 163 Não 14 704 Baixo peso Sim 16 103 Não 14 250 Leo Bastos (PROCC/Fiocruz) Dados binários 49 / 69
Resultados Tabela : Prevalence ratios (PR) and respective 95% confidence interval estimates in the analysis of the data using underweight as the outcome (Y), previous hospitalization (X) as the risk factor and birth weight as control factor (Z). PR 95% CI Crude PR 2.902 (1.710, 4.927) Crude POR 3.071 (1.673, 5.597) Robust Poisson 2.479 (1.454, 4.226) Log-binomial 2.481 (1.447, 4.226) Logistic regression POR 2.641 (1.481, 4.671) PR (c) X 2.532 (1.471, 4.357) PR (m) X 2.460 (1.451, 4.171) See more in Bastos, de Oliveira and Velasque (2015, CSP) Leo Bastos (PROCC/Fiocruz) Dados binários 50 / 69
GLM para amostras complexas A primeira suposição de um GLM, seja Y 1, Y 2,..., Y n desfechos independentes. Isso é equivalente a supor que a amostra observada é uma amostra aleatória simples (com reposição) ou de uma população infinita. Em muitos estudos a seleção da amostra é proveniente de um plano amostral complexo, e portanto a suposição essa suposição de AAS pode ser muito forte. Em um plano amostral probabiĺıstico, devemos ser capazes de calcular a probabilidade de cada elemento da população pertencer a amostra. Essa probabilidade é definida pelo desenho da amostra e é posteriormente usada na modelagem. Leo Bastos (PROCC/Fiocruz) Dados binários 52 / 69
GLM para amostras complexas A probabilidade de inclusão de cada indivíduo, π i, vai definir o peso amostral de cada indivíduo. Usualmente o peso, ω i, é o inverso da probabilidade de inclusão, mas existem correções para o peso (ex. calibração) Tipos de amostragem: 1 Aleatória simples; 2 Estratificada; 3 Por conglomerados em 1,2,3,... estágios; 4 Combinações das amostras acima. Leo Bastos (PROCC/Fiocruz) Dados binários 53 / 69
GLM para amostras complexas A não inclusão do desenho amostral pode causar viés nas estimativas de um modelo. Isso acontece, pois algumas observações podem ter pesos diferentes podendo distorcer a associação entre variáveis. Existem algumas maneiras distintas de incluir o desenho amostral na análise, aqui vamos olhar para o método da pseudo-verossimilhança. No método da pseudo-verossimilhança os pesos são incluídos multiplicando a função escore. Dessa forma, estimativas corrigidas para os efeitos, e principlamente, para as variâncias podem ser calculadas ao incluir os pesos e mostrar qual o plano amostral utilizado. Leo Bastos (PROCC/Fiocruz) Dados binários 54 / 69
GLM para amostras complexas O pacote survey do R faz isso. Referências: Analysis of Survey Data. Edited by R. L. Chambers and C. J. Skinner, John Wiley & Sons, Ltd. 2003 Complex survey: A guide to analysis using R, Thomas Lumley, John Wiley & Sons, Ltd. 2010 Leo Bastos (PROCC/Fiocruz) Dados binários 55 / 69
Exemplo API (Academic Performance Index) foi calculado para todas as escolas da California baseado no resultado padronizado de testes dos estudantes (min=200, max=1000). 200 escolas foram selecionadas segundo uma amostra estratificada por tipo de escola (Elementary/Middle/High school). População: N = 4421. População dos estratos: N E = 4421, N M = 1018, N H = 755. Variáveis de interesse: 1 Desfecho API 800; 2 ell % de English-Language learners ; 3 meals % de estudantes elegíveis a refeições subsidiadas. Leo Bastos (PROCC/Fiocruz) Dados binários 56 / 69
Comandos no R require(survey) data(api) des<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) m1 = glm(i(api00 >= 800) ~ ell + meals, family=binomial(), data=apistrat) m2 = svyglm(i(api00 >= 800) ~ ell + meals, family=binomial(), design=des) ## Warning: non-integer #successes in a binomial glm! Leo Bastos (PROCC/Fiocruz) Dados binários 57 / 69
Saída GLM Modelo logístico usual ## Waiting for profiling to be done... ## Coef 2.5 % 97.5 % ## (Intercept) 0.588-0.217 1.446 ## ell 0.066-0.009 0.142 ## meals -0.133-0.201-0.080 Modelo logístico usando o desenho amostral ## Coef 2.5 % 97.5 % ## (Intercept) 1.304 0.576 2.031 ## ell 0.071-0.003 0.145 ## meals -0.142-0.199-0.085 Leo Bastos (PROCC/Fiocruz) Dados binários 58 / 69
Saída GLM Odds ratios: Aumentando em 1 unidade percentual ## Coef 2.5 % 97.5 % ## ell 1.0733137 0.9968291 1.1556668 ## meals 0.8675454 0.8194574 0.9184553 OR: Aumentando em 10 unidades percentuais ## Coef 2.5 % 97.5 % ## ell 2.0289288 0.9687400 4.2493877 ## meals 0.2415027 0.1365412 0.4271499 Leo Bastos (PROCC/Fiocruz) Dados binários 59 / 69
Modelos multinível Tipos de modelos multinível: Modelo usual: Y ij = α + βx ij onde Y ij é a nota final do aluno i da escola j, e X ij é sua nota de entrada. Modelo com intercepto variando: Modelo com coeficiente variando: Y ij = α j + βx ij Y ij = α + β j X ij Modelo com intercepto e coeficiente variando: Y ij = α j + β j X ij Leo Bastos (PROCC/Fiocruz) Dados binários 61 / 69
Modelos multinível - Exemplo Belenky et al. (2003). Sleep restriction study Journal of Sleep Research, 12, 1-12. 18 voluntários foram submetidos a 7 dias de privação de sono (apenas 3 horas de sono por noite), seguidos de 3 dias com 8 horas de sono. Em cada dia, um teste de vigilância psicomotora (PVT) era realizado e o tempo de reação (em ms) registrado. The PVT measures simple reaction time to a visual stimulus, presented approximately 10 times/minute (interstimulus interval varied from 2 to 10 s in 2-s increments) for 10 min and implemented in a thumb-operated, hand-held device. Leo Bastos (PROCC/Fiocruz) Dados binários 62 / 69
Visualizando dados Data from Belenky et al. (2003) Average reaction time (ms) 450 400 350 300 250 200 450 400 350 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 351 352 369 370 371 372 333 334 335 337 349 350 308 309 310 330 331 332 450 400 350 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 Days of sleep deprivation Leo Bastos (PROCC/Fiocruz) Dados binários 63 / 69
Ajustando os modelos # Fixed fm0 <- lm(reaction ~ Days, sleepstudy) # Multilevel - varying intercept fm1 <- lmer(reaction ~ 0 + Days + (1 Subject), sleepstudy) # Multilevel - varying coefficient fm2 <- lmer(reaction ~ 1 + (0+Days Subject), sleepstudy) # Multilevel - varying both fm3 <- lmer(reaction ~ (Days Subject), sleepstudy) Leo Bastos (PROCC/Fiocruz) Dados binários 64 / 69
Modelos ajustados Fixed intercept and coefficent 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 337 349 350 351 352 369 370 371 372 450 400 350 Average reaction time (ms) 450 400 350 308 309 310 330 331 332 333 334 335 300 250 200 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 Days of sleep deprivation Leo Bastos (PROCC/Fiocruz) Dados binários 65 / 69
Modelos ajustados Varying intercept 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 337 349 350 351 352 369 370 371 372 450 400 350 Average reaction time (ms) 450 400 350 308 309 310 330 331 332 333 334 335 300 250 200 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 Days of sleep deprivation Leo Bastos (PROCC/Fiocruz) Dados binários 66 / 69
Modelos ajustados Varying coefficient 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 337 349 350 351 352 369 370 371 372 450 400 350 Average reaction time (ms) 450 400 350 308 309 310 330 331 332 333 334 335 300 250 200 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 Days of sleep deprivation Leo Bastos (PROCC/Fiocruz) Dados binários 67 / 69
Modelos ajustados Varying both 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 337 349 350 351 352 369 370 371 372 450 400 350 Average reaction time (ms) 450 400 350 308 309 310 330 331 332 333 334 335 300 250 200 300 250 200 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 Days of sleep deprivation Leo Bastos (PROCC/Fiocruz) Dados binários 68 / 69
Concluindo Os dados e objetivos em análises epidemiológicas geralmente não são simples. Existe modelagem adequada para a maioria dos problemas, modelos lineares e modelos lineares generalizados são apenas a base ponta do iceberg. Duvidas, elogios, críticas, sugestões, ameaças: lsbastos@fiocruz.br Leo Bastos (PROCC/Fiocruz) Dados binários 69 / 69