Hartiganien tulkinta ' dip-testi
On marraskuu 18, 2020 by adminHaluaisin löytää tavan kvantifioida joidenkin bimodaalisuuden intensiteetti jakelujen sain empiirisesti. Lukujen perusteella on edelleen jonkin verran keskustelua tavasta mitata bimodaalisuus. Päätin käyttää Hartigans-dip-testiä, joka näyttää olevan ainoa käytettävissä oleva R-tiedosto (alkuperäinen paperi: http://www.stat.washington.edu/wxs/Stat593-s03/Literature/hartigan85a.pdf Hartigansin ”dip-testi” määritellään seuraavasti: ”Dip-testi mittaa näytteen multimodaalisuutta empiirisen jakautumistoiminnon ja unimodaalisen jakautumistoiminnon välisellä enimmäiserolla kaikilla näytepisteillä” <" / em>.
Haluaisin ymmärtää täysin, miten minun pitäisi tulkita nämä tilastot ennen niiden käyttöä. Odotin, että dip-testi lisääntyy, jos jakauma on multimodaalista (koska se määritellään ”suurimmaksi eroksi yksimodaalisesta jakaumasta”). Mutta : voit lukea wikipedia-sivulta multimodaalista jakelua, että ”Alle 0,05 -arvot osoittavat merkittävää kaksisuuntaisuutta ja arvoja yli 0,05 mutta alle 0,10 viittaa bimodaalisuuteen, jolla on marginaalinen merkitys. ”. Tällainen lausunto tulee tästä paperista (kuva 2). Tämän artikkelin mukaan dip-testiindeksi on lähellä 0, kun jakauma on kaksimodaalinen. Se hämmentää minua.
Hartigansin ”dip-testin oikein tulkitsemiseksi rakennin joitain jakeluja (alkuperäinen koodi on täällä ) ja kasvoin exp (mu2) arvo (kutsutaan tästä lähtien ”bimodulariteetin intensiteetiksi” – Muokkaa: Minun olisi pitänyt kutsua sitä ”bimodaalisuuden intensiteetiksi” ) saadaksesi bimodaalisuuden. Ensimmäisessä kaaviossa näet Joitakin esimerkkejä jakaumista. Sitten arvioin diptest-indeksin (toinen kaavio) ja p-arvon (kolmas graphe) (paketti diptest ) näihin erilaisiin simuloituihin jakaumiin. Käytetty R-koodi on lopussa postini.
Tässä näytän, että kaatumistesti-indeksi on korkea ja arvo on matala, kun jakaumat ovat bimodaalisia. Mikä on ristiriidassa sen kanssa, mitä voit lukea Internetistä.
En ole tilastojen asiantuntija, joten tuskin ymmärsin Hartiganin paperia. Haluaisin saada kommentteja oikeasta tavasta, jolla meidän tulisi tulkita Hartigansin ”dip-testi”. Olenko väärässä jossakin?
Kiitos kaikille. Terveisin,
TA
Esimerkki simuloidusta jakelusta:
Hartiganin dip-testiindeksi liittyy:
Hartiganin dip test p.arvo liittyy:
library(diptest) library(ggplot2) # CONSTANT PARAMETERS sig1 <- log(3) sig2 <- log(3) cpct <- 0.5 N=1000 #CREATING BIMOD DISTRIBUTION bimodalDistFunc <- function (n,cpct, mu1, mu2, sig1, sig2) { y0 <- rlnorm(n,mean=mu1, sd = sig1) y1 <- rlnorm(n,mean=mu2, sd = sig2) flag <- rbinom(n,size=1,prob=cpct) y <- y0*(1 - flag) + y1*flag } #DIP TEST DIP_TEST <- function(bimodalData) { TEST <- dip.test(bimodalData) return(TEST$statistic[[1]]) # return(TEST$p.value[[1]]) to get the p value } DIP_TEST(bimodalData) # SIMULATION exp_mu1 = 1 max_exp_mu2 = 100 intervStep = 100 repPerInt = 10 # single distibutions expMu2Value <- c() bimodalData <- c() mu1 <- log(exp_mu1) mu2 <- log(exp_mu1) bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))) expMu2Value <- c(expMu2Value,rep(exp_mu1,length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))))) mu1 <- log(exp_mu1) mu2 <- log(max_exp_mu2) bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))) expMu2Value <- c(expMu2Value,rep(max_exp_mu2,length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))))) mu1 <- log(exp_mu1) mu2 <- log(trunc((max_exp_mu2-exp_mu1)/2+1)) bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))) expMu2Value <- c(expMu2Value,rep(trunc((max_exp_mu2-exp_mu1)/2+1),length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))))) tableExamples <- data.frame(expMu2Value,bimodalData) tableExamples$expMu2Value <- as.factor(tableExamples$expMu2Value) ExamplePlot <- ggplot(tableExamples)+ geom_histogram(aes(bimodalData),color="white")+ ylab("Count")+ xlab("")+ facet_wrap(~expMu2Value)+ ggtitle("Intensity of bimodularity") # calculation of the dip test index exp_mu2Int = seq(from=exp_mu1,to=max_exp_mu2,length.out=intervStep) expmu2Vec = c() dipStat = c() testDone = c() for(exp_mu2 in exp_mu2Int){ mu1 <- log(exp_mu1) mu2 <- log(exp_mu2) for(rep in 1:repPerInt){ bimodalData <- log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)) diptestone = DIP_TEST(bimodalData) expmu2Vec = c(expmu2Vec,exp_mu2) dipStat = c(dipStat,diptestone) testDone = c(testDone,"diptest") } } table = data.frame(expmu2Vec,dipStat,testDone) IndexPlot <- ggplot(table)+ geom_point(aes(expmu2Vec,dipStat,color=testDone))+ ylab("Index")+ xlab("Intensity of Bimodularity")+ scale_color_discrete(name="Test") ExamplePlot IndexPlot
kommentit
- erittäin perusteellinen kysymys käsitellään aihetta, joka on arkaluonteinen minkä tahansa tilastotieteilijän ' standardien mukaan . Ilmeiset ensimmäiset kysymykset, ennen kuin edes pääsee tulkintaan , ovat: " Miksi tarvitset tätä testiä? Mitä tietoja sen on tarkoitus välittää? " Voi tarjota lisää kontekstia motiiveille, jotka ovat johtaneet sinut paljon, paljon pidemmälle loppupään kysymykseen tulkinta " dip-testin tuloksista? " Toisin sanoen muu kuin se ' s mukavuus wrt R-ohjelmointi, mikä logiikan polku on johtanut sinut " -dip-testiin "?
- Kiitos vastauksestasi, Mike. ' Työskentelen evoluutiobiologian teoreettisen mallin parissa ja suoritan herkkyysanalyysin. Erityisesti havaitsen, että joidenkin parametrien vaihtelu muuttaa lähtömuuttujan jakaumaa unimodaalisesta bimodaaliseen (mikä on itse asiassa erittäin mielenkiintoista). Siksi ' s miksi ' etsin yksinkertaisia tilastoja kuvaamaan jakelun multimodulaarisuutta. Se antaisi minun keskittää herkkyysanalyysi multimodulaarisuuteen.
- Huomasin, että dip-testi voidaan helposti laskea R: ssä ja että se voi kvantifioida poikkeaman unimodaalisesta jakaumasta. Minua tietysti kiinnostaisivat kaikki muut tilastot, jotka kuvaavat jakauman multimodulaarisuutta.
- Hmmm … muutaman nöyrän polynomin sovittaminen voi tarkoittaa " huono mies ' s " lähestymistapa käsittelemään kaarevineaarisuutta, jota ' tarkastelet ja saattaa olla helpompi ottaa käyttöön ja tulkita kuin Hartigan ' -testi. Et ' sano, sisältyykö kysymyksiisi kasvutoimintojen käsittely.Esimerkiksi inhimillisessä kehityksessä on useita tunnettuja " kuoppia " kasvuradalla elinkaaren erillisissä kohdissa. Ei-parametristen mallien on havaittu sovittavan ja arvioivan paremmin näitä epälineaarisuuksia kuin parametrisissa malleissa.
- Tilastollisista kysymyksistä: Kuten sanottu, dip-testi ottaa vertailuna unimodaalisuuden. En mielestäni ' usko, että poikkeamat siitä voidaan tulkita pelkästään P-arvosta saatavien tilojen lukumääränä. Olen ' mielestäni ollut erittäin hyödyllistä tulkita tilojen lukumäärä tiheyden estimoinnin ja aineellisen tulkinnan yhdistelmällä.
Vastaa
Herra Freeman ( -artikkelin kirjoittaja, josta kerroin sinulle) kertoi minulle, että hän itse asiassa katsoi vain kastotestin arvoa. Tämä hämmennys johtuu hänen lauseestaan:
”HDS-arvot vaihtelevat välillä 0-1 arvojen ollessa alle .05 osoittavat merkittävää bimodaalisuutta ja arvot, jotka ovat suurempia kuin .05 mutta alle .10, mikä viittaa marginaalisesti merkittävään bimodaalisuuteen” em>. HDS-arvot vastaavat Pvalue-arvoa eikä dip-testitilastoja. Se oli epäselvä paperissa.
Analyysini on hyvä: dip-testitilastot kasvavat, kun jakauma poikkeaa unimodaalisesta jakaumasta.
Bimodality-testi ja Silvermanin testi voidaan myös laskea helposti R: ssä ja tehdä työtä hyvin.
Kommentit
- Ole hyvä ja rekisteröidy & Yhdistä tilisi. Löydät tietoja siitä, miten se tehdään <-kohdan Oma tili -osiosta. / div> ohjekeskus .
Vastaa