เกี่ยวกับ k-mean โดยเฉพาะคุณสามารถใช้สถิติ Gap โดยพื้นฐานแล้วแนวคิดคือการคำนวณความดีของการวัดการจัดกลุ่มตามการกระจายตัวเฉลี่ยเมื่อเทียบกับการกระจายการอ้างอิงสำหรับกลุ่มจำนวนที่เพิ่มขึ้น ข้อมูลเพิ่มเติมสามารถพบได้ในกระดาษต้นฉบับ:
Tibshirani, R. , Walther, G. และ Hastie, T. (2001) การประเมินตัวเลขของกลุ่มในชุดข้อมูลทางสถิติช่องว่าง JR Statist Soc B, 63 (2): 411-423
คำตอบที่ฉันให้กับคำถามที่เกี่ยวข้องจะเน้นดัชนีความถูกต้องทั่วไปอื่น ๆ ที่อาจใช้ในการตรวจสอบว่าชุดข้อมูลที่ระบุแสดงโครงสร้างบางอย่างหรือไม่
เมื่อคุณไม่มีความคิดใด ๆ เกี่ยวกับสิ่งที่คุณคาดหวังว่าจะพบว่ามีสัญญาณรบกวนเท่านั้นวิธีการที่ดีคือการใช้การสุ่มตัวอย่างใหม่และศึกษาเสถียรภาพของกลุ่ม กล่าวอีกนัยหนึ่งให้ลองข้อมูลของคุณอีกครั้ง (ผ่าน bootstrap หรือเพิ่มสัญญาณรบกวนเล็ก ๆ ) และคำนวณ "ความใกล้ชิด" ของพาร์ติชั่นผลลัพธ์ตามที่ประเมินโดยJaccardคล้ายคลึงกัน ในระยะสั้นจะช่วยให้การประเมินความถี่ที่กลุ่มที่คล้ายกันถูกกู้คืนในข้อมูล วิธีนี้สามารถใช้ได้อย่างง่ายดายในfpcแพคเกจ R clusterboot()
เป็น มันใช้เป็นอินพุตข้อมูลดิบหรือเมทริกซ์ระยะทางและอนุญาตให้ใช้วิธีการจัดกลุ่มที่หลากหลาย (ลำดับชั้น, วิธี k, ค่าเฉลี่ย, วิธีฟัซซี่) วิธีการจะกล่าวถึงในการอ้างอิงที่เชื่อมโยง:
หนิก, C. (2007) การประเมินคลัสเตอร์ที่ชาญฉลาดของความมั่นคงของคลัสเตอร์
สถิติการคำนวณและการวิเคราะห์ข้อมูล , 52, 258-271
หนิก, C. (2008) จุดสลายตัวและการแยกความทนทาน: เกณฑ์ทนทานสำหรับวิธีการวิเคราะห์กลุ่มทั่วไป วารสารการวิเคราะห์หลายตัวแปร , 99, 1154-1176
ด้านล่างเป็นการสาธิตขนาดเล็กด้วยอัลกอริทึม k-mean
sim.xy <- function(n, mean, sd) cbind(rnorm(n, mean[1], sd[1]),
rnorm(n, mean[2],sd[2]))
xy <- rbind(sim.xy(100, c(0,0), c(.2,.2)),
sim.xy(100, c(2.5,0), c(.4,.2)),
sim.xy(100, c(1.25,.5), c(.3,.2)))
library(fpc)
km.boot <- clusterboot(xy, B=20, bootmethod="boot",
clustermethod=kmeansCBI,
krange=3, seed=15555)
ผลลัพธ์ค่อนข้างเป็นบวกในชุดข้อมูลนี้ (และมีโครงสร้างที่ดี) เนื่องจากไม่มีทั้งสามคลัสเตอร์ ( krange
) ที่ถูกละลายในกลุ่มตัวอย่างและค่าเฉลี่ยความคล้ายคลึงกันของ Jaccard คลัสเตอร์เท่ากับ> 0.95 สำหรับทุกกลุ่ม
ด้านล่างนี้เป็นผลลัพธ์ของ 20 ตัวอย่าง bootstrap ดังจะเห็นได้ว่าหน่วยทางสถิติมีแนวโน้มที่จะจัดกลุ่มเป็นกลุ่มเดียวกันโดยมีข้อยกเว้นเล็กน้อยสำหรับข้อสังเกตที่อยู่ระหว่าง
คุณสามารถขยายแนวคิดนี้ไปยังดัชนีความถูกต้องแน่นอน: เลือกชุดการสังเกตใหม่โดย bootstrap (พร้อมการแทนที่) คำนวณสถิติของคุณ (เช่นความกว้างของเงาความสัมพันธ์ cophenetic แกมมาของฮิวเบิร์ตภายในผลรวมของสแควร์ส) หมายเลขคลัสเตอร์ (เช่น 2 ถึง 10) ทำซ้ำ 100 หรือ 500 ครั้งและดูที่ boxplot ของสถิติของคุณเป็นฟังก์ชันของจำนวนคลัสเตอร์
นี่คือสิ่งที่ฉันได้รับด้วยชุดข้อมูลจำลองเดียวกัน แต่ใช้การจัดกลุ่มแบบลำดับชั้นของ Ward และพิจารณาความสัมพันธ์แบบ cophenetic (ซึ่งประเมินว่ามีการทำซ้ำข้อมูลระยะทางในพาร์ทิชันที่เกิดขึ้นได้อย่างไร) และความกว้างของเงา การแยกคลัสเตอร์)
ค่าสหสัมพันธ์ cophenetic มีค่าตั้งแต่ 0.6267 ถึง 0.7511 โดยมีค่ามัธยฐานเท่ากับ 0.7031 (ตัวอย่างบูต 500 อัน) ความกว้างของเงาดูเหมือนจะสูงสุดเมื่อเราพิจารณา 3 กลุ่ม (ค่ามัธยฐาน 0.8408, ช่วง 0.7371-0.8769)