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?

Tal Galili
fonte

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.

user603
fonte
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.

Shane
fonte
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.

AlaskaRon
fonte