Sunday 19 February 2017

Autoregressive Moving Average Python

Prévision et Python Partie 1 8211 Moyennes mobiles Je voudrais lancer une série qui prend différentes méthodologies de prévision et les démontre en utilisant Python. Pour obtenir le 8216ball rolling8217, je veux commencer par des moyennes mobiles et idéalement mettre fin à la série sur la prévision avec les modèles ARIMA (AutoRegressive Integrated Moving Average). Mon objectif est d'avoir ce contenu 8216light8217 sur la théorie et les mathématiques et plutôt se concentrer sur l'application dans le code. Je ne les écrivent tard dans la nuit, alors s'il vous plaît n'hésitez pas à ping moi si j'ai des erreurs. Je me réfère souvent à Y prédit comme Y chapeau, si vous n'êtes pas conscient, dans l'équation le symbole chapeau est situé sur la prévision Y. Prévision avec la moyenne mobile Moyennes mobiles devraient être un endroit idéal pour commencer chaque manuel que j'ai commence avec le déplacement Moyennes pour jeter les bases. Les formules sont simples et amusantes. Équation 1: Équation des moyennes mobiles Le modèle des moyennes mobiles calcule la moyenne de chaque observation dans les périodes k. Dans mon code et les résultats, je vais utiliser une moyenne mobile de 12 périodes, donc k12. Y hat (t1) est la valeur de prévision pour la période suivante et Y (t) est la valeur réelle à la période t. Une période peut être des heures, des jours, des semaines, des mois, des années, etc. Étant donné que le modèle est identique, je ne vais pas spécifier d'unité. Yvalues ​​est un sous-ensemble de toutes les valeurs Y effectives introduites dans le code. Définir mon 8216k8217 (périodes) égal à 12 que je vais calculer une moyenne mobile de 12 périodes. Le code itère sur les observations (n), calcule la moyenne pour chaque intervalle de 12 périodes (k12) et affecte le calcul à la liste yhat. Dans le cas où vous avez remarqué, yfull est ma liste complète de valeurs Y, où yvalues ​​est un sous-ensemble qui a été décalé par k. Plus sur ce ci-dessous dans la 8216Offsetting Y sous-ensemble List8217 section. Graphique Prévisions actuelles et prévisions 1. Moyenne mobile de 12 périodes Mesure des erreurs de prévision J'ai ma prévision, mais est-elle bonne? Visuellement, la prévision suit assez bien les valeurs réelles, mais comment puis-je mesurer la qualité de cette prévision puis la comparer aux prévisions Dérivé en utilisant différentes méthodes. Une façon de mesurer une prévision est de mesurer les erreurs (résidus a. k.a., Y réel 8211 Y hat) J'ai choisi d'inclure les méthodes suivantes pour mesurer les erreurs de prévision dans cette discussion. Mean Squared Error (MSE) qui mesure les moyennes des erreurs au carré (différence entre Y et Y hat). MSE est rapporté dans les mêmes unités que les valeurs estimées (Y), ainsi on pourrait dire qu'une prévision est éteinte par 821610,000 units8217. Cette erreur pourrait être considérée comme faible si les valeurs réelles se situent dans les milliards d'unités. L'erreur peut être considérée comme grande si les valeurs réelles ne se situent que dans les 108217 de milliers. Un problème courant avec le MSE est qu'il pèse lourdement les grands outliers gonflant la mesure d'erreur. L'erreur quadratique moyenne de la racine prend la racine carrée de la MSE. RMSE représente l'écart type de l'échantillon des résidus. L'erreur de pourcentage absolu absolue (MAPE) est une méthode alternative qui signale l'erreur en tant que pourcentage. Au lieu de dire que la prévision est désactivée par 8216x units8217, nous pourrions dire une prévision est désactivée par 4. Je fréquemment utiliser plus d'une méthode lors de la comparaison des prévisions comme chacun a des limites, qui parfois peut entraîner des mesures parasites par une ou deux méthodes. Équation 2 amp 3: MSE et MAPE Équation 3: RMSE Prévision 1: Mesures d'erreur MSE: 630,649.39 RMSE: 794.13 MAPE: 10.22 Compensation de la liste des sous-ensembles Il est intéressant de noter que la prévision ci-dessus (prévision 1) C'est une simple série de données, je m'attends à ce que les résidus soient plus petits. Pour calculer les valeurs de Y hat pour le modèle de moyenne mobile de 12 périodes, j'utilise une formule qui déplace le temps (t) 12 périodes à venir (voir l'équation 1 ci-dessus). C'est ainsi que j'étais à l'origine enseigné et que j'ai des exemples dans les manuels sur mon étagère de bureau. Ce code crée yfull à partir du fichier de données chargé puis crée une liste de sous-ensembles commençant 12 périodes dans. Why8230 parce que nous allons utiliser la première période 12 pour lancer notre prévision de moyenne mobile. Les valeurs de prévision, cependant, ne 8216fit8217 les valeurs réelles autant que je voudrais. Ils sont soit en prédiction, soit en prédiction. Une autre méthode pour déplacer la prévision moyenne suggère de commencer la prévision au milieu de 8216k8217. Prévision 1: Données utilisant le milieu de 8216k8217 Prévision 2: Moyenne mobile de 12 périodes Prévision 2: Mesures d'erreur MSE: 7,350.78 RMSE: 85.74 MAPE: 0.86 La comparaison des mesures d'erreur de prévision de la prévision 1 avec la prévision 2 fournit une indication que la deuxième méthode convient mieux Nos données. Cependant8230 Il ya beaucoup de contenu disponible sur Moyennes mobiles centrées qui donnera des détails complets sur la façon de calculer les valeurs de point milieu pour les périodes evenodd. Je ne suis pas cette source, je suis simplement démontrer comment la réduction du retard des moyennes aligne mieux nos chapeaux Y à la réalité et améliore les mesures d'erreur. Le code est presque identique, sauf que la liste de sous-ensembles (yvalues) est créée 6 périodes dans et arrête 6 périodes courtes. Prévision 2: Données lorsque les moyennes mobiles sont moins adaptées La prévision moyenne mobile commence à échouer réellement lorsque la série de données a une composante cyclique ou une saisonnalité. Ci-dessous la même période de 12 période de moyenne Python code contre une série de données cycliques. Prévisions Moyennes mobiles de la période 3: 12 Prévision 3: Mesures des erreurs MSE: 5,386,003,002.91 RMSE: 73,389.39 MAPE: 48.79 Le graphique et la mesure d'erreur calculée indiquent tous deux que les moyennes mobiles ne conviennent pas bien à cette série. Je vais utiliser cette même série avec d'autres modèles de prévision pour démontrer des techniques qui font des cycles de pick-up dans les données. Analyse de données Python ARMA modèles ARMA modèles sont souvent utilisés pour prévoir une série chronologique. Ces modèles combinent des modèles autorégressifs et mobiles (voir en. wikipedia. orgwikiAutoregressiveE28093moving-averagemodel). Dans les modèles à moyenne mobile, nous supposons qu'une variable est la somme de la moyenne des séries temporelles et d'une combinaison linéaire de composantes de bruit. Les modèles autorégressifs et de moyenne mobile peuvent avoir des ordres différents. En général, on peut définir un modèle ARMA avec p termes autorégressifs et q termes de moyenne mobile comme suit: Dans la formule précédente, tout comme dans la formule du modèle autorégressif, nous avons une constante et une composante de bruit blanc cependant. Le meilleur contenu pour votre carrière. Découvrez l'apprentissage illimité à la demande pour environ 1 jour. Forecasting et Python Part 1 8211 Moyennes mobiles Je voudrais lancer une série qui prend différentes méthodologies de prévision et les démontre en utilisant Python. Pour obtenir le 8216ball rolling8217, je veux commencer par des moyennes mobiles et idéalement terminer la série sur la prévision avec les modèles ARIMA (AutoRegressive Integrated Moving Average). Mon objectif est d'avoir ce contenu 8216light8217 sur la théorie et les mathématiques et plutôt se concentrer sur l'application dans le code. Je ne les écrivent tard dans la nuit, alors s'il vous plaît n'hésitez pas à ping moi si j'ai des erreurs. Je me réfère souvent à Y prédit comme Y chapeau, si vous n'êtes pas conscient, dans l'équation le symbole chapeau est situé sur la prévision Y. Prévision avec la moyenne mobile Moyennes mobiles devraient être un endroit idéal pour commencer chaque manuel que j'ai commence avec le déplacement Moyennes pour jeter les bases. Les formules sont simples et amusantes. Équation 1: Équation des moyennes mobiles Le modèle des moyennes mobiles calcule la moyenne de chaque observation dans les périodes k. Dans mon code et les résultats, je vais utiliser une moyenne mobile de 12 périodes, donc k12. Y hat (t1) est la valeur de prévision pour la période suivante et Y (t) est la valeur réelle à la période t. Une période peut être des heures, des jours, des semaines, des mois, des années, etc. Étant donné que le modèle est identique, je ne vais pas spécifier d'unité. Yvalues ​​est un sous-ensemble de toutes les valeurs Y effectives introduites dans le code. Définir mon 8216k8217 (périodes) égal à 12 que je vais calculer une moyenne mobile de 12 périodes. Le code itère sur les observations (n), calcule la moyenne pour chaque intervalle de 12 périodes (k12) et affecte le calcul à la liste yhat. Dans le cas où vous avez remarqué, yfull est ma liste complète de valeurs Y, où yvalues ​​est un sous-ensemble qui a été décalé par k. Plus sur ce ci-dessous dans la 8216Offsetting Y sous-ensemble List8217 section. Graphique Prévisions actuelles et prévisions 1. Moyenne mobile de 12 périodes Mesure des erreurs de prévision J'ai ma prévision, mais est-elle bonne? Visuellement, la prévision suit assez bien les valeurs réelles, mais comment puis-je mesurer la qualité de cette prévision puis la comparer aux prévisions Dérivé en utilisant différentes méthodes. Une façon de mesurer une prévision est de mesurer les erreurs (résidus a. k.a., Y réel 8211 Y hat) J'ai choisi d'inclure les méthodes suivantes pour mesurer les erreurs de prévision dans cette discussion. Mean Squared Error (MSE) qui mesure les moyennes des erreurs au carré (différence entre Y et Y hat). MSE est rapporté dans les mêmes unités que les valeurs estimées (Y), ainsi on pourrait dire qu'une prévision est éteinte par 821610,000 units8217. Cette erreur pourrait être considérée comme faible si les valeurs réelles se situent dans les milliards d'unités. L'erreur peut être considérée comme grande si les valeurs réelles ne se situent que dans les 108217 de milliers. Un problème courant avec le MSE est qu'il pèse lourdement les grands outliers gonflant la mesure d'erreur. L'erreur quadratique moyenne de la racine prend la racine carrée de la MSE. RMSE représente l'écart type de l'échantillon des résidus. L'erreur de pourcentage absolu absolue (MAPE) est une méthode alternative qui signale l'erreur en tant que pourcentage. Au lieu de dire que la prévision est désactivée par 8216x units8217, nous pourrions dire une prévision est désactivée de 4. Je fréquemment utiliser plus d'une méthode lors de la comparaison des prévisions comme chacun a des limites, ce qui peut parfois entraîner des mesures parasites par une ou deux méthodes. Équation 2 amp 3: MSE et MAPE Équation 3: RMSE Prévision 1: Mesures d'erreur MSE: 630,649.39 RMSE: 794.13 MAPE: 10.22 Offsetting Y Liste des sous-ensembles Il est intéressant de noter que la prévision ci-dessus (prévision 1) ne 8216fit8217 les valeurs réelles plus efficacement 8211 C'est une simple série de données, je m'attends à ce que les résidus soient plus petits. Pour calculer les valeurs de Y hat pour le modèle de moyenne mobile de 12 périodes, j'utilise une formule qui déplace le temps (t) 12 périodes à venir (voir l'équation 1 ci-dessus). C'est ainsi que j'étais à l'origine enseigné et que j'ai des exemples dans les manuels sur mon étagère de bureau. Ce code crée yfull à partir du fichier de données chargé puis crée une liste de sous-ensembles commençant 12 périodes dans. Why8230 parce que nous allons utiliser la première période 12 pour lancer notre prévision de moyenne mobile. Les valeurs de prévision, cependant, ne 8216fit8217 les valeurs réelles autant que je voudrais. Ils sont soit en prédiction, soit en prédiction. Une autre méthode pour déplacer la prévision moyenne suggère de commencer la prévision au milieu de 8216k8217. Prévision 1: Données utilisant le milieu de 8216k8217 Prévision 2: Moyenne mobile de 12 périodes Prévision 2: Mesures d'erreur MSE: 7,350.78 RMSE: 85.74 MAPE: 0.86 La comparaison des mesures d'erreur de prévision de la prévision 1 avec la prévision 2 fournit une indication que la deuxième méthode convient mieux Nos données. Cependant8230 Il ya beaucoup de contenu disponible sur Moyennes mobiles centrées qui donnera des détails complets sur la façon de calculer les valeurs de point milieu pour les périodes evenodd. Je ne suis pas cette source, je suis simplement démontrer comment la réduction du retard des moyennes aligne mieux nos chapeaux Y à la réalité et améliore les mesures d'erreur. Le code est presque identique, sauf que la liste de sous-ensembles (yvalues) est créée 6 périodes dans et arrête 6 périodes courtes. Prévision 2: Données lorsque les moyennes mobiles sont moins adaptées La prévision moyenne mobile commence à échouer réellement lorsque la série de données a une composante cyclique ou une saisonnalité. Ci-dessous la même période de 12 période de moyenne Python code contre une série de données cycliques. Prévisions Moyennes mobiles de la période 3: 12 Prévision 3: Mesures des erreurs MSE: 5,386,003,002.91 RMSE: 73,389.39 MAPE: 48.79 Le graphique et la mesure d'erreur calculée indiquent tous deux que les moyennes mobiles ne conviennent pas bien à cette série. Je vais utiliser cette même série avec d'autres modèles de prévision pour démontrer les techniques qui font des cycles de ramassage dans les données.


No comments:

Post a Comment