Signatur
Beschreibung
stats_absolute_deviation() gehört zur PECL-Erweiterung stats und berechnet die mittlere absolute Abweichung (engl. Mean Absolute Deviation, MAD) eines Arrays von numerischen Werten. Die MAD ist ein robustes Streuungsmaß und gibt an, wie stark die einzelnen Werte im Durchschnitt vom arithmetischen Mittel abweichen.
Die Berechnung erfolgt nach der Formel: MAD = (1/n) * Σ |xᵢ − x̄|, wobei x̄ das arithmetische Mittel der Werte und n die Anzahl der Elemente ist. Im Gegensatz zur Standardabweichung werden die Abweichungen nicht quadriert, was das Maß weniger empfindlich gegenüber Ausreißern macht.
Die Funktion ist besonders nützlich in der deskriptiven Statistik, wenn eine einfach interpretierbare Kennzahl für die Streuung eines Datensatzes benötigt wird, zum Beispiel bei der Analyse von Messwerten, Preisschwankungen oder Zeitreihendaten.
Hinweis: Die Funktion erfordert die Installation der PECL-Erweiterung stats, die nicht standardmäßig in PHP enthalten ist. Sie muss separat über PECL installiert werden (pecl install stats).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $a Pflicht | array | Ein Array mit numerischen Werten (int oder float), für die die mittlere absolute Abweichung berechnet werden soll. Das Array muss mindestens ein Element enthalten. |
Rückgabewert
0.0.Beispiele
Einfache Berechnung der mittleren absoluten Abweichung
<?php
// Voraussetzung: PECL-Erweiterung 'stats' muss installiert sein
$werte = [2, 4, 4, 4, 5, 5, 7, 9];
$mad = stats_absolute_deviation($werte);
echo "Mittlere absolute Abweichung: " . $mad;
// Arithmetisches Mittel: (2+4+4+4+5+5+7+9)/8 = 5.0
// Abweichungen: 3, 1, 1, 1, 0, 0, 2, 4 => Summe = 12 => MAD = 12/8 = 1.5
Vergleich der MAD verschiedener Datensätze
<?php
// Voraussetzung: PECL-Erweiterung 'stats' muss installiert sein
// Eng gestreuter Datensatz
$eng = [9, 10, 10, 10, 11];
// Weit gestreuter Datensatz
$weit = [2, 5, 10, 15, 18];
$mad_eng = stats_absolute_deviation($eng);
$mad_weit = stats_absolute_deviation($weit);
echo "MAD (eng): " . $mad_eng . PHP_EOL;
echo "MAD (weit): " . $mad_weit . PHP_EOL;
// Ein höherer MAD-Wert zeigt eine stärkere Streuung an.
// Wichtig · Fallstricke
PECL-Abhängigkeit: Diese Funktion ist nicht Teil des PHP-Kerns. Sie gehört zur PECL-Erweiterung stats und muss explizit installiert werden. Prüfen Sie die Verfügbarkeit mit function_exists('stats_absolute_deviation'), bevor Sie die Funktion in produktivem Code einsetzen.
Leeres Array: Das Übergeben eines leeren Arrays kann zu einem Fehler oder undefinierten Verhalten führen. Stellen Sie sicher, dass das Array mindestens ein numerisches Element enthält.
Nicht-numerische Werte: Enthält das Array nicht-numerische Elemente (z. B. Strings), kann das Ergebnis verfälscht oder das Verhalten undefiniert sein. Filtern Sie die Eingabedaten ggf. mit array_filter() und is_numeric() vor.