Se eu tiver um conjunto de dados com uma classe positiva muito rara e fizer uma amostragem negativa da classe negativa e executar uma regressão logística, preciso ajustar os coeficientes de regressão para refletir o fato de que alterei a prevalência da classe positiva?
Por exemplo, digamos que eu tenha um conjunto de dados com 4 variáveis: Y, A, B e C. Y, A e B são binários, C é contínuo. Para 11.100 observações Y = 0 e para 900 Y = 1:
set.seed(42)
n <- 12000
r <- 1/12
A <- sample(0:1, n, replace=TRUE)
B <- sample(0:1, n, replace=TRUE)
C <- rnorm(n)
Y <- ifelse(10 * A + 0.5 * B + 5 * C + rnorm(n)/10 > -5, 0, 1)
Ajustei uma regressão logística para prever Y, dados A, B e C.
dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)
No entanto, para economizar tempo, eu poderia remover 10.200 observações não-Y, fornecendo 900 Y = 0 e 900 Y = 1:
require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)
Os coeficientes de regressão dos 2 modelos são muito semelhantes:
> coef(summary(mod1))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -127.67782 20.619858 -6.191983 5.941186e-10
A -257.20668 41.650386 -6.175373 6.600728e-10
B -13.20966 2.231606 -5.919353 3.232109e-09
C -127.73597 20.630541 -6.191596 5.955818e-10
> coef(summary(mod2))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -167.90178 59.126511 -2.83970391 0.004515542
A -246.59975 4059.733845 -0.06074284 0.951564016
B -16.93093 5.861286 -2.88860377 0.003869563
C -170.18735 59.516021 -2.85952165 0.004242805
O que me leva a acreditar que a amostragem não afetou os coeficientes. No entanto, este é um exemplo único e artificial, e eu prefiro ter certeza.
mod2
),Pr(>|z|)
poisA
é quase 1. Não podemos rejeitar a hipótese nula de que o coeficienteA
é 0, por isso perdemos uma covariável usada emmod1
. Não é uma diferença substancial?Respostas:
A amostragem descendente é equivalente aos projetos de controle de caso nas estatísticas médicas - você está corrigindo as contagens de respostas e observando os padrões de covariáveis (preditores). Talvez a referência principal seja Prentice & Pyke (1979), "Modelos de incidência de doenças logísticas e estudos de controle de casos", Biometrika , 66 , 3.
Eles usaram o Teorema de Bayes para reescrever cada termo com a probabilidade de um determinado padrão covariável, dependente de ser um caso ou controle como dois fatores; um representando uma regressão logística comum (probabilidade de ser um caso ou controle condicional a um padrão covariável) e o outro representando a probabilidade marginal do padrão covariável. Eles mostraram que maximizar a probabilidade geral sujeita à restrição de que as probabilidades marginais de ser um caso ou controle são fixadas pelo esquema de amostragem fornece as mesmas estimativas de odds ratio que maximizar o primeiro fator sem restrição (ou seja, realizar uma regressão logística comum) .
É claro que ao jogar fora os dados que você teve o trabalho de coletar, embora a parte menos útil, você está reduzindo a precisão de suas estimativas. Restrições em recursos computacionais são a única boa razão que conheço para fazer isso, mas menciono isso porque algumas pessoas parecem pensar que "um conjunto de dados balanceado" é importante por outra razão que nunca fui capaz de verificar.
fonte
success
instâncias. Em outras palavras, TPR muito baixo. Ao alterar o limite, o TPR aumenta, mas a precisão é muito ruim, o que significa que mais de 70% das instâncias rotuladas como positivas são realmente negativas. Li que, nos raros eventos, a regressão logística não funciona bem; é aí que o método de Firth passa a desempenhar, ou pelo menos um dos papéis que ele pode assumir. Mas os resultados do método de Firth eram muito semelhantes ao logit usual. Pensei que poderia estar errado em fazer Firth do, mas aparentemente tudo está bem