Start · Sprachen · PHP · Referenz · stats_dens_pmf_hypergeometric

stats_dens_pmf_hypergeometric

Funktion

Berechnet den Wert der Wahrscheinlichkeitsfunktion (PMF) der hypergeometrischen Verteilung für die gegebenen Parameter.

Kategorie: math

Signatur

stats_dens_pmf_hypergeometric(int $n1, int $n2, int $N1, int $N2): float

Beschreibung

Die Funktion stats_dens_pmf_hypergeometric() gehört zur PHP-Erweiterung stats und berechnet die Wahrscheinlichkeit, bei einer Ziehung ohne Zurücklegen aus einer endlichen Population genau n1 Treffer zu erzielen. Sie setzt die hypergeometrische Verteilung um, die in der Statistik häufig bei Qualitätsprüfungen, Losziehungen oder Stichprobenverfahren eingesetzt wird.

Die hypergeometrische Verteilung beschreibt die Wahrscheinlichkeit, dass in einer Stichprobe vom Umfang n1 + n2 aus einer Grundgesamtheit der Größe N1 + N2 genau n1 Elemente aus der Menge der N1 Erfolgsobjekte stammen. Anders als die Binomialverteilung arbeitet sie ohne Zurücklegen und ist somit für endliche Populationen geeignet.

Die Funktion steht nur zur Verfügung, wenn die PECL-Erweiterung stats installiert und geladen ist. Sie ist besonders nützlich bei statistischen Analysen, Simulationen und wissenschaftlichen Berechnungen, bei denen die exakte Wahrscheinlichkeit einzelner Stichprobenergebnisse benötigt wird.

Parameter

Name Typ Default Beschreibung
$n1 Pflicht int Anzahl der Treffer (Erfolge) in der Stichprobe — der Wert, für den die Wahrscheinlichkeit berechnet werden soll.
$n2 Pflicht int Anzahl der Nicht-Treffer (Misserfolge) in der Stichprobe; zusammen mit n1 ergibt sich der Stichprobenumfang.
$N1 Pflicht int Gesamtanzahl der Erfolgsobjekte (Treffer) in der Grundgesamtheit.
$N2 Pflicht int Gesamtanzahl der Nicht-Erfolgsobjekte (Nicht-Treffer) in der Grundgesamtheit; zusammen mit N1 ergibt sich die Größe der Grundgesamtheit.

Rückgabewert

Typ
float
Beschreibung
Gibt die Wahrscheinlichkeit zurück, dass in einer Stichprobe genau n1 Treffer auftreten. Der Rückgabewert liegt zwischen 0.0 und 1.0.

Beispiele

Wahrscheinlichkeit bei einer einfachen Qualitätsprüfung

<?php
// Grundgesamtheit: 50 Teile, davon 10 defekt (N1=10) und 40 einwandfrei (N2=40)
// Stichprobe: 5 Teile entnommen, davon sollen genau 2 defekt sein (n1=2, n2=3)
$wahrscheinlichkeit = stats_dens_pmf_hypergeometric(2, 3, 10, 40);
echo "P(X=2) = " . $wahrscheinlichkeit;
?>
P(X=2) = 0.20985

Vergleich mehrerer Treffer-Szenarien

<?php
// Grundgesamtheit: 20 Kugeln, 7 rote (N1=7), 13 blaue (N2=13)
// Stichprobe: 4 Kugeln (n1+n2=4)
for ($treffer = 0; $treffer <= 4; $treffer++) {
    $nicht_treffer = 4 - $treffer;
    $p = stats_dens_pmf_hypergeometric($treffer, $nicht_treffer, 7, 13);
    echo "P(X={$treffer}) = " . round($p, 5) . "\n";
}
?>
P(X=0) = 0.07254 P(X=1) = 0.27453 P(X=2) = 0.38152 P(X=3) = 0.22956 P(X=4) = 0.04886

// Wichtig · Fallstricke

Voraussetzung: Die Funktion ist nur verfügbar, wenn die PECL-Erweiterung stats installiert und aktiviert ist (extension=stats.so bzw. extension=stats.dll). Sie ist nicht Teil der PHP-Standardinstallation.

Es ist darauf zu achten, dass die Parameter sinnvoll gewählt werden: n1 darf nicht größer als N1 sein und n2 nicht größer als N2. Ungültige Parameterkombinationen können zu unerwarteten Ergebnissen oder Rückgabe von 0.0 führen. Negative Werte sind nicht zulässig.

Die Summe aller Wahrscheinlichkeiten über alle möglichen Treffer-Werte sollte theoretisch 1.0 ergeben — numerische Ungenauigkeiten durch Gleitkommarechnung können jedoch minimale Abweichungen verursachen.