التقريب الطبيعي
عندما تحتوي تجربة ذات حدين على تجارب مستقلة كثيرة، يصبح الاحتمال الدقيق لعدد معيّن من النجاحات مكلفًا كتابته يدويًا ومتعذرًا البحث عنه في جدول مطبوع.
شغّل الأداة مجانًا
المخرج الكلاسيكي هو التقريب الطبيعي لتوزيع ذي الحدين: يُستبدل X ~ Binomial(n, p) بمنحنى طبيعي يشارك المتوسط نفسه np والتباين نفسه np(1-p)، ثم تُقرأ المساحة تحت ذلك المنحنى. تأخذ هذه الحاسبة عدد تجارب صحيحًا موجبًا، واحتمال نجاح محصورًا بصرامة بين الصفر والواحد، وعدد نجاحات مستهدفًا؛ وتطبّق تصحيح استمرارية ييتس الذي يحوّل عدًّا متقطعًا إلى فترة نصف وحدة، وتعيد الاحتمال التقريبي مع المتوسط والانحراف المعياري ودرجتي z المصححتين للاستمرارية. يُرفض عدد التجارب غير الموجب أو غير الصحيح بـ invalid_input بدل NaN صامت. تشغّل الدالة النقية نفسها نموذج المتصفح المجاني ومسار API المدفوع مسبقًا، فلا تختلف مفاتيح الواجبات ونصوص الإنتاج على الثلاثية نفسها. تستخدم طلبات API الناجحة الأساس المنشور $0.002 لكل عنصر؛ والتحقق الفاشل لا يُحاسب.
طريقة الاستخدام
أدخل القيم في النموذج أعلاه. تتحقق الأداة منها قبل الحساب ثم تعرض النتيجة في الصفحة نفسها.
راجع بياناتك
اتبع التسميات والوحدات الموضحة بجانب كل حقل. إذا كانت قيمة مفقودة أو خارج النطاق، توضح الصفحة الحقل الذي يحتاج إلى تصحيح.
أعد الحساب أو نفّذه آليًا
استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.
حالات الاستخدام
احصل على النتيجة الآن
أدخل مجموعة من القيم وشاهد النتيجة من دون إعداد جدول بيانات أو برنامج نصي.
قارن السيناريوهات
غيّر قيمة واحدة في كل مرة وأعد الحساب لمعرفة ما الذي يؤثر في النتيجة.
أتمت العمل المتكرر
استخدم الواجهة البرمجية عندما تحتاج إلى تشغيل الحساب نفسه داخل منتجك أو سير عملك.
الأسئلة الشائعة
كيف يعمل التقريب الطبيعي لتوزيع ذي الحدين؟
يُعامل X ~ Binomial(n, p) على أنه Y ~ N(np, np(1-p)). مع تصحيح الاستمرارية، P(X=k) ≈ Φ((k+0.5−μ)/σ) − Φ((k−0.5−μ)/σ). قيم tail الاختيارية تنتقل إلى متباينات يسرى أو يمنى.
ماذا يحدث إن لم يكن trials عددًا صحيحًا موجبًا؟
يفشل الطلب بـ invalid_input. تحتاج تجربة ذي الحدين عدد تجارب صحيحًا موجبًا؛ يُرفض الصفر والسالب وغير الصحيح ولا يُحاسب.
متى يُعدّ التقريب الطبيعي دقيقًا بما يكفي؟
قاعدة عملية شائعة هي np ≥ 5 وn(1-p) ≥ 5. تتضمن الاستجابة rule_of_thumb_ok لذلك الفحص. يُعاد الاحتمال حتى عندما يكون العلم خاطئًا.
لماذا يُطبَّق تصحيح استمرارية؟
توزيع ذي الحدين متقطع والطبيعي مستمر. نشر العدد الصحيح k على [k−0.5, k+0.5] يمنع انهيار احتمال نقطي إلى خط مساحة صفر.
كم تكلفة حاسبة التقريب الطبيعي؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ والمدخل غير الصالح لا يُحاسب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/stat/normal-approximation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"trials":100,"p":0.5,"successes":50}'const res = await fetch("https://api.kit.forhosting.com/stat/normal-approximation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"trials": 100,
"p": 0.5,
"successes": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/normal-approximation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"trials": 100,
"p": 0.5,
"successes": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/normal-approximation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"trials":100,"p":0.5,"successes":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"trials":100,"p":0.5,"successes":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/normal-approximation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"trials": 100,
"p": 0.5,
"successes": 50
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.normal_approximation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_trials | 10000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |