Signatur
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
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;
?>
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";
}
?>
// 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.