آزمون کولموگروف اسميرنف چیست؟
- آزمون کولموگروف اسمیرنوف (Kolmogorov-Smirnov Test) چیست؟
- ویژگی های آزمون کولموگروف اسمیرنف
- فرمول آزمون کولموگروف اسمیرنف
- تفاوت بین آزمون کولموگروف اسمیرنف تک نمونه ای و دو نمونه ای چیست؟
- توزیع کولموگروف و آزمون برازش
- چگونه توزیع کولموگروف ایجاد می شود؟
- نحوه اجرای آزمون کولموگروف اسمیرنف در SPSS
- آیا آزمون کولموگروف اسمیرنف می تواند برای پایش تغییرات مدل در طول زمان استفاده شود؟
- در چه مواردی آزمون کولموگروف اسمیرنف به شاخص پایداری جمعیت، واگرایی KL و واگرایی JS ترجیح داده می شود؟
چکیده مقاله:
آزمون کولموگروف اسمیرنف (Kolmogorov-Smirnov Test) یکی از آزمون های مهم و پرکاربرد در آمار است که برای بررسی همگونی یک توزیع تجربی با یک توزیع نظری مشخص یا مقایسه دو توزیع تجربی به کار می رود. این آزمون مبتنی بر مقایسه بیشترین تفاوت مطلق میان توزیع تجربی و توزیع نظری یا دو توزیع تجربی است و به صورت غیرپارامتریک عمل می کند. این ویژگی آن را برای تحلیل داده هایی که از پیش فرض های خاصی همچون نرمال بودن یا همسانی واریانس پیروی نمی کنند، بسیار مناسب می سازد. در نتیجه، آزمون کولموگروف-اسمیرنوف در حوزه های گوناگونی از جمله علوم آماری، اقتصاد، مهندسی و علوم اجتماعی بطور گسترده مورد استفاده قرار میگیرد.
کاربرد اصلی این آزمون، ارزیابی نیکویی برازش یک توزیع دادهها به یک مدل نظری است. برای مثال، در تحلیل های آماری اغلب این سؤال مطرح می شود که آیا داده های نمونه از توزیع نرمال یا توزیع خاص دیگری پیروی می کنند یا خیر. آزمون کولموگروف-اسمیرنوف به دلیل سادگی در محاسبه و تفسیر، ابزاری قدرتمند برای پاسخ به این سؤال فراهم میکند. این آزمون همچنین میتواند در تحلیل مقایسه ای، برای بررسی تفاوت بین دو مجموعه داده یا دو گروه مورد مطالعه، مورد استفاده قرار گیرد. مزیت دیگر این آزمون، کاربرد آن برای داده هایی با توزیع نامعلوم است که آن را به یکی از ابزارهای اساسی در تحلیل آماری تبدیل کرده است.
آزمون کولموگروف اسمیرنوف (Kolmogorov-Smirnov Test) چیست؟
آزمون کولموگروف اسمیرنف (Kolmogorov-Smirnov Test) که با نام اختصاری KS Test یا K-S Test شناخته می شود، یک آزمون آماری غیرپارامتری است که برای مقایسه دو توزیع استفاده می شود. هدف از این آزمون، تعیین این موضوع است که آیا دو توزیع مورد مقایسه از یک توزیع زیربنایی مشابه گرفته شده اند یا خیر.
در کاربردهای معمول یادگیری ماشین، دو توزیع (A و B) برای مقایسه مورد استفاده قرار می گیرند. برای مثال، توزیع A می تواند مربوط به یک ویژگی مانند مانده حساب در داده های آموزش مدل باشد و توزیع B همان ویژگی در بازه زمانی مشخصی از داده های تولید (مانند داده های روزانه یا ساعتی) باشد. به عنوان یک سازنده مدل، شما می خواهید بدانید که آیا مدل اجرا شده با داده هایی استفاده می شود که با داده های آموزش متفاوت هستند یا خیر. آزمون کولموگروف اسمیرنف ابزاری برای مقایسه این توزیع ها است.
ویژگی های آزمون کولموگروف اسمیرنف
- غیرپارامتری بودن: این آزمون نیازی به فرض توزیع خاصی (مانند نرمال یا دو جمله ای) ندارد و برای هر نوع توزیعی قابل استفاده است.
- محدودیت ها: آزمون K-S فقط برای متغیرهای عددی (مانند اعداد صحیح یا اعشاری) قابل استفاده است و برای متغیرهای دسته بندی (Categorical) مناسب نمی باشد.
فرمول آزمون کولموگروف اسمیرنف
آمار آزمون کولموگروف اسمیرنف به صورت حداکثر تفاوت بین توزیع تجمعی دو مجموعه داده (CDF) تعریف می شود. در تنظیمات یادگیری ماشین، این توزیع تجمعی ها اغلب به صورت تجربی از نمونه داده ها به دست می آیند و به آنها eCDF گفته می شود.
داده هایی که برای یک متغیر یا ویژگی در آموزش یا تولید جمع آوری می کنید ممکن است شبیه توزیع های بالا باشد. یک CDF تجربی با مرتب کردن داده ها بر اساس مقدار و ایجاد یک نمودار تکه تکه ایجاد می شود.
کد ساده برای محاسبه توزیع تجمعی (CDF) در پایتون
برای محاسبه توزیع تجمعی تجربی، داده ها بر اساس مقدار مرتب شده و یک نمودار پله ای ایجاد می شود. در ادامه، کدی ساده برای این کار ارائه شده است:
CDF یک جمع تجمعی گام به گام در امتداد محدوده متغیر داده ایجاد می کند.
در مثال بالا، می توان eCDF موجودی حساب ویژگی از تولید را در مقایسه با موجودی حساب eCDF از آموزش مشاهده کرد. eCDF تکه ای آبی داده های آموزشی است در حالی که خط سیاه داده های تولید است. فلش قرمز نشان دهنده آمار آزمون K-S، حداکثر تفاوت بین eCDF ها است.
تفاوت بین آزمون کولموگروف اسمیرنف تک نمونه ای و دو نمونه ای چیست؟
آزمون کولموگروف اسمیرنف دو نوع دارد: آزمون تک نمونه ای و آزمون دو نمونه ای (این دو نباید با یک طرفه و دو طرفه اشتباه گرفته شوند). مثال های قبلی مربوط به آزمون دو نمونه ای است که در آن هر دو توزیع تجربی هستند و از داده های واقعی گرفته شده اند.
- آزمون دو نمونه ای: eCDF توزیع A با eCDF توزیع B مقایسه می شود.
- آزمون تک نمونه ای: eCDF توزیع A با CDF توزیع B مقایسه می شود.
آزمون تک نمونه ای تقریبا هرگز در یادگیری ماشین تولیدی استفاده نمی شود. این نوع آزمون زمانی به کار می رود که بخواهید یک نمونه تجربی را با یک توزیع نظری پارامتری مقایسه کنید. برای مثال، ممکن است بخواهید بررسی کنید که آیا توزیع مانده حساب در داده های آموزشی (توزیع A) به صورت نرمال توزیع شده است (توزیع B).
توزیع کولموگروف و آزمون برازش
آمار آزمون کولموگروف اسمیرنف، که از حداکثر تفاوت بین دو eCDF به دست می آید، فقط یک نمونه را نشان می دهد. توزیع کولموگروف، توزیع مقادیر آماره آزمون K-S است که در صورت گرفتن تعداد زیادی نمونه از یک توزیع واحد، به دست می آید.
چگونه توزیع کولموگروف ایجاد می شود؟
برای ایجاد این توزیع:
- داده ها را به صورت بوت استرپ بازنمونه گیری کنید یا یک eCDF دیگر جمع آوری کنید.
- این فرآیند را 500 بار تکرار کنید تا 500 eCDF ایجاد شود.
- مقدار K-S را برای هر eCDF محاسبه کنید.
- تمام 500 مقدار K-S را به صورت یک توزیع نمایش دهید.
در بالا، توزیع K-S با اندازه های نمونه N به نظر می رسد، هر نمونه ای که گرفته شود، مقدار متفاوتی از K-S خواهد داشت. آندری کولموگروف در مقاله اصلی خود اشاره کرده است که توزیع مقادیر K-S از چندین نمونه، شکلی خاص به خود می گیرد که اکنون به نام توزیع کولموگروف شناخته می شود.
تحلیل توزیع کولموگروف
این توزیع دارای یک معادله با فرم بسته است که فقط به تعداد نمونه های استفاده شده در تولید eCDF وابسته است. توزیع کولموگروف متفاوت از توزیع گوسی است، اما برخی از مفاهیم مشابه مانند p-value را می توان بر آن اعمال کرد.
در پایتون، مقدار p-value در تابع ks_2samp
احتمال مشاهده مقدار آماره آزمون K-S را (با فرض توزیع به صورت کولموگروف) تعیین می کند. این آزمون به عنوان آزمون برازش شناخته می شود.
برای ملموس تر کردن این موضوع، می توانید چند مثال زیر را اجرا کنید (کد):
نحوه اجرای آزمون کولموگروف اسمیرنف در SPSS
برای اجرای آزمون کولموگروف اسمیرنف (KS Test) در نرم افزار SPSS، مراحل زیر را دنبال کنید:
- رفتن به منوی تحلیل
از منوی اصلی SPSS، مسیر Analyze → Descriptive Statistics → Explore را انتخاب کنید. - انتقال متغیرها به لیست وابسته
متغیرهایی که می خواهید از نظر نرمال بودن بررسی کنید را به کادر Dependent List منتقل کنید. - اختیاری: بررسی وجود داده های پرت
اگر می خواهید داده های پرت را بررسی کنید، روی گزینه Statistics کلیک کرده و علامت چک کنار گزینه Outliers را فعال کنید. - تنظیم نمودارها
روی Plots کلیک کنید و علامت چک کنار گزینه Histogram و گزینه Normality Plots with tests را فعال کنید. سپس روی Continue کلیک کنید. - تنظیم نحوه مدیریت مقادیر گم شده
روی Options کلیک کنید و مشخص کنید که چگونه مقادیر گم شده مدیریت شوند:- Exclude cases listwise: مواردی که مقادیر گم شده دارند به طور کامل حذف شوند.
- Exclude cases pairwise: میانگین هر متغیر با استفاده از تمام پاسخ های غیر گم شده برای همان متغیر محاسبه شود.
- Report values: این گزینه فقط بر تجزیه و تحلیل متغیرهای عاملی تأثیر می گذارد.
سپس روی Continue کلیک کنید.
- اجرای آزمون KS
روی OK کلیک کنید تا آزمون اجرا شود. - خواندن نتایج
نتایج آزمون را در بخش Tests of Normality بررسی کنید.- ستون Sig مقدار p-value را نمایش می دهد. اگر این مقدار کوچک باشد (مثلا کمتر از 0.05 برای سطح اطمینان 5%)، فرض صفر مبنی بر نرمال بودن داده ها رد می شود.
- مقادیر بزرگ p نشان دهنده نرمال بودن داده ها هستند.
SPSS به طور همزمان نتایج آزمون شاپیرو-ویلک (Shapiro-Wilk Test) را نیز ارائه می دهد. توجه داشته باشید:
- برای نمونه های بزرگ (n ≥ 50)، نتایج آزمون K-S را بررسی کنید.
- برای نمونه های کوچک (n < 50)، از نتایج شاپیرو-ویلک استفاده کنید.
- بررسی داده های پرت
بخش 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 انعطاف بیشتری در انواع ویژگی ها دارند، آزمون کولموگروف اسمیرنف همچنان برای بسیاری از کاربردها، به ویژه در یادگیری ماشین، مناسب است.
مدیر2024-12-08T21:44:23+03:30دسامبر 8, 2024|بدون دیدگاه
چکیده مقاله: الگوریتم فراابتکاری (Metaheuristic Algorithm) به عنوان یکی از ابزارهای قدرتمند در حل مسائل پیچیده و بهینه سازی مطرح هستند. این الگوریتم ها، برخلاف روش های کلاسیک و دقیق، نیازی به داشتن دانش [...]
مدیر2024-12-05T19:56:37+03:30دسامبر 5, 2024|بدون دیدگاه
چکیده مقاله: الگوریتم بهینه سازی فاخته (Cuckoo Optimization Algorithm یا COA) یکی از الگوریتم های فراابتکاری الهام گرفته از طبیعت است که برای حل مسائل بهینه سازی پیچیده توسعه یافته است. این الگوریتم از [...]
مدیر2024-12-03T16:14:25+03:30دسامبر 3, 2024|بدون دیدگاه
چکیده مقاله: الگوریتم جهش قورباغه (SFLA) یک الگوریتم بیونیکی فراابتکاری امیدبخش است که بر اساس تکامل پیچیده تصادفی و چارچوب بهینه سازی ازدحام ذرات (PSO) طراحی شده است. با این حال، این الگوریتم هنگام [...]
مدیر2024-12-01T18:49:34+03:30دسامبر 1, 2024|بدون دیدگاه
چکیده مقاله: الگوریتم تکاملی تفاضلی (Differential Evolution Algorithm) یکی از الگوریتم های بهینه سازی مبتنی بر جمعیت است که در حل مسائل پیچیده و غیرخطی بسیار کارآمد می باشد. این الگوریتم با الهام از [...]
مدیر2024-11-28T14:59:42+03:30نوامبر 28, 2024|بدون دیدگاه
چکیده مقاله: MATLAB یک محیط محاسبات عددی تجاری و یک زبان برنامه نویسی می باشد که یکی از ساده ترین و کارآمدترین محیط ها برای مهندسان و دانشمندان است و به طور کامل به [...]
مدیر2024-11-26T18:14:43+03:30نوامبر 26, 2024|بدون دیدگاه
چکیده مقاله: فیلتر هودریک پرسکات (Hodrick-Prescott Filter) یک ابزار آماری و اقتصادی است که برای جداسازی روند بلندمدت از نوسانات کوتاه مدت در داده های سری زمانی به کار می رود. این فیلتر، به [...]