[PYTHON] Défi pour les prévisions de ventes futures: ① Qu'est-ce que l'analyse des séries chronologiques?

introduction

Récemment, le secteur de la vente au détail chuchote également avec le big data et l'IA, et il y a différentes consultations de chaque département chaque jour. Surtout récemment, il y a de nombreux cas futurs tels que "Je veux que vous prédisiez les ventes du mois prochain", "Combien devrais-je vendre la semaine prochaine", "Dois-je faire une promotion supplémentaire des ventes le mois prochain" du département du magasin. À propos des ventes.

Auparavant, l'objectif était de 105% par rapport au même mois de l'année précédente, mais en raison de la baisse du taux de natalité et du vieillissement de la population, du tourisme récepteur, des conditions météorologiques anormales et d'autres changements dans le monde, la comparaison d'une année sur l'autre est devenue inutile. Par conséquent, j'aimerais savoir combien il se vendra et combien il ne se vendra pas si cela est fait comme d'habitude au magasin, et l'utiliser comme norme pour réfléchir à la quantité à ajouter lors d'événements et de publicités.

Quelle analyse est bonne

Je travaille sur les données maintenant, mais je suis un littéraire croquant, donc je ne suis pas familier avec les méthodes complexes de statistiques. Donc, au début, j'ai essayé de faire des prédictions en insérant régulièrement des informations telles que la météo, les mesures de promotion des ventes et les événements environnants par analyse de régression, mais la précision ne s'est pas améliorée du tout. .. ..

À ce moment-là, lorsque j'ai fait des recherches sur diverses choses, j'ai découvert qu'il existe une «analyse des séries chronologiques» pour prédire les stocks.

Qu'est-ce que l'analyse de séries chronologiques?

"Des statistiques pour comprendre toute l'humanité", "[Predict TV Asahi's Audience Rate Transition with SARIMA model](https: // s Je voudrais organiser l'analyse des séries chronologiques avec ma compréhension en me référant à ": //qiita.com/mshinoda88/items/749131478bfefc9bf365)". (Je suis désolé si j'ai fait une erreur. S'il vous plaît dites-moi sans aucune formule difficile ...)

1. L'analyse des séries chronologiques signifie que les ventes passées sont incluses dans la variable de prévision.

Dans l'analyse de régression que j'ai faite à l'origine, j'essayais d'expliquer les ventes avec des variables complètement différentes comme suit.

Gains= a{1} *Température+ a{2} *Dépenses promotionnelles+・ ・ ・

Cependant, si les ventes d'un jour sont de 10 millions de yens, combien seront les ventes du lendemain? Ce ne sera pas un million de yens. Au contraire, ce ne sera pas 100 millions de yens. Probablement 12 millions de yens ou 8 millions de yens, je pense que je ne ferai pas une grande différence par rapport aux ventes de la veille.

Par conséquent, la méthode consiste à améliorer la précision en utilisant les ventes passées comme variables explicatives comme suit.

Gains{n} = a{1} * Gains{n-1} + a{2} * Gains{n-2} +・ ・ ・

Il semble que cela s'appelle AR (auto-retour).

2. L'analyse des séries chronologiques tient compte des erreurs passées

Pour l'auto-retour de 1, si les ventes du mois dernier sont supérieures à l'original, on considère qu'il y a eu préemption des ventes, et la possibilité que les ventes diminuent ce mois-ci est considérée. Cela peut être exprimé comme suit:

Gains{n} = b{1} *Erreur{n} + b{2} *Erreur{n-1} +・ ・ ・

Il semble que cela s'appelle MA (moyenne mobile).

3. L'analyse des séries chronologiques ne signifie pas répéter exactement le même cycle

C'est facile si le cycle est répété, mais ce n'est pas la partie stricte de la série chronologique réelle. Il semble être appelé "processus non stationnaire" en termes difficiles.

Il semble que nous devrions considérer la tendance à la hausse et la tendance à la baisse comme une tendance à moyen et long terme plutôt qu'une tendance à court terme.

On dit que ces 1 à 3 sont collectivement appelés le modèle ARIMA (Auto Regressive Integrated Moving Average). Le sentiment que AR et MA sont unis est cool.

4. Puisqu'il s'agit d'une série chronologique, la saisonnalité doit être prise en considération.

Même si vous le faites jusqu'à présent, la précision ne s'améliorera pas. Mais c'est ce que les détaillants savent. Il devrait y avoir une saisonnalité, comme les ventes n'augmentant pas chaque année en février et septembre, mais je n'ai pas pris cela en considération.

Même si c'est saisonnier, je pense qu'il y a différents cycles.

Il semble que le modèle SARIMA puisse prendre ces cycles en considération.

5. Nous devons tenir compte de facteurs autres que les séries chronologiques

Jusqu'à présent, nous avons vu les éléments de la série chronologique, mais j'aimerais également incorporer les éléments soudains.

――Météo: non seulement il pleut, mais il y a aussi des conditions météorologiques anormales récentes. ――Événement: s'il y a une compétition sportive ou un festival près du magasin, cela seul augmentera considérablement les ventes. ――Concurrence: si un magasin rival est ouvert à proximité, les ventes chuteront d'un certain montant de 10 à 10% par la suite.

Il semble que le modèle ARIMAX considère ces variables externes.

Un site auquel se référer pour les réaliser avec Python

en conclusion

Cette fois, je suis désolé pour toutes les lettres. À partir de la prochaine fois, j'essaierai en fait l'analyse de séries chronologiques.

Recommended Posts

Défi pour les prévisions de ventes futures: ① Qu'est-ce que l'analyse des séries chronologiques?
Analyse des séries chronologiques
Défi des prévisions de ventes futures: ② Analyse des séries chronologiques à l'aide de PyFlux
Défi des prévisions de ventes futures: ⑤ Analyse des séries chronologiques par Prophet
Défi des prévisions de ventes futures: ④ Analyse des séries chronologiques en tenant compte de la saisonnalité par Stats Models
Python: analyse des séries chronologiques
Analyse des séries chronologiques RNN_LSTM1
Analyse des séries chronologiques 1 Principes de base
Python 3.4 Créer un environnement Windows7-64bit (pour l'analyse des séries chronologiques financières)
Qu'est-ce que l'analyse de régression logistique?
Une méthode d'étude pour les débutants pour apprendre l'analyse des séries chronologiques
Analyse des séries chronologiques partie 4 VAR
Analyse de séries chronologiques Partie 3 Prévisions
A quoi sert l'interface ...
Analyse de séries chronologiques Partie 1 Autocorrélation
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Qu'est-ce que le grattage? [Résumé pour les débutants]
À quoi sert le trait de soulignement Python (_)?
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Qu'est-ce que xg boost (1) (pour les débutants)
Qu'est-ce que l'analyse de régression logistique à plusieurs termes?
LSTM (1) pour la prédiction de séries chronologiques (pour les débutants)
Analyse des séries chronologiques 2 Stabilité, modèle ARMA / ARIMA
[Python] Qu'est-ce que la série pandas et DataFrame?
J'ai essayé l'analyse de séries chronologiques! (Modèle AR)
Analyse des séries chronologiques Partie 2 AR / MA / ARMA
[Statistiques pour les programmeurs] Qu'est-ce qu'un événement?
Analyse des séries chronologiques 4 Construction du modèle SARIMA
Détection d'anomalies de données chronologiques pour les débutants
Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine