Maison >Périphériques technologiques >IA >Application de la méthode Croston à la prévision de la demande intermittente
La méthode Croston est une méthode statistique utilisée pour prédire la demande intermittente. Il convient aux produits ou services dont la demande est instable et irrégulière, tels que les pièces de rechange, les services de conseil, les fournitures médicales, etc., pour lesquels la demande est très incertaine. Les avantages de cette méthode sont qu’elle est simple et facile à utiliser, rapide en termes de calcul et qu’elle a un large éventail d’applications. En même temps, elle peut éviter certains défauts des méthodes de prédiction traditionnelles. En analysant les données historiques de la demande intermittente, la méthode Croston peut capturer efficacement les tendances changeantes et les intervalles de demande et établir des prévisions de demande précises sur la base de ces informations. Par conséquent, la méthode Croston présente une valeur d’application importante dans la gestion et la planification de la demande intermittente.
Le principe de base de la méthode de Croston est de décomposer la séquence de demande intermittente en deux parties : l'intervalle de temps entre les occurrences de demande et la quantité de demande. Ce processus de décomposition est basé sur deux hypothèses de base : premièrement, l'intervalle de temps entre l'apparition de la demande et la quantité de la demande sont indépendants l'un de l'autre ; deuxièmement, la distribution de la quantité de la demande peut être approchée comme une distribution binomiale ; En analysant et en prévoyant ces deux parties, les caractéristiques et les changements de la demande intermittente peuvent être mieux compris et prédits.
La méthode Croston utilise deux modèles de lissage exponentiel pour prédire les intervalles de temps et la demande. La valeur prévisionnelle de l'intervalle de temps est appelée valeur prévisionnelle d'intervalle et la valeur prévisionnelle de la demande est appelée valeur prévisionnelle de la demande. Ensuite, en multipliant les deux valeurs prédites, la valeur prédite globale est obtenue. La détermination des paramètres des deux modèles de lissage exponentiel est la clé de la méthode de Croston.
Dans les applications pratiques, la méthode Croston peut être appliquée en suivant les étapes suivantes :
Tout d'abord, nous devons calculer la valeur de prévision de l'intervalle et la valeur de prévision de la demande. Les prévisions à intervalles peuvent être calculées à l'aide d'un simple lissage exponentiel, tandis que les prévisions de demande peuvent être calculées à l'aide des formules de la méthode de Croston.
La deuxième étape consiste à calculer la valeur globale prédite. Multipliez la prévision d'intervalle et la prévision de la demande pour obtenir la prévision globale.
La troisième étape consiste à évaluer l'exactitude des résultats de la prédiction. L'exactitude des résultats de prévision peut être évaluée à l'aide de l'erreur absolue moyenne (MAE) ou de l'erreur quadratique moyenne (RMSE). Dans le même temps, une analyse des erreurs peut également être effectuée pour détecter des écarts et des anomalies dans les résultats de prédiction.
Il convient de noter que la méthode Croston peut ne pas être applicable aux produits ou services avec une faible demande ou de longs intervalles de demande, car dans ces cas, les changements dans la demande et les intervalles de temps peuvent être affectés par un plus grand caractère aléatoire. De plus, la méthode Croston nécessite également un ajustement des paramètres en fonction des conditions réelles pour améliorer la précision des prévisions.
L'idée centrale de la méthode de Croston est de prédire la demande future et le temps d'apparition de la demande en lissant la moyenne de deux séquences. Plus précisément, cette méthode exprime respectivement la série chronologique de la demande et la séquence de quantités de la demande sous les formes suivantes :
y_t=\begin{cases} 1&\text{if demand occurs at time}t\ 0&\text{otherwise} \end{cases} p_t=\begin{cases} d_t&\text{if demand occurs at time}t\ 0&\text{otherwise} \end{cases}
où y_t représente s'il y a une demande au moment t, et p_t représente la demande au moment t (s'il y a une demande). Ensuite, la méthode effectue un lissage en calculant la moyenne de y_t et p_t. Concrètement, la formule de calcul de la moyenne est la suivante :
\begin{aligned} \bar{y}_t&=\alpha y_t+(1-\alpha)\bar{y}_{t-1}\ \bar{p}_t&=\alpha p_t+(1-\alpha)\bar{p}_{t-1} \end{aligned}
où alpha est le coefficient de lissage, généralement compris entre 0,1 et 0,3. La méthode utilise ensuite la moyenne lissée pour effectuer des prévisions de demande. Plus précisément, la formule permettant de prédire l'heure d'apparition de la prochaine demande et la quantité de la demande par cette méthode est la suivante :
\begin{aligned} \hat{y}_{t+1}&=\frac{1}{\bar{y}_t+\frac{1}{1-\alpha}}\ \hat{p}_{t+1}&=\frac{\bar{p}_t}{\bar{y}_t+\frac{1}{1-\alpha}} \end{aligned}
La méthode Croston comprend également certains termes de correction pour réduire le biais dans la prévision de la demande. Plus précisément, la méthode comprend des corrections des séries chronologiques de demande et des séries de quantités de demande, ainsi que des corrections du coefficient de lissage.
Ce qui suit est un exemple de code Python utilisant la méthode Croston pour la prévision de la demande intermittente :
import pandas as pd import numpy as np def croston(y, forecast_len, alpha=0.2, init=None): """ Croston方法预测间歇性需求 参数: y:需求数据 forecast_len:预测长度 alpha:平滑系数,默认为0.2 init:初始值,默认为None 返回: 预测结果 """ # 初始化 y = np.asarray(y) n = len(y) if init is None: # 如果没有指定初始值,则使用第一个非零值作为初始值 init = np.nonzero(y)[0][0] p = np.zeros(n) y_hat = np.zeros(n+forecast_len) p_hat = np.zeros(n+forecast_len) y_hat[init] = y[init] p_hat[init] = y[init] # 平滑 for i in range(init+1, n): if y[i] > 0: # 如果有需求发生 y_hat[i] = alpha + (1 - alpha)*y[i-1] p_hat[i] = alpha*y[i] + (1 -alpha)*p[i-1] else: # 如果没有需求发生 y_hat[i] = (1 - alpha)*y_hat[i-1] p_hat[i] = (1 - alpha)*p_hat[i-1] # 预测 for i in range(n, n+forecast_len): y_hat[i] = (1 - alpha)*y_hat[i-1] p_hat[i] = (1 - alpha)*p_hat[i-1] return p_hat[-forecast_len:] # 示例 demand = [0, 0, 5, 0, 0, 7, 0, 0, 9, 0, 0, 6, 0] forecast_len = 5 result = croston(demand, forecast_len) print(result)
Dans le code ci-dessus, nous utilisons la méthode Croston pour prédire les données de demande intermittente. Ces données contiennent la situation de la demande à 13 moments, dont la demande se produit à 5 moments et la demande aux moments restants est 0. Les résultats prévisionnels incluent la demande pour les cinq prochains instants. Dans le code, nous définissons un coefficient de lissage sur 0,2, en utilisant la première valeur non nulle comme valeur initiale. Les résultats de prédiction sont [1,677, 1,342, 1,074, 0,859, 0,684], ce qui indique que la demande aux cinq prochains instants est respectivement de 1,677, 1,342, 1,074, 0,859 et 0,684.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!