Start · Sprachen · PHP · Referenz · stats_cdf_weibull

stats_cdf_weibull

Funktion

Berechnet einen fehlenden Parameter der Weibull-Verteilung (CDF, Quantil oder Verteilungsparameter) aus den übrigen drei bekannten Parametern.

Kategorie: math

Signatur

stats_cdf_weibull(float $par1, float $par2, float $par3, int $which): float

Beschreibung

stats_cdf_weibull() ist Teil der PECL-Erweiterung stats und arbeitet mit der kumulativen Verteilungsfunktion (CDF) der Weibull-Verteilung — einer in der Zuverlässigkeitsanalyse, Lebensdauermodellierung und Extremwertstatistik weit verbreiteten Verteilung.

Die Funktion erwartet vier Parameter: den Wert x der Zufallsvariablen, den Formparameter (shape > 0), den Skalenparameter (scale > 0) sowie den Indikator $which, der angibt, welcher der vier Werte berechnet werden soll. Die drei bekannten Werte werden übergeben, der zu berechnende Wert kann als 0 oder einen beliebigen Platzhalter angegeben werden.

Je nach $which-Wert berechnet die Funktion:

  • $which = 1: Die kumulative Wahrscheinlichkeit P(X ≤ x) (CDF-Wert)
  • $which = 2: Den Quantilwert x für eine gegebene Wahrscheinlichkeit
  • $which = 3: Den Formparameter (shape)
  • $which = 4: Den Skalenparameter (scale)

Diese Funktion eignet sich besonders für Ingenieure und Datenwissenschaftler, die Ausfallwahrscheinlichkeiten, Wartungsintervalle oder Überlebenszeiten modellieren möchten.

Parameter

Name Typ Default Beschreibung
$par1 Pflicht float Der Wert x der Zufallsvariablen (bei $which = 1) oder die kumulative Wahrscheinlichkeit P (bei $which = 2, 3, 4). Muss ≥ 0 sein, wenn er als Quantil übergeben wird.
$par2 Pflicht float Der Formparameter (shape, k) der Weibull-Verteilung oder der zu berechnende Platzhalter, wenn $which = 3. Muss > 0 sein.
$par3 Pflicht float Der Skalenparameter (scale, λ) der Weibull-Verteilung oder der zu berechnende Platzhalter, wenn $which = 4. Muss > 0 sein.
$which Pflicht int Gibt an, welcher Parameter berechnet werden soll: 1 = CDF-Wert (Wahrscheinlichkeit), 2 = Quantilwert x, 3 = Formparameter, 4 = Skalenparameter.

Rückgabewert

Typ
float
Beschreibung
Gibt den berechneten Parameter als Gleitkommazahl zurück. Bei ungültigen Eingaben (z. B. Wahrscheinlichkeit außerhalb [0, 1] oder negative Parameter) kann das Ergebnis NAN oder ein undefinierter Wert sein.

Beispiele

CDF-Wert für x=2 bei bekannter Weibull-Verteilung berechnen

<?php
// Berechnet P(X <= 2) für eine Weibull-Verteilung
// mit Formparameter k=1.5 und Skalenparameter lambda=3.0
$x         = 2.0;
$shape     = 1.5;  // Formparameter k
$scale     = 3.0;  // Skalenparameter lambda
$which     = 1;    // Wir möchten die kumulative Wahrscheinlichkeit berechnen

$prob = stats_cdf_weibull($x, $shape, $scale, $which);
echo "P(X <= {$x}) = " . round($prob, 6) . PHP_EOL;
// Ausgabe: P(X <= 2) = 0.298710
P(X <= 2) = 0.298710

Quantilwert (inverses CDF) für eine gegebene Wahrscheinlichkeit berechnen

<?php
// Gegeben: P = 0.5 (Median), k=1.5, lambda=3.0
// Gesucht: x, sodass P(X <= x) = 0.5
$prob   = 0.5;   // gewünschte Wahrscheinlichkeit
$shape  = 1.5;   // Formparameter
$scale  = 3.0;   // Skalenparameter
$which  = 2;     // Wir möchten den Quantilwert x berechnen

$x = stats_cdf_weibull($prob, $shape, $scale, $which);
echo "Median der Weibull-Verteilung: x = " . round($x, 6) . PHP_EOL;
// Ausgabe: Median der Weibull-Verteilung: x = 2.571282
Median der Weibull-Verteilung: x = 2.571282

Formparameter aus CDF-Wert und Quantil zurückrechnen

<?php
// Gegeben: P(X <= 2) = 0.298710, lambda=3.0
// Gesucht: Formparameter k
$prob   = 0.298710;
$x      = 2.0;   // als Platzhalter: hier wird par1 als x-Wert interpretiert,
                 // aber bei which=3 ist par1 = P und par2 = x
// Achtung: Parameterreihenfolge beachten!
// par1 = P (Wahrscheinlichkeit), par2 = x (Quantil), par3 = scale
$scale  = 3.0;
$which  = 3;    // Formparameter berechnen

$shape = stats_cdf_weibull($prob, $x, $scale, $which);
echo "Geschätzter Formparameter k = " . round($shape, 4) . PHP_EOL;
// Ausgabe: Geschätzter Formparameter k = 1.5
Geschätzter Formparameter k = 1.5

// Wichtig · Fallstricke

PECL-Abhängigkeit: stats_cdf_weibull() ist keine eingebaute PHP-Funktion, sondern erfordert die Installation der PECL-Erweiterung stats (z. B. pecl install stats).

Parameterreihenfolge: Die Bedeutung von $par1 und $par2 hängt stark vom $which-Wert ab. Bei $which = 1 ist $par1 = x, bei $which = 2, 3, 4 hingegen $par1 = P. Dies ist eine häufige Fehlerquelle — die Dokumentation der stats-Erweiterung sollte sorgfältig konsultiert werden.

Gültigkeitsbereiche: Wahrscheinlichkeitswerte müssen im Intervall [0, 1] liegen. Form- und Skalenparameter müssen strikt größer als 0 sein. Ungültige Eingaben führen zu nicht definierten oder fehlerhaften Ergebnissen, ohne zwingend eine PHP-Warnung auszulösen.