Comment gérer les données inexistantes (non manquantes)?


11

Je n'ai jamais vraiment trouvé de bon texte ou d'exemples sur la façon de gérer les données «inexistantes» pour les entrées de n'importe quel classificateur. J'ai beaucoup lu sur les données manquantes mais que peut-on faire sur les données qui ne peuvent pas exister ou qui n'existent pas par rapport aux entrées multivariées. Je comprends que cette question est très complexe et variera en fonction des méthodes de formation utilisées ...

Par exemple, si vous essayez de prévoir le temps de l'ordinateur portable pour plusieurs coureurs avec de bonnes données précises. Parmi de nombreuses entrées, les variables possibles parmi de nombreuses sont:

  1. Variable d'entrée - Premier coureur (O / N)
  2. Variable d'entrée - Temps passé sur le portable (0 - 500 secondes)
  3. Variable d'entrée - Âge
  4. Variable d'entrée - Hauteur. . . beaucoup plus de variables d'entrée, etc.

& Output Predictor - Prediction Laptime (0 - 500 secondes)

Une `` variable manquante '' pour `` 2.Heure d'ordinateur portable précédente '' pourrait être calculée de plusieurs manières mais `` 1. Premier coureur 'serait toujours égal à N. Mais pour «DONNÉES NON EXISTANTES» pour un premier coureur (où «1. Premier coureur» = Y) quelle valeur / traitement dois-je donner pour «2. Ordinateur portable précédent »?

Par exemple, attribuer «2. L'ordinateur portable précédent '-99 ou 0 peut fausser considérablement la distribution et donner l'impression qu'un nouveau coureur a bien performé.

Mes méthodes de formation actuelles utilisent des arbres de régression logistique, SVM, NN et décisionnels


Je dois ajouter que j'ai écarté les nouveaux coureurs des données d'entraînement et de prédiction en raison de l'incertitude inhérente, mais j'apprécierais des méthodes meilleures que «Ignorer»
osknows

Réponses:


6

Au lieu d'attribuer une valeur spéciale au temps du tour précédent du premier coureur inexistant, utilisez simplement le terme d'interaction pour le temps du tour précédent avec l'inverse du mannequin du premier coureur:

Yi=β0+β1FTRi+β2(NFTRi)×PLTi+...

ici

  • Yi est votre variable d'entrée,
  • ... est vos autres variables,
  • FTRi est un mannequin pour la première fois,
  • PLTi est le temps au tour précédent et
  • F T R i = 0NFTRi est factice pour un non-coureur pour la première fois égal à 1, lorsque et 0 sinon.FTRi=0

Ensuite, le modèle pour les premiers coureurs sera:

Yi=(β0+β1)+...

et pour les non coureurs débutants:

Yi=β0+β2PLTi+...

8

Pour une régression logistique ajustée par maximum de vraisemblance, tant que vous avez à la fois (1) et (2) dans le modèle, quelle que soit la valeur "par défaut" que vous donnez aux nouveaux coureurs pour (2), l'estimation pour (1) s'ajustera en conséquence.

Par exemple, supposons que soit la variable indicatrice de "est un nouveau coureur" et la variable "heure précédente du portable en secondes". Le prédicteur linéaire est alors:X1X2

η=α+β1X1+β2X2+

Si la valeur par défaut pour est zéro, le prédicteur linéaire pour un nouveau coureur est:X2

η=α+β1+

alors que pour un coureur existant, ce sera:

η=α+β2X2+

Supposons maintenant que vous modifiez la valeur par défaut pour de 0 à -99. Ensuite, le prédicteur linéaire pour un nouveau coureur est maintenant:X2

η=α+β199β2+

mais pour un coureur existant, il restera le même. Donc, tout ce que vous avez fait est de reparamétrer le modèle, de telle sorte que , et comme la probabilité maximale est invariante à la parémétérisation, les estimations s'ajusteront en conséquence.β199β2=β1

Bien sûr, si vous n'utilisez pas le maximum de vraisemblance (c'est-à-dire que vous utilisez une sorte de pénalisation ou prioritaire sur les paramètres), alors vous allez obtenir des valeurs différentes à moins que vous ajustiez la pénalisation / prior en conséquence. Et si le modèle est non linéaire (par exemple SVM, NN et arbres de décision), alors cet argument ne fonctionne pas du tout.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.