ฉันจะทดสอบได้อย่างไรว่าการจัดกลุ่มข้อมูลไบนารีของฉันมีความสำคัญ


12

ฉันกำลังทำตะกร้าสินค้าวิเคราะห์ชุดข้อมูลของฉันคือชุดของเวกเตอร์ธุรกรรมพร้อมรายการสินค้าที่ซื้อ

เมื่อใช้ K-วิธีการในการทำธุรกรรมที่ฉันมักจะได้รับบางผล เมทริกซ์แบบสุ่มอาจแสดงกลุ่มบางส่วนเช่นกัน

มีวิธีทดสอบว่าการจัดกลุ่มที่ฉันพบนั้นสำคัญหรือไม่หรืออาจเป็นเรื่องบังเอิญ ถ้าใช่ฉันจะทำอย่างไร

คำตอบ:


14

เกี่ยวกับการวิเคราะห์ตะกร้าสินค้าฉันคิดว่าวัตถุประสงค์หลักคือการแยกแยะชุดค่าผสมที่พบบ่อยที่สุดของผลิตภัณฑ์ที่ลูกค้าซื้อ association rulesแทนวิธีธรรมชาติมากที่สุดที่นี่ (ที่จริงพวกเขาได้รับการพัฒนาจริงเพื่อการนี้) การวิเคราะห์การรวมกันของผลิตภัณฑ์ที่ลูกค้าซื้อและจำนวนครั้งที่มีการรวมกันซ้ำเหล่านี้นำไปสู่กฎประเภท 'หากเงื่อนไขแล้วส่งผล' ด้วยการวัดความน่าสนใจที่สอดคล้องกัน คุณอาจพิจารณาLog-linear modelsเพื่อตรวจสอบความสัมพันธ์ระหว่างตัวแปรที่พิจารณา

ตอนนี้สำหรับการจัดกลุ่มต่อไปนี้เป็นข้อมูลที่อาจเป็นประโยชน์:

Variable clusteringตอนแรกพิจารณา การทำคลัสเตอร์แบบแปรผันนั้นใช้สำหรับการประเมิน collinearity, ความซ้ำซ้อนและการแยกตัวแปรออกเป็นกลุ่มที่สามารถทำคะแนนให้เป็นตัวแปรเดียวได้ทำให้เกิดการลดข้อมูล มองหาvarclusฟังก์ชั่น (แพคเกจ Hmisc ใน R)

การประเมินความเสถียรของคลัสเตอร์: ฟังก์ชันclusterboot{R package fpc}

สถิติที่อิงตามระยะทางสำหรับการตรวจสอบความถูกต้องของคลัสเตอร์: ฟังก์ชันcluster.stats{R package fpc}

ตามที่ mbq ได้กล่าวไว้ให้ใช้ความกว้างของภาพเงาเพื่อประเมินจำนวนกลุ่มที่ดีที่สุด ชมนี้ เกี่ยวกับความกว้างของรูปเงาดำดูที่ฟังก์ชันoptsil

ประเมินจำนวนกลุ่มในชุดข้อมูลผ่านสถิติช่องว่าง

สำหรับการคำนวณดัชนีความแตกต่างและมาตรการระยะทางดูdsvdisและvegdist

อัลกอริทึมการจัดกลุ่ม EM สามารถตัดสินใจได้ว่าจะสร้างคลัสเตอร์กี่คลัสเตอร์โดยการตรวจสอบความถูกต้องไขว้ (ถ้าคุณไม่สามารถระบุ apriori ได้ว่าจะสร้างคลัสเตอร์จำนวนเท่าใด) แม้ว่าอัลกอริทึม EM นั้นรับประกันว่าจะมาบรรจบกันสูงสุด แต่นี่เป็นค่าสูงสุดในท้องถิ่นและอาจไม่จำเป็นต้องเหมือนกับค่าสูงสุดทั่วโลก เพื่อโอกาสที่ดีกว่าในการได้รับค่าสูงสุดทั่วโลกขั้นตอนทั้งหมดควรทำซ้ำหลายครั้งด้วยการคาดเดาเริ่มต้นที่แตกต่างกันสำหรับค่าพารามิเตอร์ ร่างเข้าสู่ระบบโดยรวมน่าจะสามารถนำมาใช้ในการเปรียบเทียบการกำหนดค่าสุดท้ายที่แตกต่างกันได้: เพียงเลือกที่ใหญ่ที่สุดของแม็กซิม่าท้องถิ่น คุณสามารถค้นหาการใช้งานของ clusterer EM ในโครงการโอเพ่นซอร์สWEKA

นี่เป็นลิงค์ที่น่าสนใจ

ค้นหาที่นี่ด้วยFinding the Right Number of Clusters in k-Means and EM Clustering: v-Fold Cross-Validation

สุดท้ายคุณอาจสำรวจผลลัพธ์การจัดกลุ่มโดยใช้clusterfly


8

นี่เป็นวิธีการที่ใช้ Monte Carlo เพื่อแสดงว่าผลลัพธ์นั้นถูกต้องหรือไม่

Null Hypothesis ของเรา H_0 คือชุดข้อมูลของเราไม่มีการจัดกลุ่มที่น่าสนใจ สมมติฐานทางเลือกของเรา H_1 คือชุดข้อมูลของเรามีการจัดกลุ่มที่น่าสนใจ

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

มานิยามสถิติการทดสอบของเราเกี่ยวกับข้อผิดพลาดของการจัดกลุ่ม (ระยะห่างในกลุ่ม squared), T จากΠ_0 ค่าสำหรับชุดข้อมูลเดิมของเราคือเสื้อ

เราไม่รู้อะไรเกี่ยวกับการกระจายตัวนี้ยกเว้นว่าเราสามารถดึงตัวอย่างจากมันได้ ซึ่งทำให้ผู้สมัครที่ดีสำหรับ Monte Carlo

ตอนนี้เราวาดตัวอย่างสุ่มn (iid) จากΠ_0และคำนวณค่าเชิงประจักษ์p -valueด้วยสูตร p_emp = 1 / (n + 1) * (Σ_i = 1-n ฉัน (t_i> = t) + 1)

การสุ่มตัวอย่างสามารถทำได้โดยการสุ่มสลับ ในคำง่ายๆตารางจะถูกค้นหาด้วยสองมุมตรงข้ามกับ 1 และอีกสองมุม a 0 จากนั้นมุมจะพลิก นี่คือการรักษาระยะห่างของคอลัมน์และแถว มีการทำซ้ำขั้นตอนมากพอจนกว่าจะมีการสุ่มชุดข้อมูลให้เพียงพอ (การดำเนินการนี้จะใช้การทดลองบางอย่าง) ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้สามารถพบได้ในการประเมินผลการขุดข้อมูลผ่านการสุ่มตัวอย่าง Swap โดย Gionis และ อัล

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

ตัวอย่างเช่นถ้าเราพิจารณาชุดข้อมูลทั้งหมดที่มีระยะห่างระหว่างแถวและคอลัมน์เดียวกันกับการกระจายข้อมูลของเรากว่าที่เราสามารถใช้เมทริกซ์สุ่ม n จากการแจกแจงนี้และคำนวณข้อผิดพลาดการจัดกลุ่มสำหรับพวกเขา จากนั้นเราสามารถคำนวณค่า p ตามตัวอักษรตามสูตร


4

มีบางอย่างเช่นรูปเงาซึ่งในบางระดับจะกำหนดสถิติที่กำหนดคุณภาพของคลัสเตอร์ (ตัวอย่างเช่นใช้ในการปรับแต่ง k) ตอนนี้ Monte Carlo ที่เป็นไปได้จะเป็นดังนี้: คุณสร้างชุดข้อมูลสุ่มจำนวนมากที่คล้ายกับต้นฉบับของคุณ (ตัวอย่างเช่นโดยการสับค่าระหว่างแถวในแต่ละคอลัมน์) จัดกลุ่มและรับการกระจายของค่าเฉลี่ยเงาที่อาจใช้ทดสอบความสำคัญ ของภาพเงาในข้อมูลจริง ฉันยังเป็นผู้ดูแลระบบที่ฉันไม่เคยลองความคิดนี้


1
สิ่งนี้ทำให้ฉันนึกถึงโปสเตอร์ที่ฉันเห็นในการประชุม Human Brain Mapping 2010 ทอมนิโคลส์ที่ใช้บูตตัวแปรในการประเมินความมั่นคงของความสัมพันธ์ cophenetic และเงาในการจัดกลุ่มตามลำดับชั้น แต่เห็นโปสเตอร์ของเขาj.mp/9yXObA
chl

@chl ขอบคุณ; ไม่นานมานี้ฉันได้เห็นสิ่งที่คล้ายกันในห้องแล็บของฉัน ผลก็คือกลุ่มไม่สำคัญว่า: - /

ฉันเห็นด้วยว่ามันฟังดูเหมือน bootstrapping
Vass

(FYI: การตีความค่าเงา ) นอกจากนี้โปรดทราบว่าค่าเงาไม่ได้ถูกกำหนดไว้สำหรับกลุ่ม k = 1 ดังนั้นเราจึงไม่สามารถเปรียบเทียบสมมติฐาน k = 1 (ชุดข้อมูลที่ไม่ได้รวมกลุ่ม) กับ k> 1 (ชุดข้อมูลจะถูกรวมกลุ่ม) โดยใช้ค่าเงา
Franck Dernoncourt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.