Jeg brugte GAP-statistik til at estimere k-klynger i R. Men jeg er ikke sikker på, om jeg fortolker det godt.
Fra plottet ovenfor antager jeg, at jeg skal bruge 3 klynger.
Fra det andet plot skal jeg vælge 6 klynger. Er det korrekt fortolkning af GAP-statistik?
Jeg ville være taknemmelig for enhver forklaring.
Kommentarer
Svar
For at opnå en ideel klyngedannelse skal du vælge $ k $, så du maksimerer gap-statistikken. Her er eksemplet givet af Tibshirani et al. (2001) i deres papir, plottet dannet af kunstige data med 2 klynger. Som du kan se, er 2 helt klart den ideelle $ k $, fordi gap-statistikken maksimeres til $ k = 2 $:
Dog , i mange datasæt fra den virkelige verden, er klyngerne ikke så veldefinerede, og vi ønsker at være i stand til at afbalancere maksimering af gap-statistikken med modelens parsimonium. Eksempel: OPs første billede. Hvis vi “maksimerer kløftstatistikken alene , skal vi vælge modellen med 30 (eller endda flere!) Klynger. Hvis vi antager, at dette plot bare vil fortsætte med at øge, naturligvis resultaterne er mindre nyttige. Så Tibshirani foreslår 1-standard-fejl -metoden:
Vælg klyngestørrelsen $ \ hat {k} $ for at være den mindste $ k $, således at $ \ text {Gap} (k) \ geq \ text {Gap} (k + 1) – s_ {k + 1} $.
Hvilket uformelt identificerer det punkt, hvor stigningshastigheden for gap-statistikken begynder at “bremse”.
Så i OPs første billede, hvis vi tager de røde fejlbjælker som standardfejl, så er 3 den mindste $ k $, der opfylder dette kriterium:
For OPs andet billede vil du dog se, at kløftstatistikken mindskes straks for $ k > 1 $. Så den første $ k $, der opfylder 1-standard-fejlkriteriet, er $ 1 $. Dette er plotets måde at sige, at dataene ikke skal grupperes.
Som det viser sig, er der flere måder at vælge optimal $ k $. Standardmetoden for R-funktionen clusGap
søger for eksempel altid efter det lokale maksimum i grafen og vælger den mindste $ k $ inden for en standardfejl af det lokale maks. Ved hjælp af denne firstSEmax
metode, ville vi vælge $ k = 30 $ og $ k = 19 $ til henholdsvis OPs grafer 1 og 2. Som jeg dog synes, synes dette at lide af et kompleksitetsproblem.
Kommentarer
- Ved estimering af $ k $ -værdi fra gap-statistik , hvordan kan jeg beregne / estimere sandsynligheden for, at $ k $ er det sande antal klynger? Eller er mit spørgsmål meningsløst?
- Tak fordi du påpegede afvejen mellem at maksimere gap-statistikken og få parsimon af modellen
clusGap
baseret på globalmax, jeg vidste ikke ' ikke, hvordan jeg implementerede maxSE.