آزمون کولموگروف اسميرنف چیست؟

آزمون کولموگروف اسميرنف چیست؟
توسط منتشر شده در : دسامبر 11, 2024دسته بندی: مقالات تحلیل آماریLast Updated: دسامبر 11, 2024بدون دیدگاه on آزمون کولموگروف اسميرنف چیست؟نمایش: 5

چکیده مقاله:
آزمون کولموگروف اسمیرنف (Kolmogorov-Smirnov Test) یکی از آزمون های مهم و پرکاربرد در آمار است که برای بررسی همگونی یک توزیع تجربی با یک توزیع نظری مشخص یا مقایسه دو توزیع تجربی به کار می رود. این آزمون مبتنی بر مقایسه بیشترین تفاوت مطلق میان توزیع تجربی و توزیع نظری یا دو توزیع تجربی است و به صورت غیرپارامتریک عمل می کند. این ویژگی آن را برای تحلیل داده هایی که از پیش فرض های خاصی همچون نرمال بودن یا همسانی واریانس پیروی نمی کنند، بسیار مناسب می سازد. در نتیجه، آزمون کولموگروف-اسمیرنوف در حوزه های گوناگونی از جمله علوم آماری، اقتصاد، مهندسی و علوم اجتماعی بطور گسترده مورد استفاده قرار می‌گیرد.

کاربرد اصلی این آزمون، ارزیابی نیکویی برازش یک توزیع داده‌ها به یک مدل نظری است. برای مثال، در تحلیل های آماری اغلب این سؤال مطرح می شود که آیا داده های نمونه از توزیع نرمال یا توزیع خاص دیگری پیروی می کنند یا خیر. آزمون کولموگروف-اسمیرنوف به دلیل سادگی در محاسبه و تفسیر، ابزاری قدرتمند برای پاسخ به این سؤال فراهم می‌کند. این آزمون همچنین می‌تواند در تحلیل مقایسه ای، برای بررسی تفاوت بین دو مجموعه داده یا دو گروه مورد مطالعه، مورد استفاده قرار گیرد. مزیت دیگر این آزمون، کاربرد آن برای داده هایی با توزیع نامعلوم است که آن را به یکی از ابزارهای اساسی در تحلیل آماری تبدیل کرده است.

آزمون کولموگروف اسمیرنوف (Kolmogorov-Smirnov Test) چیست؟

آزمون کولموگروف اسمیرنف (Kolmogorov-Smirnov Test) که با نام اختصاری KS Test یا K-S Test شناخته می شود، یک آزمون آماری غیرپارامتری است که برای مقایسه دو توزیع استفاده می شود. هدف از این آزمون، تعیین این موضوع است که آیا دو توزیع مورد مقایسه از یک توزیع زیربنایی مشابه گرفته شده اند یا خیر.

در کاربردهای معمول یادگیری ماشین، دو توزیع (A و B) برای مقایسه مورد استفاده قرار می گیرند. برای مثال، توزیع A می تواند مربوط به یک ویژگی مانند مانده حساب در داده های آموزش مدل باشد و توزیع B همان ویژگی در بازه زمانی مشخصی از داده های تولید (مانند داده های روزانه یا ساعتی) باشد. به عنوان یک سازنده مدل، شما می خواهید بدانید که آیا مدل اجرا شده با داده هایی استفاده می شود که با داده های آموزش متفاوت هستند یا خیر. آزمون کولموگروف اسمیرنف ابزاری برای مقایسه این توزیع ها است.

ویژگی های آزمون کولموگروف اسمیرنف

  • غیرپارامتری بودن: این آزمون نیازی به فرض توزیع خاصی (مانند نرمال یا دو جمله ای) ندارد و برای هر نوع توزیعی قابل استفاده است.
  • محدودیت ها: آزمون K-S فقط برای متغیرهای عددی (مانند اعداد صحیح یا اعشاری) قابل استفاده است و برای متغیرهای دسته بندی (Categorical) مناسب نمی باشد.

فرمول آزمون کولموگروف اسمیرنف

آمار آزمون کولموگروف اسمیرنف به صورت حداکثر تفاوت بین توزیع تجمعی دو مجموعه داده (CDF) تعریف می شود. در تنظیمات یادگیری ماشین، این توزیع تجمعی ها اغلب به صورت تجربی از نمونه داده ها به دست می آیند و به آنها eCDF گفته می شود.

فرمول آزمون کولموگروف اسمیرنف

مقایسه هیستوگرام و smooth pdf

داده هایی که برای یک متغیر یا ویژگی در آموزش یا تولید جمع آوری می کنید ممکن است شبیه توزیع های بالا باشد. یک CDF تجربی با مرتب کردن داده ها بر اساس مقدار و ایجاد یک نمودار تکه تکه ایجاد می شود.

کد ساده برای محاسبه توزیع تجمعی (CDF) در پایتون

برای محاسبه توزیع تجمعی تجربی، داده ها بر اساس مقدار مرتب شده و یک نمودار پله ای ایجاد می شود. در ادامه، کدی ساده برای این کار ارائه شده است:

نمایش کپی در حافظه

CDF یک جمع تجمعی گام به گام در امتداد محدوده متغیر داده ایجاد می کند.

مثال home leons

در مثال بالا، می توان eCDF موجودی حساب ویژگی از تولید را در مقایسه با موجودی حساب eCDF از آموزش مشاهده کرد. eCDF تکه ای آبی داده های آموزشی است در حالی که خط سیاه داده های تولید است. فلش قرمز نشان دهنده آمار آزمون K-S، حداکثر تفاوت بین eCDF ها است.

معادله ریاضی تست ks

معادله ریاضی تست ks

تفاوت بین آزمون کولموگروف اسمیرنف تک نمونه ای و دو نمونه ای چیست؟

آزمون کولموگروف اسمیرنف دو نوع دارد: آزمون تک نمونه ای و آزمون دو نمونه ای (این دو نباید با یک طرفه و دو طرفه اشتباه گرفته شوند). مثال های قبلی مربوط به آزمون دو نمونه ای است که در آن هر دو توزیع تجربی هستند و از داده های واقعی گرفته شده اند.

  • آزمون دو نمونه ای: eCDF توزیع A با eCDF توزیع B مقایسه می شود.
  • آزمون تک نمونه ای: eCDF توزیع A با CDF توزیع B مقایسه می شود.

آزمون تک نمونه ای تقریبا هرگز در یادگیری ماشین تولیدی استفاده نمی شود. این نوع آزمون زمانی به کار می رود که بخواهید یک نمونه تجربی را با یک توزیع نظری پارامتری مقایسه کنید. برای مثال، ممکن است بخواهید بررسی کنید که آیا توزیع مانده حساب در داده های آموزشی (توزیع A) به صورت نرمال توزیع شده است (توزیع B).

توزیع کولموگروف و آزمون برازش

آمار آزمون کولموگروف اسمیرنف، که از حداکثر تفاوت بین دو eCDF به دست می آید، فقط یک نمونه را نشان می دهد. توزیع کولموگروف، توزیع مقادیر آماره آزمون K-S است که در صورت گرفتن تعداد زیادی نمونه از یک توزیع واحد، به دست می آید.

چگونه توزیع کولموگروف ایجاد می شود؟

برای ایجاد این توزیع:

  1. داده ها را به صورت بوت استرپ بازنمونه گیری کنید یا یک eCDF دیگر جمع آوری کنید.
  2. این فرآیند را 500 بار تکرار کنید تا 500 eCDF ایجاد شود.
  3. مقدار K-S را برای هر eCDF محاسبه کنید.
  4. تمام 500 مقدار K-S را به صورت یک توزیع نمایش دهید.

500 نمونه آماره آزمون K-S

در بالا، توزیع K-S با اندازه های نمونه N به نظر می رسد، هر نمونه ای که گرفته شود، مقدار متفاوتی از K-S خواهد داشت. آندری کولموگروف در مقاله اصلی خود اشاره کرده است که توزیع مقادیر K-S از چندین نمونه، شکلی خاص به خود می گیرد که اکنون به نام توزیع کولموگروف شناخته می شود.

PDF توزیع کولموگروف اسمیرنف

تحلیل توزیع کولموگروف

این توزیع دارای یک معادله با فرم بسته است که فقط به تعداد نمونه های استفاده شده در تولید eCDF وابسته است. توزیع کولموگروف متفاوت از توزیع گوسی است، اما برخی از مفاهیم مشابه مانند p-value را می توان بر آن اعمال کرد.

در پایتون، مقدار p-value در تابع ks_2samp احتمال مشاهده مقدار آماره آزمون K-S را (با فرض توزیع به صورت کولموگروف) تعیین می کند. این آزمون به عنوان آزمون برازش شناخته می شود.

برای ملموس تر کردن این موضوع، می توانید چند مثال زیر را اجرا کنید (کد):

نمایش کپی در حافظه

نحوه اجرای آزمون کولموگروف اسمیرنف در SPSS

برای اجرای آزمون کولموگروف اسمیرنف (KS Test) در نرم افزار SPSS، مراحل زیر را دنبال کنید:

  1. رفتن به منوی تحلیل
    از منوی اصلی SPSS، مسیر Analyze → Descriptive Statistics → Explore را انتخاب کنید.
  2. انتقال متغیرها به لیست وابسته
    متغیرهایی که می خواهید از نظر نرمال بودن بررسی کنید را به کادر Dependent List منتقل کنید.
  3. اختیاری: بررسی وجود داده های پرت
    اگر می خواهید داده های پرت را بررسی کنید، روی گزینه Statistics کلیک کرده و علامت چک کنار گزینه Outliers را فعال کنید.
  4. تنظیم نمودارها
    روی Plots کلیک کنید و علامت چک کنار گزینه Histogram و گزینه Normality Plots with tests را فعال کنید. سپس روی Continue کلیک کنید.
  5. تنظیم نحوه مدیریت مقادیر گم شده
    روی Options کلیک کنید و مشخص کنید که چگونه مقادیر گم شده مدیریت شوند:

    • Exclude cases listwise: مواردی که مقادیر گم شده دارند به طور کامل حذف شوند.
    • Exclude cases pairwise: میانگین هر متغیر با استفاده از تمام پاسخ های غیر گم شده برای همان متغیر محاسبه شود.
    • Report values: این گزینه فقط بر تجزیه و تحلیل متغیرهای عاملی تأثیر می گذارد.
      سپس روی Continue کلیک کنید.
  6. اجرای آزمون KS
    روی OK کلیک کنید تا آزمون اجرا شود.
  7. خواندن نتایج
    نتایج آزمون را در بخش Tests of Normality بررسی کنید.

    • ستون Sig مقدار p-value را نمایش می دهد. اگر این مقدار کوچک باشد (مثلا کمتر از 0.05 برای سطح اطمینان 5%)، فرض صفر مبنی بر نرمال بودن داده ها رد می شود.
    • مقادیر بزرگ p نشان دهنده نرمال بودن داده ها هستند.

SPSS به طور همزمان نتایج آزمون شاپیرو-ویلک (Shapiro-Wilk Test) را نیز ارائه می دهد. توجه داشته باشید:

  • برای نمونه های بزرگ (n ≥ 50)، نتایج آزمون K-S را بررسی کنید.
  • برای نمونه های کوچک (n < 50)، از نتایج شاپیرو-ویلک استفاده کنید.
  1. بررسی داده های پرت
    بخش Extreme Values اطلاعاتی درباره داده های پرت ارائه می دهد.

این مراحل به شما کمک می کنند که به سادگی آزمون نرمال بودن داده ها را در SPSS انجام دهید و نتایج قابل اعتمادی به دست آورید.

آیا آزمون کولموگروف اسمیرنف می تواند برای پایش تغییرات مدل در طول زمان استفاده شود؟

بله. در کاربردهای آماری معمول، آزمون کولموگروف اسمیرنف یک مقایسه ثابت بین دو توزیع A و B است. اما در موارد پایش، دانشمندان داده به صورت دوره ای eCDF ها را ایجاد کرده و K-S را اندازه گیری می کنند. پایش آماره K-S در طول زمان می تواند نشان دهنده تغییر در توزیع باشد.

اجرای این فرآیند در عمل برای محیط های عملیاتی یادگیری ماشین بزرگ، چالش هایی دارد. زمانی که یک هشدار رخ می دهد، شناسایی سریع تغییرات و ارتباط آن با داده ها برای مدیریت تعداد زیادی از مدل ها و ویژگی ها حیاتی است.

