Kysymys:
Ehdolliset päättelypuut vs. perinteiset päätöksentekopuut
B_Miner
2011-06-21 02:45:43 UTC
view on stackexchange narkive permalink

Voiko kukaan selittää ehdollisten päättelypuiden ( ctree puolue -paketista R: ssä) ensisijaiset erot verrattuna perinteisempiin päätöspuun algoritmeihin (kuten rpart in R)?

  1. Mikä tekee CI-puista erilaiset?
  2. Vahvuudet ja heikkoudet?

Päivitys: Minulla on katsoi Horthornin ym. paperia, johon Chi viittaa kommenteissa. En voinut seurata sitä täysin - voiko kukaan selittää, kuinka muuttujat valitaan permutaatioilla (esim. Mikä on vaikuttava toiminto)?

Kiitos!

Tarkoitat selitystä, joka ylittää [Hothornin julkaisussa] kuvatun (http://cran.r-project.org/web/packages/party/vignettes/party.pdf)? Muistan joitain hienoja piirroksia [Carolin Strobl ]ista (http://www.stat.uni-muenchen.de/~carolin/) [IMPS2009] (http://www.thepsychometricscentre.com/) -konferenssissa; Luulen, että hänen verkkosivuillaan on joitain monisteita.
Tämä linkki näyttää vertailun päätöksentekopakettien eri muodoissa https://www.r-bloggers.com/a-brief-tour-of-the-trees-and-forests/
üks vastaus:
wolf.rauch
2011-07-15 04:46:59 UTC
view on stackexchange narkive permalink

Sen arvoista:

sekä rpart että ctree suorittavat rekursiivisesti yksimuuttujajaot riippuvan muuttujan perusteella arvot kovariaattisarjassa. rpart ja niihin liittyvät algoritmit käyttävät yleensä informaatiomittareita (kuten Gini-kerroin) nykyisen kovariaatin valitsemiseksi.

ctree , kirjoittajien mukaan (katso chlin kommentit) vältetään seuraavat rpart (ja niihin liittyvät menetelmät) muuttujien valintapoikkeamat: He valitsevat yleensä muuttujia, joilla on monia mahdollisia jakaumia tai monia puuttuvat arvot. Toisin kuin muut, ctree käyttää merkitsevyystestausmenetelmää muuttujien valitsemiseksi sen sijaan, että valitsisi muuttujan, joka maksimoi tietomäärän (esim. Gini-kerroin).

Merkitsevyystesti tai parempi: algoritmin jokaisessa alussa lasketut useat merkitsevyystestit (valitse kovariaatti - valitse jako - toistuminen) ovat permutaatiotestejä, ts. " testitilastojen jakauma nollahypoteesin perusteella saadaan laskemalla testitilaston kaikki mahdolliset arvot havaittujen datapisteiden etikettien uudelleenjärjestelyjen mukaisesti. " (wikipediaartikkelista).

Seuraavaksi testitilasto: se lasketaan riippuvan muuttujan ja kovariaattien muunnoksista (mukaan lukien identiteetti eli ei muunnosta). Voit valita minkä tahansa useista muunnoksista molemmille muuttujille. DV: n (riippuvainen muuttuja) muutosta kutsutaan vaikutusfunktioksi , josta kysyit.

Esimerkkejä (otettu paperista):

  • jos sekä DV että kovariaatit ovat numeerisia, voit valita identiteettimuunnokset ja laskea korrelaatiot kovariaatti ja kaikki mahdolliset DV-arvojen permutaatiot. Sitten lasket p -arvon tästä permutaatiotestistä ja verrataan sitä muiden kovariaattien p -arvoihin.
  • jos sekä DV että kovariaatit ovat nimellisiä (järjestämättömiä kategorioita), testitilastot lasketaan varautumistaulukosta.
  • voit helposti muodostaa muun tyyppisiä testitilastoja kaikenlaisista muunnoksista (mukaan lukien henkilöllisyysmuunnos) tästä yleisestä kaavasta.

pieni esimerkki permutaatiotestistä R:

  need (gtools) dv <- c (1,3,4,5,5); kovariaatti <- c (2,2,5,4,5) # kaikki mahdolliset dv: n permutaatiot, pituus (120): perms <- permutaatiot (5,5, dv, set = EPÄTOSI) # laskee nyt korrelaatiot kaikille permeille kovariaatti: cors <- soveltaa (perms, 1, function (perms_row) cor (perms_row, covariate)) cors <- cors [järjestys (cors)] # nyt p-arvo: vertaa cor (dv, kovariaatti) # lajiteltuun vektoriin kaikista permutaatiokorrelaatioista pituus (cors [cors> = cor (dv, kovariate)]) / length (cors) # tulos: [1] 0,1, eli p-arvo 0,1 # Huomaa, että tämä on yksipuolinen testi  koodi> 

Oletetaan, että sinulla on joukko kovariaatteja, ei vain yhtä kuin yllä. Laske sitten jokaiselle kovariaatille p -arvot, kuten yllä olevassa kaaviossa, ja valitse se, jolla on pienin p -arvo. Haluat laskea p -arvot suoraan korrelaatioiden sijaan, koska sinulla voi olla erilaisia ​​kovariaatteja (esim. Numeerisia ja kategorisia).

Kun olet valinnut kovariaatin, nyt tutkia kaikki mahdolliset jaot (tai usein jotenkin rajoitettu määrä kaikista mahdollisista jakoista, esimerkiksi vaatimalla vähäinen määrä DV-elementtejä ennen jakoa) arvioimalla uudelleen permutaatioon perustuva testi.

ctree sisältää useita mahdollisia muunnoksia sekä DV: lle että kovariaateille (katso ohjeet Transformations -paketista party ).

niin yleensä suurin ero näyttää olevan se, että ctree käyttää kovariaattivalintamallia, joka perustuu tilastoteoriaan (ts. valinta permutaatioon perustuvilla merkitsevyystesteillä) ja välttää siten mahdollisen harhaa rpart , muuten ne näyttävät samanlaisilta; esim. ehdollisia päättelypuita voidaan käyttää satunnaismetsien perusopiskelijoina.

Tämä on suunnilleen niin paljon kuin saan. Lisätietoja sinun täytyy lukea paperit. Huomaa, että suosittelen, että tiedät todella, mitä olet tekemässä, kun haluat käyttää minkäänlaista tilastollista analyysiä.

Joten olisiko reilua sanoa seuraava: 1. Periaatteessa, jos merkitsevyystestit olivat saatavilla ja Ginille helppo laskea, mitä tahansa nykyistä päätöksentekopuun rakentajaa voitaisiin täydentää näillä; 2. Mutta käytännössä niitä ei ole saatavana (eli erittäin vaikea / tehoton laskea) useimmissa tapauksissa; 3. CI-puiden kirjoittajat valitsivat yhden jakokriteeriperheen. Tämä ei ole välttämättä paras perhe luokitustarkkuudelle, mutta ainakin sen kannalta on helppo laskea merkitys; 4. Ja siksi CI-puiden heikkous on, että sinun on käytettävä tätä erityistä kriteeriä?
@SheldonCooper: 1. ja 2. saattavat olla hieman pääni päällä. Luulen, että olet oikeassa 3. ja 4. suhteen.
@Wolf Kiitos tästä selityksestä, se auttoi paljon! Mietin, mitä mieltä olet käytetyistä painoista - ovatko ne yksinkertaisesti "1", kun tiettyä tapausta ei ole painotettu?
Tämä on kommentti wolf.rauchin vastaukselle, mutta en voi lähettää sitä sellaisenaan alhaisen maineistani vuoksi.Olisi kiitollinen, jos joku voisi lähettää sen uudelleen.Voisitteko selventää termiä "muutos"?`Party`-paketin ohjeista näyttää siltä, että vakio-` `Apply ()` '-funktio tulee minulle.Se jättää minulle valinnan, mitä minun pitäisi tehdä IV: lle ja DV: lle, mutta en ymmärrä sen tekemisen tarkoitusta.Minulla on vielä yksi kysymys tähän osaan:> "jos sekä DV että kovariaatit ovat numeerisia, voit valita identiteettimuunnokset ja laskea korrelaatiot kovariaatin välillä (...)
(...) ja kaikki mahdolliset DV-arvojen permutaatiot " Kaikki mahdolliset DV: n arvojen permutaatiot?10 elementin kaikkien mahdollisten permutaatioiden löytäminen kestää yli 130 sekuntia.Tämä tekisi CI-puista hyödyttömiä, kun sinulla on yli 20 havaintoa.- lisäsi valvoja.
Olen pahoillani, mutta mitä DV tarkoittaa?
Luulen, että @mythicalprogrammer-riippuva muuttuja


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...