मैं कैसे परीक्षण कर सकता हूं कि बाइनरी डेटा की मेरी क्लस्टरिंग महत्वपूर्ण है या नहीं


12

मैं खरीदारी कार्ट विश्लेषण कर रहा हूं मेरे डेटासेट लेन-देन का सेट, उन वस्तुओं के साथ है जो उत्पादों को खरीदा जा रहा है।

लेन-देन पर के-साधन लागू करते समय, मुझे हमेशा कुछ परिणाम मिलेगा । एक यादृच्छिक मैट्रिक्स शायद कुछ समूहों को भी दिखाएगा।

क्या यह परीक्षण करने का एक तरीका है कि क्या मुझे पता चलता है कि क्लस्टरिंग एक महत्वपूर्ण है, या यह बहुत अच्छी तरह से एक संयोग हो सकता है। यदि हाँ, तो मैं यह कैसे कर सकता हूँ।

जवाबों:


14

शॉपिंग कार्ट विश्लेषण के बारे में, मुझे लगता है कि मुख्य उद्देश्य ग्राहकों द्वारा खरीदे गए उत्पादों के सबसे अधिक बार संयोजन करना है। यहां association rulesसबसे प्राकृतिक पद्धति का प्रतिनिधित्व करें (वास्तव में वे वास्तव में इस उद्देश्य के लिए विकसित किए गए थे)। ग्राहकों द्वारा खरीदे गए उत्पादों के संयोजन का विश्लेषण, और इन संयोजनों की संख्या को दोहराया जाता है, इसी तरह के दिलचस्प माप के साथ 'यदि स्थिति है, तो परिणाम' के एक नियम की ओर जाता है। आप Log-linear modelsविचार किए गए चर के बीच संघों की जांच करने के लिए भी विचार कर सकते हैं ।

अब क्लस्टरिंग के लिए, यहाँ कुछ जानकारी दी गई है जो काम में आ सकती है:

पहले विचार करें Variable clustering। परिवर्तनीय क्लस्टरिंग का उपयोग कोलीनियरिटी, अतिरेक का आकलन करने के लिए किया जाता है, और चर को क्लस्टर में अलग करने के लिए जो एकल चर के रूप में स्कोर किया जा सकता है, इस प्रकार डेटा में कमी आती है। के लिए देखो varclusसमारोह (आर में पैकेज Hmisc)

क्लस्टरवाइज़ स्टेबिलिटी का आकलन: फंक्शन clusterboot{R पैकेज fpc}

क्लस्टर सत्यापन के लिए दूरी आधारित आंकड़े: फ़ंक्शन cluster.stats{R पैकेज fpc}

जैसा कि mbq ने उल्लेख किया है, क्लस्टर्स की सबसे अच्छी संख्या का आकलन करने के लिए सिल्हूट चौड़ाई का उपयोग करें। यह देखो । सिल्हूट चौड़ाई के बारे में, ओपसेटिल फ़ंक्शन भी देखें ।

अंतर आँकड़ा के माध्यम से निर्धारित आंकड़ों में समूहों की संख्या का अनुमान लगाएं

डिसिमिलरिटी इंडिकेशंस और डिस्टेंस मेजरमेंट की गणना के लिए डीएसवीडी और वेजिटिस्ट देखें

EM क्लस्टरिंग एल्गोरिदम यह तय कर सकता है कि क्रॉस वेलिडेशन द्वारा कितने क्लस्टर बनाए जा सकते हैं, (यदि आप एप्रीओरी को निर्दिष्ट नहीं कर सकते हैं कि कितने क्लस्टर उत्पन्न करने के लिए)। यद्यपि EM एल्गोरिदम को अधिकतम में परिवर्तित करने की गारंटी है, यह एक स्थानीय अधिकतम है और जरूरी नहीं कि यह वैश्विक अधिकतम के समान हो। वैश्विक अधिकतम प्राप्त करने के बेहतर अवसर के लिए, पैरामीटर मानों के लिए विभिन्न प्रारंभिक अनुमानों के साथ, पूरी प्रक्रिया को कई बार दोहराया जाना चाहिए। समग्र लॉग-लाइबिलिटी आंकड़ा का उपयोग विभिन्न अंतिम कॉन्फ़िगरेशन की तुलना करने के लिए किया जा सकता है: बस स्थानीय मैक्सिमा का सबसे बड़ा चयन करें । आप ओपन-सोर्स प्रोजेक्ट WEKA में EM क्लस्टर का कार्यान्वयन पा सकते हैं

यह भी एक दिलचस्प कड़ी है।

इसके लिए यहां भी सर्च करेंFinding the Right Number of Clusters in k-Means and EM Clustering: v-Fold Cross-Validation

अंत में, आप क्लस्टरिंग का उपयोग करके क्लस्टरिंग परिणामों का पता लगा सकते हैं


8

यह मोंटे कार्लो का उपयोग करने का एक तरीका है, यह दिखाने के लिए कि क्या परिणाम सही है।

हमारी अशक्त परिकल्पना H_0 यह है कि हमारे डेटासेट में एक दिलचस्प क्लस्टरिंग नहीं है। हमारी वैकल्पिक परिकल्पना H_1 है कि हमारे डेटासेट में एक दिलचस्प क्लस्टरिंग है।

