Sur-ajustement exprès

8

Serait-il sensé d'équiper un modèle à dessein?

Disons que j'ai un cas d'utilisation où je sais que les données ne varieront pas beaucoup en ce qui concerne les données de formation.

Je pense ici à la prévision du trafic, où l'état du trafic suit un ensemble fixe de modèles

  • trajet du matin
  • activité nocturne
  • etc.

Ces modèles ne changeront pas beaucoup à moins d'une augmentation soudaine du nombre d'utilisateurs de voitures ou de changements majeurs dans l'infrastructure routière. Dans ce cas, je voudrais que le modèle soit aussi biaisé que possible vers les modèles qu'il a appris dans les données actuelles, en supposant qu'à l'avenir, le modèle et les données seront très similaires.

Brandon
la source
Cela semble très louche, si vous avez la garantie que les données ne changeront pas, vous pourriez suréquiper le modèle et obtenir de meilleures performances, mais cela semble être une mauvaise idée.
user2974951
1
C'est. Mais d'un autre côté, je pense que ce ne sera pas une mauvaise idée si je sais que les données ne changeront pas beaucoup. J'écris mes pensées ici afin que quelqu'un puisse prouver que je me trompe.
Brandon
5
Si les performances prédictives hors échantillon de votre modèle (c'est-à-dire sur les données futures) ne sont pas pires que les performances sur vos données actuelles, alors je dirais que techniquement, vous n'êtes pas vraiment surajusté. Vous êtes en surapprentissage lorsque vous ajustez le bruit dans vos données actuelles, et cela devrait toujours conduire à de pires prédictions sur les nouvelles données. Vous devriez pouvoir définir votre modèle au niveau de complexité correct en utilisant la validation croisée.
matteo
2
Dans une étude, on a demandé à un sujet de surcharger certaines données, puis il a gagné à la loterie. L'étude a conclu que le sur-ajustement des données est toujours une bonne chose.
Nat

Réponses:

4

En général, il n'est pas logique d'adapter volontairement vos données. Le problème est qu'il est difficile de s'assurer que les motifs apparaissent également dans la partie qui n'est pas incluse dans vos données. Vous devez affirmer qu'il existe un modèle dans les données. Une possibilité de le faire est le concept de stationnarité.


Ce que vous décrivez me rappelle la stationnarité et l'ergodicité. Du point de vue contextuel / commercial, vous supposez que votre série chronologique suit certains modèles. Ces modèles sont appelés stationnarité ou ergodicité.

Définition de la stationnarité:

Un processus stationnaire est un processus stochastique dont la distribution de probabilité conjointe inconditionnelle ne change pas lorsqu'elle est décalée dans le temps. Par conséquent, des paramètres tels que la moyenne et la variance ne changent pas non plus avec le temps.

Définition de l'ergodicité:

Un processus ergodique est un processus se rapportant à ou désignant des systèmes ou des processus avec la propriété qui, avec un temps suffisant, ils incluent ou empiètent sur tous les points dans un espace donné et peuvent être représentés statistiquement par une sélection raisonnablement large de points.


Maintenant, vous voulez vous assurer qu'il suit vraiment ces certains modèles. Vous pouvez le faire, par exemple avec le test de racine unitaire (comme Dickey-Fuller) ou le test de stationnarité (comme KPSS).

Définition Test de racine unitaire:

H0: Il existe une racine unitaire.

H1:Il n'y a pas de racine unitaire. Cela implique dans la plupart des cas la stationnarité.

Définition Test de stationnarité:

H0: Il y a de la stationnarité.

H1: Il n'y a pas de stationnarité.

Lectures complémentaires:

Quelle est la différence entre un test stationnaire et un test de racine unitaire?


Si la série chronologique suit vraiment ces modèles, la prévision et la prévision seront "plus faciles d'un point de vue statistique", par exemple, vous pouvez appliquer des modèles économétriques pour la prévision comme ARIMA ou TBATS. Ma réponse concerne les séries chronologiques univariées et multivariées si vous avez des stationnaires de données transversales et les racines unitaires ne sont pas des concepts communs.

Ferdi
la source
8

Non, cela n'a pas de sens de surajuster vos données.

Le terme sur-ajustement fait en fait référence à une comparaison entre les modèles: si le modèle_a a de meilleures performances sur les données d'entraînement données mais est moins performant hors échantillon que le modèle_b , le modèle_a est sur- adapté . Ou en d'autres termes: " il existe une meilleure alternative ".

Si l'état du trafic " ne variera pas du tout en ce qui concerne les données d'entraînement", alors vous obtiendrez les meilleurs résultats possibles en mémorisant simplement les données d'entraînement (encore une fois, ce n'est pas "surajusté").

Mais «les données ne varieront pas beaucoup par rapport aux données de formation» équivaut simplement à avoir une représentation raisonnable du modèle sous-jacent. C'est là que l'apprentissage automatique fonctionne le mieux ( environnement stationnaire comme l'a expliqué Ferdi ).

Laksan Nathan
la source
Bien. Alors peut-être vaut-il mieux dire que nous augmentons le biais sur le but. J'ai dit cela parce que je lisais sur le compromis biais vs variance et il était logique pour moi d'avoir un biais plus élevé pour le cas d'utilisation du trafic.
Brandon
algorithme + réglage vous donnera les meilleurs résultats possibles (optimisez le compromis).
Laksan Nathan
+1 mais je ne pense pas "qu'il existe une meilleure alternative" découle du sur-ajustement.
kbrose
4

Je dirais qu'il est judicieux d'adapter vos données, mais uniquement à des fins de recherche. (N'utilisez pas de modèle sur-équipé en production!)

Dans les cas où les données peuvent être complexes et les tâches non triviales, essayer d'ajuster un modèle peut être une étape importante!

Si vous pouvez équiper un modèle, cela signifie que les données peuvent être décrites par le modèle.

Si vous ne pouvez même pas suréquiper - cela peut vous donner un indice pour l'enquête:

  • vos données ne sont pas prêtes à être modélisées, vous auriez donc besoin de faire plus de préparation de données / ingénierie de fonctionnalités
  • votre modèle est trop simple et ne peut pas capturer toutes les dépendances de données
Vadym B.
la source