Signatur
Beschreibung
stats_variance() gehört zur PECL-Erweiterung stats und berechnet die Varianz einer Menge numerischer Werte. Die Varianz ist ein Maß für die Streuung der Datenpunkte um ihren Mittelwert.
Standardmäßig wird die Populationsvarianz berechnet (Division durch n). Wird der Parameter sample auf true gesetzt, wird stattdessen die Stichprobenvarianz verwendet (Division durch n − 1, bekannt als Bessel-Korrektur). Die Stichprobenvarianz ist dann sinnvoll, wenn die übergebenen Daten nur eine Teilmenge einer größeren Grundgesamtheit repräsentieren.
Die Funktion eignet sich für statistische Auswertungen, z. B. in der Qualitätssicherung, bei der Analyse von Messdaten oder zur Berechnung der Standardabweichung (Quadratwurzel der Varianz).
- Populationsvarianz:
σ² = Σ(xᵢ − μ)² / n - Stichprobenvarianz:
s² = Σ(xᵢ − x̄)² / (n − 1)
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $a Pflicht | array | Eindimensionales Array mit numerischen Werten, für die die Varianz berechnet werden soll. | |
| $sample | bool | false | Gibt an, ob die Stichprobenvarianz (true, Division durch n − 1) oder die Populationsvarianz (false, Division durch n) berechnet werden soll. |
Rückgabewert
float zurück. Bei einem leeren Array oder einem Array mit nur einem Element (im Stichproben-Modus) kann das Ergebnis 0.0 oder undefiniert sein.Beispiele
Populationsvarianz berechnen
<?php
// Voraussetzung: PECL-Erweiterung 'stats' ist installiert
$data = [2, 4, 4, 4, 5, 5, 7, 9];
$varianz = stats_variance($data);
echo 'Populationsvarianz: ' . $varianz . PHP_EOL;
// Zum Vergleich: Standardabweichung
$stdabw = sqrt($varianz);
echo 'Standardabweichung: ' . $stdabw . PHP_EOL;
Stichprobenvarianz berechnen (Bessel-Korrektur)
<?php
// Datensatz repräsentiert eine Stichprobe aus einer Grundgesamtheit
$stichprobe = [10, 20, 30, 40, 50];
$pop_var = stats_variance($stichprobe, false);
$sample_var = stats_variance($stichprobe, true);
echo 'Populationsvarianz: ' . $pop_var . PHP_EOL;
echo 'Stichprobenvarianz: ' . $sample_var . PHP_EOL;
// Wichtig · Fallstricke
Achtung: stats_variance() ist keine eingebaute PHP-Funktion, sondern Teil der PECL-Erweiterung stats. Diese muss separat installiert und in der php.ini aktiviert werden (extension=stats).
Bei einem Array mit nur einem Element und aktivierter Stichprobenvarianz (sample = true) wird durch n − 1 = 0 geteilt, was zu einer Division durch null führen kann. Stellen Sie sicher, dass der Datensatz mindestens zwei Elemente enthält.
Nicht-numerische Werte im Array können zu unerwarteten Ergebnissen führen. Bereinigen Sie den Datensatz vorher mit array_filter() und array_map('floatval', ...).