Cet article
Ce sera une suite de l'article.
Dans la partie 1, j'ai écrit sur le modèle avec élan, mais dans la partie 2, j'écrirai le résultat de la prévision réelle de l'avenir, et enfin publier le code.
En fait, en juillet, la valeur prévue était déjà publiée dans la note. Cependant, le code utilisé pour la prédiction continue de s'améliorer lors de l'émission de la note de prédiction, et le code publié cette fois n'est que la partie de base, donc la prédiction de la note ici et la valeur de prédiction du code à publier ne sont pas nécessairement Cela ne correspond pas.
[Horse Racing Forecast] 25 juillet 2020 [Horse Racing Forecast] 26 juillet 2020 [Horse Racing Forecast] 1 août 2020 [[Horse Racing Forecast] 08/08/2020] (https://note.com/km_takao/n/n9d2acf507e60) [Horse Racing Forecast] 9 août 2020 [Horse Racing Forecast] 15 août 2020 [Horse Racing Forecast] 22 août 2020
(Les 2, 16 et 23 août 2020 n'ont pas pu être prévus en raison du besoin.)
Le taux de récupération lorsque ceux-ci sont achetés en double gain est le suivant. En ce qui concerne le montant à parier, suivant la méthode de M. Ushi expliquée dans la partie 1, «budget total x cote d'il y a 0,01 / 30 minutes» est utilisé, et le budget total est calculé à 100 000 yens.
Date de la course | Montant total du pari | Montant du remboursement | Taux de récupération |
---|---|---|---|
25 juillet 2020 | 7,500 yens | 9,440 yens | 125% |
26 juillet 2020 | 6,700 yens | 7,350 yens | 109% |
01 août 2020 | 10,100 yens | 10,110 yens | 100% |
08/08/2020 | 23,700 yens | 23,200 yens | 98% |
09 août 2020 | 14,900 yens | 15,210 yens | 102% |
15 août 2020 | 23,200 yens | 26,260 yens | 113% |
22 août 2020 | 31,000 yens | 30,540 yens | 99% |
Grâce à l'amélioration, nous avons pu augmenter le nombre d'achats, mais le taux de récupération se dégrade (en complément, il est de 3 Baba depuis le 15). Il est actuellement à l'étude de savoir si une telle course vient de se produire à ce moment ou si des améliorations supplémentaires sont nécessaires.
De même, le taux de récupération lors de l'achat d'un gain est le suivant.
Date de la course | Montant total du pari | Montant du remboursement | Taux de récupération |
---|---|---|---|
25 juillet 2020 | 2,800 yens | 4,390 yens | 156% |
26 juillet 2020 | 1,900 yens | 1,580 yens | 83% |
01 août 2020 | 4,700 yens | 4,410 yens | 93% |
08/08/2020 | 9,800 yens | 7,600 yens | 78% |
09 août 2020 | 4,500 yens | 3,380 yens | 75% |
15 août 2020 | 9,600 yens | 15,060 yens | 157% |
22 août 2020 | 12,700 yens | 13,900 yens | 109% |
Le nombre d'achats augmente ici aussi, mais il y a des jours où le taux de récupération a chuté. Soit dit en passant, voici le résultat de la victoire si vous passez à la méthode de toujours acheter seulement 100 yens quel que soit le budget, au lieu de la méthode de pari de M. Ushi.
Date de la course | Montant total du pari | Montant du remboursement | Taux de récupération |
---|---|---|---|
25 juillet 2020 | 1,600 yens | 1,850 yens | 115% |
26 juillet 2020 | 1,100 yens | 1,080 yens | 98% |
01 août 2020 | 1,600 yens | 3,500 yens | 218% |
08/08/2020 | 3,900 yens | 11,610 yens | 297% |
09 août 2020 | 2,400 yens | 8,190 yens | 341% |
15 août 2020 | 3,700 yens | 4,530 yens | 122% |
22 août 2020 | 4,800 yens | 5,980 yens | 125% |
En d'autres termes, le modèle peut prédire la victoire d'Anoma, mais avec la méthode de pari de M. Ushi, les cotes maximales pouvant être mises seront réduites en fonction du montant du budget, et il ne sera pas possible de parier sur Anoma. En conséquence, seuls les chevaux populaires à faible cote peuvent être pariés, ce qui semble être un facteur de réduction du taux de récupération. Cependant, au contraire, pour les courses qui n'ont pas été rudes, c'est un facteur pour augmenter le taux de récupération en faisant une pente comme la méthode de pari de M. Ushi. Si le budget auquel vous pensez est de 100 000 yens, cela n'aura pas beaucoup d'effet si les chances sont faibles (au plus environ 5 fois) comme une double victoire. Cependant, si les chances sont environ 10 fois ou plus lors d'une victoire, la mise minimale est de 100 yens, elle semble donc particulièrement affectée. Dans ce domaine, il est nécessaire de prendre en compte la constante de la formule de calcul de mise (0,01 dans ce cas), votre propre budget et la valeur prévue du modèle.
Je le publierai en note. Une explication détaillée du code est donnée dans les notes et commentaires du cahier. Ici, nous allons expliquer le flux simple.
Récupération des résultats des courses passées, des cotes, etc. de la base de données de netkeiba pour la création de modèles. Comme je l'ai écrit dans la partie 1, le grattage ici est basé sur "Comment gratter les données de courses de chevaux en utilisant read_html de pandas". En plus des informations sur chaque cheval participant telles que l'ordre d'arrivée et le nom du cavalier, des informations sur la course elle-même telles que la distance, les informations sur le terrain d'équitation, la météo, etc., et les cotes de chaque cheval avant le départ de la course sont utilisées comme caractéristiques à gratter.
Le code que je publie est le fondement du code que j'améliore encore, et je pense qu'il est encore plus précis si vous créez vos propres fonctionnalités ou ensemble avec d'autres algorithmes à partir de ce code, par exemple. .. Bien entendu, même dans le code à publier, un nouveau montant de caractéristiques lié à l'agrégation des notes passées est créé à partir du montant de caractéristiques gratté.
Un exemple de la quantité de caractéristiques à créer est l'agrégation des performances passées des chevaux. Il est nécessaire d'agréger pour que les notes futures ne soient pas incluses au moment passé, donc ici nous allons trier race_id par ordre croissant afin que les notes futures ne soient pas agrégées à partir du moment de l'agrégation. Par exemple, si vous regardez les résultats agrégés pour Almond Eye,
Par conséquent, seules les données passées sont correctement agrégées et ajoutées en tant que nouvelle quantité de fonctionnalités. (Notez que seules les données de 2018 à 2020 sont utilisées ici pour vérifier le code public.)
Comme le titre l'indique, nous allons créer un modèle en utilisant lightGBM. Les paramètres sont automatiquement ajustés par optuna. Je pense que la précision peut être encore améliorée en effectuant une validation d'ensemble et croisée dans cette partie.
Les informations de course pré-événement pour permettre au modèle de prédire ne sont pas la [base de données] netkeiba (https://db.netkeiba.com/?rf=navi) mais la page d'informations sur la course Obtenez de / top /? Rf = navi). Le code de base est presque le même que le grattage des notes antérieures.
Les valeurs prévues sont affichées pour chaque course. Le montant du pari similaire au calcul de M. 卍 est également affiché en plus de la colonne utilisant les cotes au moment du grattage.
Par exemple, si vous affichez Niigata 4R le samedi 8 août 2020 l'autre jour
Dans ce cas, pariez sur des chevaux dont la valeur prédite dépasse une certaine valeur, ou pariez sur 3 chevaux de celui qui a la plus grande valeur.
Le texte intégral est disponible à ici. Nous fournissons également des explications plus détaillées.
Recommended Posts