Os modelos CART podem ser robustos?


14

Um colega do meu escritório me disse hoje: "Os modelos de árvores não são bons porque são pegos por observações extremas".

Uma pesquisa aqui resultou neste segmento que basicamente suporta a reivindicação.

O que me leva à pergunta - em que situação um modelo CART pode ser robusto e como isso é mostrado?

Respostas:


15

Não, não em suas formas atuais. O problema é que as funções de perda convexa não podem ser robustas à contaminação por outliers (esse é um fato bem conhecido desde os anos 70, mas continua sendo redescoberto periodicamente, veja, por exemplo, este artigo para uma recente descoberta desse tipo):

http://www.cs.columbia.edu/~rocco/Public/mlj9.pdf

Agora, no caso de árvores de regressão, o fato de o CART usar marginais (ou projeções alternativamente univariadas) pode ser usado: pode-se pensar em uma versão do CART em que o critério sd é substituído por um equivalente mais robusto (MAD ou melhor ainda, Estimador Qn).

Editar:

Recentemente, me deparei com um artigo antigo implementando a abordagem sugerida acima (usando um estimador M robusto de escala em vez do MAD). Isso confere robustez aos valores discrepantes "y" aos CART / RF (mas não aos valores discrepantes localizados no espaço do projeto, que afetarão as estimativas dos hiperparâmetros do modelo)

Galimberti, G., Pillati, M. e Soffritti, G. (2007). Árvores de regressão robustas baseadas em estimadores-M. Statistica, LXVII, 173–190.


Obrigado kwak. Este artigo parece estar falando sobre métodos de reforço. Os resultados apresentados apresentam o caso classificador simples de um modelo CART? (na superfície parece que ele, mas eu não ir através do artigo suficiente para realmente saber)
Tal Galili

O resultado que eles apresentam é válido para qualquer função de perda convexa e foi discutido inicialmente por Tukey. Para resumir, a medida de propagação (Gini ou entropia) usada para quantificar a qualidade de um nó é sensível à contaminação por valores discrepantes (isto é, observações que são erradas no conjunto de dados). Esse problema afeta o edifício e o estágio de remoção. A contaminação de um conjunto de dados por observação com rótulo incorretamente imputado normalmente fará com que a árvore resultante seja muito complexa (você pode verificar isso facilmente).
user603

Obrigado Kwak! E não há nenhuma função de perda que seja robusta?
Tal Galili

1
nenhuma função de perda convexa . Consulte este artigo "Um algoritmo rápido para o estimador determinante de covariância mínima" para obter um exemplo do que pode ser feito com funções de perda não convexas (embora não esteja relacionado à classificação, vale a pena ler o artigo).
user603

2
O @Tal CART é equivalente a impulsionar, de um "classificador dinâmico" (o critério que fica em cada nó da árvore, como um atributo mais ralador do que algo ou algum valor de atributo em definir algo).

6

Você pode considerar o uso de ensacamento ou florestas aleatórias de Breiman . Uma boa referência é Breiman "Bagging Predictors" (1996). Também resumido em "Árvores de classificação e regressão, ensacamento e reforço" de Clifton Sutton , no Manual de Estatística.

Você também pode ver a discussão de Andy Liaw e Matthew Wiener R News sobre o pacote randomForest.


2
Não é para estragar a festa, mas como é que a floresta aleatória deve fornecer robustez à contaminação por pessoas fora da região é um mistério.
user603

3
@kwak Ainda assim, esta é uma boa resposta; as árvores na RF não veem o conjunto inteiro; muitas delas não serão contaminadas. Ainda melhor - o rastreamento em que folhas os casos de OOB pousam pode ser usado para encontrar objetos com etiquetas incorretas e eliminá-los. (Pelo que me lembro agora, isso é mencionado no artigo de Breiman sobre RF).

4
O problema é que os outliers farão com que algumas árvores 'ruins' (ou seja, contaminadas) pareçam melhores que as boas (não contaminadas). Isso é chamado de efeito de máscara e é fácil de replicar com dados simulados. O problema surge porque o critério usado para avaliar árvores não é, por si só, robusto para discrepantes. Sei que estou começando a parecer um mulá fundamentalista, mas, a menos que todas as ferramentas que você usa sejam robustas, seu procedimento poderá ser sensível (em um nível ou outro) a discrepâncias (e, portanto, não robusto).
user603

3

Se você verificar o pacote 'gbm' em R (aumento generalizado de gradiente), o 'aumento' usará funções de perda que não são necessariamente erro quadrático médio. Isso aparece no argumento 'distribuição' para funcionar 'gbm ()'. Assim, a elaboração da árvore via reforço será resistente a valores extremos, semelhante à maneira como os estimadores-M funcionam.

Você pode começar aqui .

Outra abordagem seria construir a árvore da maneira usual (partições baseadas no SSE), mas podar a árvore usando a validação cruzada com uma medida robusta de ajuste. Eu acho que o xpred no rpart fornecerá preditores validados cruzados (para uma variedade de complexidades de árvore diferentes), que você poderá aplicar sua própria medida de erro, como valor absoluto médio.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.