Pelo que vale a pena:
ambos rpart
e ctree
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 de rpart
(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 ):
- se o DV e as covariáveis forem numéricos, você poderá selecionar transformações de identidade e calcular correlações entre o covariável e todas as permutações possíveis dos valores do DV. Então, você calcula o valor- p deste teste de permutação e o compara com os valores- p para outras covariáveis.
- se o DV e as covariáveis são nominais (categóricas não ordenadas), a estatística do teste é calculada a partir de uma tabela de contingência.
- você pode criar facilmente outros tipos de estatísticas de teste a partir de qualquer tipo de transformação (incluindo transformação de identidade) desse esquema geral.
pequeno exemplo para um teste de permutação em R
:
require(gtools)
dv <- c(1,3,4,5,5); covariate <- c(2,2,5,4,5)
# all possible permutations of dv, length(120):
perms <- permutations(5,5,dv,set=FALSE)
# now calculate correlations for all perms with covariate:
cors <- apply(perms, 1, function(perms_row) cor(perms_row,covariate))
cors <- cors[order(cors)]
# now p-value: compare cor(dv,covariate) with the
# sorted vector of all permutation correlations
length(cors[cors>=cor(dv,covariate)])/length(cors)
# result: [1] 0.1, i.e. a p-value of .1
# note that this is a one-sided test
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 ajuda Transformations
no party
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 potencial rpart
, 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.