Hartiganék értelmezése ' dip teszt
On november 18, 2020 by adminSzeretném megtalálni a módját egyesek bimodalitásának intenzitásának számszerűsítésére eloszlásokat kaptam empirikusan. Az olvasottak alapján még mindig van némi vita a bimodalitás számszerűsítésének módjáról. Úgy döntöttem, hogy a Hartigans “dip tesztet használom, amely úgy tűnik, hogy az egyetlen elérhető az R-n (eredeti papír: http://www.stat.washington.edu/wxs/Stat593-s03/Literature/hartigan85a.pdf A Hartigans “dip tesztet a következőképpen határozzuk meg: / em>.
Szeretném megérteni, hogyan kell értelmeznem ezeket a statisztikákat, mielőtt felhasználnám. Arra számítottam, hogy a dip teszt növekedni fog, ha az eloszlás multimodális (mivel meghatározása szerint “az unimodális eloszlástól való maximális különbség”). De : a wikipédia oldalán olvashat a multimodális eloszlásról, hogy “0,05-nél kisebb értékek jelentős bimodalitást és értékeket jeleznek 0,05-nél nagyobb, de kevesebb, mint 0,10 marginális jelentőségű bimodalitásra utal. “. Ilyen állítás ebből a cikkből származik (2. ábra). E cikk szerint a dip teszt index közel 0, ha az eloszlás bimodális. Összezavar.
A Hartigans “dip teszt helyes értelmezéséhez készítettem néhány disztribúciót (az eredeti kód itt található ), és növeltem az exp (mu2) értéke (a továbbiakban “bimodularitás intenzitása” néven – Edit: “Bimodality intenzitása” nak kellett volna neveznem) a bimodalitás megszerzéséhez. Az első grafikonon láthatja néhány példa az eloszlásokra. Ezután megbecsültem a különböző szimulált eloszlásokhoz a diptest indexet (második grafikon) és a p értéket (harmadik graphe) (csomag diptest ). A felhasznált R kód a a bejegyzésem.
Itt azt mutatom, hogy a dip teszt index magas és a Pvalue alacsony, ha a bimodális disztribúciók vannak. Ami ellentétes azzal, amit az interneten olvashat.
Nem vagyok szakértő a statisztikák terén, így alig értettem a Hartigans cikkét. Szeretnék néhány megjegyzést kapni a Hartigans “dip teszt” értelmezésének helyes módjáról. Tévedek valahol?
Köszönöm mindenkinek. Üdvözlettel:
TA
Szimulált terjesztési példa:
Hartigan dip teszt index társítva:
Hartigan dip teszt p.érték társítva:
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
Megjegyzések
- Nagyon alapos kérdés kidolgozása egy olyan témáról, amely bármely statisztika által normális ‘ szabvány szerint . A nyilvánvaló első kérdések, még mielőtt valaki beleértené az értelmezést , a következő: ” Miért van szükséged erre a tesztre? Milyen információkkal kíván kommunikálni? id = “994072291b”>
Adhat további kontextust azoknak a motivációknak, amelyek elvezetettek a A ” dip teszt eredményeinek értelmezése? ” Más szavakkal, nem pedig ‘ s kényelmi wrt R programozás, milyen logikai út vezetett el először a ” dip teszthez “?
Válasz
Mr. Freeman (a cikk szerzője, akiről meséltem neked) elmondta, hogy valójában csak a dip teszt Pvalue értékét nézi. Ez az összetévesztés az ő mondatából származik:
“A HDS értékek 0 és 1 között mozognak, 0,05-nél kisebb értékekkel, amelyek jelentős bimodalitást jeleznek, és 0,05-nél nagyobb, de kevesebb, mint 10 értékek, marginális jelentőségű bimodalitásra utalnak” . A HDS értékek megfelelnek a Pvalue értéknek, és nem a dip teszt statisztikáknak. Nem volt világos a lapban.
Az elemzésem jó: a dip teszt statisztikája nő, ha az eloszlás eltér az unimodális elosztástól.
A Bimodality teszt és Silverman tesztje szintén könnyen kiszámítható az R-ben, és jól elvégzik a munkát.
Megjegyzések
- Kérjük, regisztráljon & egyesítse fiókjait. Ennek módjáról a
Saját fiók szakaszában talál információt. / div> súgó .
Vélemény, hozzászólás?