Eu tenho um conjunto de dados com uma variável de resposta binária (sobrevivência) e três variáveis explicativas ( A
= 3 níveis, B
= 3 níveis, C
= 6 níveis). Nesse conjunto de dados, os dados são bem equilibrados, com 100 indivíduos por ABC
categoria. Eu já estudou o efeito destes A
, B
e C
variáveis com este conjunto de dados; seus efeitos são significativos.
Eu tenho um subconjunto. Em cada ABC
categoria, 25 dos 100 indivíduos, dos quais aproximadamente metade estão vivos e metade estão mortos (quando menos de 12 estão vivos ou mortos, o número foi completado com a outra categoria), foram investigados para uma quarta variável ( D
). Eu vejo três problemas aqui:
- Preciso ponderar os dados das correções de eventos raros descritos em King e Zeng (2001) para levar em conta que aproximadamente 50% - 50% não é igual à proporção de 0/1 na amostra maior.
- Essa amostragem não aleatória de 0 e 1 leva a uma probabilidade diferente de os indivíduos serem amostrados em cada uma das
ABC
categorias, então acho que tenho que usar proporções verdadeiras de cada categoria em vez da proporção global de 0/1 na grande amostra . - Essa quarta variável possui 4 níveis, e os dados realmente não são balanceados nesses 4 níveis (90% dos dados estão dentro de 1 desses níveis, por exemplo, nível
D2
).
Li o artigo de King e Zeng (2001) com atenção, bem como essa questão do currículo que me levou ao artigo de King e Zeng (2001), e mais tarde essa outra que me levou a experimentar o logistf
pacote (uso R). Tentei aplicar o que entendi de King e Zheng (2001), mas não sei ao certo o que fiz. Eu entendi, existem dois métodos:
- Para o método de correção anterior, entendi que você só corrige a interceptação. No meu caso, a interceptação é a
A1B1C1
categoria e, nessa categoria, a sobrevivência é de 100%; portanto, a sobrevivência no grande conjunto de dados e no subconjunto é a mesma e, portanto, a correção não muda nada. Suspeito que esse método não deva se aplicar a mim, porque não tenho uma proporção verdadeira geral, mas uma proporção para cada categoria, e esse método ignora isso. Para o método de ponderação: calculei w i , e pelo que entendi no artigo: "Todos os pesquisadores precisam fazer é calcular w i na Eq. (8), escolha-a como o peso em seu programa de computador e execute um modelo de logit ". Então, eu primeiro executei o meu
glm
como:glm(R~ A+B+C+D, weights=wi, data=subdata, family=binomial)
Não tenho certeza se devo incluir
A
,B
eC
como variáveis explicativas, uma vez que normalmente espero que elas não tenham efeito sobre a sobrevivência nesta subamostra (cada categoria contém cerca de 50% de mortos e vivos). De qualquer forma, não deve alterar muito a saída se não forem significativas. Com essa correção, eu me encaixo bem no nívelD2
(o nível com a maioria dos indivíduos), mas de maneira alguma nos outros níveis deD
(D2
preponderados). Veja o gráfico superior direito:
Serve para um
glm
modelo não ponderado e para umglm
modelo ponderado com w i . Cada ponto representa uma categoria.Proportion in the big dataset
é a proporção real de 1 naABC
categoria no grande conjunto de dados,Proportion in the sub dataset
é a proporção real de 1 naABC
categoria no subdataset eModel predictions
são as previsões deglm
modelos equipados com o subdataset. Cadapch
símbolo representa um determinado nível deD
. Triângulos são niveladosD2
.
Só mais tarde, ao ver que existe um logistf
, acho que talvez isso não seja tão simples. Não tenho certeza agora. Ao fazer isso logistf(R~ A+B+C+D, weights=wi, data=subdata, family=binomial)
, recebo estimativas, mas a função de previsão não funciona e o teste padrão do modelo retorna valores infinitos de chi ao quadrado (exceto um) e todos os valores de p = 0 (exceto 1).
Questões:
- Eu entendi corretamente King e Zeng (2001)? (A que distância estou do entendimento?)
- Em meus
glm
ataques,A
,B
, eC
ter efeitos significativos. Tudo isso significa que eu me afasto muito das proporções meia / meia de 0 e 1 no meu subconjunto e de maneira diferente nas diferentesABC
categorias - não é mesmo? - Posso aplicar a correção de ponderação de King e Zeng (2001), apesar de eu ter um valor de tau e um valor de para cada categoria em vez de valores globais?
ABC
- É um problema que minha
D
variável seja tão desequilibrada e, se for, como posso lidar com isso? (Considerando que já terei que ponderar pela correção de eventos raros ... É possível "dupla ponderação", ou seja, ponderar os pesos?) Obrigado!
Editar : veja o que acontece se eu remover A, B e C dos modelos. Eu não entendo por que existem tais diferenças.
Se encaixa sem A, B e C como variáveis explicativas nos modelos
Percebi que minhas comparações de proporções ajustadas e reais no primeiro gráfico, no canto superior direito, não são a melhor maneira de avaliar o ajuste do modelo, pois no big data eu posso calcular proporções para categorias ABC, mas com o modelo ajustado onde todas as quatro variáveis estão incluídas, proporções são previstas para cada categoria ABCD.
Eu instalei um novo modelo nos subdados, onde removi D:
Para que eu possa comparar as previsões desse modelo ajustadas ao subdataset, e as proporções reais no grande conjunto de dados, e avaliar se minha ponderação faz o que eu espero que ela faça.
O resultado é:
Agora acho que a resposta é: sim, definitivamente.
As duas outras perguntas foram:
Por que é tão importante incluir A, B e C no modelo para obter um bom ajuste e por que seu efeito é significativo. É devido, como sugeri, ao fato de eu me afastar muito das proporções meia / meia de 0 e 1 no meu subconjunto e de maneira diferente nas diferentes categorias ABC?
-> Eu acho que minha expectativa de que incluir A + B + C no modelo não tenha efeito porque todas as categorias ABC devem conter aproximadamente metade de 0 e 1 observação seria verdadeira com um modelo linear não ponderado (na verdade, quando você compara meus dois gráficos de canto superior esquerdo, não há muita diferença entre eles ... mas ainda assim, B e C têm um efeito significativo nesse modelo linear não ponderado. Considerarei isso porque a saída do 50 / 50), mas não necessariamente com um modelo linear ponderado.
É um problema que minha variável D seja tão desequilibrada e, se for, como posso lidar com isso? ("Ponderação dupla", isto é, ponderação dos pesos, é possível?).
-> Penso em usar a função Anova da
'car'
biblioteca para uma regressão logística (especificando'test.statistic="LR"'
). Nesse caso, a função pesa as células diretamente para criar SS tipo II, para que eu possa manter a'weight'
opção para a correção de eventos raros.fonte