इसके अलावा हम एक ही पंक्ति और स्तंभ मार्जिन के साथ एक यादृच्छिक डेटासेट की क्लस्टरिंग संरचना की तुलना में दिलचस्प के रूप में दिलचस्प सोचते हैं। बेशक अन्य बाधाओं को चुना जा सकता है, लेकिन ढीली बाधाओं के कारण हमारा परिणाम बहुत सामान्य हो जाएगा, और संकीर्ण बाधाओं से बहुत हद तक झंझट ठीक हो जाएगा, इसलिए हमारा परिणाम अपने आप ही महत्वहीन हो जाएगा। मार्जिन, जैसा कि हम देखेंगे, इसके साथ यादृच्छिक करने के लिए मौजूदा तरीकों के कारण एक अच्छा विकल्प है।

आइए हमारे परीक्षण के आंकड़े को क्लस्टरिंग एरर (स्क्वेअर इन-क्लस्टर दूरी), टी से Π_0 के रूप में परिभाषित करें। हमारे मूल डेटासेट का मूल्य t है

हमें इस वितरण के बारे में कुछ भी पता नहीं है, सिवाय इसके कि हम इससे नमूने खींच सकते हैं। जो इसे मोंटे कार्लो के लिए एक अच्छा उम्मीदवार बनाता है।

अब हम 0_0 से n (iid) यादृच्छिक नमूने खींचते हैं और सूत्र p_emp = 1 / (n + 1) * (Σ_i = 1-n I (t_i> = t + 1) के साथ आनुभविक p -value की गणना करते हैं।

यादृच्छिक नमूनाकरण स्वैप रैंडमाइजेशन द्वारा किया जा सकता है। सरल शब्दों में, एक वर्ग को दो विपरीत कोनों के साथ खोजा जाता है एक 1 और दूसरे दो कोनों पर 0. तब कोनों को फ़्लिप किया जाता है। यह कॉलम और पंक्ति मार्जिन को बनाए रख रहा है। प्रक्रिया को पर्याप्त बार दोहराया जाता है जब तक कि डाटासेट पर्याप्त रूप से यादृच्छिक नहीं हो जाता (इसमें कुछ प्रयोग होंगे)। इसके बारे में अधिक जानकारी Gionis एट द्वारा स्वैप रैंडमाइजेशन के माध्यम से डेटा माइनिंग परिणाम का आकलन करने में पाया जा सकता है । अल।

ऐसा करने की एक विधि आपके डेटा के वितरण को परिभाषित कर रही है और क्लस्टरिंग त्रुटि को टेस्ट-स्टेटिस्टिक टी के रूप में ले रही है।

उदाहरण के लिए, यदि हम अपने डेटा वितरण के रूप में एक ही पंक्ति और स्तंभ मार्जिन के साथ सभी डेटा सेटों पर विचार करते हैं, तो इस वितरण से हम n यादृच्छिक मैट्रिक्स x ले सकते हैं और उनके लिए क्लस्टरिंग त्रुटि की गणना कर सकते हैं। तब हम सूत्र द्वारा एम्परिकल पी-मान की गणना कर सकते हैं


4

सिल्हूट जैसा कुछ है , जो कुछ हद तक सांख्यिकीय को परिभाषित करता है जो क्लस्टर गुणवत्ता निर्धारित करता है (उदाहरण के लिए इसका उपयोग अनुकूलन में किया जाता है)। अब एक संभावित मोंटे कार्लो इस प्रकार होगा: आप अपने मूल (उदाहरण के लिए प्रत्येक कॉलम में पंक्तियों के बीच फेरबदल करके उदाहरण के लिए) के समान बहुत सारे यादृच्छिक डेटा जनरेट करते हैं, क्लस्टर और माध्य सिल्हूट का वितरण प्राप्त करते हैं जो तब महत्व का परीक्षण करने के लिए उपयोग किया जा सकता है वास्तविक डेटा में सिल्हूट की। फिर भी मैं प्रशासन करता हूं कि मैंने कभी इस विचार को आजमाया नहीं।


1
यह मुझे ह्यूमन ब्रेन मैपिंग 2010 सम्मेलन में देखे गए पोस्टर की याद दिलाता है। टॉम निकोल्स ने पदानुक्रमित क्लस्टरिंग में सहसंबंधी सहसंबंध और सिल्हूट की स्थिरता का आकलन करने के लिए पैरामीट्रिक बूटस्ट्रैप का इस्तेमाल किया, लेकिन उनके पोस्टर देखें: j.mp/9yXObA
chl

@chl धन्यवाद; वास्तव में हाल ही में मैंने अपनी प्रयोगशाला में इसी तरह की चीज देखी है; परिणाम यह था कि क्लस्टर महत्वपूर्ण नहीं हैं: - /

मैं मानता हूं कि यह बूटस्ट्रैपिंग जैसा लगता है।
वास

(FYI करें: सिल्हूट मूल्य की व्याख्या )। इसके अलावा, ध्यान दें कि सिल्हूट मान k = 1 क्लस्टर के लिए परिभाषित नहीं है, इसलिए हम परिकल्पना k = 1 की तुलना नहीं कर सकते (यानी डेटासेट की अनुमति नहीं है) बनाम k> 1 (डेटासेट का क्लस्टर किया गया है) सिल्हूट मान का उपयोग करके।
फ्रेंक डर्नोनकोर्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.