Am folosit statistica GAP pentru a estima k clustere în R. Cu toate acestea, nu sunt sigur dacă îl interpretez bine. introduceți descrierea imaginii aici

Din graficul de mai sus presupun că ar trebui să folosesc 3 clustere.

introduceți descrierea imaginii aici

Din al doilea complot ar trebui să aleg 6 clustere. Este o interpretare corectă a statisticii GAP?

Aș fi recunoscător pentru orice explicație.

Comentarii

  • Două întrebări – Care este primul grafic care arată? Este o statistică GAP pentru aceleași date? De ce ar arăta diferit de cel de-al doilea (care văd că este un GAP). Ce funcții R ați folosit? A doua întrebare: ați folosit regula ' 1-standard error ' pentru a alege 6 pentru al doilea grafic ?
  • Deci, există două abordări diferite ale clusterizării. Prima este bazată pe serii temporale – vânzări pe parcursul a 26 de săptămâni și am grupat date pe baza dinamicii dinamice e deformarea. A doua abordare a fost gruparea parametrilor curbei de creștere, bazată și pe deformarea dinamică a timpului. Am folosit clusGap pe baza globalmax, nu ' nu știam cum să implementez maxSE.

Răspuns

Pentru a obține un cluster ideal, ar trebui să selectați $ k $ astfel încât să maximizați statistica decalajului. Iată exemplul dat de Tibshirani și colab. (2001) în lucrarea lor, complotul format din date artificiale cu 2 clustere. După cum puteți vedea, 2 este în mod clar $ k $ ideal, deoarece statistica decalajului este maximizată la $ k = 2 $:

Statistica decalajului

Cu toate acestea , în multe seturi de date din lumea reală, clusterele nu sunt la fel de bine definite și dorim să putem echilibra maximizarea statisticii decalajului cu parsimonia modelului. Caz la punct: prima imagine a OP. Dacă maximizăm statistica decalajului singuri , atunci ar trebui să alegem modelul cu 30 de clustere (sau chiar mai multe!). Presupunând că acel complot va continua să crească, desigur, rezultatele sunt mai puțin utile. Deci, Tibshirani sugerează metoda 1-standard-error :

Alegeți dimensiunea clusterului $ \ hat {k} $ pentru a fi cel mai mic $ k $ astfel încât $ \ text {Gap} (k) \ geq \ text {Gap} (k + 1) – s_ {k + 1} $.

Care este în mod informal identificarea punctului în care rata de creștere a statisticii decalajului începe să „încetinească”.

Deci, în prima imagine a OP, dacă considerăm că barele de eroare roșii sunt erori standard, atunci 3 este cel mai mic $ k $ care îndeplinește acest criteriu:

Imagine adnotată 1

Cu toate acestea, pentru a doua imagine a OP, veți vedea că statistica decalajului scade imediat pentru $ k > 1 $. Deci, primul $ k $ care îndeplinește criteriul 1 eroare standard este $ 1 $. Acesta este modul în care complotul spune că datele nu trebuie grupate.

După cum se dovedește, există modalități suplimentare de a alege $ k $ optim. Metoda implicită a funcției R clusGap , de exemplu, caută întotdeauna maximul local al graficului și selectează cel mai mic $ k $ într-o singură eroare standard din valoarea maximă locală. Folosind această metodă firstSEmax, am selecta $ k = 30 $ și $ k = 19 $ pentru graficele 1 și respectiv 2 ale OP. După cum am spus, totuși, acest lucru pare să sufere de o problemă de complexitate.

Sursa: Robert Tibshirani, Guenther Walther și Trevor Hastie (2001). Estimarea numărului de clustere dintr-un set de date prin statistica gap.

Comentarii

  • Când se estimează valoarea $ k $ din statistica gap , cum pot calcula / estima probabilitatea ca $ k $ să fie adevăratul număr de clustere? Sau întrebarea mea este lipsită de sens?
  • Vă mulțumim că ați arătat schimbul dintre maximizarea statisticii decalajului și obținerea parcimoniei modelului

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *