Eu tenho duas perguntas sobre o uso de floresta aleatória (especificamente randomForest em R) para imputação de valor ausente (no espaço do preditor).
1) Como o algoritmo de imputação funciona - especificamente como e por que o rótulo de classe é necessário para a imputação? é a matriz de proximidade que serve para ponderar o valor médio para atribuir um valor ausente definido separadamente por classe?
2) Se o rótulo da classe é necessário para imputar valores ausentes - como isso pode ser usado para imputar valores ausentes para novos dados que você está tentando prever?
A idéia básica é fazer uma substituição rápida dos dados ausentes e melhorar iterativamente a imputação ausente usando a proximidade. Para trabalhar com dados não rotulados, apenas replique os dados com todos os rótulos e trate-os como dados rotulados.
A fração de árvores para as quais um par de observações compartilha um nó terminal fornece a matriz de proximidade e, portanto, usa explicitamente o rótulo da classe.
Conjunto de treinamento:
Substitua os valores ausentes pelo valor médio.
Repita até ficar satisfeito:
uma. Usando valores imputados calculados até o momento, treine uma floresta aleatória.
b. Calcule a matriz de proximidade.
c. Usando a proximidade como o peso, imputar os valores ausentes como a média ponderada dos valores não ausentes.
Conjunto de teste:
Se houver rótulos, use a imputação derivada dos dados de teste.
Se os dados não estiverem rotulados, replique o conjunto de testes com uma cópia para cada rótulo de classe e continue como nos dados rotulados.
Aqui, a média (ponderada) refere-se à mediana (ponderada) para variáveis numéricas e o modo (ponderado) para variáveis categóricas. 4-6 iterações são recomendadas nas referências.
Eu estaria interessado em saber mais sobre se esse algoritmo pode ser adaptado para imputação múltipla e se teria a quantidade certa de variabilidade e seria responsável pela incerteza do modelo de imputação.
31513 Frank Fellowski
1
Frank, pela descrição, duvido que tenha variabilidade suficiente. Desenhar o hot deck de uma classe de terminal pode funcionar. Se o algoritmo de crescimento de árvore tende a se ajustar demais, a variabilidade ainda será suprimida, mas não tanto quanto quando você estiver usando uma média condicional ou um quantil condicional. Novamente, esse é o meu pressentimento sobre como os métodos de imputação funcionam, em geral.
StasK
1
Cohoz, obrigado, isso confirma o que eu aprendi desde então. O problema é a floresta aleatória sendo construída usando a variável de destino. Existe um pacote missForest em R com papel que pode ser usado para imputação não supervisionada: ncbi.nlm.nih.gov/pubmed/22039212
B_Miner
Se eu perguntasse, sklearn.ensemble.RandomForestClassifierisso processa os dados de treinamento ou simplesmente os ignora e eu tenho que fazer isso sozinho?
Abhishta Gatya
3
Eu tentei usar a floresta aleatória para imputação múltipla no MICE para lidar com dados ausentes na análise de sobrevivência. Eu usei o bootstrapping para explicar a variabilidade da amostra nos modelos de imputação. Descobri que o Random Forest MICE teve um desempenho melhor que o paramétrico MICE quando houve interações entre variáveis preditoras que não foram incluídas no modelo de imputação.
Bem-vindo ao site, @ user37364. Obrigado por esses links. Você se importaria de elaborá-los um pouco, no caso do linkrot, para que futuros leitores possam julgar antes de clicar se quiserem persegui-los?
gung - Restabelece Monica
Olá @ user37364! Vi o artigo que você apresenta, no entanto, não consigo aplicar floresta aleatória com ratos no meu conjunto de dados. Eu postei uma pergunta aqui: stackoverflow.com/questions/24239595/… . Se você tem experiência com o MICE, tem alguma idéia de como resolver esses erros? Obrigado
psoares
Olá, acabei de encontrar o seu jornal e, em seguida, este tópico. Como o método se manteve durante o último ano e meio? Algumas rugas descobertas?
sklearn.ensemble.RandomForestClassifier
isso processa os dados de treinamento ou simplesmente os ignora e eu tenho que fazer isso sozinho?Eu tentei usar a floresta aleatória para imputação múltipla no MICE para lidar com dados ausentes na análise de sobrevivência. Eu usei o bootstrapping para explicar a variabilidade da amostra nos modelos de imputação. Descobri que o Random Forest MICE teve um desempenho melhor que o paramétrico MICE quando houve interações entre variáveis preditoras que não foram incluídas no modelo de imputação.
O pacote CALIBERrfimpute fornece uma função para imputação de floresta aleatória no MICE:
http://cran.r-project.org/web/packages/CALIBERrfimpute/index.html
Este é um artigo que descreve testes do método em dados simulados e um conjunto de dados epidemiológicos reais:
http://dx.doi.org/10.1093/aje/kwt312
fonte