حاسبة اختبار بارتليت لمقارنة التباينات بين المجموعات
يقارن اختبار بارتليت تباينات مجموعتين مستقلتين أو أكثر، ويعيد إحصائية كاي تربيع مع قيمة p.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
أدخل كل مجموعة في مصفوفة رقمية منفصلة، فتحصل على المتوسطات، وتباينات العينات غير المتحيزة، والتباين المجمع، ودرجات الحرية، وإحصائية بارتليت المصححة. صُممت هذه الطريقة للبيانات المتوافقة بصورة معقولة مع التوزيعات الطبيعية، وهي مفيدة قبل تطبيق إجراءات يتوقف تفسيرها على افتراض تساوي التباينات، مع إظهار الكميات الوسيطة للمراجعة.
جهّز مجموعات تمثل عينات مستقلة
أنشئ مجموعة لكل مجتمع أو معالجة أو عملية أو حالة تريد مقارنة تباينها. يجب أن تتضمن كل مجموعة ملاحظتين رقميتين منتهيتين على الأقل، إذ لا يمكن تقدير تباين عينة من قيمة واحدة. التسميات اختيارية، لكن الأسماء الواضحة تسهّل تدقيق الملخصات الناتجة. لا تعامل القياسات المتكررة للشخص نفسه بوصفها ملاحظات مستقلة، ولا تقسّم عينة واحدة لمجرد زيادة عدد المجموعات. يختبر بارتليت تساوي تباينات المجتمعات ولا يختبر تساوي المتوسطات. راجع الوحدات وقواعد جمع البيانات قبل الإرسال؛ فمقارنة قياسات بالسنتيمتر مع أخرى بالمليمتر تُحدث فرقاً سببه المقياس لا العملية الأساسية. تستخدم الحاسبة جميع الملاحظات، وتحسب المتوسط الحسابي والتباين غير المتحيز بمقام يساوي n ناقص واحد. تُرفض القيم المفقودة أو النصية أو اللانهائية أو غير الرقمية بدلاً من حذفها بصمت، وبذلك تطابق أحجام العينات المصفوفات المدخلة. وتُرفض أيضاً المجموعة التي تتطابق كل قيمها لأن تباينها الصفري يجعل اللوغاريتم الوارد في صيغة بارتليت غير معرّف.
افهم الإحصائية وقيمة p
يجمع الحساب أولاً مجاميع المربعات داخل المجموعات، مع ترجيح تباين كل عينة بدرجات حريتها. ثم يقارن لوغاريتم التباين المجمع باللوغاريتمات المرجحة للتباينات الفردية. وينتج عامل تصحيح يراعي عدد المجموعات وأحجامها إحصائية بارتليت. في ظل الفرضية الصفرية القائلة إن تباينات المجتمعات كلها متساوية، ومع افتراض طبيعية الملاحظات، تتبع هذه الإحصائية تقريباً توزيع كاي تربيع بدرجات حرية تقل بواحد عن عدد المجموعات. قيمة p هي احتمال الطرف العلوي للحصول على إحصائية لا تقل عن القيمة المحسوبة إذا صحت الفرضية الصفرية. تقدم القيمة الصغيرة دليلاً ضد تساوي التباينات، لكنها ليست احتمال صحة الفرضية الصفرية ولا تقيس الأهمية العملية للفرق. حدّد مستوى الدلالة قبل الاطلاع على النتيجة، ثم قارنه بقيمة p. وراجع أيضاً التباينات وأحجام العينات المعادة، فهي توضح المجموعات المختلفة وتساعد على التمييز بين فرق مهم عملياً ونتيجة ظهرت بفضل كمية كبيرة من البيانات.
راعِ الطبيعية واعرض النتيجة بوضوح
يتمتع اختبار بارتليت بقوة جيدة عندما تتبع الملاحظات داخل كل مجموعة توزيعاً طبيعياً، لكنه حساس للالتواء والذيول الثقيلة والقيم المتطرفة. لذلك قد تعكس النتيجة الدالة شكلاً غير طبيعي بدلاً من فرق حقيقي في تباينات المجتمعات. افحص الرسوم البيانية والمعرفة التخصصية وتشخيصات الطبيعية المناسبة قبل الاعتماد على الاختبار. عندما تكون الطبيعية موضع شك، فكّر في اختبار أكثر متانة مثل Levene أو صيغة Brown–Forsythe. لا يغني أي تشخيص آلي عن فهم كيفية جمع العينة. اذكر في التقرير عدد المجموعات وأحجامها وإحصائية بارتليت ودرجات الحرية وقيمة p ومستوى الدلالة المختار والاستنتاج ضمن سياقه. لا تقل إن تساوي التباينات قد ثبت إذا لم تكن النتيجة دالة؛ فقد تفتقر البيانات إلى الدقة اللازمة لكشف الفرق. قل بدلاً من ذلك إن الاختبار لم يجد دليلاً كافياً على اختلاف التباينات. تنفذ API الحساب الحتمي نفسه في كل طلب بلا اتصال شبكي أو عشوائية، مقابل $0.002 لكل طلب. احتفظ بالملاحظات الأصلية وخطة التحليل مع النتيجة ليتمكن محلل آخر من إعادة الحساب والتفسير.
حالات الاستخدام
فحص افتراض في ANOVA
قارن التشتت بين مجموعات المعالجة قبل تفسير تحليل تباين تقليدي يفترض تجانس التباينات.
مقارنة استقرار العمليات
اختبر ما إذا كانت خطوط إنتاج ذات بيانات طبيعية تُظهر دليلاً على اختلاف تقلب العمليات.
تدقيق دقة المختبر
قيّم تساوي التباينات بين الأجهزة أو المواقع أو الظروف المضبوطة مع الاحتفاظ بملخصات المجموعات.
الأسئلة الشائعة
ما الفرضية الصفرية؟
تنص على أن جميع المجتمعات الممثلة لها التباين نفسه، بينما تفترض الفرضية البديلة اختلاف تباين واحد على الأقل.
كم ملاحظة تحتاج إليها كل مجموعة؟
تحتاج كل مجموعة إلى ملاحظتين رقميتين منتهيتين على الأقل، وعادةً ما تمنح الملاحظات الأكثر تقديراً أوثق للتباين.
لماذا تُرفض المجموعات الثابتة؟
تباين العينة الثابتة يساوي صفراً، وصيغة بارتليت تتضمن لوغاريتم كل تباين، لذلك تصبح غير معرّفة.
هل تثبت قيمة p الكبيرة تساوي التباينات؟
لا، بل تعني عدم وجود دليل كافٍ ضد التساوي؛ وقد تخفي العينات الصغيرة فروقاً حقيقية.
متى ينبغي تجنب اختبار بارتليت؟
توخَّ الحذر مع الالتواء الواضح أو الذيول الثقيلة أو القيم المتطرفة، فقد يكون Levene أو Brown–Forsythe أنسب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/stat/bartlett-test \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"groups":[{"name":"Control","values":[10,12,9,11,13]},{"name":"Treatment A","values":[8,14,10,12,11]},{"name":"Treatment B","values":[9,15,7,13,10]}]}'const res = await fetch("https://api.kit.forhosting.com/stat/bartlett-test", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"groups": [
{
"name": "Control",
"values": [
10,
12,
9,
11,
13
]
},
{
"name": "Treatment A",
"values": [
8,
14,
10,
12,
11
]
},
{
"name": "Treatment B",
"values": [
9,
15,
7,
13,
10
]
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/bartlett-test",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"groups": [
{
"name": "Control",
"values": [
10,
12,
9,
11,
13
]
},
{
"name": "Treatment A",
"values": [
8,
14,
10,
12,
11
]
},
{
"name": "Treatment B",
"values": [
9,
15,
7,
13,
10
]
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/bartlett-test", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"groups":[{"name":"Control","values":[10,12,9,11,13]},{"name":"Treatment A","values":[8,14,10,12,11]},{"name":"Treatment B","values":[9,15,7,13,10]}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"groups":[{"name":"Control","values":[10,12,9,11,13]},{"name":"Treatment A","values":[8,14,10,12,11]},{"name":"Treatment B","values":[9,15,7,13,10]}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/bartlett-test", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"groups": [
{
"name": "Control",
"values": [
10,
12,
9,
11,
13
]
},
{
"name": "Treatment A",
"values": [
8,
14,
10,
12,
11
]
},
{
"name": "Treatment B",
"values": [
9,
15,
7,
13,
10
]
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.bartlett_test",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_groups | 100 |
max_values_per_group | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |