تحلیل خوشه‌ای

آیا آزمودنی‌ها به گروه‌هایی تقسیم می‌شوند – گونه‌ها، نیمرخ‌ها، بخش‌ها – که از پیش تعریف نشده‌اند؟ تحلیل خوشه‌ای (Cluster Analysis) آزمودنی‌ها را بر اساس شباهتشان در چند متغیر به طور همزمان گروه‌بندی می‌کند. صفحه روش دومرحله‌ای را اجرا می‌کند: خوشه‌بندی سلسله‌مراتبی به روش وارد، و سپس k-میانگین که از مراکز خوشه‌های وارد آغاز می‌شود. خروجی: جدولی برای انتخاب تعداد خوشه‌ها (آرنج، سیلوئت و آماره شکاف)، دندروگرام، اندازه و کیفیت هر خوشه، نیمرخ خوشه‌ها در واحدهای اصلی و در نمره‌های استاندارد، بند یافته‌ها به فارسی و انگلیسی، و فایل داده‌ها با ستون خوشه.

ماشین‌حساب

بارگذاری داده‌ها

یک فایل اکسل یا فایل SPSS (.sav) را به اینجا بکشید، یا برای انتخاب کلیک کنید
در الگوی استاندارد سایت: سطر = آزمودنی، ستون = متغیر، سطر اول سطر عنوان. فایل CSV نیز پذیرفته می‌شود.
متغیرهای خوشه‌بندی ستون‌های عددی هستند – معمولاً نمره‌های مقیاس (میانگین گویه‌ها) و متغیرهای کمّی؛ اگر نمره مقیاس را در صفحه آلفای کرونباخ محاسبه کرده‌اید – فایلی را که از آنجا دانلود کرده‌اید اینجا بارگذاری کنید.
فقط می‌خواهید امتحان کنید؟ یک فایل داده نمونه دانلود کنید (150 پاسخ‌گو در پیمایشی درباره استفاده از شبکه‌های اجتماعی: چهار نمره مقیاس و ساعت در روز، و متغیرهای زمینه‌ای برای اعتبارسنجی، همراه با راهنمای کدها): نمونه به عبری نمونه به انگلیسی
یا

ستون‌ها را مستقیماً از کاربرگ بچسبانید (همراه با سطر عنوان) – در اکسل انتخاب کنید، کپی کنید و اینجا بچسبانید:

A
B
C
D
E
F
می‌توانید فقط بچسبانید – داده‌ها به طور خودکار بارگذاری و نمایش داده می‌شوند.

متغیرها و تنظیمات

راهنما

چه زمانی استفاده می‌شود؟

وقتی سؤال درباره افراد است و نه درباره متغیرها: آیا میان پاسخ‌گویان گونه‌های متمایزی وجود دارد – مصرف‌کنندگان منفعل در برابر تولیدکنندگان محتوا، دانشجویانی که به حمایت نیاز دارند در برابر آن‌هایی که نیاز ندارند – بی‌آنکه چنین گروه‌هایی از پیش تعریف شده باشند. Wendler و Gröttrup (2021، ص. 623) تحلیل خوشه‌ای را مجموعه‌ای از روش‌های چندمتغیری تعریف می‌کنند که "برای شناسایی گروه‌هایی از اشیای 'مشابه' به کار می‌روند"، و از جمله مثال‌ها بخش‌بندی مشتریان در بازاریابی و شناسایی "زیرگروه‌هایی از دانشجویان با نیازهای ویژه" بر اساس پیشینه و عملکرد را برمی‌شمارند (ص. 624). مهم‌ترین تمایز، در شکل 7.1 آن‌ها: تحلیل خوشه‌ای سطرها (آزمودنی‌ها) را گروه‌بندی می‌کند، و تحلیل عاملی ستون‌ها (گویه‌ها) را. اگر سؤال این است که کدام گویه‌ها یک چیز را می‌سنجند – تحلیل عاملی تأییدی و صفحه یادگیری بدون نظارت (PCA) و ماشین‌حساب تحلیل عاملی اکتشافی؛ اگر گروه‌ها از پیش معلوم‌اند و پرسش این است که آیا با هم تفاوت دارند – تحلیل واریانس. در اینجا متغیر پیش‌بینی‌شونده‌ای وجود ندارد و "پاسخ درستی" هم نیست: این یادگیری بدون نظارت است، و "از آنجا که عضویت در گروه از پیش معلوم نیست، الگوریتم نمی‌تواند ویژگی‌های گروه‌ها را بیاموزد" (Wendler & Gröttrup, 2021, p. 627).

صفحه یادگیری بدون نظارت همه روش‌های خوشه‌بندی (k-میانگین، سلسله‌مراتبی، آمیخته‌های گاوسی، DBSCAN، TwoStep) و این پرسش را که آیا اصلاً خوشه‌ای وجود دارد مرور می‌کند. این صفحه رایج‌ترین آن‌ها در پرسشنامه‌ها را اجرا می‌کند: وارد و سپس k-میانگین، روی متغیرهای کمّی. متغیرهای طبقه‌ای (برای مثال جنسیت، رشته تحصیلی) در اینجا وارد محاسبه فاصله نمی‌شوند؛ از آن‌ها بعداً برای اعتبارسنجی و توصیف خوشه‌ها استفاده می‌شود.

منطق: دو مرحله

مرحله الف – خوشه‌بندی سلسله‌مراتبی تجمیعی. از هر آزمودنی به عنوان یک خوشه جداگانه شروع می‌شود، و در هر گام دو خوشه نزدیک‌تر به هم ادغام می‌شوند، تا همه در یک خوشه قرار گیرند (Hastie et al., 2009, p. 520; Everitt et al., 2011, p. 73). هر مرحله یک افراز است، و کل درخت یک دندروگرام است: "ارتفاع هر گره متناسب با ناهمانندی میان دو فرزند آن است"، و برش افقی درخت افرازی به خوشه‌ها به دست می‌دهد (Hastie et al., 2009, p. 521). "نزدیک‌ترین" وقتی پای گروه‌ها در میان است یعنی چه؟ این همان پیوند است (Everitt et al., 2011, pp. 76-77, Figure 4.3): تکی (نزدیک‌ترین زوج)، کامل (دورترین زوج)، میانگین (همه زوج‌ها) – و وارد، که در آن دو خوشه‌ای ادغام می‌شوند که با ادغامشان "افزایش مجموع مجذورات درون خوشه‌ها... در همه متغیرها" کمترین باشد (Ward، 1963، به نقل از Everitt et al.، 2011، ص. 78، جدول 4.1؛ و همچنین Wendler & Gröttrup، 2021، ص. 648، جدول 7.24). وارد پیوندی است که با هدف k-میانگین سازگار است: هر دو یک چیز را کمینه می‌کنند – مجموع مجذور فاصله‌ها از مراکز درون خوشه‌ها. پیوند تکی به "زنجیره‌سازی" آزمودنی‌ها در خوشه‌های دراز گرایش دارد، و پیوند کامل – به خوشه‌های فشرده‌ای که اعضایشان گاه به خوشه دیگری نزدیک‌ترند (Hastie et al., 2009, pp. 524-525).

مرحله ب – k-میانگین. خوشه‌بندی سلسله‌مراتبی یک ضعف ذاتی دارد: "تخصیص یک شیء به یک خوشه معین هرگز نمی‌تواند تغییر کند" (Wendler & Gröttrup, 2021, p. 628, Table 7.1) – آزمودنی‌ای که زود با همسایه‌ای ادغام شده همان‌جا می‌ماند، حتی اگر در پایان به مرکز خوشه دیگری نزدیک‌تر باشد. k-میانگین این را اصلاح می‌کند: با داشتن مراکز، هر آزمودنی به نزدیک‌ترین مرکز تخصیص می‌یابد؛ با داشتن تخصیص، هر مرکز به صورت میانگین محاسبه می‌شود؛ و این کار تکرار می‌شود تا هیچ تخصیصی تغییر نکند (Hastie et al.، 2009، ص. 510، الگوریتم 14.1). هر گام مجموع مجذور فاصله‌ها را کاهش می‌دهد، و بنابراین همگرایی تضمین‌شده است – "اما نتیجه ممکن است یک کمینه موضعی نابهینه باشد"، و به نقطه شروع بستگی دارد (همان). در اینجا دو مرحله به هم می‌رسند: Géron (2022, Chapter 9, "Centroid initialization methods") – "اگر از قضا تقریباً می‌دانید مراکز کجا باید باشند (برای مثال، اگر پیش‌تر الگوریتم خوشه‌بندی دیگری را اجرا کرده‌اید)، می‌توانید آن‌ها را تعیین کنید" به عنوان نقطه شروع. و همچنین Everitt و همکاران (2011، ص. 122): افراز اولیه "ممکن است نتیجه اجرای قبلی روش خوشه‌بندی دیگری باشد، شاید یکی از روش‌های سلسله‌مراتبی". Kassambara (2017، ص. 163) برای این روش نامی دارد – "hierarchical k-means"، روشی ترکیبی "برای بهبود نتایج k-میانگین"، که از این واقعیت زاده شد که "جواب نهایی k-میانگین به انتخاب تصادفی اولیه مراکز خوشه‌ها بسیار حساس است"، و سه گام آن دقیقاً همین‌هاست: خوشه‌بندی سلسله‌مراتبی و برش درخت به k خوشه، مرکز ثقل هر یک، و k-میانگین از همین مراکز – در حالی که "k-میانگین افراز اولیه را بهبود خواهد داد"، و بنابراین افراز اولیه "ممکن است اندکی متفاوت" از افراز نهایی باشد. صفحه دقیقاً همین کار را می‌کند: درخت وارد را به k خوشه برش می‌دهد، مرکز ثقل هر یک را محاسبه می‌کند، و از آن‌ها k-میانگین را اجرا می‌کند. نتیجه قطعی است – همان داده‌ها، همان نتیجه، در هر اجرا – و در آن مقداردهی اولیه تصادفی‌ای وجود ندارد که Wendler و Gröttrup (2021، ص. 677) درباره K-Means در Modeler از آن برحذر می‌دارند، که از نخستین رکورد آغاز می‌شود و بنابراین "نتیجه تا حدی به ترتیب اشیا بستگی دارد". از سوی دیگر، یک نقطه شروع واحد خود یک محدودیت نیز هست: "نتایج یک روش بهینه‌سازی ممکن است به شدت تحت تأثیر انتخاب افراز اولیه باشد"، و "بهتر است الگوریتم بهینه‌سازی چند بار با افرازهای اولیه متفاوت اجرا شود"؛ و اگر افرازهای اولیه متفاوت گروه‌بندی‌های بسیار متفاوتی بدهند، این معمولاً نشانه آن است که تعداد خوشه‌ها نادرست است، یا شاهد روشنی برای وجود خوشه‌ها نیست (Marriott, 1982, as cited in Everitt et al., 2011, p. 122). صفحه دو بررسی کوچک در این جهت گزارش می‌کند – مقایسه دو مرحله و بررسی جابه‌جایی تکی (در ادامه)؛ اجرا از مقداردهی‌های اولیه تصادفی متعدد – در R، با nstart.

Wendler و Gröttrup (2021، ص. 628، جدول 7.1) مزایا و معایب دو خانواده را جمع‌بندی می‌کنند، و روش دومرحله‌ای از هر کدام آنچه را در آن خوب است برمی‌گیرد: از سلسله‌مراتبی – درختی که ساختار را در همه سطوح نشان می‌دهد و نتیجه‌ای "قطعی (غیرتصادفی)"، و از k-میانگین – انعطاف "تخصیص مجدد اشیا به خوشه‌های دیگر". مقایسه دو مرحله خود یک بررسی کوچک نیز هست: صفحه گزارش می‌کند چند آزمودنی در مرحله ب خوشه عوض کردند و شاخص رند تعدیل‌شده (ARI) میان دو افراز را – 1 توافق کامل است. این بررسی الگوریتم روی همان داده‌هاست، نه پایداری جواب در نمونه‌ای دیگر – و درباره آن در بخش مفروضه‌ها و هشدارها.

استانداردسازی و فاصله

فاصله. هر دو روش بر پایه فاصله اقلیدسی میان آزمودنی‌ها عمل می‌کنند – جذر مجموع مجذور تفاوت‌ها در همه متغیرها، "رایج‌ترین شاخص فاصله" (Everitt et al., 2011, p. 49, Equation 3.4) – و بر پایه مجذور آن، که "به داده‌های پرت حساس‌تر است" (Wendler & Gröttrup, 2021, pp. 630, 637). از اینجا پرسش مهم این صفحه برمی‌خیزد: چه چیزی وارد فاصله می‌شود، و با چه وزنی. Hastie و همکاران (2009، ص. 506) تصریح می‌کنند که "تعیین یک شاخص ناهمانندی مناسب برای موفقیت در خوشه‌بندی بسیار مهم‌تر از انتخاب الگوریتم خوشه‌بندی است".

استانداردسازی – بله، معمولاً. در فاصله اقلیدسی، متغیری با دامنه بزرگ غالب می‌شود: ساعت در روز (0-12) نمره مقیاس (1-5) را "خاموش می‌کند"، و خوشه‌ها در واقع خوشه‌های ساعت خواهند بود. بنابراین، همان‌طور که Everitt و همکاران (2011، ص. 67) می‌نویسند، "معقول نخواهد بود که، فرضاً، وزن بر حسب کیلوگرم، قد بر حسب متر و اضطراب در مقیاسی چهاردرجه‌ای را هم‌ارز در نظر بگیریم"، و "راه‌حلی که اغلب پیشنهاد می‌شود... صرفاً استانداردسازی هر متغیر به واریانس 1 پیش از هر تحلیلی است"؛ Wendler و Gröttrup (2021، ص. 656-657) – استانداردسازی متغیرهای عددی "برای فرایند خوشه‌بندی بسیار مهم است... برای آنکه مقادیر قابل مقایسه باشند، باید استاندارد شوند"؛ و Géron (2022, Chapter 9, "Limits of k-means") – "مهم است که پیش از اجرای k-میانگین مقیاس ویژگی‌های ورودی را یکسان کنید، وگرنه خوشه‌ها ممکن است بسیار کشیده شوند". پیش‌فرض صفحه نمره‌های z است (میانگین 0 و انحراف معیار 1 برای هر متغیر)، و در این صورت هر متغیر وزن برابری در فاصله دارد.

استانداردسازی – نه همیشه. Hastie و همکاران (2009، ص. 506) درباره این قاعده هشدار می‌دهند: دادن تأثیر برابر به همه متغیرها "اگرچه ممکن است معقول به نظر برسد، و اغلب توصیه می‌شود، می‌تواند بسیار زیان‌بار باشد". اگر یک متغیر به خوبی میان گروه‌ها تمایز می‌گذارد و دیگری نویز است، استانداردسازی وزن نویز را افزایش می‌دهد، و "گرایش خواهد داشت که گروه‌ها را تا آنجا محو کند که الگوریتم خوشه‌بندی نتواند آن‌ها را آشکار کند" – در شکل 14.5 آن‌ها دو گروه به خوبی جدا پس از استانداردسازی ناپدید می‌شوند. Everitt و همکاران (2011، ص. 66-67) همین را بیان می‌کنند: استانداردسازی حالت خاصی از وزن‌دهی است، و "وقتی متغیرها پیش از تحلیل استاندارد می‌شوند، پژوهشگر فرض می‌کند که اهمیت یک متغیر با افزایش واریانس آن کاهش می‌یابد"؛ وزن‌ها بر اساس انحراف معیارها "ناکارآمد به نظر می‌رسند"؛ تقسیم بر دامنه متغیر در بسیاری از کاربردها بر نمره‌های z برتری دارد (Milligan & Cooper، 1988، به نقل از همان)؛ و بهتر است استانداردسازی بر اساس واریانس درون گروه‌ها انجام شود و نه واریانس کل – اما گروه‌ها دقیقاً همان چیزی‌اند که در جست‌وجویش هستیم. و وقتی همه متغیرها از پیش در یک مقیاس‌اند (برای مثال چهار نمره مقیاس 1-5)، استانداردسازی وزن‌ها را بر اساس انحراف معیارها در نمونه تغییر می‌دهد – که همیشه آن چیزی نیست که می‌خواهیم. صفحه نمره‌های z یا واحدهای اصلی را پیشنهاد می‌کند؛ استانداردسازی بر اساس دامنه در صفحه نیست. تصمیم به متغیرها و سؤال بستگی دارد ("هیچ جایگزینی برای اندیشیدن دقیق در بافت هر مسئله وجود ندارد"، همان)؛ در صفحه "استانداردسازی متغیرها" علامت زده یا برداشته می‌شود، و خروجی ذکر می‌کند کدام انتخاب شده است. وقتی استانداردسازی خاموش است و دامنه‌های متغیرها بسیار متفاوت‌اند – صفحه هشدار می‌دهد.

مقیاس لیکرت. فاصله فرض می‌کند که تفاوت میان 1 و 2 برابر با تفاوت میان 4 و 5 است. Wendler و Gröttrup (2021، ص. 635، جدول 7.8) یادآوری می‌کنند که در مقیاس لیکرت "فاصله‌ها را باید با احتیاط تفسیر کرد، یا اصلاً تفسیر نکرد"، و این مسئله در ادبیات محل مناقشه است. طبق قرارداد سایت (صفحه متغیرها و مقیاس‌های اندازه‌گیری)، نمره مقیاس چندگویه‌ای – میانگین چند گویه – به عنوان متغیر فاصله‌ای در نظر گرفته می‌شود، و گویه لیکرت منفرد – نه. از اینجا توصیه: خوشه‌بندی بر اساس نمره‌های مقیاس (صفحه آلفای کرونباخ و نمره مقیاس)، نه بر اساس گویه‌های منفرد.

چند خوشه؟

این دشوارترین تصمیم در تحلیل است، و آزمون معناداری ندارد. Hastie و همکاران (2009، ص. 518) میان دو وضعیت تمایز می‌گذارند: در بخش‌بندی، "k معمولاً به عنوان بخشی از مسئله تعریف می‌شود" (شرکتی با k فروشنده)؛ و وقتی خوشه‌بندی توصیفی از "گروه‌های طبیعی" است، k ناشناخته است و باید از داده‌ها برآورد شود. صفحه جواب دومرحله‌ای را برای هر k از 1 تا حداکثری که انتخاب کرده‌اید اجرا می‌کند، و سه معیار را کنار هم چاپ می‌کند:

آرنج. مجموع مجذور فاصله‌ها از مراکز درون خوشه‌ها، Wk، با افزایش k همیشه کاهش می‌یابد – در حد نهایی، هر آزمودنی خوشه‌ای برای خود است و W = 0 (Hastie et al., 2009, p. 519). اما اگر واقعاً k* گروه وجود داشته باشد، کاهش تا k* تند و پس از آن ملایم خواهد بود، زیرا فراتر از آن هر خوشه اضافی تنها یک گروه طبیعی را دو نیم می‌کند؛ در منحنی به دنبال یک "شکستگی" می‌گردیم – "و مانند دیگر جنبه‌های روش‌های خوشه‌بندی، این رویکرد تا حدی ابتکاری است" (Hastie et al., 2009, p. 519)؛ Everitt و همکاران (2011، ص. 126) می‌افزایند که این روش "ممکن است بسیار ذهنی باشد"، و "بزرگ" اغلب "تابعی از انتظارات پیشین کاربر" است. در جدول، این معیار به صورت واریانس تبیین‌شده نیز نمایش داده می‌شود، 1 − Wk/W1 – سهمی از واریانس کل که افراز تبیین می‌کند (معادل R²؛ Wendler & Gröttrup، 2021، ص. 649، جدول 7.25).

سیلوئت. برای هر آزمودنی: a – میانگین فاصله تا اعضای خوشه خودش، b – میانگین فاصله تا اعضای نزدیک‌ترین خوشه بعدی، و سیلوئت s = (b − a)/max(a, b)، بین 1− و 1+. Rousseeuw (1987، ص. 56)، که این شاخص را تعریف کرد: s نزدیک به 1 – آزمودنی "به خوبی خوشه‌بندی شده"؛ حول 0 – "مورد بینابینی"، که "اصلاً روشن نیست" به کدام یک از دو خوشه تعلق دارد؛ نزدیک به 1− – تقریباً می‌توان گفت که "نادرست طبقه‌بندی شده" است. برای آزمودنی‌ای که به تنهایی در یک خوشه است سیلوئت 0 است – انتخابی "البته دلبخواهی، اما مقدار صفر خنثی‌ترین به نظر می‌رسد" (همان). این شاخص وقتی مناسب است که فاصله‌ها در مقیاس نسبی باشند (مانند فاصله اقلیدسی) و وقتی "به دنبال خوشه‌های فشرده و به روشنی جدا هستیم" (ص. 55)، و میانگین سیلوئت "می‌تواند برای انتخاب تعداد ‘مناسب’ خوشه‌ها به کار رود" (ص. 53). میانگین سیلوئت روی همه آزمودنی‌ها شاخصی برای کیفیت افراز است، و k با بالاترین میانگین یک نامزد است؛ برای آستانه‌ها دو منبع وجود دارد که عمدتاً هم‌نظرند: Kaufman و Rousseeuw "طبقه‌بندی معقول" را در میانگین سیلوئت بالاتر از 0.5 می‌بینند (Kaufman & Rousseeuw، 1990، به نقل از Everitt et al.، 2011، ص. 129)، و مستندات SPSS Modeler، آن‌گونه که Wendler و Gröttrup (2021، ص. 649) نقل می‌کنند، تا .25 را ضعیف، بین .25 و .50 را متوسط، و بالاتر از .50 را خوب رده‌بندی می‌کند (IBM، 2015، به نقل از آن‌ها). سیلوئت برای k = 1 تعریف نشده است، و بنابراین نمی‌تواند بگوید "اینجا خوشه‌ای وجود ندارد".

آماره شکاف (gap statistic؛ Tibshirani et al.، 2001، به نقل از Hastie et al.، 2009، ص. 519) "منحنی log Wk را با منحنی‌ای مقایسه می‌کند که از داده‌هایی به دست می‌آید که به طور یکنواخت روی مستطیلی شامل داده‌ها پخش شده‌اند"، یعنی از داده‌هایی که در آن‌ها خوشه‌ای وجود ندارد. شکاف تفاوت میان این دو است؛ "در واقع این راهی خودکار برای یافتن 'شکستگی' است"، و "حتی وقتی داده‌ها در یک خوشه واحد قرار می‌گیرند به طور معقولی عمل می‌کند، و در چنین حالتی گرایش دارد تعداد بهینه خوشه‌ها را یک برآورد کند – سناریویی که بیشتر روش‌های رقیب در آن شکست می‌خورند" (همان). قاعده (معادله 14.39 همان): کوچک‌ترین k که در آن شکاف کمتر از شکاف در k + 1 منهای خطای استاندارد آن نباشد. صفحه داده‌های یکنواخت را با مولد R تولید می‌کند (بذر 2026 به عنوان پیش‌فرض، 100 نمونه)، به طوری که نتیجه با نتیجه clusGap در بسته cluster با همان بذر یکسان است (راهنمای R در پایین). این تنها معیار از سه معیار است که می‌تواند پاسخ "یک" بدهد: Everitt و همکاران (2011، ص. 129) تأکید می‌کنند که این معیار "امکان ارزیابی کیفیت جواب تک‌خوشه‌ای را فراهم می‌کند"، یعنی می‌توان پرسید آیا اصلاً شاهدی برای خوشه‌های متمایز وجود دارد – و بنابراین پیش‌فرض انتخاب k در خروجی است.

توصیه کلی این است که "به یک قاعده واحد برای انتخاب تعداد گروه‌ها تکیه نکنید، بلکه نتایج چند روش را با هم ترکیب کنید" (Everitt et al., 2011, p. 130) – و بنابراین جدول هر سه را نمایش می‌دهد. وقتی معیارها با هم اختلاف دارند – و این پیش می‌آید – تصمیم به پژوهشگر واگذار می‌شود: Géron (2022، فصل 9) مثالی نشان می‌دهد که در آن سیلوئت اندکی k=4 را ترجیح می‌دهد، و او 5 را انتخاب می‌کند چون خوشه‌ها اندازه‌های مشابهی دارند؛ و Wendler و Gröttrup (2021، ص. 650) یادآوری می‌کنند که "روش‌های خوشه‌بندی هیچ کمکی به یافتن توصیفی مناسب برای هر خوشه نمی‌کنند" – جوابی که نمی‌توان آن را با کلمات توصیف کرد جواب خوبی نیست، حتی اگر شاخص‌هایش بالا باشند. قاعده سرانگشتی √(n/2) (Mardia et al.، 1979، به نقل از Wendler & Gröttrup، 2021، ص. 649) برای انتخاب بیش از حد خام است؛ تنها به عنوان نقطه مرجع در کادر تفسیر می‌آید.

خروجی را چگونه بخوانیم؟

جدول 1 – انتخاب تعداد خوشه‌ها. برای هر k: Wk، واریانس تبیین‌شده، میانگین سیلوئت، شکاف و خطای استاندارد آن. سطری که آماره شکاف انتخاب می‌کند علامت‌گذاری شده است، و همچنین k با بالاترین سیلوئت. نمودار 1 سه منحنی را کنار هم نمایش می‌دهد.

تعداد خوشه‌ها برای جواب. زیر جدول 1، k انتخاب می‌شود. پیش‌فرض انتخاب آماره شکاف است، و اگر آن 1 را انتخاب کرده باشد – k با بالاترین سیلوئت، همراه با هشدار. تغییر انتخاب همه آنچه را پس از آن می‌آید از نو محاسبه می‌کند، بی‌آنکه آماره شکاف تکرار شود.

نمودار 2 – دندروگرام مرحله الف، با خط برش برای k انتخاب‌شده. محور عمودی ارتفاع ادغام است (در فاصله‌های وارد): ادغام‌های بلند، بالای ردیفی از ادغام‌های کوتاه، نامزد خوشه‌های طبیعی‌اند (Hastie et al., 2009, p. 521). SPSS همان درخت را روی مقیاسی بازمقیاس‌شده از 0-25 نمایش می‌دهد ("Rescaled Distance Cluster Combine"; Wendler & Gröttrup, 2021, p. 645) – شکل یکسان است. در نمونه‌ای با بیش از 120 آزمودنی، برگ‌ها یکی‌یکی رسم نمی‌شوند: درخت بالای 40 گروه پایینی‌اش نمایش داده می‌شود، همراه با تعداد آزمودنی‌ها در هر گروه.

جدول 2 – اندازه و کیفیت خوشه‌ها: تعداد و درصد آزمودنی‌ها، میانگین سیلوئت در هر خوشه و تعداد آزمودنی‌های با سیلوئت منفی (که به خوشه دیگری نزدیک‌ترند)، و اندازه در خوشه وارد پیش از مرحله ب. در یادداشت: چند آزمودنی در مرحله ب خوشه عوض کردند، و شاخص رند تعدیل‌شده میان دو مرحله.

جدول 3 – نیمرخ خوشه‌ها: برای هر متغیر – میانگین و انحراف معیار در هر خوشه و در کل نمونه، در واحدهای اصلی، و η² – سهم واریانس متغیر که میان خوشه‌هاست. نمودار 3 همان میانگین‌ها را در نمره‌های استاندارد نمایش می‌دهد، تا با یک نگاه دیده شود هر خوشه در چه چیزی بالاتر یا پایین‌تر از میانگین است. نامی که به هر خوشه می‌دهید از اینجا برمی‌آید، و این تفسیر شماست، نه نتیجه محاسبه (Wendler & Gröttrup, 2021, p. 650).

نمودار 4 – سیلوئت: یک ستون برای هر آزمودنی، مرتب‌شده درون هر خوشه – "شکل چاقو" برای هر خوشه. ارتفاع شکل تعداد آزمودنی‌های خوشه و پهنای آن سیلوئت‌های آن‌هاست؛ خوشه‌ای که بیشتر اعضایش زیر میانگین کلی (خط‌چین) هستند خوشه‌ای ضعیف است (Géron, 2022, Chapter 9). بند یافته‌ها – به فارسی و انگلیسی؛ کادر "تفسیر نتیجه" – آیا معیارها هم‌نظرند؟، کیفیت خوشه‌ها، چه چیزی میان دو مرحله جابه‌جا شد، و اکنون چه باید کرد. دانلود داده‌ها با ستون خوشه – همان فایل با یک ستون اضافی، برای توصیف و اعتبارسنجی در صفحه‌های دیگر.

پایداری در بازنمونه‌گیری – با یک کلیک. زیر نمودار سیلوئت دکمه‌ای با عنوان "محاسبه پایداری" هست (100 زوج و نمونه به عنوان پیش‌فرض، با همان بذر آماره شکاف). جدول 4 برای هر k توزیع شاخص رند تعدیل‌شده میان جواب‌های دو نمونه bootstrap را می‌دهد – حداقل، چارک‌ها، میانه و حداکثر – و نمودار 5 آن را در نمودار جعبه‌ای نمایش می‌دهد، با یک نقطه برای هر زوج. جدول 5 از کل افراز به جواب انتخاب‌شده می‌رود: برای هر خوشه – میانگین شباهت جاکارد با خوشه مشابه آن در نمونه‌های bootstrap، چند بار "از هم پاشید" و چند بار "بازیابی شد"، و تفسیر بر اساس Hennig (2023). تغییر k تنها جدول 5 را از نو محاسبه می‌کند. وقتی پایداری محاسبه شده باشد، در بند یافته‌ها و کادر تفسیر نیز وارد می‌شود. روش‌ها – در بخش بعد.

مفروضه‌ها و هشدارها

الگوریتم همیشه خوشه برمی‌گرداند. "چنین روش‌های خوشه‌بندی همیشه به k گروه می‌رسند، داده‌ها هر چه باشند" (Rousseeuw, 1987, p. 55): k-میانگین حتی از داده‌های کاملاً یکنواخت، بدون هیچ ساختاری، سه خوشه برمی‌گرداند؛ و "روش‌های سلسله‌مراتبی ساختار سلسله‌مراتبی را تحمیل می‌کنند، چه چنین ساختاری واقعاً در داده‌ها وجود داشته باشد و چه نه" (Hastie et al., 2009, p. 522). به همین دلیل آماره شکاف پیش‌فرض انتخاب k است، و به همین دلیل کادر تفسیر وقتی سیلوئت ضعیف است هشدار می‌دهد.

پایداری: آیا جواب در نمونه‌ای دیگر تکرار می‌شود؟ Leisch (2016، ص. 637)، در فصلی درباره بررسی پایداری در دستنامه Hennig و همکاران، میان دو منبع تصادف در هر افراز تمایز می‌گذارد: نمونه – زیرمجموعه‌ای تصادفی از جامعه آماری – و الگوریتم، که "معلوم است حتی وقتی داده‌ها ساختار خوبی ندارند ساختاری بر آن‌ها تحمیل می‌کند" (Dolnicar & Leisch، 2010، به نقل از همان)؛ و بنابراین "استفاده از یک افراز واحد، که از یک بار محاسبه یک الگوریتم معین حاصل شده، پژوهشگران را در معرض خطر استفاده از یک جواب تصادفی، و نه یک جواب پایا، قرار می‌دهد". روش دومرحله‌ای تصادف الگوریتم را از میان برمی‌دارد (مقداردهی اولیه تصادفی ندارد)، اما تصادف نمونه را نه. پایداری به‌ویژه وقتی اهمیت دارد که بر پایه افراز تصمیم گرفته می‌شود – در بخش‌بندی بازار یکی از شش معیار ارزیابی بخش‌هاست (Wedel & Kamakura، 1998، به نقل از همان، ص. 639) – و با وجود خوشه‌های جدا از هم یکی نیست: در شکل 28.1 چهار خوشه k-میانگین روی داده‌های یکنواخت در یک مربع بسیار پایدارند، و روی یک دایره – اصلاً پایدار نیستند (ص. 638). راه بررسی بازنمونه‌گیری است: از داده‌ها نمونه‌های bootstrap به قید قرعه کشیده می‌شوند، هر یک خوشه‌بندی می‌شود، و افرازها مقایسه می‌شوند (ص. 639-640)؛ این فصل سه روش ارائه می‌کند – توان پیش‌بینی (Tibshirani & Walther، 2005)، پایداری هر خوشه با شاخص جاکارد (Hennig، 2007)، و ARI میان زوج‌های نمونه‌های bootstrap (Dolnicar & Leisch، 2010؛ همگی به نقل از همان، ص. 641-643) – و جمع‌بندی می‌کند که "بازنمونه‌گیری تفاوت بزرگی ایجاد می‌کند، در حالی که روش دقیق چندان اهمیتی ندارد" (ص. 650). می‌توان k را نیز بر اساس پایداری انتخاب کرد، اما با احتیاط: "اغلب نمی‌توان رد کرد که افرازی غیر از افراز واقعی نیز پایداری بالایی داشته باشد" (ص. 639). صفحه، با یک کلیک، روش سوم و روش دوم را اجرا می‌کند.

پایداری کل افراز (جدول 4 و نمودار 5). در روش Dolnicar و Leisch (2010، به نقل از Leisch، 2016، بخش 28.2.3) دو نمونه bootstrap به اندازه نمونه کشیده می‌شوند، هر یک خوشه‌بندی می‌شود، همه آزمودنی‌های اصلی در هر یک از این دو به نزدیک‌ترین مرکز تخصیص می‌یابند، و دو تخصیص با شاخص رند تعدیل‌شده مقایسه می‌شوند؛ این کار بارها تکرار می‌شود، و هر زوج یک مقدار مستقل می‌دهد. این روش "در میانه" دو روش دیگر است: کل افراز را می‌سنجد، اما اجازه می‌دهد برخی خوشه‌ها، شاید خوشه‌های کوچک، ناپایدار باشند (ص. 642). به توزیع، در نمودار جعبه‌ای، نگاه می‌شود، و "مقادیر نزدیک به یک نشانه پایداری بالا هستند" (ص. 643). در مثال ساختگی Leisch، در تعداد خوشه درست همه شاخص‌ها برابر 1 هستند، و در تعداد نادرست توزیع به چپ جابه‌جا می‌شود، و گاه دونمایی است (ص. 645). در صفحه، همان زوج‌ها برای همه مقادیر k به کار می‌روند، به طوری که مقایسه میان مقادیر k روی همان نمونه‌هاست.

پایداری هر خوشه (جدول 5). در روش Hennig (2007, as cited in Leisch, 2016, Section 28.2.2) افراز انتخاب‌شده بررسی می‌شود، نه k به طور کلی (ص. 646): در هر نمونه bootstrap آزمودنی‌های نمونه‌گیری‌شده، هر کدام یک بار، برداشته و خوشه‌بندی می‌شوند، و برای هر خوشه اصلی شبیه‌ترین خوشه در نمونه بر اساس شباهت جاکارد جست‌وجو می‌شود – تعداد آزمودنی‌های مشترک تقسیم بر تعداد آزمودنی‌ها در هر دو با هم. میانگین شباهت روی نمونه‌ها شاخص پایداری خوشه است. Hennig (2023)، در مستندات تابع clusterboot که در بسته fpc نوشته است، قواعد سرانگشتی می‌دهد: یک خوشه معتبر و پایدار باید میانگین .75 و بالاتر داشته باشد؛ بین .60 و .75 خوشه به الگویی در داده‌ها اشاره می‌کند، اما اینکه کدام آزمودنی‌ها به آن تعلق دارند – بسیار مشکوک است؛ زیر .60 – نباید به آن اعتماد کرد؛ و "بسیار پایدار" – .85 و بالاتر. مقدار .50 و پایین‌تر در یک نمونه منفرد "از هم پاشیدن" خوشه محسوب می‌شود، و این توجیه نظری دارد (Hennig, 2008, as cited in García-Escudero et al., 2016, p. 668). و در همان مستندات: پایداری تنها معیار اعتبار نیست، و حتی روشی بسیار انعطاف‌ناپذیر نیز می‌تواند خوشه‌های پایداری بدهد که معتبر نیستند.

در فایل نمونه (100 زوج، بذر 2026) جدول 4 دقیقاً همان چیزی را نشان می‌دهد که فصل توصیف می‌کند. برای k = 3 میانه ARI .95 و چارک پایین .94 است – پایدار. برای k = 2 میانه .87 است، اما چارک پایین .33 – توزیع دونمایی است، یعنی دو افراز متفاوت به دو خوشه با یکدیگر رقابت می‌کنند. Leisch چنین توزیعی را نشانه "چند بیشینه موضعی" توصیف می‌کند: یک بهینه موضعی در داده‌های اصلی می‌تواند بهینه سراسری در یک نمونه bootstrap باشد (ص. 643). از k = 4 میانه کاهش می‌یابد: .76، .62، و تا .50 در k = 8. در جدول 5، سه خوشه میانگین جاکارد .98، .98 و .96 دارند – بسیار پایدار، و هیچ یک در هیچ نمونه‌ای از هم نپاشید. و هشداری دیگر از فصل: می‌توان k را بر اساس پایداری انتخاب کرد، اما با احتیاط – "اغلب نمی‌توان رد کرد که افرازی غیر از افراز واقعی نیز پایداری بالایی داشته باشد" (ص. 639). در پیمایش گردشگری فصل، افراز به 5 پایدارترین بود، اما بخش‌های آن نیمرخ روشنی نداشتند، و بنابراین انتخاب نشد (ص. 648)؛ و در افراز به 9 برخی خوشه‌ها پایدارتر از بقیه بودند، و پایدارترین‌ها جالب‌ترین‌ها بودند (ص. 649).

شکل خوشه‌ها. k-میانگین و وارد خوشه‌های "کروی" با اندازه مشابه را ترجیح می‌دهند: "k-میانگین وقتی خوشه‌ها اندازه‌ها، چگالی‌ها یا شکل‌های غیرکروی متفاوتی دارند خوب عمل نمی‌کند" (Géron, 2022, Chapter 9, "Limits of k-means")؛ وارد "گرایش دارد خوشه‌های کروی با اندازه مشابه بیابد" و "به داده‌های پرت حساس است" (Everitt et al., 2011, p. 78, Table 4.1)، "اغلب به نظر می‌رسد خوب عمل می‌کند، اما ممکن است ساختاری کروی را در جایی که وجود ندارد تحمیل کند" (ص. 84)، و در پژوهش‌های شبیه‌سازی وقتی خوشه‌ها اندازه مشابهی داشتند موفق بود و وقتی اندازه‌های متفاوتی داشتند شکست خورد (ص. 83)؛ در وارد "اندازه خوشه‌ها تقریباً مشابه است" (Wendler & Gröttrup, 2021, p. 648)، و k-میانگین "گرایش دارد خوشه‌هایی با اندازه مشابه تولید کند" (ص. 677). گروهی کوچک و واقعاً متمایز ممکن است بلعیده شود؛ برای خوشه‌های بیضوی – آمیخته گاوسی (صفحه یادگیری بدون نظارت، بخش 4).

داده‌های پرت. یک آزمودنی افراطی مرکز را به سوی خود می‌کشد (میانگین) و مجموع مجذورات را افزایش می‌دهد؛ در پیوند تکی داده‌های پرت به صورت آزمودنی‌های منفرد باقی می‌مانند، و در پیوند کامل در خوشه‌ها بلعیده می‌شوند (Wendler & Gröttrup, 2021, p. 648, Table 7.24). خوشه‌ای از یک یا دو آزمودنی در جواب تقریباً همیشه داده پرت است، نه یک گونه – در صفحه داده‌های پرت و مفروضه‌ها بررسی می‌شود.

محدودیت‌های عملی. مقادیر گمشده: حذف لیستی روی متغیرهای خوشه‌بندی (صفحه اعلام می‌کند چند مورد حذف شدند؛ برای جایگزین‌ها – Hastie et al.، 2009، ص. 507، و صفحه مقادیر گمشده). اندازه: تا 3,000 آزمودنی، زیرا خوشه‌بندی سلسله‌مراتبی همه فاصله‌ها میان زوج‌های آزمودنی‌ها را نگه می‌دارد؛ آماره شکاف کل تحلیل را روی هر مجموعه مرجع اجرا می‌کند، و بنابراین با 3,000 آزمودنی و 100 نمونه حدود یک دقیقه طول می‌کشد (می‌توان تعداد نمونه‌ها را کاهش داد). نتیجه قطعی است، اما وقتی آزمودنی‌های یکسان یا فاصله‌های دقیقاً برابر وجود دارد (در گویه‌های لیکرت رایج است)، ترتیب ادغام‌های هم‌ارتفاع بر اساس ترتیب سطرها تعیین می‌شود، مانند R. متغیرها باید کمّی باشند: متغیر طبقه‌ای با کدگذاری عددی (1 = مرد، 2 = زن) به عنوان عدد وارد می‌شود و فاصله را بی‌معنا می‌کند – صفحه هشدار می‌دهد.

آنچه این صفحه محاسبه نمی‌کند. پیوندهای دیگر (تکی، کامل، میانگین)، فاصله‌های دیگر (منهتن، کسینوسی)، متغیرهای طبقه‌ای و آمیخته (TwoStep با لگ‌درست‌نمایی)، آمیخته‌های گاوسی و BIC، DBSCAN، آزمون‌های معناداری میان خوشه‌ها (در اشتباهات رایج ببینید)، پایداری با روش‌های نمونه‌گیری دیگر (توان پیش‌بینی، زیرنمونه‌ها، افزودن نویز)، و اعتبارسنجی بیرونی خودکار – ستون خوشه دانلود و در صفحه‌های خی‌دو و تحلیل واریانس بررسی می‌شود.

و این کار در SPSS چگونه انجام می‌شود؟

در SPSS Statistics دو مرحله دو رویه جداگانه زیر Analyze › Classify هستند. مسیرها و گزینه‌هایی که در ادامه می‌آیند اطلاعات کلی درباره نرم‌افزارند، مانند صفحه یادگیری بدون نظارت، بخش 7؛ منابع این صفحه به SPSS Modeler می‌پردازند و نه به Statistics. (1) استانداردسازی: Analyze › Descriptive Statistics › Descriptives با Save standardized values as variables – متغیرهایی با نام Z… ساخته می‌شوند. (2) وارد: Hierarchical Cluster روی متغیرهای Z؛ در دکمه Method – Ward's method با Squared Euclidean distance؛ در دکمه Plots – Dendrogram؛ در دکمه Save – Single solution با k. ستون Coefficients در جدول Agglomeration Schedule در SPSS در مقیاس ارتفاع درخت در R و در صفحه نیست، اما ترتیب ادغام‌ها باید همان ترتیب باشد، به جز ادغام‌های هم‌ارتفاع. (3) k-میانگین: K-Means Cluster روی همان متغیرها، با تعداد خوشه‌ها، و مراکز اولیه از فایل (Read initial)؛ مراکز به صورت میانگین‌های متغیرهای Z بر حسب خوشه وارد محاسبه می‌شوند (Data › Aggregate). بدون مراکز اولیه، SPSS خودش آن‌ها را از میان داده‌ها انتخاب می‌کند، و نتیجه ممکن است با نتیجه صفحه متفاوت باشد.

سینتکسی که صفحه تولید می‌کند هر سه گام را انجام می‌دهد: DESCRIPTIVES /SAVE، CLUSTER با /METHOD WARD /MEASURE SEUCLID و /SAVE CLUSTER(k)، و QUICK CLUSTER با /INITIAL – مراکز وارد که صفحه محاسبه کرده، به صورت عدد درج‌شده – و با /METHOD KMEANS(NOUPDATE)، یعنی به‌روزرسانی مراکز تنها در پایان هر گذر روی داده‌ها، مانند الگوریتم صفحه. سینتکس در SPSS اجرا نشده است. در PSPP، نرم‌افزاری آزاد که سینتکس SPSS را می‌خواند، تنها بخش نخست (استانداردسازی) بررسی شد، زیرا فرمان CLUSTER و /INITIAL را ندارد. سیلوئت، آماره شکاف و بررسی‌های پایداری در بازنمونه‌گیری را SPSS Statistics محاسبه نمی‌کند – برای آن‌ها R یا صفحه.

و این کار در R چگونه انجام می‌شود؟

در R پایه: scale برای استانداردسازی، hclust(dist(z), method = "ward.D2") برای وارد (ward.D2 همان وارد روی فاصله‌های اقلیدسی است؛ ward.D قدیمی فرض می‌کند که آن‌ها را پیش‌تر به توان دو رسانده‌اید)، cutree برای برش، و kmeans با centers = مراکز وارد و algorithm = "Lloyd" – الگوریتم صفحه (پیش‌فرض R الگوریتم Hartigan-Wong است، که "تضمین می‌کند هیچ جابه‌جایی تکی یک مشاهده از یک گروه به گروه دیگر هدف را کاهش نمی‌دهد"؛ Hastie et al.، 2009، ص. 510. در فایل نمونه، برای k = 2 و 3 هر دو الگوریتم یک جواب می‌دهند؛ برای k بزرگ‌تر Hartigan-Wong گاه جوابی با Wk اندکی کوچک‌تر می‌یابد – و صفحه در کادر تفسیر گزارش می‌کند جابه‌جایی تکی چند آزمودنی Wk را کاهش می‌داد). همین روش به صورت تابعی آماده: hkmeans در بسته factoextra (Kassambara, 2017, pp. 163-164) – وارد (ward.D2) و سپس kmeans، اما با پیش‌فرض‌های R (Hartigan-Wong، و iter.max = 10)؛ در فایل نمونه برای k = 2 و 3 با صفحه یکسان است، و برای k بزرگ‌تر Wk اندکی کوچک‌تری می‌دهد. بسته cluster، silhouette و clusGap را می‌دهد؛ با d.power = 2، spaceH0 = "original" و set.seed برابر با بذر صفحه – همان شکاف و همان خطای استاندارد جدول 1. در پایان اسکریپت – دو بررسی پایداری جدول‌های 4-5: 100 زوج نمونه bootstrap با ARI برای هر k، و clusterboot از بسته fpc با جواب دومرحله‌ای به عنوان روش خوشه‌بندی؛ با همان بذر دقیقاً مقادیر صفحه را می‌دهند. اسکریپت عیناً روی فایل نمونه اجرا شد (مقادیر در توضیحات). قاعده سایت برای R: فایل UTF-8، هر سطر توضیح با یک واژه فارسی آغاز می‌شود، و نام متغیرها به انگلیسی (فایل انگلیسی).

# تحلیل خوشه‌ای – پروفسور استت. این فایل با UTF-8 ذخیره شده است؛ هر سطر توضیح با یک واژه فارسی آغاز می‌شود
library(readxl)    # خواندن اکسل
library(cluster)   # سیلوئت و آماره شکاف
library(mclust)    # شاخص رند تعدیل‌شده (adjustedRandIndex)
library(fpc)       # پایداری هر خوشه (clusterboot)

# بارگذاری: الگوی استاندارد – سطر = آزمودنی، ستون = متغیر؛ کاربرگ "Data"
d <- read_excel("C:/Rdata/DATA_cluster_example_eng.xlsx", sheet = "Data")
v <- c("passive_use", "social_comparison", "content_creation", "social_connection", "daily_hours")
x <- as.data.frame(d[complete.cases(d[, v]), v])           # حذف لیستی (148 از 150)
z <- scale(x)                                             # استانداردسازی: نمره‌های z (مخرج n − 1)

# مرحله الف: وارد روی فاصله‌های اقلیدسی – درخت، و ارتفاع آخرین ادغام‌ها
hc <- hclust(dist(z), method = "ward.D2")
rev(tail(hc$height, 5))                                   # ارتفاع‌ها: 22.80 17.44 7.15 6.99 5.71 – جهش پس از سومی

# مرحله ب: برای هر k – برش درخت، مراکز ثقل به عنوان مراکز اولیه، و k-میانگین (Lloyd)
two_stage <- function(z, k, hc = hclust(dist(z), "ward.D2")) {
  w <- cutree(hc, k)
  centers <- apply(z, 2, function(col) tapply(col, w, mean))
  kmeans(z, centers = centers, iter.max = 100, algorithm = "Lloyd")
}
res <- lapply(2:8, function(k) two_stage(z, k, hc))
W   <- c(sum(z^2), sapply(res, function(m) m$tot.withinss))           # W_k، شامل k = 1
sil <- sapply(res, function(m) mean(silhouette(m$cluster, dist(z))[, "sil_width"]))
round(cbind(k = 1:8, W = W, R2 = 1 - W / W[1], silhouette = c(NA, sil)), 3)   # جدول: R² .365/.575/.605؛ سیلوئت .337/.371/.274 (k = 2/3/4)

# آماره شکاف: همان تابع، 100 نمونه مرجع یکنواخت در دامنه هر متغیر؛ set.seed = بذر صفحه
set.seed(2026)
gap <- clusGap(z, FUNcluster = function(x, k) two_stage(x, k), K.max = 8, B = 100,
               d.power = 2, spaceH0 = "original")
print(gap, method = "Tibs2001SEmax")                      # شکاف: k = 3؛ شکاف 0.404/0.607/0.863/0.814، SE ≈ 0.035

# جواب انتخاب‌شده: اندازه‌ها، و نیمرخ در واحدهای اصلی
km <- res[[2]]                                            # k = 3
km$size                                                   # اندازه‌ها: 59 51 38
round(aggregate(x, by = list(cluster = km$cluster), FUN = mean), 2)
summary(silhouette(km$cluster, dist(z)))$clus.avg.widths  # سیلوئت هر خوشه: .370 .369 .373
d$cluster <- NA; d$cluster[complete.cases(d[, v])] <- km$cluster   # ستون خوشه برای فایل

# همان جواب با تابعی آماده: hkmeans در بسته factoextra (Kassambara، 2017، فصل 16) – وارد و سپس k-میانگین، اما با Hartigan-Wong
# و بدون iter.max = 100؛ در فایل نمونه برای k = 2-3 یکسان است، و برای k = 4 و بالاتر W اندکی کوچک‌تر است
# factoextra::hkmeans(z, 3)$size                          # 59 51 38

# پایداری در بازنمونه‌گیری (Leisch، 2016، فصل 28) – مانند جدول‌های 4-5 در صفحه، با همان بذر
# (الف) کل جواب (Dolnicar & Leisch، 2010، به نقل از همان): دو نمونه bootstrap، خوشه‌بندی هر یک برای هر k، تخصیص همه آزمودنی‌های
# اصلی به نزدیک‌ترین مرکز در هر یک از این دو، و ARI میان دو تخصیص؛ 100 زوج – همان زوج‌ها برای هر k
nearest <- function(z, centers) apply(z, 1, function(r) which.min(colSums((t(centers) - r)^2)))
set.seed(2026)
stab <- t(replicate(100, {
  s1 <- z[sample.int(nrow(z), replace = TRUE), ]
  s2 <- z[sample.int(nrow(z), replace = TRUE), ]
  sapply(2:8, function(k) adjustedRandIndex(nearest(z, two_stage(s1, k)$centers), nearest(z, two_stage(s2, k)$centers)))
}))
colnames(stab) <- paste0("k=", 2:8)
round(apply(stab, 2, quantile, c(.25, .5, .75)), 3)       # جدول 4: میانه k=2 .868 (چارک پایین .333)، k=3 .945 (.939)، k=4 .760، k=5 .621 و تا .503 در k=8
boxplot(stab, xlab = "k", ylab = "ARI")                   # نمودار 5 (بدون نقطه‌ها)

# (ب) هر خوشه (Hennig، 2007، به نقل از همان): clusterboot از بسته fpc، با جواب دومرحله‌ای به عنوان تابع خوشه‌بندی
hkm <- function(data, k) {
  cl <- two_stage(as.matrix(data), k)$cluster
  list(result = cl, nc = k, clusterlist = lapply(1:k, function(i) cl == i), partition = cl, clustermethod = "Ward + k-means")
}
cb <- clusterboot(z, B = 100, bootmethod = "boot", clustermethod = hkm, k = 3, seed = 2026, count = FALSE)
round(cb$bootmean, 3)                                     # جدول 5، میانگین جاکارد: .981 .975 .963
cb$bootbrd; cb$bootrecover                                # از هم پاشید (≤ .50) / بازیابی شد (> .75)، از 100: 0 0 0 / 100 100 100

گزارش نتایج

در تحلیل خوشه‌ای تصمیم‌های بسیاری بر عهده پژوهشگر است، و بنابراین گزارش باید امکان بازسازی آن‌ها را فراهم کند: کدام متغیرها وارد شدند و چرا؛ آیا استاندارد شدند؛ فاصله و روش (وارد، و سپس k-میانگین از مراکز وارد)؛ تعداد خوشه‌ها چگونه انتخاب شد – معیارها و مقادیرشان، حتی وقتی با هم اختلاف دارند؛ اندازه هر خوشه؛ جدول نیمرخ با میانگین‌ها و انحراف معیارها؛ میانگین سیلوئت؛ اگر پایداری بررسی شد – روش، تعداد نمونه‌ها و نتیجه؛ و اگر اعتبارسنجی انجام شد – خوشه‌ها در متغیرهایی که در ساختنشان مشارکت نداشتند در چه چیزی متفاوت‌اند. APA (2020، بخش 6.43) می‌خواهد "اطلاعات کافی گزارش شود تا خواننده بتواند تحلیل‌ها را تأیید کند". نام خوشه‌ها ("مصرف‌کنندگان منفعل") تفسیرند، و همراه با میانگین‌هایی که بر آن‌ها مبتنی‌اند گزارش می‌شوند. قواعد صوری (APA, 2020, Section 6.36): میانگین‌ها و انحراف معیارها با صفر پیش از ممیز، میانگین سیلوئت و η² بدون آن. بند یافته‌ها در خروجی به همین شکل ساخته شده است، به فارسی و انگلیسی.

اشتباهات رایج

فراموش کردن استانداردسازی متغیرهایی با واحدهای متفاوت – و به دست آوردن خوشه‌هایی از متغیری که دامنه بزرگ‌تری دارد. و استانداردسازی بدون اندیشیدن – وقتی متغیری پرنویز وزن یک متغیر متمایزکننده را می‌گیرد (Hastie et al., 2009, p. 506).

خوشه‌بندی بر اساس ده‌ها گویه لیکرت منفرد به جای نمره‌های مقیاس – فاصله روی گویه‌های منفرد محل مناقشه است (Wendler & Gröttrup, 2021, p. 635)، و گویه‌های بسیار از یک مقیاس به آن وزن مضاعف می‌دهند.

وارد کردن "هر چه هست"، از جمله متغیرهای زمینه‌ای (جنسیت، سن) و متغیرهای پیامد – و سپس "کشف" اینکه خوشه‌ها در آن‌ها متفاوت‌اند. متغیری که در ساختن خوشه‌ها مشارکت داشته نمی‌تواند آن‌ها را اعتبارسنجی کند.

انتخاب k بر اساس آنچه خوب به نظر می‌رسد بدون گزارش معیارها، یا انتخاب k با بالاترین سیلوئت وقتی که .20 است – یعنی وقتی ساختار روشنی وجود ندارد.

آزمون‌های F یا t میان خوشه‌ها روی متغیرهای خوشه‌بندی، و گزارش اینکه "خوشه‌ها به طور معنادار متفاوت‌اند". الگوریتم خوشه‌ها را طوری ساخته که دقیقاً در همین متغیرها متفاوت باشند، و بنابراین معناداری از پیش تضمین‌شده است و اطلاعاتی نمی‌افزاید. صفحه η² را به عنوان شاخصی توصیفی، بدون p، چاپ می‌کند.

تفسیر دندروگرام به عنوان "ساختار داده‌ها". "روش‌های سلسله‌مراتبی مختلف، و نیز تغییرات کوچک در داده‌ها، ممکن است به دندروگرام‌های کاملاً متفاوتی منجر شوند" (Hastie et al., 2009, p. 521).

بسنده کردن به یک اجرا. یک افراز از یک نمونه ممکن است "جوابی تصادفی، و نه جوابی پایا" باشد (Leisch, 2016, p. 637)؛ پیش از گزارش گونه‌ها – پایداری در بازنمونه‌گیری بررسی می‌شود (جدول‌های 4-5).

دیدن خوشه به عنوان گروهی واقعی – گونه‌ای که در جامعه آماری وجود دارد – بدون اعتبارسنجی: خوشه توصیفی از همین نمونه است، با همین متغیرها و همین فاصله (صفحه یادگیری بدون نظارت، بخش 6).

منابع

American Psychological Association. (2020). Publication manual of the American Psychological Association (7th ed.). https://doi.org/10.1037/0000165-000

Everitt, B. S., Landau, S., Leese, M., & Stahl, D. (2011). Cluster analysis (5th ed.). Wiley. https://doi.org/10.1002/9780470977811

García-Escudero, L. A., Gordaliza, A., Matrán, C., Mayo-Iscar, A., & Hennig, C. (2016). Robustness and outliers. In C. Hennig, M. Meilă, F. Murtagh, & R. Rocci (Eds.), Handbook of cluster analysis (pp. 653-677). Chapman & Hall/CRC.

Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems (3rd ed.). O'Reilly Media.

Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction (2nd ed.). Springer. https://doi.org/10.1007/978-0-387-84858-7

Hennig, C. (2023). fpc: Flexible procedures for clustering (R package version 2.2.11) [Computer software]. https://CRAN.R-project.org/package=fpc

Kassambara, A. (2017). Practical guide to cluster analysis in R: Unsupervised machine learning (Ed. 1). STHDA.

Leisch, F. (2016). Resampling methods for exploring cluster stability. In C. Hennig, M. Meilă, F. Murtagh, & R. Rocci (Eds.), Handbook of cluster analysis (pp. 637-652). Chapman & Hall/CRC.

Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53-65. https://doi.org/10.1016/0377-0427(87)90125-7

Wendler, T., & Gröttrup, S. (2021). Data mining with SPSS Modeler: Theory, exercises and solutions (2nd ed.). Springer. https://doi.org/10.1007/978-3-030-54338-9

Ward (1963)، Kaufman و Rousseeuw (1990)، Marriott (1982)، Milligan و Cooper (1988) – به نقل از Everitt و همکاران (2011)؛ IBM (2015) و Mardia و همکاران (1979) – به نقل از Wendler و Gröttrup (2021)؛ Tibshirani و همکاران (2001) – به نقل از Hastie و همکاران (2009) و Everitt و همکاران (2011)؛ Dolnicar و Leisch (2010)، Wedel و Kamakura (1998)، Tibshirani و Walther (2005) و Hennig (2007) – به نقل از Leisch (2016)؛ Hennig (2008) – به نقل از García-Escudero و همکاران (2016). Hennig (2023) – مستندات clusterboot (صفحه راهنمای بسته)، که اصل آن خوانده شده است. طبق قاعده سایت، در فهرست منابع تنها منابعی می‌آیند که اصل آن‌ها خوانده شده است. Géron (2022) در نسخه دیجیتال بدون شماره صفحه – ارجاع بر اساس فصل و بخش؛ Everitt و همکاران (2011)، Hastie و همکاران (2009)، Wendler و Gröttrup (2021)، Rousseeuw (1987)، Leisch (2016)، García-Escudero و همکاران (2016) و Kassambara (2017) – بر اساس صفحه چاپی. محاسبه در صفحه در برابر R 4.3.3 (hclust، cutree، kmeans) و بسته‌های cluster (silhouette، clusGap) و mclust (adjustedRandIndex) راستی‌آزمایی شده است، و پایداری – در برابر sample.int در R و fpc (clusterboot).