dataSciencePilot

analyzeMissingPatterns

L'essentiel
Auf einen Blick
Für eine fundierte Datenvorbereitung ist die systematische Untersuchung von Lücken im Datensatz unerlässlich; genau hier setzt die Aktion analyzeMissingPatterns an. Sie geht über das bloße Zählen fehlender Werte hinaus und identifiziert komplexe Strukturen sowie Zusammenhänge zwischen Variablen, die gleichzeitig keine Daten enthalten. Diese Mustererkennung ist entscheidend, um valide Entscheidungen darüber zu treffen, ob Datensätze bereinigt oder mittels statistischer Verfahren aufgefüllt werden müssen. Im folgenden FAQ-Bereich beantworten wir technische Fragen zur Durchführung dieser Analyse und zur praktischen Nutzung der ausgegebenen Statistiken in Ihren SAS Viya-Workflows.

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
casOut Gibt die CAS-Tabelle an, in der die Analyseergebnisse gespeichert werden sollen.
distinctCountLimit Gibt 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.
ecdfTolerance Gibt den Toleranzwert für die empirische kumulative Verteilungsfunktion an. Dieser Wert wird vom Quantil-Sketch-Algorithmus verwendet.
freq Gibt die Frequenzvariable an.
inputs Gibt die für die Analyse zu verwendenden Variablen an. Sie können eine Teilmenge der Variablen aus der Eingabetabelle angeben.
misraGries Wenn 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.
nominals Gibt die nominalen Variablen an.
table Gibt den Tabellennamen, die Caslib und andere allgemeine Parameter für die Eingabetabelle an.
target Gibt die Zielvariable an.
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.

Kopiert!
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 Code wartet auf Validierung durch die Community
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 Code wartet auf Validierung durch die Community
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`?

Zugehörige Szenarien

Anwendungsfall
Analyse fehlender Kundendaten zur Optimierung von Marketingkampagnen

Ein Marketingteam möchte verstehen, warum einige Kundenprofile unvollständig sind (z. B. fehlendes Alter, Einkommen). Sie vermuten, dass diese Muster fehlender Daten mit der Rea...

Anwendungsfall
Verarbeitung großer IoT-Sensordatenmengen mit hoher Kardinalität zur Erkennung von Ausfallmustern

Eine Industrieanlage sammelt Millionen von Messwerten von Tausenden von Sensoren. Manchmal fallen Sensoren aus und melden keine Daten. Ziel ist es, diese Muster fehlender Daten ...

Anwendungsfall
Analyse komplexer fehlender Muster in klinischen Studiendaten mit vollständig leeren Beobachtungen

In klinischen Studien sind Daten oft unvollständig. Einige Patienten versäumen Termine, oder bestimmte Tests sind nicht anwendbar. Es kann sogar Datensätze für Studienabbrecher ...