Alberi di inferenza condizionale vs alberi di decisione tradizionali


97

Qualcuno può spiegare le differenze principali tra gli alberi di inferenza condizionale ( ctreedal partypacchetto in R) rispetto agli algoritmi dell'albero delle decisioni più tradizionali (come rpartin R)?

  1. Cosa rende gli alberi CI diversi?
  2. Punti di forza e di debolezza?

Aggiornamento: ho esaminato il documento di Horthorn e altri a cui Chi fa riferimento nei commenti. Non sono stato in grado di seguirlo completamente - qualcuno può spiegare come vengono selezionate le variabili usando le permutazioni (ad es. Cos'è una funzione di influenza)?

Grazie!


1
Intendi una spiegazione che va oltre ciò che è descritto nel documento di Hothorn ? Ricordo alcune belle illustrazioni di Carolin Strobl alla conferenza dell'IMPS2009 ; Penso che ci siano alcuni volantini sul suo sito web.
chl

Questo link mostra il confronto tra le varie forme di pacchetti dell'albero decisionale r-bloggers.com/a-brief-tour-of-the-trees-and-forests
Archpaul

Risposte:


93

Per quello che vale:

entrambi rparte ctreericorsivamente eseguono divisioni univariate della variabile dipendente in base a valori su un insieme di covariate. rparte gli algoritmi correlati di solito impiegano misure informative (come il coefficiente di Gini ) per selezionare l'attuale covariata.

ctree, secondo i suoi autori (vedi i commenti di chl ) evita il seguente bias di selezione delle variabili di rpart(e metodi correlati): Tendono a selezionare variabili che hanno molte possibili divisioni o molti valori mancanti. A differenza degli altri, ctreeutilizza una procedura di test di significatività per selezionare le variabili anziché selezionare la variabile che massimizza una misura di informazione (ad es. Coefficiente di Gini).

Il test di significatività, o meglio: i test di significatività multipla calcolati ad ogni inizio dell'algoritmo (seleziona covariata - scegli suddivisione - recurse) sono test di permutazione , cioè la "distribuzione della statistica test sotto l'ipotesi nulla si ottiene calcolando tutti i possibili valori della statistica di prova in base ai riordini delle etichette sui punti dati osservati. " (dall'articolo di Wikipedia).

Ora per la statistica del test: viene calcolata dalle trasformazioni (inclusa l'identità, cioè nessuna trasformazione) della variabile dipendente e delle covariate. Puoi scegliere una delle numerose trasformazioni per entrambe le variabili. Per la DV (Variabile dipendente), la trasformazione è chiamata la funzione di influenza di cui stavi chiedendo.

Esempi (prelevate dalla carta ):

  • se sia DV che covariate sono numerici, è possibile selezionare le trasformazioni dell'identità e calcolare le correlazioni tra la covariata e tutte le possibili permutazioni dei valori del DV. Quindi, si calcola il valore p da questo test di permutazione e lo si confronta con i valori p per altre covariate.
  • se sia DV che le covariate sono nominali (non ordinate categoriche), la statistica del test viene calcolata da una tabella di contingenza.
  • puoi facilmente compilare altri tipi di statistiche di test da qualsiasi tipo di trasformazione (inclusa la trasformazione dell'identità) da questo schema generale.

piccolo esempio per un test di permutazione in 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

Supponiamo ora di avere una serie di covariate, non solo una come sopra. Quindi calcola i valori di p per ciascuna delle covariate come nello schema sopra e seleziona quello con il valore di p più piccolo . Volete calcolare i valori p invece delle correlazioni direttamente, perché potreste avere covariate di diverso tipo (ad es. Numerico e categorico).

Dopo aver selezionato una covariata, ora esplora tutte le possibili divisioni (o spesso un numero in qualche modo limitato di tutte le possibili divisioni, ad esempio richiedendo un numero minimo di elementi del DV prima della divisione) valutando nuovamente un test basato sulla permutazione.

ctreeviene fornito con una serie di possibili trasformazioni sia per DV che per covariate (consultare la guida Transformationsnel partypacchetto).

così generalmente la differenza principale sembra essere quella che ctreeutilizza uno schema di selezione della covariata che si basa sulla teoria statistica (cioè selezione mediante test di significatività basati sulla permutazione) e quindi evita un potenziale pregiudizio rpart, altrimenti sembrano simili; ad esempio gli alberi di inferenza condizionale possono essere usati come apprendenti di base per le foreste casuali.

Questo è quanto posso. Per ulteriori informazioni, devi davvero leggere i documenti. Nota che ti consiglio vivamente di sapere davvero cosa stai facendo quando desideri applicare qualsiasi tipo di analisi statistica.


Quindi sarebbe giusto dire quanto segue: 1. In linea di principio, se fossero disponibili test di significatività e facili da calcolare per Gini, allora qualsiasi costruttore di alberi decisionali potrebbe essere aumentato con questi; 2. Ma in pratica non sono disponibili (cioè molto difficili / inefficienti da calcolare) per la maggior parte dei casi; 3. Gli autori degli alberi CI hanno scelto una famiglia di criteri di scissione. Questa non è necessariamente la migliore famiglia per l'accuratezza della classificazione, ma almeno per esso è facile calcolare il significato; 4. E quindi una debolezza degli alberi CI è che ti viene richiesto di utilizzare questo criterio specifico?
SheldonCooper il

1
@SheldonCooper: 1. e 2. possono essere un po 'sopra la mia testa. Penso che tu abbia ragione circa 3. e 4.
wolf.rauch,

1
(...) e tutte le possibili permutazioni dei valori del DV "Tutte le possibili permutazioni dei valori del DV? Ci vogliono più di 130 secondi per trovare tutte le possibili permutazioni di 10 elementi. Ciò renderebbe inutili gli alberi CI quando si hanno più di 20 osservazioni - aggiunte da un moderatore
chl

1
Mi dispiace ma cosa significa DV?
mitico,

1
Variabile dipendente da @mythicalprogrammer, penso
Frikster il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.