J'ai un jeu de données. Il y a beaucoup de valeurs manquantes. Pour certaines colonnes, la valeur manquante a été remplacée par -999, mais pour d'autres colonnes, la valeur manquante a été marquée comme "NA".
Pourquoi utiliserions -999 pour remplacer la valeur manquante?
missing-data
qqqwww
la source
la source
Réponses:
Il s’agit là d’une époque révolue, quand un logiciel informatique stockait des vecteurs numériques en tant que vecteurs numériques. Aucun nombre réel n'a la sémantique "je manque". Ainsi, lorsque les premiers logiciels statistiques ont dû faire la différence entre les "vrais" nombres et les valeurs manquantes, ils ont inséré quelque chose qui n'était "évidemment" pas valide, comme -999 ou -9999.
Bien sûr, que -999 ou -9999 représentait une valeur manquante n’est pas "évident" du tout. Très souvent, cela peut certainement être une valeur valide. À moins que vous ne vérifiiez explicitement ces valeurs, vous pouvez avoir toutes sortes d'erreurs "intéressantes" dans vos analyses.
De nos jours, les vecteurs numériques pouvant contenir des valeurs manquantes sont représentés de manière interne en tant que vecteurs numériques "enrichis", c'est-à-dire des vecteurs numériques avec des informations supplémentaires sur les valeurs manquantes. Ceci est bien sûr beaucoup mieux, car alors les valeurs manquantes seront traitées comme telles et ne seront pas considérées à tort comme valides.
Malheureusement, certains logiciels utilisent encore une telle convention, peut-être pour des raisons de compatibilité. Et certains utilisateurs ont imprégné cette convention par osmose informelle et ont entré -999 au lieu de NA même si leur logiciel prend en charge les valeurs manquantes.
Morale: ne codez pas les valeurs manquantes sous la forme -999.
la source
Ces valeurs sont pour les bases de données. Il y a longtemps et la plupart des bases de données, la plupart des bases de données allouaient un nombre fixe de chiffres aux données à valeurs entières. Un nombre comme -999 est le plus petit qui peut être stocké dans quatre caractères, -9999 en cinq caractères, etc.
(Il va sans dire que, par définition, un champ numérique ne peut pas stocker de caractères alphanumériques tels que "NA". Un code numérique doit être utilisé pour représenter des données manquantes ou non valides.)
Pourquoi utiliser le nombre le plus négatif qui puisse être stocké pour indiquer une valeur manquante? Parce que si vous le traitez par erreur comme un nombre valide, vous voulez que les résultats soient radicalement incorrects. Plus vos codes pour les valeurs manquantes deviennent réalistes, plus vous êtes en sécurité, car une entrée extrêmement erronée déforme généralement la sortie. (Les méthodes statistiques robustes sont des exceptions notables!)
Comment une telle erreur pourrait-elle arriver? Cela se produit tout le temps lorsque les données sont échangées entre les systèmes. Un système qui suppose que -9999 représente une valeur manquante l’affiche automatiquement lorsque vous écrivez les données dans la plupart des formats, tels que CSV. Le système qui lit ce fichier CSV peut ne pas "savoir" (ou ne pas être "informé") pour traiter de telles valeurs comme manquantes.
Une autre raison est que de bonnes données statistiques et des plates-formes informatiques reconnaissent de nombreux types de valeurs manquantes: NaN, véritablement valeurs manquantes, débordements, débordements, non-réponses, etc., en consacrant les valeurs les plus négatives possibles (telles que -9999, - 9998, -9997, etc.), vous facilitez l’interrogation de toutes les valeurs manquantes dans une table ou un tableau.
Une autre encore est que de telles valeurs apparaissent généralement dans les affichages graphiques comme des valeurs extrêmes extrêmes. Parmi toutes les valeurs que vous pouvez choisir de distinguer dans un graphique, la plus négative possible présente les plus grandes chances de vous éloigner de vos données.
Il y a des implications et des généralisations utiles:
Adoptez une règle standard de ce type pour faciliter l’invention des codes NoData dans de nouvelles circonstances (lorsque vous concevez votre propre logiciel de base de données).
Concevez vos logiciels et vos systèmes de manière à ce qu’ils échouent de manière dramatique. Les pires insectes sont ceux qui sont intermittents, aléatoires ou minuscules, car ils peuvent rester non détectés et être difficiles à traquer.
la source
NaN
Vous pouvez utiliser n'importe quoi pour encoder les valeurs manquantes. Certains logiciels, tels que R, utilisent des valeurs spéciales pour coder les données manquantes, mais il existe également des progiciels, tels que SPSS, qui ne comportent aucun code spécial pour les données manquantes. Dans le second cas, vous devez faire un choix arbitraire pour ces valeurs. Vous pouvez choisir n’importe quoi , mais il est généralement judicieux de choisir une valeur qui diffère visiblement de vos données (par exemple, vos données correspondent à des pourcentages compris entre 0 et 100, de sorte que vous choisissez 999 pour coder les données manquantes ou que vos données correspondent à l’âge humain et vous utilisez des valeurs négatives pour les observations manquantes). L'idée sous-jacente est que, ce faisant, vous devriez pouvoir remarquer si quelque chose ne va pas et si les chiffres ne concordent pas.
Le problème avec un tel encodage est cependant que vous ne pouvez réellement pas remarquer l’encodage spécial et aboutir à des résultats décevants.
la source
Y a-t-il des variables calculées dans le jeu de données? Ou est-ce un ensemble de données analytiques qui provient de données fusionnées / triées? Certains logiciels utilisent de très grandes valeurs négatives pour indiquer les données manquantes. Mais un autre logiciel crée des valeurs manquantes avec NA ou
.
. Lorsqu'ils sont discordants, certains post-traitements ont généralement conduit à un désaccord.la source
Bien entendu, dans SPSS, la ou les valeurs manquantes 999 ou quoi que ce soit sont étiquetées comme un code manquant spécial et gérées séparément des autres valeurs. Il peut être tabulé séparément ou totalement exclu. Une distinction est faite du résultat d'éléments comme la division zéro ou le log (0).
la source