Nous utilisons STL (implémentation R) pour prévoir les données de séries chronologiques.
Chaque jour, nous exécutons des prévisions quotidiennes. Nous aimerions comparer les valeurs prévues aux valeurs réelles et identifier l'écart moyen. Par exemple, nous avons effectué des prévisions pour demain et obtenu des points de prévisions, nous aimerions comparer ces points de prévisions avec des données réelles que nous obtiendrons demain. Je suis conscient que les valeurs des prévisions et les données réelles peuvent ne pas correspondre la plupart du temps, c'est l'une des raisons pour lesquelles nous aimerions garder une trace de notre précision quotidienne.
Maintenant, nous essayons d'identifier quelle est la meilleure approche pour résoudre ce problème? tout pointeur d'aide serait apprécié.
J'ai examiné la question de la mesure de la précision des prévisions , mais il semble qu'elle soit liée à la comparaison des modèles plutôt qu'au calcul de la précision avec des valeurs réelles.
J'ai examiné l' implémentation de la fonction de précision dans R , mais j'ai confondu avec deux questions:
1) Cela fonctionnera-t-il sur des données réelles par rapport à des données de prévision, car la plupart du tutoriel dit que "données de test" vs "données de prévision"
2) Il semble que la fonction de précision soit un tableau de valeurs plutôt qu'un% d'écart.
Réponses:
Il existe de nombreuses façons différentes de mesurer la précision des prévisions, et la
accuracy()
fonction du package de prévisions pour R en génère plusieurs. D'après votre commentaire sur "% d'écart", il semble que vous souhaitiez utiliser l'erreur de pourcentage absolu moyen, qui est l'une des mesures fournies paraccuracy()
. Les mesures les plus courantes de l'exactitude des prévisions sont discutées ici . Vous pourriez vous demander si MAPE est la mesure la plus appropriée pour votre problème ou si l'une des autres mesures est meilleure.La
accuracy()
fonction fonctionne sur des données réelles. Les "données de test" sont les données qui n'ont pas été utilisées pour construire les prévisions. Parfois, ils sont disponibles mais ne sont pas utilisés lors du calcul des prévisions (la répartition classique des données en ensembles de formation et de test). Dans d'autres situations, toutes les données disponibles sont utilisées pour calculer les prévisions, puis vous devez attendre qu'il y ait de futures observations disponibles pour les utiliser comme données de test.Donc, si
f
est un vecteur de prévisions etx
un vecteur d'observations correspondant aux mêmes moments, alorsfera ce que vous voulez.
la source
la source
J'ai fait cela dans R, voici mon code pour mes données pour les données dans et hors échantillon:
J'espère que ça aide un peu. si vous voulez mon code complet, je l'exécutais s'il vous plaît demander car c'est très basique
la source
La réponse courte: pour évaluer la qualité de vos prévisions, utilisez exactement la même mesure que celle utilisée lors de la formation (ajustement) de votre modèle.
La réponse longue:
Afin de choisir une mesure pour la précision de vos prévisions, votre premier besoin de savoir comment vous interprétez vos prévisions. En d'autres termes, que donnez-vous réellement en tant que "prévision"? Est-ce une valeur moyenne? Médian? Valeur la plus probable? La réponse à cette question identifiera de manière unique la mesure de la précision des prévisions. Si vous prévoyez une moyenne, vous devez utiliser l'écart quadratique moyen comme mesure de la précision des prévisions. Si vous prévoyez une médiane, vous devez utiliser la déviation absolue moyenne comme mesure de la précision.
Je développerai un peu ce point. Supposons que vous fassiez une prédiction / prévision pour demain. Supposons également que pour toute valeur que vous pourriez observer demain, vous avez une probabilité correspondante d'être observée. Par exemple, vous savez que vous pourriez observer 1 avec une probabilité de 0,03, 2 avec une probabilité de 0,07, 3 avec une probabilité de 0,11, etc. Ainsi, vous avez une distribution de probabilités sur différentes valeurs. Ayant cette distribution, vous pouvez calculer différentes propriétés et les donner comme "prédictions". Vous pouvez calculer la moyenne et la donner comme prédiction pour demain. Alternativement, vous pouvez utiliser la médiane comme prédiction. Vous pouvez également trouver la valeur la plus probable et la donner comme prédiction pour demain.
Si vous utilisez la valeur moyenne comme prédiction, la question de "comment mesurer l'exactitude de ma prédiction" doit être remplacée par "quelle est la mesure de l'exactitude de la moyenne" et la réponse est "l'écart quadratique moyen entre le valeurs réelles et prévisions ". Si vous utilisez la médiane comme prédictions, vous devez utiliser la déviation absolue moyenne.
Il se peut que vous ne sachiez pas si vous utilisez la médiane ou la moyenne ou autre chose. Pour savoir ce que vous utilisez réellement comme prédictions, vous devez savoir quelle mesure vous essayez de minimiser dans la formation. Si vous essayez de trouver des paramètres du modèle qui minimisent l'écart quadratique moyen entre les prévisions et les valeurs cibles à partir des données d'entraînement, alors vos prédictions doivent être traitées comme moyennes. Si vous minimisez les écarts absolus, vous entraînez votre modèle à fournir des médianes, etc.
AJOUTÉE
Je voudrais souligner une chose. Comme je l'ai mentionné ci-dessus, il est important de garder la même mesure de précision en "ajustement" et en "prédiction". En plus de cela, je voudrais dire que vous êtes absolument libre de choisir vos mesures. Il n'y a pas de mesures "meilleures" ou "pires". La mesure doit être déterminée par la façon dont vous (ou votre client) utilisez vos prévisions. Par exemple, il peut être très important (pour vous ou votre client) d'avoir une correspondance exacte et si vous ne l'avez pas, cela ne joue aucun rôle si la différence entre les valeurs réelles et prédites est grande ou petite. Dans d'autres cas, cette différence joue un rôle. La différence de 1 est meilleure que la différence de 2. Dans certains cas, la différence de 2 est 2 fois pire que la différence de 1. Dans d'autres cas, une différence égale à 2 est 100 fois pire qu'une différence égale à 1. Vous pouvez également imaginer des cas exotiques dans lesquels vous devez générer une valeur qui diffère des observations. Ainsi, la mesure de la qualité des chiffres que vous générez peut être ce que vous voulez, selon ce dont vous avez besoin. Ce qui est important, c'est d'utiliser la même mesure dans la formation (ajustement) et l'évaluation des prédictions.
la source