Alguém pode explicar as principais diferenças entre árvores de inferência condicional ( ctree
do party
pacote em R) em comparação com os algoritmos mais tradicionais da árvore de decisão (como rpart
em R)?
- O que diferencia as árvores de IC?
- Forças e fraquezas?
Atualização: Analisei o artigo de Horthorn et al. Que Chi se refere nos comentários. Não fui capaz de segui-lo completamente - alguém pode explicar como as variáveis são selecionadas usando permutações (por exemplo, o que é uma função de influência)?
Obrigado!
r
machine-learning
cart
B_Miner
fonte
fonte
Respostas:
Pelo que vale a pena:
ambos
rpart
ectree
recursivamente executam divisões univariadas da variável dependente com base nos valores em um conjunto de covariáveis.rpart
e algoritmos relacionados geralmente empregam medidas de informação (como o coeficiente de Gini ) para selecionar a covariável atual.ctree
, de acordo com seus autores (consulte os comentários de chl ) evita o seguinte viés de seleção de variável derpart
(e métodos relacionados): Eles tendem a selecionar variáveis com muitas divisões possíveis ou muitos valores ausentes. Diferentemente dos outros,ctree
utiliza um procedimento de teste de significância para selecionar variáveis, em vez de selecionar a variável que maximiza uma medida de informação (por exemplo, coeficiente de Gini).O teste de significância, ou melhor: os testes de significância múltipla calculados em cada início do algoritmo (selecione covariável - escolha divisão - resposta) são testes de permutação , ou seja, a "distribuição da estatística do teste sob a hipótese nula é obtida calculando-se todos os valores possíveis da estatística de teste sob rearranjos dos rótulos nos pontos de dados observados. " (do artigo da wikipedia).
Agora, a estatística de teste: é calculada a partir de transformações (incluindo identidade, ou seja, sem transformação) da variável dependente e das covariáveis. Você pode escolher várias transformações para as duas variáveis. Para o DV (variável dependente), a transformação é chamada de função de influência sobre a qual você estava perguntando.
Exemplos (retirados do artigo ):
pequeno exemplo para um teste de permutação em
R
:Agora, suponha que você tenha um conjunto de covariáveis, não apenas um como acima. Em seguida, calcule os valores de p para cada uma das covariáveis, como no esquema acima, e selecione aquele com o menor valor de p . Você deseja calcular os valores de p em vez das correlações diretamente, porque você pode ter covariáveis de diferentes tipos (por exemplo, numéricos e categóricos).
Depois de selecionar uma covariável, agora explore todas as divisões possíveis (ou muitas vezes um número restrito de todas as divisões possíveis, por exemplo, exigindo um número mínimo de elementos do DV antes da divisão) avaliando novamente um teste baseado em permutação.
ctree
vem com várias transformações possíveis para DV e covariáveis (consulte a ajudaTransformations
noparty
pacote).então, geralmente, a principal diferença parece ser o
ctree
uso de um esquema de seleção covariável baseado na teoria estatística (ou seja, seleção por testes de significância com base na permutação) e, assim, evita um viés potencialrpart
, caso contrário eles parecem semelhantes; por exemplo, árvores de inferência condicional podem ser usadas como aprendizes base para florestas aleatórias.Isso é o mais longe que consigo. Para mais informações, você realmente precisa ler os jornais. Observe que eu recomendo fortemente que você realmente saiba o que está fazendo quando deseja aplicar qualquer tipo de análise estatística.
fonte