Vai al contenuto
🛠️ToolsShed

Calcolatrice Distribuzione Binomiale

Calcola probabilità binomiali P(X=k), P(X≤k) e P(X≥k).

Informazioni sullo strumento

La Calcolatrice della Distribuzione Binomiale calcola le probabilità esatte di eventi discreti che hanno esattamente due risultati possibili. Questo strumento è essenziale per statistici, data scientist e chiunque lavori nel controllo di qualità, prove mediche o qualsiasi scenario che comporti esperimenti indipendenti ripetuti con probabilità di successo costante.

Per utilizzare questa calcolatrice, inserisci il numero di prove (n), la probabilità di successo in ogni prova (p tra 0 e 1) e il numero di successi che desideri analizzare (k). Lo strumento calcola istantaneamente tre probabilità fondamentali: la probabilità esatta di ottenere esattamente k successi, la probabilità cumulativa di ottenere k o meno successi e la probabilità di ottenere k o più successi. Questa flessibilità ti consente di rispondere sia a domande precise sia basate su intervalli riguardanti il tuo scenario binomiale.

La distribuzione binomiale si applica a innumerevoli situazioni del mondo reale: prevedere il numero di articoli difettosi in un lotto, determinare i tassi di guarigione dei pazienti negli studi medici, analizzare i tassi di conversione dei clienti o valutare la qualità della produzione. Comprendere queste probabilità ti aiuta a prendere decisioni consapevoli basate sui risultati attesi piuttosto che su supposizioni.

Domande Frequenti

Implementazione del Codice

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.