Regressando resíduos de regressão logística em outros regressores

9

Com a regressão OLS aplicada à resposta contínua, pode-se construir a equação de regressão múltipla executando sequencialmente as regressões dos resíduos em cada covariável. Minha pergunta é: existe uma maneira de fazer isso com regressão logística via resíduos de regressão logística ?

Ou seja, se eu quiser estimar usando a abordagem de modelagem linear generalizada padrão, existe uma maneira de executar a regressão logística em relação a x e obter pseudo-resíduos R_1 , depois regrote R_1 em z para obter um estimador imparcial dos coeficientes de regressão logística. Serão apreciadas referências a livros ou literatura.Pr(Y=1|x,z)xR1R1z

Ben Ogorek
fonte
Meu palpite é que isso não funcionará pelo mesmo motivo que o REML não se estende aos GLMs; a magia dos mínimos quadrados se perde. Gostaria de saber se funcionaria em um contexto totalmente bayesiano onde você amostrou a variável latente como parte do sim. A razão pela qual eu quis fazer isso foi para poder executar o glmnet em diferentes classes de variáveis ​​e obter diferentes quantidades de regularização para as classes - é claro que existem outras maneiras de obter esse efeito.
Ben Ogorek
Isso é muito semelhante ao uso de um algoritmo de ajuste posterior para regressão logística?
usεr11852
Eu mencionei isso em um comentário abaixo, mas em muitas implementações você pode passar uma previsão 'base' (parâmetro de deslocamento no glmnet), então talvez isso seja possível após a regressão dos vars dependentes. @BenOgorek você deseja adicionar o efeito no texto principal
seanv507
@ seanv507 Estou preocupado que a adição da parte da regularização aumente muito o escopo, especialmente agora que há algumas boas respostas abaixo. Após essa sessão de perguntas e respostas, criarei uma pergunta separada em que o deslocamento pode realmente ser nosso amigo.
Ben Ogorek
Esta não é uma resposta, mas não tenho reputação suficiente para comentar. A questão é sobre a regressão do resíduo no outro regressor (ou seja, preditores ), em vez da regressão do resíduo nos resíduos . Estou confuso com as respostas.
T Wu

Respostas:

3

Na regressão linear múltipla padrão, a capacidade de ajustar as estimativas dos mínimos quadrados ordinários (OLS) em duas etapas vem do teorema de Frisch-Waugh-Lovell . Este teorema mostra que a estimativa de um coeficiente para um determinado preditor em um modelo linear múltiplo é igual à estimativa obtida pela regressão dos resíduos da resposta (resíduos de uma regressão da variável resposta em relação às outras variáveis ​​explicativas) em relação aos resíduos do preditor (resíduos) de uma regressão da variável preditora contra as outras variáveis ​​explicativas). Evidentemente, você está buscando uma analogia com esse teorema que pode ser usada em um modelo de regressão logística.

Para esta pergunta, é útil recordar a caracterização de variável latente da regressão logística :

Yi=I(Yi>0)Yi=β0+βXxi+βZzi+εiεiIID Logistic(0,1).

Nesta caracterização do modelo, a variável de resposta latente é inobservável e, em vez disso, observamos o indicador que nos diz se a resposta latente é positiva ou não. Essa forma do modelo é semelhante à regressão linear múltipla, exceto que usamos uma distribuição de erro ligeiramente diferente (a distribuição logística em vez da distribuição normal) e, mais importante, apenas observamos um indicador mostrando se a resposta latente é positiva ou não .YiYi

Isso cria um problema para qualquer tentativa de criar um ajuste em duas etapas do modelo. Esse teorema de Frisch-Waugh-Lovell depende da capacidade de obter resíduos intermediários para a resposta e o preditor de interesse, tomados contra as outras variáveis ​​explicativas. No presente caso, só podemos obter resíduos de uma variável de resposta "categorizada". A criação de um processo de ajuste em duas etapas para regressão logística exigiria o uso de resíduos de resposta dessa variável de resposta categorizada, sem acesso à resposta latente subjacente. Isso me parece um grande obstáculo e, embora não seja impossível, parece improvável que seja possível ajustar o modelo em duas etapas.

Abaixo, apresentarei um relato do que seria necessário para encontrar um processo de duas etapas para ajustar uma regressão logística. Não tenho certeza se existe uma solução para esse problema ou se há uma prova de impossibilidade, mas o material aqui deve ajudá-lo a entender o que é necessário.


Como seria uma regressão logística em duas etapas? Suponha que desejemos construir um ajuste em duas etapas para um modelo de regressão logística em que os parâmetros sejam estimados por meio da estimativa de probabilidade máxima em cada etapa. Queremos que o processo envolva uma etapa intermediária que se ajuste aos dois modelos a seguir:

Yi=I(Yi>0)Yi=α0+αXxi+τiτiIID Logistic(0,1),  Zi=γ0+γXxi+δiδiIID g.

Estimamos os coeficientes desses modelos (via MLEs) e isso produz valores ajustados intermediários . Na segunda etapa, ajustamos o modelo:α^0,α^X,γ^0,γ^X

Yi=logistic(α^0+α^1xi)+βZ(ziγ^0γ^Xxi)+ϵiϵiIID f.

Conforme especificado, o procedimento possui muitos elementos fixos, mas as funções de densidade e nessas etapas são deixadas não especificadas (embora elas devam ser distribuições com média zero que não dependem dos dados). Para obter um método de ajuste em duas etapas sob essas restrições, precisamos escolher e para garantir que o MLE para neste algoritmo de ajuste de modelo em duas etapas seja o mesmo que o MLE obtido no modelo de regressão logística em uma etapa acima.gfgfβZ

Para ver se isso é possível, primeiro escrevemos todos os parâmetros estimados desde o primeiro passo:

y|x(α^0,α^X)=maxα0,αXi=1nlnBern(yi|logistic(α0+αXxi)),z|x(γ^0,γ^X)=maxγ0,γXi=1nlng(ziγ0γXxi).

Seja para que a função de probabilidade de log para a segunda etapa seja:ϵi=yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)

y|z|x(βZ)=i=1nlnf(yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)).

Exigimos que o valor máximo dessa função seja o MLE do modelo de regressão logística múltipla. Em outras palavras, exigimos:

arg max βXy|z|x(βZ)=arg max βXmaxβ0,βZi=1nlnBern(yi|logistic(β0+βXxi+βZzi)).

Deixo para outras pessoas determinar se existe uma solução para esse problema ou uma prova de que não há solução. Suspeito que a "categorização" da variável de resposta latente em uma regressão logística torne impossível encontrar um processo de duas etapas.

Ben - Restabelecer Monica
fonte
11
Oi @ Ben, obrigado por me ensinar sobre o teorema de Frisch-Waugh-Lovell. Eu estraguei a recompensa - o pensamento "expirou" significava que ele simplesmente parou de ser anunciado. Me desculpe por isso. Gosto da sua ideia baseada na probabilidade. Pode experimentar ou algo semelhante e postar abaixo.
Ben Ogorek
@ Ben Ogorek: Não se preocupe com a recompensa. Ainda bem que a resposta ajudou.
Ben - Restabelece Monica
@ Ben Ogorek: (para compensar os 25 pontos de recompensa perdidos, que desaparecem no éter, basta percorrer o site e votar novamente todas as 3 respostas. Em seguida, seu karma é restaurado!)
Ben - Restabeleça Monica
11
Feito! (E eu os li primeiro).
Ben Ogorek
3

Eu posso estar interpretando mal a pergunta. Duvido que você possa construir a equação de regressão linear por regressão de resíduos da maneira OP especificada . O método do OP só funcionaria se os preditores fossem independentes um do outro.

Para fazê-lo funcionar, assuma que é o vetor de resultado, é a matriz do modelo para os preditores já existentes no modelo e você deseja incluir . Você precisa regredir o residual da regressão de em contra o residual da regressão de em para obter o coeficiente OLS para .yXx1yXx1Xx1

Aqui está um exemplo simples:

set.seed(12345)
n <- 5000
x1 <- rnorm(n)
x2 <- .5 * x1 + rnorm(n) # Correlated predictors
y <- x1 + x2 + rnorm(n)

Ajuste o modelo com o OLS:

coef(lm(y ~ x1 + x2))
(Intercept)          x1          x2 
0.001653707 1.037426007 0.996259446 

Regressão em resíduos:

coef(lm(residuals(lm(y ~ x1)) ~ x2))
(Intercept)          x2 
0.001219232 0.818774874 

Isso está errado, você precisa ajustar:

coef(lm(residuals(lm(y ~ x1)) ~ residuals(lm(x2 ~ x1))))
           (Intercept) residuals(lm(x2 ~ x1)) 
         -6.707350e-17           9.962594e-01 

Que retorna o coeficiente certo para x2, isso se alinha às diferenças esperadas em y, dadas as diferenças em x2, mantendo x1 constante (removendo-o de y e x1).

Além disso, na regressão logística, seria ainda mais problemático, porque os coeficientes de regressão logística sofrem com o viés variável omitido, mesmo na ausência de relações confusas, veja aqui e aqui , portanto, a menos que todos os preditores do resultado estejam no modelo, não é possível obter estimativas imparciais dos parâmetros reais da população. Além disso, não conheço nenhum resíduo do modelo que possa ser utilizado para uma segunda regressão logística com todos os valores entre 0 e 1.

Algumas referências sobre regressão em resíduos:

  • Maxwell, SE, Delaney, HD, & Manheimer, JM (1985). Anova de resíduos e Ancova: corrigindo uma ilusão usando comparações e gráficos de modelos. Journal of Educational Statistics, 10 (3), 197–209. Disponível em http://journals.sagepub.com/doi/pdf/10.3102/10769986010003197
  • Freckleton, RP (2002), Sobre o uso indevido de resíduos em ecologia: regressão de resíduos vs. regressão múltipla. Journal of Animal Ecology, 71 , 542-545. doi: 10.1046 / j.1365-2656.2002.00618.x
Jim Heteroskedastic
fonte
Eu acho que seus primeiros parágrafos são um pouco enganadores / pouco claros ... seria melhor se você começasse com como você realmente faz 'regressão linear com resíduos' .. (+ 1) e você pode encontrá-lo em elementos de aprendizado estatístico ( regressão múltipla de regressões individuais subseção)?
seanv507
Em muitas implementações você pode passar uma previsão 'base' (parâmetro offset em glmnet), então talvez isso seria possível após regredindo os vars dependentes
seanv507
@ seanv507 Eu já o incluo na minha resposta. É a última demonstração de código que tenho. Simplesmente não é possível da maneira que o OP descreve, regredindo os resíduos em um preditor. Mas eu poderia reescrevê-lo para mostrar o caminho correto desde o início, se é isso que você quer dizer.
Heteroskedastic Jim
Sim eu quis dizer reescrevê-lo para mostrar a maneira correta desde o início,
seanv507
@ seanv507 não sabe o que você quer dizer com você pode passar uma previsão de base? E regredindo as variáveis ​​dependentes?
Heteroskedastic Jim
1

Espero não estar interpretando mal sua pergunta, pois minha resposta vai mudar um pouco a redação de como você formulou seu assunto.

Eu acho que o que você está tentando fazer é criar seu modelo de regressão adicionando uma variável independente por vez. E você faz isso observando qual variável em potencial tem a maior correlação com o residual de sua primeira regressão entre Y e X1. Portanto, a variável com maior correlação com esse primeiro resíduo será X2. Então, agora você tem um modelo com duas variáveis ​​independentes X1 e X2. E você continua esse processo exato para selecionar X3, X4, etc. Esse é um processo avançado.

Você pode fazer exatamente a mesma coisa com a regressão logística pela simples razão de que a regressão logística é praticamente uma regressão OLS em que a variável dependente é o log do ímpar (ou logit). Mas, se Y é um logit ou não, não afeta o processo progressivo mencionado acima.

O OLS minimiza a soma dos erros quadrados para ajustar os dados reais. A regressão do Logit usa um processo de probabilidade máxima que gera um ajuste que não é tão diferente do OLS. E isso também (o mecanismo de ajuste) não deve afetar o processo passo a passo que permite criar seu modelo de regressão múltipla, seja uma Regressão OLS ou uma Regressão Logit.

Sympa
fonte