در چه مواردی آزمون کولموگروف اسمیرنف به شاخص پایداری جمعیت، واگرایی KL و واگرایی JS ترجیح داده می شود؟

بین معیارهای مبتنی بر نظریه اطلاعات (مانند واگرایی JS، PSI و KL) و آزمون کولموگروف اسمیرنف تفاوت های زیادی وجود دارد. یک تفاوت کلیدی این است که محتوای اطلاعاتی بین دو توزیع می تواند تغییر کند، اما آماره آزمون K-S تغییر نکند.

برای مثال، در K-S، تغییر در ترتیب نقاط بالای حداکثر، آماره آزمون را تغییر نمی دهد، مگر اینکه تفاوتی در حداکثر ایجاد شود. اما در معیارهای مبتنی بر نظریه اطلاعات، هرگونه حرکت داده بین دسته ها (bins) تغییراتی در مقدار معیار ایجاد می کند.

نتیجه گیری
آزمون K-S ابزاری قوی برای پایش و مقایسه توزیع ها و آزمون برازش بین آن ها است. اگرچه معیارهای مبتنی بر نظریه اطلاعات مانند واگرایی JS، PSI و KL انعطاف بیشتری در انواع ویژگی ها دارند، آزمون کولموگروف اسمیرنف همچنان برای بسیاری از کاربردها، به ویژه در یادگیری ماشین، مناسب است.

اشتراک گذاری این محتوا، پلتفرم خود را انتخاب کنید!
مطالب مرتبط دیگر :

  • الگوریتم فراابتکاری (Metaheuristic) چیست؟
الگوریتم فراابتکاری (Metaheuristic) چیست؟

دسامبر 8, 2024|بدون دیدگاه

چکیده مقاله: الگوریتم فراابتکاری (Metaheuristic Algorithm) به عنوان یکی از ابزارهای قدرتمند در حل مسائل پیچیده و بهینه سازی مطرح هستند. این الگوریتم ها، برخلاف روش های کلاسیک و دقیق، نیازی به داشتن دانش [...]

  • الگوریتم بهینه سازی فاخته (COA)
الگوریتم بهینه سازی فاخته (COA)

دسامبر 5, 2024|بدون دیدگاه

چکیده مقاله: الگوریتم بهینه سازی فاخته (Cuckoo Optimization Algorithm یا COA) یکی از الگوریتم های فراابتکاری الهام گرفته از طبیعت است که برای حل مسائل بهینه سازی پیچیده توسعه یافته است. این الگوریتم از [...]

  • الگوریتم جهش قورباغه (SFLA)
الگوریتم جهش قورباغه (SFLA)

دسامبر 3, 2024|بدون دیدگاه

چکیده مقاله: الگوریتم جهش قورباغه (SFLA) یک الگوریتم بیونیکی فراابتکاری امیدبخش است که بر اساس تکامل پیچیده تصادفی و چارچوب بهینه سازی ازدحام ذرات (PSO) طراحی شده است. با این حال، این الگوریتم هنگام [...]

  • الگوریتم تکاملی تفاضلی: پیاده سازی، مزایا و کاربرد
الگوریتم تکاملی تفاضلی: پیاده سازی، مزایا و کاربرد

دسامبر 1, 2024|بدون دیدگاه

چکیده مقاله: الگوریتم تکاملی تفاضلی (Differential Evolution Algorithm) یکی از الگوریتم های بهینه سازی مبتنی بر جمعیت است که در حل مسائل پیچیده و غیرخطی بسیار کارآمد می باشد. این الگوریتم با الهام از [...]

  • فیلتر هودریک پرسکات (HP) چیست؟ راهنمای کامل
فیلتر هودریک پرسکات (HP) چیست؟ راهنمای کامل

نوامبر 26, 2024|بدون دیدگاه

چکیده مقاله: فیلتر هودریک پرسکات (Hodrick-Prescott Filter) یک ابزار آماری و اقتصادی است که برای جداسازی روند بلندمدت از نوسانات کوتاه مدت در داده های سری زمانی به کار می رود. این فیلتر، به [...]