Bestimmung der fehlenden Werte für alle numerischen Variablen einer Tabelle

0

Jede Analyse sollte damit beginnen, die Natur der zugrunde liegenden Datentabelle zu beschreiben und charakterisieren. Nur so kann sichergestellt werden, dass die in einer späteren Modellierung zugrunde liegenden Modellannahmen validiert sind und die Grundlagen der Analyseergebnisse den jeweils erforderlichen minimalen Qualitätsansprüchen genügen. Anderenfalls ist das spätere Modell sinnlos, die Analyse fehlerbehaftet, und die daraus abgeleiteten Erkenntnisse oder Maßnahmen sinn- und nutzlos,- ja im schlimmsten Fall könnten sie sogar kontraproduktiv sein und das Gegenteil bewirken, was man eigentlich erreichen möchte. Zur Charakterisierung einer Tabelle gehören beschreibenden Statistiken wie z.B. die Anzahl Beobachtungen (N) der Mittelwert, die Standardabweichung, Minimum, Maximum oder gewisse Perzentile. Ein oft vergessenes Qualitätsmerkmal ist die Häufigkeit von fehlenden Werten.

Darstellung fehlender Werte in SAS Tabellen

Keine Angst, fehlende Werte kommen selbst in den besten Studien vor. Man sollte mir ihnen nur korrekt umgehen. Standardmäßig werden fehlende Werte in numerischen Variablen durch SAS mit einem Punkt `.` angezeigt. Über die Option Missing=‘x‘ können auch andere Zeichen zur Anzeige von fehlenden Werten genutzt werden, wie das folgende Beispiel verdeutlicht.

Auszählen Fehlender Werte von numerischen Variablen

Für numerische Variablen genügt ein einziger Aufruf der MEANS-Prozedur, um die Antwort zu berechnen. Durch die Option _numeric_ im Var-Statement werden alle numerischen Variablen der Tabelle zur Berechnung der beschreibenden Statistiken selektiert; Allerding sollte man auch den Namen der Option zur Ausgabe von Missing Values kennen. Dieser heißt NMISS und muss im Prozedurkopf zusammen mit den anderen gewünschten beschreibenden Statistiken angefordert werden. Die Anzahl der fehlenden Werte werden dann in der Ergebnisspalte NMiss ausgegeben, wie im folgenden Beispiel verdeutlicht:

Wir sehen die Variable DEBTINC ist nur zu 79% mit validen Werten besetzt, denn sie hat 1267 fehlende Werte. Bevor wir diese Variable als Prädiktor in ein Modell aufnehmen können müssen wir uns gründlich Gedanken machen, den für 1/5 alle Fälle ist sie nicht aussagefähig.

Aber was ist mit den kategoriellen Variablen unsere Tabelle? Die haben wir bisher ignoriert. Wie sind deren fehlende Werte kodiert, und wie kann man deren fehlende Werte auszählen. Damit werden wir uns im nächsten BLOG beschäftigen.

Hier zum Schluss zur Vollständigkeit der Programmtext zum Kopieren:

data test;

do i= 1 to 10;

Wert=ranuni(123);

if i in (3,7,9) then Wert=.;

output;

end;

run;

proc Print;Title "1. Missing='.'";run;

Option missing='?';

proc Print;Title "2. Missing='?'";run;

Title;

proc means

data=mysasfil.hmeq

n nmiss mean std min max;

var _numeric_;

run;

Tags analytics
Share

About Author

Toby Text

Principal Solutions Architect

Sie schauen gerade auf mein Profilbild und verstehen wahrscheinlich genau so wenig wie ich, nämlich gar nichts. Vermutlich sehen Sie wahrlos verstreute Pixel auf einem Quadrat. Einige davon bilden wenige offensichtliche Grundmuster, die aber auch nichts konkretes aussagen. Man hat nicht die geringste Idee über die Zusammenhänge der Pixel und den Gesamtinformationen des Bildes. So sieht die mühsame Realität des Alltages eines Data Scientist aus. Wie das menschliche Auge bei der Betrachtung des Bildes, so ist der Data Scientist ratlos und benötigt Hilfe, wenn sich die Berge an operativen Daten vor ihm anhäufen. Hätten Sie gedacht, dass Sie die Lösung zum Verständnis des obigen Bildes vielleicht sogar schon seit langem mit sich in Ihrer Tasche tragen, davon nur noch nicht wussten? Überlegen Sie mal kurz und probieren Sie es aus. Und so wie Sie mit Ihrer Intuition vielleicht eine praktikable Lösung gefunden haben, so hat ein Data Scientist im richtigen Moment den genialen Einfall und findet einen erleuchtenden methodischen Ansatz den er allerdings noch nie konkret angewendet hat, zu dessen Realisierung er nur noch in die Tasche greifen muss, um die passende Softwarefunktionalität für die Implementierung herauszuziehen. Über solche interessante Softwarefunktionalität für Ihre Projekte möchte ich Sie informieren in meinem Blog.

Leave A Reply

Back to Top