コンテンツへスキップ
🛠️ToolsShed

二項分布計算機

離散事象の二項確率P(X=k)、P(X≤k)、P(X≥k)を計算します。

このツールについて

二項分布計算機は、正確に2つの可能な結果を持つ離散事象の確率を計算します。この計算機は、統計学者、データ科学者、品質管理、医学試験、または一定の成功確率を持つ反復独立実験に関わるあらゆるシナリオに従事する人にとって不可欠です。

この計算機を使用するには、試行回数(n)、各試行での成功確率(p)、分析する成功回数(k)を入力してください。ツールは3つの主要な確率を即座に計算します。正確にk回成功する確率、k回以下成功する累積確率、k回以上成功する確率です。この柔軟性により、二項シナリオに関する正確な質問と範囲ベースの質問の両方に答えることができます。

二項分布は数え切れないほどの現実世界の状況に適用されます。不良品の数を予測する、医学研究での患者回復率を決定する、顧客コンバージョン率を分析する、または製造品質を評価するなど、これらの確率を理解することは、推測ではなく期待される結果に基づいて情報に基づいた決定を下すのに役立ちます。

よくある質問

コード実装

import math

def binomial_pmf(n: int, k: int, p: float) -> float:
    """P(X = k) for Binomial(n, p)"""
    log_c = math.lgamma(n + 1) - math.lgamma(k + 1) - math.lgamma(n - k + 1)
    log_p = k * math.log(p) + (n - k) * math.log(1 - p) if 0 < p < 1 else (0 if p == k / n else float('-inf'))
    return math.exp(log_c + log_p)

def binomial_cdf(n: int, k: int, p: float) -> float:
    """P(X <= k)"""
    return sum(binomial_pmf(n, i, p) for i in range(k + 1))

# Example: 10 coin flips, p=0.5, exactly 6 heads
n, k, p = 10, 6, 0.5
print(f"P(X = {k}) = {binomial_pmf(n, k, p):.4f}")
print(f"P(X ≤ {k}) = {binomial_cdf(n, k, p):.4f}")
print(f"P(X ≥ {k}) = {1 - binomial_cdf(n, k - 1, p):.4f}")
print(f"Mean = {n * p:.2f}, Std Dev = {(n * p * (1 - p)) ** 0.5:.2f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.