?> boxPlot - WeAreCAS
percentile

boxPlot

Beschreibung

Die Aktion `boxPlot` im `percentile`-Aktionssatz ist ein leistungsstarkes Werkzeug zur Durchführung einer robusten univariaten Analyse. Sie berechnet wesentliche deskriptive Statistiken, die für die Erstellung von Boxplots erforderlich sind, einschließlich Quantilen (wie dem Median und den Quartilen), den oberen und unteren Whiskers zur Identifizierung der Datenvariabilität sowie der Erkennung von Ausreißern. Diese Aktion ist besonders nützlich für die explorative Datenanalyse, um die Verteilung, Zentralität und Streuung numerischer Variablen schnell zu visualisieren und zu verstehen, oft gruppiert nach kategorialen Variablen.

percentile.boxPlot <result=results> <status=rc> / attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, binNum=64-bit-integer, casOut={casouttable}, freq="variable-name", groupByLimit=64-bit-integer, includeMissingGroup=TRUE | FALSE, inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, method="EXACT" | "ITERATIVE", nOutBins=integer, nOutLimit=integer, outliers=TRUE | FALSE, partition=TRUE | FALSE, partKey={"string-1" <, "string-2", ...>}, pctlDef=64-bit-integer, * table={castable}, whiskerPercentile=double;
Einstellungen
ParameterBeschreibung
tableGibt die zu analysierende Eingabe-CAS-Tabelle an.
inputsGibt die numerischen Eingabevariablen an, die analysiert werden sollen.
casOutGibt die Ausgabetabelle an, in der die Ergebnisse gespeichert werden sollen.
attributesGibt temporäre Attribute an, wie z. B. ein Format, das auf Eingabevariablen angewendet werden soll.
binNumGibt die Anzahl der Bins an, die bei der iterativen Methode zur Berechnung von Perzentilen verwendet werden.
freqGibt die numerische Variable an, deren Wert die Häufigkeit der Beobachtung darstellt.
groupByLimitGibt die maximale Anzahl von Ebenen in einem Group-By-Satz an. Wenn der Server diese Anzahl von Ebenen feststellt, stoppt der Server und gibt kein Ergebnis zurück. Geben Sie diesen Parameter an, wenn Sie die Erstellung großer Ergebnismengen bei Group-By-Operationen vermeiden möchten.
includeMissingGroupWenn auf TRUE gesetzt, werden fehlende Werte als gültige Stufe für die Gruppierungsvariablen behandelt.
methodGibt den Algorithmus für die Perzentilanalyse an. 'ITERATIVE' verwendet eine speichereffiziente Methode, die möglicherweise nicht exakt ist. 'EXACT' verwendet eine speicherintensivere Methode, die exakte Ergebnisse liefert.
nOutBinsGibt die Anzahl der Bins an, die zur Meldung von Ausreißern verwendet werden sollen. Dies impliziert die Anforderung, Ausreißer zu berechnen.
nOutLimitGibt die größte Anzahl von Ausreißern an, die an beiden Enden der Verteilung zurückgegeben werden sollen. Die tatsächlichen Ausreißerwerte werden anstelle von Bins zurückgegeben.
outliersWenn auf TRUE gesetzt, werden Ausreißer berechnet. Die Ergebnistabelle enthält zusätzliche Spalten mit Informationen zu den Ausreißern.
partitionWenn auf TRUE gesetzt und die Tabelle partitioniert ist, werden die Ergebnisse für jede Partition effizient berechnet.
partKeyGibt einen bestimmten Partitionsschlüssel an, um die Analyse auf eine einzelne Partition einer partitionierten Tabelle zu beschränken. Muss mit `partition=TRUE` verwendet werden.
pctlDefGibt eine von fünf Definitionen (1-5) zur Berechnung von Quantilstatistiken (Perzentilen) an, wie in der PROC UNIVARIATE-Dokumentation beschrieben. Der Standardwert 6 gibt an, einen iterativen Prozess zu verwenden.
whiskerPercentileGibt das Perzentil für die unteren und oberen Whiskers an. Wenn Sie beispielsweise 10 angeben, werden die Whiskers auf das 10. und 90. Perzentil gesetzt. Beobachtungen, die außerhalb der Whiskers liegen, werden als Ausreißer betrachtet.
Datenaufbereitung
Erstellung von Beispieldaten

Dieser Schritt erstellt eine CAS-Tabelle namens `CARS_DATA`. Die Daten stammen aus der `SASHELP.CARS`-Tabelle und werden in die `CASUSER`-Caslib geladen. Diese Tabelle enthält Informationen über verschiedene Automodelle, einschließlich numerischer Variablen wie `MSRP` (Hersteller-UVP) und `Invoice` (Rechnungspreis), die für die Boxplot-Analyse geeignet sind.

data casuser.cars_data; set sashelp.cars; run;

Beispiele

Dieses Beispiel führt eine grundlegende Boxplot-Analyse für die Variable `MSRP` aus der Tabelle `CARS_DATA` durch. Es berechnet die Standard-Boxplot-Statistiken (Median, Quartile, Whiskers) und speichert die Ergebnisse in einer Tabelle namens `CARS_BOXPLOT_SIMPLE`.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='cars_data', caslib='casuser'},
4 inputs={{name='MSRP'}},
5 casOut={name='cars_boxplot_simple', caslib='casuser', replace=true};
6RUN;
7QUIT;
Ergebnis :
Die Ausgabetabelle `CARS_BOXPLOT_SIMPLE` wird in der `CASUSER`-Caslib erstellt. Sie enthält eine Zeile mit den Boxplot-Statistiken für die Variable `MSRP`, einschließlich _Q1_ (erstes Quartil), _MEDIAN_, _Q3_ (drittes Quartil), _LOW_, _HIGH_ und anderen relevanten Werten.

Dieses erweiterte Beispiel zeigt, wie die `boxPlot`-Aktion verwendet wird, um separate Analysen für jede Fahrzeugart (`Type`) durchzuführen. Es verwendet den `groupBy`-Parameter. Zusätzlich werden Ausreißer (`outliers=true`) berechnet und die Ergebnisse in der Tabelle `CARS_BOXPLOT_DETAILED` gespeichert. Die Methode `EXACT` wird für eine präzisere Berechnung der Perzentile verwendet.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='cars_data', caslib='casuser', groupBy={'Type'}},
4 inputs={{name='Invoice'}},
5 casOut={name='cars_boxplot_detailed', caslib='casuser', replace=true},
6 outliers=true,
7 method='EXACT',
8 whiskerPercentile=10;
9RUN;
10QUIT;
Ergebnis :
Die Ausgabetabelle `CARS_BOXPLOT_DETAILED` wird erstellt. Sie enthält eine Zeile für jeden Fahrzeugtyp (`Type`). Jede Zeile enthält die Boxplot-Statistiken für die Variable `Invoice`. Da `outliers=true` angegeben wurde, enthält die Tabelle auch Spalten, die Informationen zu Ausreißern liefern, wie `_OUTLIERS_LOW_` und `_OUTLIERS_HIGH_`. Die Whiskers werden auf Basis des 10. und 90. Perzentils berechnet.

FAQ

Was ist der Zweck der `boxPlot`-Aktion?
Welche Hauptberechnungsmethoden gibt es in der `boxPlot`-Aktion?
Wie können Ausreißer mit der `boxPlot`-Aktion identifiziert werden?
Wofür wird der `pctlDef`-Parameter verwendet?