Como exatamente "se controla para outras variáveis"?

141

Aqui está o artigo que motivou esta pergunta: A impaciência nos engorda?

Gostei deste artigo e demonstra bem o conceito de "controle de outras variáveis" (QI, carreira, renda, idade etc.) para isolar melhor a verdadeira relação entre apenas as 2 variáveis ​​em questão.

Você pode me explicar como você realmente controla as variáveis ​​em um conjunto de dados típico?

Por exemplo, se você tem duas pessoas com o mesmo nível de impaciência e IMC, mas com rendas diferentes, como você trata esses dados? Você os categoriza em diferentes subgrupos com renda, paciência e IMC semelhantes? Porém, eventualmente, existem dezenas de variáveis ​​a serem controladas (QI, carreira, renda, idade, etc.) Como você agrega esses (potencialmente) centenas de subgrupos? De fato, sinto que essa abordagem está latindo na árvore errada, agora que a verbalizei.

Obrigado por esclarecer algo sobre o que eu pretendia chegar ao fundo por alguns anos agora ...!

JackOfAll
fonte
3
Epi & Bernd, Muito obrigado por tentar responder a isso. Infelizmente, essas respostas são um grande salto da minha pergunta e estão acima da minha cabeça. Talvez seja porque eu não tenho experiência com R, e apenas uma base básica do Statistics 101. Assim como o feedback ao seu ensino, uma vez que você abstraiu do IMC, da idade, da impaciência etc. para "covariável" e outros, você me perdeu totalmente. A geração automática de pseudo-dados também não foi útil para esclarecer os conceitos. Na verdade, isso piorou. É difícil saber em dados fictícios sem nenhum significado inerente, a menos que você já sabe o princípio a ser explicado (ou seja: Professor sabe i
JackOfAll
7
Obrigado por fazer esta pergunta de importância fundamental, @JackOfAll - o site ficaria incompleto sem uma pergunta nesse sentido - eu 'favoreci' esse. As respostas aqui foram muito úteis para mim e, aparentemente, para muitas outras, com base no número de votos. Se, depois de ponderar isso, você achou as respostas úteis (ou as respostas para qualquer uma das suas perguntas), incentivamos você a usar seus votos positivos e a aceitar uma resposta, se achar que é definitiva. Isso pode ser feito clicando nas pequenas curvas de sino apontando para cima ao lado da resposta e da marca de seleção, respectivamente.
Macro
4
Essa não é uma resposta completa, nem nada, mas acho que vale a pena ler "Vamos colocar as regressões da lata de lixo e os problemas da lata de lixo onde eles pertencem", de Chris Achen. (Link em PDF: http://qssi.psu.edu/files/Achen_GarbageCan.pdf ) Isso se aplica às abordagens bayesiana e frequentista igualmente. Apenas colocar termos na sua configuração não é suficiente para "controlar" os efeitos, mas, infelizmente, é isso que passa pelo controle em grande parte da literatura.
Ely
9
Você pergunta " como o software de computador controla todas as variáveis ​​ao mesmo tempo matematicamente ". Você também diz "Preciso de uma resposta que não envolva fórmulas". Não vejo como é possível fazer as duas coisas ao mesmo tempo. Pelo menos não sem um sério risco de deixá-lo com intuição imperfeita.
Glen_b
2
Estou surpreso que esta pergunta não tenha recebido mais atenção. Concordo com o comentário do OP de que outras perguntas no site não cobrem exatamente o problema específico que é abordado aqui. @ Jen, a resposta muito curta à sua (segunda) pergunta é que as múltiplas covariáveis ​​são realmente divididas simultaneamente e não iterativamente, como você descreve. Agora vou pensar em como seria uma resposta mais detalhada e intuitiva para essas perguntas.
Jake Westfall

Respostas:

124

Existem muitas maneiras de controlar variáveis.

O mais fácil, e o que você inventou, é estratificar seus dados para ter subgrupos com características semelhantes - existem métodos para reunir esses resultados e obter uma "resposta" única. Isso funciona se você tiver um número muito pequeno de variáveis ​​que deseja controlar, mas, como descobriu corretamente, isso se desfaz rapidamente à medida que você divide seus dados em partes cada vez menores.

Uma abordagem mais comum é incluir as variáveis ​​que você deseja controlar em um modelo de regressão. Por exemplo, se você tiver um modelo de regressão que possa ser descrito conceitualmente como:

BMI = Impatience + Race + Gender + Socioeconomic Status + IQ

A estimativa que você obterá para a impaciência será o efeito da impaciência nos níveis das outras covariáveis ​​- a regressão permite suavizar essencialmente locais onde você não tem muitos dados (o problema com a abordagem de estratificação), embora isso deva ser feito com cuidado.

Ainda existem maneiras mais sofisticadas de controlar outras variáveis, mas as probabilidades são de que quando alguém diz "controlado por outras variáveis", elas significam que foram incluídas em um modelo de regressão.

Tudo bem, você pediu um exemplo no qual possa trabalhar para ver como isso acontece. Vou orientá-lo passo a passo. Tudo que você precisa é de uma cópia do R instalada.

Primeiro, precisamos de alguns dados. Recorte e cole os seguintes pedaços de código no R. Lembre-se de que este é um exemplo artificial que eu inventei no local, mas mostra o processo.

covariate <- sample(0:1, 100, replace=TRUE)
exposure  <- runif(100,0,1)+(0.3*covariate)
outcome   <- 2.0+(0.5*exposure)+(0.25*covariate)

Esses são seus dados. Observe que já sabemos a relação entre o resultado, a exposição e a covariável - esse é o objetivo de muitos estudos de simulação (dos quais este é um exemplo extremamente básico. Você começa com uma estrutura que conhece e garante que seu método possa você a resposta certa.

Agora, então, no modelo de regressão. Digite o seguinte:

lm(outcome~exposure)

Você recebeu um Intercept = 2.0 e uma exposição = 0.6766? Ou algo parecido, dado que haverá alguma variação aleatória nos dados? Bom - esta resposta está errada. Nós sabemos que está errado. Por que isso está errado? Falhamos no controle de uma variável que afeta o resultado e a exposição. É uma variável binária, faça como quiser - sexo, fumante / não fumante, etc.

Agora execute este modelo:

lm(outcome~exposure+covariate)

Desta vez, você deve obter coeficientes de Interceptação = 2,00, exposição = 0,50 e uma covariável de 0,25. Esta, como sabemos, é a resposta certa. Você controlou para outras variáveis.

Agora, o que acontece quando não sabemos se cuidamos de todas as variáveis ​​que precisamos (nunca realmente fazemos)? Isso é chamado de confusão residual , e é uma preocupação na maioria dos estudos observacionais - que controlamos imperfeitamente, e nossa resposta, embora quase certa, não é exata. Isso ajuda mais?

Fomite
fonte
Obrigado. Alguém conhece um exemplo simples baseado em regressão de exemplo online ou em um livro que eu possa trabalhar?
JackOfAll
@JackOfAll Provavelmente, existem centenas de exemplos - em quais áreas / tipos de perguntas você está interessado e em quais pacotes de software você pode usar?
Fomite 20/10/11
Bem, qualquer exemplo acadêmico / artificial é bom para mim. Eu tenho o Excel, que pode fazer uma regressão multi-variável, correto? Ou preciso de algo como R para fazer isso?
JackOfAll
10
+1 por responder a isso sem a negatividade que eu usaria. :) Na linguagem típica, controlar outras variáveis ​​significa que os autores as lançaram na regressão. Realmente não significa o que eles acham que significa se não validaram que as variáveis ​​são relativamente independentes e que toda a estrutura do modelo (geralmente algum tipo de GLM) é bem fundamentada. Em resumo, minha opinião é que sempre que alguém usa essa frase, isso significa que eles têm muito pouca pista sobre estatística, e deve-se recalcular os resultados usando o método de estratificação que você ofereceu.
Iterator
7
@SibbsGambling Você notará que o questionador original pediu um exemplo simples.
Fomite 31/03
56
  1. Introdução

    Gosto da resposta do @ EpiGrad (+1), mas deixe-me ter uma perspectiva diferente. A seguir, refiro-me a este documento em PDF: "Análise de regressão múltipla: estimativa" , que possui uma seção sobre "A 'Partialling Out' Interpretation of Multiple Regression" (p. 83f.). Infelizmente, não tenho idéia de quem é o autor deste capítulo e vou me referir a ele como REGCHAPTER. Uma explicação semelhante pode ser encontrada em Kohler / Kreuter (2009) "Data Analysis Using Stata" , capítulo 8.2.3 "O que significa 'sob controle'?".

    Usarei o exemplo do @ EpiGrad para explicar essa abordagem. O código R e os resultados podem ser encontrados no apêndice.

    Também deve-se notar que "controlar outras variáveis" só faz sentido quando as variáveis ​​explicativas são moderadamente correlacionadas (colinearidade). No exemplo mencionado acima, a correlação momento do produto entre exposuree covariateé 0,50, ou seja,

    > cor(covariate, exposure)
    [1] 0.5036915
  2. Residuals

    Suponho que você tenha um entendimento básico do conceito de resíduos na análise de regressão. Aqui está a explicação da Wikipedia : "Se alguém executa uma regressão em alguns dados, os desvios das observações da variável dependente da função ajustada são os resíduos".

  3. O que significa 'sob controle'?

    Controlando a variável covariate, o efeito (peso da regressão) de exposureon outcomepode ser descrito da seguinte maneira (sou desleixado e pulo a maioria dos índices e todos os chapéus, consulte o texto acima mencionado para obter uma descrição precisa):

    β1=residi1yiresidi12

    são os resíduos quando regredirsobre, isto é,residi1exposurecovariate

    exposvocêre=const.+βcovumarEuumatecovumarEuumate+resEud

    Os resíduos "[..] são a parte de que não está correlacionada com x i 2 . [...] Assim, p 1 mede a relação entre a amostra y e x 1 após x 2 foi partialled para fora" ( REGCHAPTER 84). "Parcialmente excluído" significa "controlado por".xEu1xEu2β^1yx1x2

    Vou demonstrar essa idéia usando os dados de exemplo do @ EpiGrad. Primeiro, vou regredir exposureno covariate. Como estou interessado apenas nos resíduos lmEC.resid, omito a saída.

    summary(lmEC <- lm(exposure ~ covariate))
    lmEC.resid   <- residuals(lmEC)

    O próximo passo é regredir outcomenesses resíduos ( lmEC.resid):

    [output omitted]
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept)  2.45074    0.02058 119.095  < 2e-16 ***
    lmEC.resid   0.50000    0.07612   6.569 2.45e-09 ***
    ---
    Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 
    
    [output omitted]

    Como se pode ver, o peso de regressão para lmEC.resid(ver Estimado coluna, ) neste regressão simples é igual ao peso de regressão múltipla para , que também é de 0,50 (ver @ a resposta de EpiGrad ou a saída R abaixo).βeumEC.resEud=0,50covariate0,50

Apêndice

Código R

set.seed(1)
covariate <- sample(0:1, 100, replace=TRUE)
exposure <- runif(100,0,1)+(0.3*covariate)
outcome <- 2.0+(0.5*exposure)+(0.25*covariate)

## Simple regression analysis
summary(lm(outcome ~ exposure))

## Multiple regression analysis
summary(lm(outcome ~ exposure + covariate))

## Correlation between covariate and exposure
cor(covariate, exposure)

## "Partialling-out" approach
## Regress exposure on covariate
summary(lmEC <- lm(exposure ~ covariate))
## Save residuals
lmEC.resid <- residuals(lmEC)
## Regress outcome on residuals
summary(lm(outcome ~ lmEC.resid))

## Check formula
sum(lmEC.resid*outcome)/(sum(lmEC.resid^2))

Saída R

> set.seed(1)
> covariate <- sample(0:1, 100, replace=TRUE)
> exposure <- runif(100,0,1)+(0.3*covariate)
> outcome <- 2.0+(0.5*exposure)+(0.25*covariate)
> 
> ## Simple regression analysis
> summary(lm(outcome ~ exposure))

Call:
lm(formula = outcome ~ exposure)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.183265 -0.090531  0.001628  0.085434  0.187535 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.98702    0.02549   77.96   <2e-16 ***
exposure     0.70103    0.03483   20.13   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.109 on 98 degrees of freedom
Multiple R-squared: 0.8052,     Adjusted R-squared: 0.8032 
F-statistic: 405.1 on 1 and 98 DF,  p-value: < 2.2e-16 

> 
> ## Multiple regression analysis
> summary(lm(outcome ~ exposure + covariate))

Call:
lm(formula = outcome ~ exposure + covariate)

Residuals:
       Min         1Q     Median         3Q        Max 
-7.765e-16 -7.450e-18  4.630e-18  1.553e-17  4.895e-16 

Coefficients:
             Estimate Std. Error   t value Pr(>|t|)    
(Intercept) 2.000e+00  2.221e-17 9.006e+16   <2e-16 ***
exposure    5.000e-01  3.508e-17 1.425e+16   <2e-16 ***
covariate   2.500e-01  2.198e-17 1.138e+16   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 9.485e-17 on 97 degrees of freedom
Multiple R-squared:     1,      Adjusted R-squared:     1 
F-statistic: 3.322e+32 on 2 and 97 DF,  p-value: < 2.2e-16 

> 
> ## Correlation between covariate and exposure
> cor(covariate, exposure)
[1] 0.5036915
> 
> ## "Partialling-out" approach
> ## Regress exposure on covariate
> summary(lmEC <- lm(exposure ~ covariate))

Call:
lm(formula = exposure ~ covariate)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.49695 -0.24113  0.00857  0.21629  0.46715 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.51003    0.03787  13.468  < 2e-16 ***
covariate    0.31550    0.05466   5.772  9.2e-08 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2731 on 98 degrees of freedom
Multiple R-squared: 0.2537,     Adjusted R-squared: 0.2461 
F-statistic: 33.32 on 1 and 98 DF,  p-value: 9.198e-08 

> ## Save residuals
> lmEC.resid <- residuals(lmEC)
> ## Regress outcome on residuals
> summary(lm(outcome ~ lmEC.resid))

Call:
lm(formula = outcome ~ lmEC.resid)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.1957 -0.1957 -0.1957  0.2120  0.2120 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.45074    0.02058 119.095  < 2e-16 ***
lmEC.resid   0.50000    0.07612   6.569 2.45e-09 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2058 on 98 degrees of freedom
Multiple R-squared: 0.3057,     Adjusted R-squared: 0.2986 
F-statistic: 43.15 on 1 and 98 DF,  p-value: 2.45e-09 

> 
> ## Check formula
> sum(lmEC.resid*outcome)/(sum(lmEC.resid^2))
[1] 0.5
> 
Bernd Weiss
fonte
5
Esse capítulo parece bebê Wooldridge (aka introdutória Econometria: uma abordagem moderna por Jeffrey M. Wooldridge)
Dimitriy V. Masterov
2
Talvez eu esteja entendendo mal alguma coisa, mas por que você não precisa regredir o resultado também na covariável e, finalmente, regredir os resíduos do resultado nos resíduos da exposição?
hlinee
@hlinee está certo. Você pode explicar por que você não faz isso?
Parseltongue 30/07
41

É claro que alguma matemática estará envolvida, mas não é muita coisa: Euclides teria entendido bem. Tudo o que você realmente precisa saber é como adicionar e redimensionar vetores. Embora isso atinja o nome de "álgebra linear" hoje em dia, você só precisa visualizá-lo em duas dimensões. Isso nos permite evitar a maquinaria matricial da álgebra linear e focar nos conceitos.


Uma história geométrica

Na primeira figura, yy1αx1x1ααβγ

figura 1

Esta figura realmente começou com os vetores originais (mostrados como linhas sólidas) e y . A "correspondência" de mínimos quadrados de y a x 1 é encontrada usando o múltiplo dex1yyx1x1yαyy1yx1"indicará consistentemente quais vetores foram" correspondentes "," retirados "ou" controlados ".)

Podemos combinar outros vetores para x1x2x1βx1x21

Figura 2

(Não importa que o plano que contém e x 2x1x2x1yx1x3,x4,...x1

Agora considere o plano que contém os dois resíduos y1x21x21x1x21

Figura 3

yx2y1

x21y1x1y1x1γx21y12x1

x31,x41,...x2

y12x1x2y12x1,x2,yx1,x2yx1x2x2x1

(Se houver vetores adicionais, continuaremos esse processo de "remover um correspondente" até que cada um desses vetores seja o correspondente. Em todos os casos, as operações serão as mesmas mostradas aqui e sempre ocorrerão em um avião .)


Aplicação à regressão múltipla

X1X2,...YX1X2YX1X2X1,X2,...

  1. A correspondência pode ser feita sequencialmente e

  2. A ordem na qual a correspondência é feita não importa.

O processo de "remover" um correspondente, substituindo todos os outros vetores por seus resíduos, é geralmente chamado de "controle" do correspondente. Como vimos nas figuras, uma vez que um matcher foi controlado, todos os cálculos subsequentes fazem ajustes perpendiculares a esse matcher. Se desejar, você pode pensar em "controlar" como "contabilizar (no sentido menos quadrado) a contribuição / influência / efeito / associação de um correspondente em todas as outras variáveis".


Referências

Você pode ver tudo isso em ação com dados e código de trabalho na resposta em https://stats.stackexchange.com/a/46508 . Essa resposta pode atrair mais as pessoas que preferem aritmética do que imagens de avião. (A aritmética para ajustar os coeficientes à medida que os fósforos são introduzidos seqüencialmente é simples, no entanto.) A linguagem do casamento é de Fred Mosteller e John Tukey.

whuber
fonte
1
Mais ilustrações nesse sentido podem ser encontradas no livro de Wicken, "The Geometry of Multivariate Statistics" (1994). Alguns exemplos estão em nesta resposta .
caracal
2
xEu .
whuber
1
Eu amo essa resposta porque ela dá muito mais intuição que álgebra. BTW, não tenho certeza se você verificou o canal do youtube desse cara . Eu gostei muito #
1001 Haitao Du
3

Até agora, há uma excelente discussão sobre o ajuste covariável como um meio de "controlar outras variáveis". Mas acho que isso é apenas parte da história. De fato, existem muitas (outras) estratégias baseadas em design, modelo e aprendizado de máquina para abordar o impacto de várias variáveis ​​possíveis de confusão. Esta é uma breve pesquisa de alguns dos tópicos mais importantes (sem ajustes). Embora o ajuste seja o meio mais utilizado para "controlar" outras variáveis, acho que um bom estatístico deve entender o que faz (e não faz) no contexto de outros processos e procedimentos.

Coincidindo:

A correspondência é um método de projetar uma análise emparelhada, na qual as observações são agrupadas em conjuntos de 2 que são semelhantes nos aspectos mais importantes. Por exemplo, você pode experimentar duas pessoas que concordam em sua educação, renda, ocupação profissional, idade, estado civil (etc. etc.), mas que são discordantes em termos de impaciência. Para exposições binárias, o teste t emparelhado simples é suficiente para testar a diferença média no controle de IMC de todos os recursos correspondentes. Se você estiver modelando uma exposição contínua, uma medida análoga seria um modelo de regressão através da origem das diferenças. Veja Carlin 2005

E[Y1-Y2]=β0 0(X1-X2)

Ponderação

XY , como a mortalidade padronizada por idade, para dois países ou vários hospitais. A padronização indireta calcula uma distribuição de resultados esperados a partir das taxas obtidas em uma população "controle" ou "saudável" projetada para a distribuição de estratos na população referente. A padronização direta segue o contrário. Esses métodos são normalmente usados ​​para um resultado binário. Ponderação do escore de propensãocontas da probabilidade de uma exposição binária e controles para essas variáveis ​​a esse respeito. É semelhante à padronização direta de uma exposição. Ver Rothman, Modern Epidemiology 3rd edition.

Randomização e quase aleatorização

É um ponto sutil, mas se você realmente consegue randomizar as pessoas para uma determinada condição experimental, o impacto de outras variáveis ​​é mitigado. É uma condição notavelmente mais forte, porque você nem precisa saber quais são essas outras variáveis. Nesse sentido, você "controlou" a influência deles. Isso não é possível na pesquisa observacional, mas acontece que os métodos de pontuação de propensão criam uma medida probabilística simples para a exposição que permite ponderar, ajustar ou combinar os participantes para que possam ser analisados ​​da mesma maneira que um estudo quase aleatório . Veja Rosenbaum, Rubin 1983 .

Microssimulação

Outra maneira de simular dados que podem ter sido obtidos de um estudo randomizado é realizar microssimulação. Aqui, pode-se realmente voltar sua atenção para modelos de aprendizado de máquina maiores e mais sofisticados. Um termo que Judea Pearl cunhou de que gosto é " Oracle Models ": redes complexas capazes de gerar previsões e previsões para diversos recursos e resultados. Acontece que é possível "dobrar" as informações desse modelo de oráculo para simular resultados em uma coorte equilibrada de pessoas que representam uma coorte aleatória, equilibrada em sua distribuição "variável de controle" e usando rotinas simples de teste t para avaliar a magnitude e precisão de possíveis diferenças. Veja Rutter, Zaslavsky e Feuer 2012

Correspondência, ponderação e ajuste covariável em um modelo de regressão estimam todas as mesmas associações e, portanto, todos podem ser considerados formas de "controle" de outras variáveis .

AdamO
fonte
Totalmente acima da minha cabeça.
JackOfAll
É uma resposta à pergunta que foi feita, a boa discussão até agora é unilateral a favor do ajuste em modelos multivariados.
AdamO 16/05
Modelos multivariados, correspondência etc. são todas técnicas válidas, mas quando um pesquisador normalmente usa uma técnica em detrimento de outra?
mnmn 14/08
-1

Y=Xβ+εb=(XTX)-1XTY

Aksakal
fonte
4
Obrigado por aproveitar a oportunidade para oferecer essas informações. Para que a resposta atenda às necessidades dadas na pergunta, precisamos saber o significado do primo na segunda expressão e o significado da segunda expressão. Eu entendo que inclinação é a mudança em um eixo sobre a mudança no outro. Lembre-se de que notação é um idioma especial que foi originalmente criado e aprendido usando vocabulário não-notacional. Chegar a pessoas que não sabem que a língua exige o uso de outras palavras e esse é o desafio contínuo de trazer conhecimento entre as disciplinas.
21914 Jen
2
XX