Jeg brukte GAP-statistikk for å estimere k-klynger i R. Imidlertid er jeg ikke sikker på om jeg tolker det godt.
Fra plottet over antar jeg at jeg skal bruke 3 klynger.
Fra det andre plottet bør jeg velge 6 klynger. Er det riktig tolkning av GAP-statistikken?
Jeg vil være takknemlig for enhver forklaring.
Kommentarer
Svar
For å oppnå en ideell klynging, bør du velge $ k $ slik at du maksimerer gapstatistikken. Her er eksemplet gitt av Tibshirani et al. (2001) i papiret, plottet dannet av kunstige data med to klynger. Som du ser er 2 helt klart den ideelle $ k $, fordi gapstatistikken er maksimert til $ k = 2 $:
Imidlertid , i mange datasett fra den virkelige verden, er klyngene ikke så veldefinerte, og vi vil være i stand til å balansere maksimering av gapstatistikken med modellens parsimonium. Eksempel: OPs første bilde. Hvis vi maksimerer gapstatistikken alene , bør vi velge modellen med 30 (eller enda flere!) Klynger. Forutsatt at plottet bare kommer til å fortsette å øke, selvfølgelig, resultatene er mindre nyttige. Så Tibshirani foreslår 1-standard-feil -metoden:
Velg klyngestørrelsen $ \ hat {k} $ for å være den minste $ k $ slik at $ \ text {Gap} (k) \ geq \ text {Gap} (k + 1) – s_ {k + 1} $.
Som uformelt identifiserer punktet hvor økningen i gap-statistikken begynner å «bremse ned».
Så hvis vi tar de røde feilstolpene som standardfeil i OPs første bilde, er 3 den minste $ k $ som tilfredsstiller dette kriteriet:
For OPs andre bilde, vil du imidlertid se at gap-statistikken minker umiddelbart for $ k > 1 $. Så den første $ k $ som tilfredsstiller 1-standard-feilkriteriet er $ 1 $. Dette er plottets måte å si at dataene ikke skal grupperes.
Som det viser seg, er det flere måter å velge optimal $ k $. Standardmetoden for R-funksjonen clusGap
, for eksempel, søker alltid etter det lokale maksimumet i grafen, og velger den minste $ k $ innen en standardfeil av det lokale maks. Ved å bruke denne firstSEmax
-metoden, ville vi velge $ k = 30 $ og $ k = 19 $ for henholdsvis OPs grafer 1 og 2. Som sagt ser det imidlertid ut til å lide av et kompleksitetsproblem.
Kommentarer
- Når du estimerer $ k $ -verdien fra gapstatistikken , hvordan kan jeg beregne / estimere sannsynligheten for at $ k $ er det sanne antall klynger? Eller er spørsmålet mitt meningsløst?
- Takk for at du påpekte avveiningen mellom å maksimere gapstatistikken og få parisens av modellen
clusGap
basert på globalmax, jeg visste ikke ' ikke hvordan jeg skulle implementere maxSE.