จะบอกปริมาณได้อย่างไรว่าข้อมูล 1D มีการทำคลัสเตอร์ประมาณ 1 หรือ 3 ค่าหรือไม่


9

ฉันได้รับข้อมูลบางอย่างในเวลาระหว่างหัวใจเต้นของมนุษย์ ข้อบ่งชี้หนึ่งของการเต้นนอกมดลูก (พิเศษ) คือช่วงเวลาเหล่านี้มีการทำคลัสเตอร์ประมาณสามค่าแทนที่จะเป็นหนึ่ง ฉันจะได้รับการวัดเชิงปริมาณของสิ่งนี้ได้อย่างไร

ฉันกำลังมองหาเพื่อเปรียบเทียบชุดข้อมูลหลายชุดและฮิสโตแกรม 100 bin สองรายการนี้เป็นตัวแทนของชุดข้อมูลทั้งหมด

ป้อนคำอธิบายรูปภาพที่นี่

ฉันสามารถเปรียบเทียบความแปรปรวนได้ แต่ฉันต้องการให้อัลกอริทึมของฉันสามารถตรวจสอบว่ามีหนึ่งหรือสามกลุ่มในแต่ละกรณีโดยไม่เปรียบเทียบกับกรณีอื่น ๆ

นี่คือการประมวลผลแบบออฟไลน์ดังนั้นจึงมีพลังในการคำนวณจำนวนมากหากจำเป็น


คำตอบ:


3

ฉันแนะนำอย่างยิ่งต่อการใช้ k- หมายถึงที่นี่ ผลลัพธ์สำหรับค่า k ที่แตกต่างกันนั้นไม่สามารถเทียบเคียงได้ดีนัก วิธีนี้เป็นเพียงวิธีแก้ปัญหาแบบหยาบคาย หากคุณต้องการใช้การทำคลัสเตอร์จริงๆให้ใช้การทำคลัสเตอร์ EM เนื่องจากข้อมูลของคุณดูเหมือนจะมีการแจกแจงแบบปกติ และตรวจสอบผลลัพธ์ของคุณ!

วิธีที่ชัดเจนคือการลองใช้ฟังก์ชั่นเกาส์เซียนอย่างเดียวและ (ตัวอย่างเช่นการใช้เมธอด Levenberg-Marquard) พอดีกับฟังก์ชั่นเกาส์นสามฟังก์ชั่นอาจถูก จำกัด ให้อยู่ในระดับความสูงเดียวกัน

จากนั้นทดสอบซึ่งการแจกแจงสองแบบนั้นเหมาะสมกว่า


ขอบคุณฉันไม่รู้จัก Levenberg-Marquardt! กระจุกเหล่านี้ไม่ใช่เกาส์เซียน; คุณยังคิดว่าฟังก์ชั่นเสียนน่าจะเป็น PDF ที่ดีที่สุดที่เหมาะกับพวกเขาหรือไม่?
Nikolaus

+1 ถึงสิ่งนี้และกับ Greg Snow ฉันเห็นด้วยกับคำแนะนำนี้โดยสิ้นเชิง @ นิโคลัสฉันคิดว่านี่ดูเหมือน "เกาส์พอ" เพื่อให้พอดีกับส่วนผสมของการแจกแจงแบบเกาส์ คุณไม่ต้องการแบบที่สมบูรณ์แบบเพียงแค่ตรวจสอบว่ามีกี่คลัสเตอร์ ในจักษุนี้การบังคับให้ส่วนประกอบทั้งหมดแบ่งปันค่าเบี่ยงเบนมาตรฐานเดียวกันเป็นความคิดที่ดี (ด้วยเหตุผลที่อธิบายโดย Anony-Mousse)
Elvis

พวกเขาดู Gaussian มากพอสำหรับฉัน K-หมายถึงข้อมูลโมเดลด้วยเซลล์ Voronoi ดูเหมือนจะไม่สมเหตุสมผลที่ฉันจะคิดว่าจุดแยกที่ดีที่สุดนั้นอยู่ตรงกลางระหว่างสองวิธีที่อยู่ใกล้เคียง
จบการทำงาน - Anony-Mousse

6

พอดีการกระจายการผสมกับข้อมูลบางอย่างเช่นการกระจายแบบปกติ 3 อย่างจากนั้นเปรียบเทียบความน่าจะเป็นของแบบนั้นกับการกระจายแบบปกติครั้งเดียว (ใช้การทดสอบอัตราส่วนความน่าจะเป็นหรือ AIC / BIC) flexmixแพคเกจสำหรับRอาจจะช่วย


4

หากคุณต้องการใช้การจัดกลุ่ม K- หมายถึงคุณต้องเปรียบเทียบวิธี K=1 และ K=3กรณี วิธีหนึ่งที่จะใช้สถิติช่องว่างจาก Tibshirani และคณะ และเลือกKที่ให้คุณค่าที่ดีกว่า มีการนำ R ไปใช้งานในSLmiscแม้ว่าฟังก์ชันเฉพาะนั้นจะพยายามK=1,2,3ดังนั้นคุณจะต้องดูแลเพื่อให้มั่นใจเท่านั้น K=1 หรือ K=3 สามารถส่งคืนเป็นค่าที่เหมาะสมที่สุด


2

ใช้อัลกอริทึมการจัดกลุ่ม K-mean เพื่อระบุวิธีการต่างๆ

ค้นหาฟังก์ชัน KNN ใน R-find เพื่อค้นหาฟังก์ชันที่เหมาะสม


1
อ๊ะฉันเพิ่งโพสต์นั้น! นอกจากนี้คุณยังสามารถอ้างถึงลิงค์นี้สำหรับรหัสและ whatnots: statmethods.net/advstats/cluster.html
King

ฉันลองใช้kmeansฟังก์ชั่นของ Matlab วิธีการที่ได้นั้นแตกต่างกันอย่างมากจากความพยายามที่จะลอง (ฮิวริสติกไม่ดีในการใช้งานนี้หรือไม่) สำหรับชุด 1 คลัสเตอร์ฉันได้รับค่าเฉลี่ย (270,293,693) บางครั้งประมาณ (260,285,308) บางครั้ง สำหรับชุด 3 คลัสเตอร์บางคำตอบคือ (196,324,468) และ (290,459,478)
Nikolaus

มีสถานที่ที่ฉันสามารถวางข้อมูลได้หรือไม่
Nikolaus

อืม, เกี่ยวกับ 693 นั้นหมายความว่า: มีค่าผิดปกติสองค่าคือ 532 และ 855 จากค่าทั้งหมด 755 ค่าที่เหลือทั้งหมดสามารถเห็นได้ในฮิสโตแกรม
Nikolaus

คุณจะต้องดูให้ไกลกว่าค่าเฉลี่ยที่คุณได้รับจากค่าเฉลี่ย k และดูว่าพวกเขาอธิบายข้อมูลของคุณได้ดีแค่ไหน!
มี QUIT - Anony-Mousse
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.