Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

kolmogorovSmirnovTest

kolmogorovSmirnovTest

أُضيف في: v23.4.0

يُطبِّق اختبار Kolmogorov-Smirnov على عينات من مجتمعين إحصائيين.

توجد قيم كلتا العينتين في العمود sample_data. إذا كانت قيمة sample_index تساوي 0، فإن القيمة في ذلك الصف تنتمي إلى العينة المأخوذة من المجتمع الأول. وإلا، فإنها تنتمي إلى العينة المأخوذة من المجتمع الثاني. يجب أن تنتمي العينات إلى توزيعات احتمالية متصلة أحادية البعد.

الصياغة

kolmogorovSmirnovTest([alternative, computation_method])(sample_data, sample_index)

المعلمات

  • alternative — الفرضية البديلة. (اختياري، القيمة الافتراضية: 'two-sided'.) لتكن F(x) and G(x) دالتي التوزيع التراكمي (CDF) للتوزيعين الأول والثاني على التوالي. 'two-sided': الفرضية الصفرية هي أن العينات تأتي من التوزيع نفسه، أي F(x) = G(x) لكل x. أما الفرضية البديلة فهي أن التوزيعين غير متماثلين. 'greater': الفرضية الصفرية هي أن القيم في العينة الأولى أصغر احتماليًا من القيم في العينة الثانية، أي إن دالة التوزيع التراكمي للتوزيع الأول تقع أعلى، وبالتالي إلى يسار، دالة التوزيع التراكمي للتوزيع الثاني. وهذا يعني فعليًا أن F(x) >= G(x) لكل x. أما الفرضية البديلة في هذه الحالة فهي أن F(x) < G(x) لقيمة واحدة على الأقل من x. 'less': الفرضية الصفرية هي أن القيم في العينة الأولى أكبر احتماليًا من القيم في العينة الثانية، أي إن دالة التوزيع التراكمي للتوزيع الأول تقع أسفل، وبالتالي إلى يمين، دالة التوزيع التراكمي للتوزيع الثاني. وهذا يعني فعليًا أن F(x) <= G(x) لكل x. أما الفرضية البديلة في هذه الحالة فهي أن F(x) > G(x) لقيمة واحدة على الأقل من x. String
  • computation_method — الطريقة المستخدمة لحساب قيمة p. (اختياري، القيمة الافتراضية: 'auto'.) 'exact': يُجرى الحساب باستخدام التوزيع الاحتمالي الدقيق لإحصاءات الاختبار. يتطلب موارد حوسبة كبيرة ويكون غير عملي إلا للعينات الصغيرة. 'asymp' ('asymptotic'): يُجرى الحساب باستخدام تقريب. بالنسبة إلى أحجام العينات الكبيرة، تكون قيم p الدقيقة والتقريبية متقاربة جدًا. 'auto': تُستخدم الطريقة 'exact' عندما يكون الحد الأقصى لعدد العينات أقل من 10'000. String

الوسائط

القيمة المعادة

تعيد الدالة قيمة Tuple تتكون من عنصرين: إحصائية محسوبة وقيمة p محسوبة. Tuple(Float64, Float64)

أمثلة

اختبار التوزيع نفسه

SELECT kolmogorovSmirnovTest('less', 'exact')(value, num)
FROM
(
    SELECT
        randNormal(0, 10) AS value,
        0 AS num
    FROM numbers(10000)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(10000)
)
┌─kolmogorovSmirnovTest('less', 'exact')(value, num)─┐
│ (0.009899999999999996,0.37528595205132287)         │
└────────────────────────────────────────────────────┘

اختبار اختلاف التوزيعات

SELECT kolmogorovSmirnovTest('two-sided', 'exact')(value, num)
FROM
(
    SELECT
        randStudentT(10) AS value,
        0 AS num
    FROM numbers(100)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(100)
)
┌─kolmogorovSmirnovTest('two-sided', 'exact')(value, num)─┐
│ (0.4100000000000002,6.61735760482795e-8)                │
└─────────────────────────────────────────────────────────┘

انظر أيضًا

Navigation