For hvad det er værd:
både rpart
og ctree
udfører rekursivt univariate split af den afhængige variabel baseret på værdier på et sæt kovariater. rpart
og relaterede algoritmer anvender normalt informationsmål (såsom Gini-koefficienten) til valg af det aktuelle kovariat.
ctree
ifølge dens forfattere (se chl's kommentarer) undgår den følgende variabeludvælgelsesforstyrrelse af rpart
(og relaterede metoder): De har tendens til at vælge variabler, der har mange mulige opdelinger eller mange manglende værdier. I modsætning til de andre bruger ctree
en signifikans-testprocedure for at vælge variabler i stedet for at vælge den variabel, der maksimerer et informationsmål (f.eks. Gini-koefficient).
Signifikansprøven, eller bedre: de multiple signifikansprøver beregnet ved hver start af algoritmen (vælg covariat - vælg split - recurse) er permutationstest, det vil sige " fordelingen af teststatistikken under nulhypotesen opnås ved at beregne alle mulige værdier for teststatistikken under omlejringer af etiketterne på de observerede datapunkter. " (fra wikipedia-artiklen).
Nu til teststatistikken: den beregnes ud fra transformationer (inklusive identitet, dvs. ingen transformation) af den afhængige variabel og kovariaterne. Du kan vælge en hvilken som helst af et antal transformationer for begge variabler. For DV (afhængig variabel) kaldes transformationen den indflydelsesfunktion du spurgte om.
Eksempler (taget fra papiret):
- hvis både DV og covariater er numeriske, kan du vælge identitetstransformationer og beregne sammenhænge mellem covariat og alle mulige permutationer af DV's værdier. Derefter beregner du p -værdien ud fra denne permutationstest og sammenligner den med p -værdierne for andre kovariater.
- hvis både DV og covariaterne er nominelle (ikke-ordnede kategoriske), beregnes teststatistikken ud fra en beredskabstabel.
- Du kan nemt sammensætte andre slags teststatistikker fra enhver form for transformation (inklusive identitetstransformation) fra denne generelle ordning.
lille eksempel til en permutationstest i R
:
kræver (gtools) dv <- c (1,3,4,5,5); covariate <- c (2,2,5,4,5) # alle mulige permutationer af dv, længde (120): perms <- permutationer (5,5, dv, set = FALSE) # Beregn nu korrelationer for alle perms med covariate: cors <- anvende (perms, 1, funktion (perms_row) cor (perms_row, covariate)) cors <- cors [rækkefølge (cors)] # nu p-værdi: sammenlign cor (dv, covariate) med den # sorterede vektor af alle permutationskorrelationslængde (cors [cors> = cor (dv, covariate)]) / længde (cors) # resultat: [1] 0,1, dvs. en p-værdi på .1 # bemærk, at dette er en ensidig test kode>
Antag nu, at du har et sæt kovariater, ikke kun en som ovenfor. Beregn derefter p -værdier for hver af covariaterne som i ovenstående skema, og vælg den med den mindste p -værdi. Du vil beregne p -værdier i stedet for sammenhængene direkte, fordi du kunne have kovariater af forskellige slags (f.eks. Numeriske og kategoriske).
Når du har valgt et kovariat, skal du nu udforske alle mulige opdelinger (eller ofte et på en eller anden måde begrænset antal af alle mulige opdelinger, f.eks. ved at kræve et minimalt antal elementer i DV inden opdeling) igen evaluere en permutationsbaseret test.
ctree
leveres med et antal mulige transformationer til både DV og covariater (se hjælp til Transformations
i pakken party
).
så generelt ser hovedforskellen ud til at være ctree
bruger et covariat selektionsskema, der er baseret på statistisk teori (dvs. udvælgelse ved permutationsbaseret signifikans test) og derved undgår en potentiel bias i rpart
, ellers virker de ens; f.eks. betingede slutningstræer kan bruges som baselærere til tilfældige skove.
Dette er omtrent så vidt jeg kan komme. For mere information skal du virkelig læse papirerne. Bemærk, at jeg kraftigt anbefaler, at du virkelig ved, hvad du laver, når du vil anvende enhver form for statistisk analyse.