حاسبة تباعد كولباك لايبلر للتوزيعات الاحتمالية
تقيس هذه الحاسبة مقدار اختلاف توزيع احتمالي متقطع عن توزيع مرجعي باستخدام تباعد كولباك لايبلر.
شغّل الأداة مجانًا
أدخلوا مصفوفتين متساويتين في الطول، ومجموع احتمالات كل منهما يساوي واحدًا، لتحصلوا على التباعد الموجّه بوحدة nats. الحساب حتمي ويستخدم اللوغاريتم الطبيعي ويتعامل بطريقة صحيحة مع الأصفار في التوزيع الأول. كما تتحقق الأداة من اختلاف الأطوال والمجاميع غير الصحيحة والقيم السالبة والاحتمالات المرجعية الصفرية، بدلًا من عرض نتيجة لانهائية أو غير معرّفة بصورة مضللة.
افهموا ما يقيسه تباعد KL
يقارن تباعد كولباك لايبلر التوزيع P بالتوزيع المرجعي Q عبر النسبة اللوغاريتمية بين الاحتمالات المتناظرة. وهو يجيب عن سؤال موجّه: ما مقدار المعلومات المفقودة عند استخدام Q لتمثيل نتائج تتبع P فعليًا؟ تعني النتيجة الصفرية أن التوزيعين متطابقان في كل موضع، وتشير القيمة الموجبة الأكبر إلى اختلاف أشد. للاتجاه أهمية لأن تبديل P وQ يغيّر النتيجة في الغالب. تحسب هذه الأداة D(P || Q)، فتكون المصفوفة الأولى هي التوزيع الخاضع للتقييم والثانية هي المرجع. وهي تستخدم اللوغاريتم الطبيعي، لذلك تظهر النتيجة بوحدة nats لا bits. لا يُعد تباعد KL مسافة مترية، لأنه غير متناظر ولا يحقق متباينة المثلث. وهذه الخصائص تجعله مفيدًا في نظرية المعلومات والاستدلال الإحصائي وملاءمة النماذج والمقارنات التي يكون فيها دور المرجع واضحًا.
أعدّوا مصفوفات احتمالية صحيحة
أدخلوا العدد نفسه من الاحتمالات في المصفوفتين وحافظوا على ترتيب النتائج. فإذا كان الموضع الأول يمثل المطر في P، وجب أن يمثل المطر أيضًا في Q. يجب أن تكون كل قيمة محدودة وغير سالبة، وأن يساوي مجموع كل مصفوفة كاملة واحدًا. تسمح الأداة بهامش ضئيل لمعالجة تمثيل الفاصلة العائمة، لكنها لا تطبّع الأوزان الاعتباطية تلقائيًا. لذلك طبّعوا الأعداد أو الدرجات قبل الإرسال. الصفر في P مقبول لأن الحدث المستحيل يساهم بصفر في المجموع. أما أي صفر في المرجع فيُرفض، لأنه يجعل النسبة اللوغاريتمية غير متاحة عندما تكون قيمة P المناظرة موجبة، وقد يعني تباعدًا لانهائيًا. يساعد هذا التحقق الصارم أيضًا على كشف الفئات المزاحة والمصفوفات المبتورة والنسب المئوية المكتوبة كأعداد صحيحة ومجموعات التسميات غير المتوافقة.
فسّروا النتيجة واستخدموها بعناية
تتضمن الاستجابة قيمة التباعد والوحدة nats. تشير القيم القريبة من الصفر إلى أن Q يمثل P جيدًا، لكن لا توجد عتبة عامة تفصل بين النموذج الجيد والسيئ. تعتمد أهمية القيمة على عدد الفئات والتطبيق وطريقة أخذ العينات وتكلفة الأخطاء. قارنوا النتائج التي تستخدم تعريفات الفئات والاتجاه نفسيهما. يمكنكم تتبع التباعد بين إصدارات النماذج، أو مقارنة التوزيع الحديث بخط أساس معتمد، أو عرضه مع مقاييس أخرى وتقديرات عدم اليقين. لا تفسروا النتيجة على أنها احتمال أو نسبة مئوية أو ارتباط أو مسافة متناظرة. وقد تنشأ قيمة تباعد بسبب ضوضاء العينة حتى بين عينتين من العملية الأساسية نفسها. يناسب المتصفح عمليات التحقق الفردية، بينما تبلغ تكلفة طلب API مقدار $0.002 ويدعم الأتمتة القابلة للتكرار. وبما أن الخوارزمية حتمية، تنتج المدخلات الصحيحة المتطابقة نتيجة JSON مدوّرة متطابقة.
حالات الاستخدام
مراقبة انحراف التوزيع
قارنوا توزيعًا فئويًا حاليًا بمرجع ذي احتمالات موجبة لقياس التغير الموجّه بمرور الوقت.
تقييم النماذج الاحتمالية
قيسوا اختلاف مرجع النموذج عن توزيع مرصود أو مستهدف باستخدام كمية معلوماتية معيارية.
فحص افتراضات الضغط
قدّروا عقوبة المعلومات الناتجة عن تمثيل النتائج باحتمالات تختلف عن احتمالات المصدر.
الأسئلة الشائعة
ما الاتجاه الذي تستخدمه الحاسبة؟
تحسب الأداة D(P || Q) من التوزيع الأول إلى التوزيع الثاني المرجعي. وقد يؤدي عكس المصفوفتين إلى قيمة مختلفة.
لماذا تُعرض النتيجة بوحدة nats؟
تستخدم الصيغة اللوغاريتم الطبيعي. ولو استُخدم لوغاريتم للأساس اثنين لظهرت النتيجة بوحدة bits.
هل يمكن أن يحتوي التوزيع الأول على صفر؟
نعم. وفق قاعدة النهاية المعتادة، يساهم الاحتمال الصفري في P بصفر في قيمة التباعد.
لماذا تُرفض احتمالات المرجع الصفرية؟
يجعل الصفر في Q النسبة اللوغاريتمية غير معرّفة عندما تكون قيمة P المناظرة موجبة، وقد ينتج تباعد لانهائي.
هل يجب أن يساوي مجموع الاحتمالات واحدًا تمامًا؟
يجب أن يساوي واحدًا ضمن هامش عددي صغير. تتحقق الحاسبة من القيم، لكنها لا تطبّع الأوزان تلقائيًا.
ما تكلفة عملية حساب عبر API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكنكم أيضًا إجراء الحساب مجانًا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/stat/kl-divergence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"distribution":[0.5,0.3,0.2],"reference":[0.4,0.4,0.2]}'const res = await fetch("https://api.kit.forhosting.com/stat/kl-divergence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"distribution": [
0.5,
0.3,
0.2
],
"reference": [
0.4,
0.4,
0.2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/kl-divergence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"distribution": [
0.5,
0.3,
0.2
],
"reference": [
0.4,
0.4,
0.2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/kl-divergence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"distribution":[0.5,0.3,0.2],"reference":[0.4,0.4,0.2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"distribution":[0.5,0.3,0.2],"reference":[0.4,0.4,0.2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/kl-divergence", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"distribution": [
0.5,
0.3,
0.2
],
"reference": [
0.4,
0.4,
0.2
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.kl_divergence",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |