?> analyzeMissingPatterns - WeAreCAS
dataSciencePilot

analyzeMissingPatterns

Beschreibung

Die Aktion `analyzeMissingPatterns` aus dem Aktionssatz `dataSciencePilot` ist ein Werkzeug zur Untersuchung von Mustern fehlender Werte in einem Datensatz. Sie identifiziert, welche Kombinationen von Variablen gleichzeitig fehlende Werte aufweisen, und quantifiziert die Häufigkeit jedes Musters. Diese Analyse ist ein entscheidender Schritt in der Datenvorbereitung, da sie hilft, die Mechanismen hinter den fehlenden Daten zu verstehen (z. B. ob sie zufällig sind oder einem Muster folgen) und fundierte Entscheidungen über Imputationsstrategien zu treffen. Die Aktion kann auch die Beziehung zwischen den Mustern fehlender Werte und einer Zielvariable analysieren, was für das Feature-Engineering und die Modellentwicklung wertvoll ist.

dataSciencePilot.analyzeMissingPatterns { casOut={caslib="string", indexVars={"variable-name-1", ...}, lifetime=64-bit-integer, memoryFormat="DVR"|"INHERIT"|"STANDARD", name="table-name", promote=TRUE|FALSE, replace=TRUE|FALSE, tableRedistUpPolicy="DEFER"|"NOREDIST"|"REBALANCE"}, distinctCountLimit=integer, ecdfTolerance=double, freq="variable-name", inputs={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, misraGries=TRUE|FALSE, nominals={"variable-name-1", ...}, table={caslib="string", computedOnDemand=TRUE|FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, importOptions={fileType="ANY"|"AUDIO"|"AUTO"|"BASESAS"|"CSV"|"DELIMITED"|"DOCUMENT"|"DTA"|"ESP"|"EXCEL"|"FMT"|"HDAT"|"IMAGE"|"JMP"|"LASR"|"PARQUET"|"SOUND"|"SPSS"|"VIDEO"|"XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE|FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY"|"AUDIO"|"AUTO"|"BASESAS"|"CSV"|"DELIMITED"|"DOCUMENT"|"DTA"|"ESP"|"EXCEL"|"FMT"|"HDAT"|"IMAGE"|"JMP"|"LASR"|"PARQUET"|"SOUND"|"SPSS"|"VIDEO"|"XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, target="variable-name" };
Einstellungen
ParameterBeschreibung
casOutGibt die CAS-Tabelle an, in der die Analyseergebnisse gespeichert werden sollen.
distinctCountLimitGibt die Grenze für die Anzahl eindeutiger Werte an. Wenn die Grenze überschritten wird und der Parameter `misraGries` auf True gesetzt ist, wird der Misra-Gries-Frequenz-Sketch-Algorithmus zur Schätzung der Häufigkeitsverteilung verwendet. Andernfalls wird der Vorgang abgebrochen.
ecdfToleranceGibt den Toleranzwert für die empirische kumulative Verteilungsfunktion an. Dieser Wert wird vom Quantil-Sketch-Algorithmus verwendet.
freqGibt die Frequenzvariable an.
inputsGibt die für die Analyse zu verwendenden Variablen an. Sie können eine Teilmenge der Variablen aus der Eingabetabelle angeben.
misraGriesWenn auf True gesetzt, wird der Misra-Gries-Algorithmus für die Schätzung der Häufigkeitsverteilung verwendet, falls die Grenze für die Anzahl eindeutiger Werte überschritten wird.
nominalsGibt die nominalen Variablen an.
tableGibt den Tabellennamen, die Caslib und andere allgemeine Parameter für die Eingabetabelle an.
targetGibt die Zielvariable an.
Datenaufbereitung
Erstellung von Beispieldaten

Erstellen wir einen Beispieldatensatz in CAS, um die Analyse fehlender Muster zu demonstrieren. Dieser Datensatz wird absichtlich fehlende Werte enthalten, um die Funktionalität der Aktion zu veranschaulichen.

1DATA mycas.sample_data;
2 INPUT ID Alter$ Einkommen Job$ Produkt$;
3 DATALINES;
41 25 50000 A X
52 30 . B Y
63 . 60000 C Z
74 45 75000 . X
85 50 . D .
96 25 50000 A X
107 30 . B Y
118 35 80000 C Z
129 . . . .
1310 45 75000 A Y
14;
15RUN;

Beispiele

Dies ist ein einfaches Beispiel, das zeigt, wie die Aktion `analyzeMissingPatterns` für eine Eingangstabelle aufgerufen wird. Die Ergebnisse werden in einer Ausgabetabelle namens `missing_patterns_summary` gespeichert.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns
3 TABLE={name='sample_data'},
4 casOut={name='missing_patterns_summary', replace=true};
5RUN;
Ergebnis :
Die Aktion gibt mehrere Tabellen zurück, die die fehlenden Muster zusammenfassen. Die Hauptausgabetabelle (`missing_patterns_summary`) listet jedes eindeutige Muster von fehlenden Werten, seine Häufigkeit und den Prozentsatz der Gesamtdaten auf, den es darstellt.

Dieses Beispiel zeigt eine detailliertere Analyse, bei der eine Zielvariable (`Produkt`) angegeben wird. Dies ermöglicht es der Aktion, die Beziehung zwischen den Mustern fehlender Werte und der Zielvariable zu untersuchen, was für die Feature-Entwicklung und die Imputationsstrategie nützlich sein kann.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns
3 TABLE={name='sample_data'},
4 inputs={'Alter', 'Einkommen', 'Job'},
5 target='Produkt',
6 casOut={name='missing_patterns_detailed', replace=true};
7RUN;
Ergebnis :
Zusätzlich zur grundlegenden Musterausgabe enthält das Ergebnis nun Statistiken, die die Verteilung der Zielvariable für jedes Muster fehlender Werte beschreiben. Dies hilft festzustellen, ob die fehlenden Werte zufällig sind oder ob sie mit dem Ergebnis zusammenhängen.

FAQ

Was ist der Zweck der Aktion `analyzeMissingPatterns`?
Welche Parameter sind für die Aktion `analyzeMissingPatterns` erforderlich?
Was bewirkt der Parameter `target`?
Wie gehe ich mit einer großen Anzahl eindeutiger Werte um, die den `distinctCountLimit` überschreiten?
Was ist der Zweck des Parameters `ecdfTolerance`?