Si je pouvais obtenir la 27e place de ma vie, M5 m'a sauvé. La 27e place est différente car le format est différent ... [Chanson originale Yorushika / August, certain, moonlight](https://music.apple.com/jp/album/%E5%85%AB%E6%9C%88-%E6%9F%90-%E6% 9C% 88% E6% 98% 8E% E3% 81% 8B% E3% 82% 8A / 1455955689? I = 1455955692)
Nous avons participé au concours Kaggle M5 Forecasting Accuracy qui s'est tenu de mars à juin 2020. J'ai soumis un modèle équivalent à 27e place (top 0.4%) </ font>. J'ai fait une erreur dans le format et il est devenu le plus bas </ font>, donc je pleure la solution. Si vous me connaissez la prochaine fois, veuillez me traiter comme une somme réconfortante. Maintenant, appréciez l'histoire de la façon dont nous sommes tombés dans ** l'enfer **.
Prévisions Kaggle M5: Concours de prévisions de ventes Walmart (supermarché) Prévision des ventes (volume des ventes) pour chaque produit (3049 types) dans le futur 28 jours à partir des données de ventes des 1913 derniers jours. Les magasins cibles sont 10 magasins en Californie, au Texas et au Wisconsin. Compte tenu des données -Ventes passées (par ID, par magasin, par article, etc.) -Transition de prix, -Calendrier (vacances, etc.) L'indice d'évaluation est essentiellement RMSE (c'était un peu technique WRMSSE, mais cette fois il est omis)
Créez des LGBM pour chaque magasin et chaque date de prévision (voir la figure ci-dessous)
La prédiction des données de séries temporelles ne convient pas à l'apprentissage automatique (référence), donc au début c'était un modèle statistique J'ai essayé LSTM. Cela n'a pas fonctionné pour une raison quelconque. Par conséquent, le LGBM a été créé pour chaque région et chaque date de prévision afin que la dynamique qui contrôle les données soit la plus uniforme possible.
-Raison de choisir LGBM Je pense que les modèles créés pour la prédiction de séries chronologiques, tels que les modèles statistiques et les LSTM, apprennent essentiellement de grandes dynamiques. Mais ce que je veux prédire cette fois, c'est chaque produit, c'est-à-dire une petite dynamique. Par exemple, même si le mouvement de l'ensemble des Japonais peut être prédit, il est difficile de prédire l'individu (je pense que les Japonais aiment les ramen, mais je ne sais pas si vous aimez les ramen. , J'aime les nouilles Tantan). Par conséquent, j'ai décidé de demander LGBM, qui a une grande expressivité.
Quand j'ai visualisé la transition commerciale de chaque magasin en me référant à EDA notebook, j'ai remarqué que le mouvement était assez différent pour chaque magasin. ..
De plus, lors du regroupement à l'aide de l'UMAP, FOODS avait presque la même distribution, tandis que HOBBBIES présentait des différences régionales remarquables. De ces résultats, nous avons décidé de séparer les modèles car il y en a certains qui se vendent et d'autres qui ne se vendent pas pour chaque magasin, et les dynamiques qui les régissent sont différentes. Les États de Californie, du Texas et du Wisconsin, où se trouvent les magasins, sont géographiquement séparés les uns des autres, et j'ai pensé qu'il était raisonnable qu'ils se vendent différemment.
Si un modèle récursif est meilleur ou une prédiction quotidienne est meilleure, comme cela est fait dans Discussion C'était un point important. Nous avons simplement choisi un chemin sûr qui ne manque pas grand chose. Lors de la création d'un modèle de récurrence, le décalage1 était négatif lorsque l'on examinait l'importance de la permutation.
Fonctionnalités de base (moyenne mobile, max / min pendant une certaine période, etc.) ** ・ Le nombre de jours qui se sont écoulés depuis que le prix du produit a augmenté ou diminué ** ** ・ Le jour où les ventes ont été enregistrées pour la première fois ** Les données antérieures n'étaient pas incluses dans la formation. ** ・ TS commandé ** C'est comme un encodage cible sans fuite pour les données de séries chronologiques ** - Ventes maximum et minimum pour une période donnée et nombre de jours écoulés depuis l'enregistrement de l'enregistrement ** J'ai fait cela parce que je voulais enseigner au modèle d'apprentissage le concept du temps. ** - Ratio de 0 à 10 dans les ventes passées ** Je l'ai créé pour exprimer la distribution de probabilité des ventes à ce moment-là. De plus, si les ventes sont nulles, est-ce en rupture de stock? Je l'ai présenté parce qu'il est apparu soudainement, j'ai donc pensé qu'il était nécessaire d'inclure des statistiques liées à 0.
J'ai essayé de mettre une fonctionnalité statistiquement significative en plus ・ Coéquipiers: si vous savez ce qui est lié à votre motivation d'achat, vous devez connaître les ventes. ・ Écrivain: choses liées au temps pour donner des informations que les LGBM ne connaissent pas J'y pensais. En fait, j'ai essayé diverses choses telles que le traitement du bruit, la complexité de la forme d'onde et les fonctionnalités dans l'espace de Fourier, mais il n'y en avait pas beaucoup qui étaient assez efficaces.
Nous avons utilisé les données des 3 derniers mois. J'ai pris soin de ne pas adopter ceux avec un CV partiellement amélioré, mais de le rendre robuste. Je ne comptais ni sur la magie noire ni sur le classement public car je soupçonnais une sur-conformité.
Je ris parce que je n'ai pas travaillé trop dur Coéquipier 21h10 J'ai demandé une confirmation Iwamo 21:10 ** Ça a l'air bien ** </ font>
Je posterai le score du modèle original car il n'est pas qualifié.
Je suis désolé pour mes coéquipiers. C'était confirmé à la fin ... En fait, j'apprends le kaggle depuis environ six mois pour la première fois, mais je pense avoir beaucoup appris. Je suis vraiment déçu, mais je continuerai à faire de mon mieux.
Recommended Posts