Küsimus:
Kuidas tuvastada bimodaalset jaotust?
venkasub
2011-01-04 19:03:59 UTC
view on stackexchange narkive permalink

Ma saan aru, et kui väärtused diagrammina koostame, saame kaksikpiike jälgides tuvastada bimodaalse jaotuse, kuid kuidas see programmiliselt leida? (Otsin algoritmi.)

Intrigeeriv küsimus. Ma ei tea sellest midagi, nii et proovin vastust leida, kuid bimodaalsuse + testi guugeldamine annab üsna palju paljutõotavaid viise. http://www.google.co.uk/search?q=bimodality+test
Režiimide arvu ei saa tuvastada (jaotuses olevate pisikeste vingerduste arv pole piiratud), kuid võite saada madalama piiri, nt. vaata siit http://projecteuclid.org/euclid.aos/1176351045
programmiline kood multimodaalsuse testimiseks on saadaval aadressil www.estima.com ja seda nimetatakse MODES.SRC. Selle saate hõlpsasti teisendada Matlabi, R-i või muudeks tarkvaradeks. Tervitades, guido.
Neli vastused:
whuber
2011-01-04 22:44:32 UTC
view on stackexchange narkive permalink

Pideva levitamise režiimi tuvastamine nõuab andmete silumist või liimimist.

Binnimine on tavaliselt liiga prokreaalne: tulemused sõltuvad sageli prügikasti lõikepunktide paigutamise kohast.

Tuuma silumine (täpsemalt tuuma tiheduse hindamise kujul) on hea valik. Kuigi võimalikud on paljud tuuma kujundid, ei sõltu tulemus tavaliselt kujust palju. See sõltub tuuma ribalaiusest. Seega kasutavad inimesed kindlaksmääratud režiimide stabiilsuse kontrollimiseks kas adaptiivse tuuma siledust või viivad mitmesuguste fikseeritud ribalaiuste korral läbi tuuma silumise järjestuse. Ehkki adaptiivse või "optimaalse" sujuva kasutamise kasutamine on atraktiivne, pidage meeles, et enamik neist (kõik?) On mõeldud täpsuse ja keskmise täpsuse tasakaalu saavutamiseks: need ei ole mõeldud režiimide asukoha hindamise optimeerimiseks.

Mis puutub juurutamisse, siis tuuma sujuvamad kohad vahetavad ja skaleerivad etteantud funktsiooni andmetele vastavaks. Tingimusel, et see põhifunktsioon on diferentseeritav - Gaussians on hea valik, kuna saate neid eristada nii mitu korda kui soovite - siis peate sileduse tuletise saamiseks selle asendama ainult tuletisega. Siis on lihtsalt kriitiliste punktide avastamiseks ja testimiseks vaja kasutada standardset nullide leidmise protseduuri. ( Brenti meetod töötab hästi.) Muidugi võite sama tuletisega teha sama tuletise, et saada kiire test, kas mõni kriitiline punkt on kohalik maksimum - see tähendab režiim.

@venkasub, võiksite vaadata ka Mulleri meetodit juurte leidmiseks. See on lihtsam kui Brenti meetod ja "peaaegu" sama tõhus kui Newtoni meetod, kuid ilma et oleks vaja teada sihtfunktsiooni tuletisi.
cardinal
2011-02-06 02:23:19 UTC
view on stackexchange narkive permalink

Selle teemaga tegeleb Silvermani tuntud paber. Selles kasutatakse tuuma tiheduse hindamist. Vt

B. W. Silverman, Kerneli tiheduse hinnangute kasutamine multimodaalsuse uurimiseks, J. Kuninglik stat. Soc. B , kd 43, nr. 1, 1981, lk 97–99.

Pange tähele, et paberi tabelites on mõned vead. See on alles lähtepunkt, kuid päris hea. See pakub hästi määratletud algoritmi kasutamiseks juhul, kui just seda kõige rohkem otsite. Võite vaadata Google Scholarist pabereid, mis viitavad sellele "kaasaegsemate" lähenemiste jaoks.

+1 Selles artiklis kasutatakse teavet selle kohta, kuidas näivrežiimide arv sõltub tuuma laiusest (Gaussi tuumade puhul), et valida sobiv laius, ja jätkab seejärel minu vastuses kirjeldatud viisil.
Kots
2019-04-03 13:20:41 UTC
view on stackexchange narkive permalink

Tulin peole hilja, kuid kui teid huvitab lihtsalt see, kas see on multimodaalne või mitte, st režiimide arv ei huvita teid, peaksite vaatama lehte diptest.

Rakenduses R nimetatakse paketti diptest .

Täisnimi on Hartigani Unimodality Dip Test.Esialgses dokumendis kirjeldatakse seda kirjeldust: _Dip-test mõõdab proovis mitmeliigilisust empiirilise jaotuse funktsiooni ja unimodaalse jaotuse funktsiooni vahelise maksimaalse erinevuse kaudu kõigis proovipunktides, mis minimeerib selle maksimumi erinevus ._ Algoritm ei ole triviaalne, kuid saate hõlpsalt leida C, Pythoni, MATLABi ja tänapäevased Fortrani tõlked, mis põhinevad Fortrani algsel rakendusel, jaotisest [Dipstatistika arvutamine ühetaolisuse testimiseks] (https: //www.jstor.org / stabiilne / 2347485).
MATLABi kood: http://www.nicprice.net/diptest/ ja veel üks - https://gist.github.com/schluppeck/e7635dcf0e80ca54efb0.
Basil
2011-01-04 20:58:43 UTC
view on stackexchange narkive permalink

Vikis olev definitsioon on minu jaoks veidi segane. Ainult ühe režiimi pideva andmekogumi tõenäosus on null. Lihtne viis bimodaalse distrubitoni programmeerimiseks on kaks eraldatud normaaljaotust, mis on koondatud erinevalt. See loob kaks tippu või seda, mida wiki nimetab režiimideks. Tegelikult saate kasutada peaaegu kõiki kahte jaotust, kuid üks raskemaid statistilisi võimalusi on leida, kuidas andmekogum pärast kahe juhusliku andmejaotuse ühendamist moodustati.

Kuidas saate tuvastada kahe normaaljaotuse keskpunkti?
@venkasub, normaaljaotuse keskus on selle keskmine. Kui teate, et bimodaalsus tuleneb kahest normaaljaotusest, saate keskmise mudeli hindamiseks sobitada segu mudeli, mis on kaks režiimi.


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 2.0-litsentsi eest, mille all seda levitatakse.
Loading...