[PYTHON] Prédiction de la moyenne Nikkei avec Pytorch ~ Makuma ~

Ça fait longtemps.

Je ne me sentais pas du tout motivé parce que mon logement avait été licencié, mon emploi à temps partiel a été licencié et j'étais tellement accro au mahjong à cause de l'influence de Corona, mais j'ai décidé de le mettre à jour sous forme de mémorandum après un long moment. Fait.

Après avoir touché à diverses choses, je suis arrivé à la conclusion que le code écrit dans l'article précédent Prédiction de la moyenne Nikkei avec Pytorch n'est pas si bon. Alors j'ai fait un article.

Référence, article cité

C'est presque le même que l'article précédent. J'ai également évoqué ce qui suit.

J'ai essayé la prédiction FX en utilisant LSTM

[Python] Prévisions du cours de l'action par LSTM [Chainer]

Si vous ne disposez pas de suffisamment de données, vous pouvez l'augmenter.

Using Deep Learning Neural Networks and Candlestick Chart Representation to Predict Stock Market

Affinity Loss est une histoire d'efforts pour la précision avec CIFAR-10

Problèmes et considérations

D'après l'article ci-dessus, la prédiction avec LSTM semble assez inexacte. Des diagrammes sont tracés qui s'écartent de la prévision et de la prévision réelle du cours de l'action.

Quand je recherche sur le net, je vois des articles comme celui-ci, mais dans de nombreux cas, je n'en ai pas envie. Il n'y a aucune base. C'est sensuel. Est-ce vraiment de la science?

Et je prédis le moment où il augmentera de 3%, ce qui était l'objectif dans l'article précédent Forecast of Nikkei Average with Pytorch. Cependant, j'ai estimé que c'était grave en raison du déséquilibre des données.

+ 3% de mur

J'avais affaire à des données moyennes Nikkei avec environ 4300 (20 ans) de données, mais il n'y avait aucun biais dans les données à un rapport de 1: 1 en termes de haut et de bas seuls. Cependant, si la condition du taux d'augmentation / diminution + 3% est ajoutée, le rapport d'augmentation: diminution sera biaisé d'environ 1:10. Dans ce cas, tous les modèles devraient décliner, et il n'y a ni attente ni déception.

Ceci est également mentionné dans l'article Deep Learning Stock Price Forecast Model_1 with 67% Precuracy. Augmentation des données (cet article, Si vous ne disposez pas de suffisamment de données, vous pouvez l'augmenter. Il a été écrit qu'il a été autorisé par (mentionné).

DataAugmentation

Alors. Le nombre de données n'étant que de 4300, nous avons effectué un suréchantillonnage. En d'autres termes, nous avons augmenté les données. Puisqu'il s'agit de données de séries chronologiques, elles ont été gérées comme un fichier csv comme l'image. À partir de là, le flux est de lire 20 jours (20 lignes) avec LSTM et de les laisser apprendre. スクリーンショット 2020-09-07 6.39.16.png

Avec le suréchantillonnage, lorsque des données sont ajoutées, la plus petite (dans ce cas, les données et l'étiquette qui augmente) est ajoutée ensemble. Par conséquent, ceux qui devraient augmenter pour rendre le nombre de données 1: 1 sont ajoutés sur une ligne de près de 4000 lignes.

Si cela se produit, j'apprenais toutes les 20 lignes, donc j'ai pensé que les données seraient complètement peu fiables dans les 4000 dernières lignes (en fait, je ne pouvais pas le prédire correctement). À ce stade, j'ai abandonné l'utilisation de l'augmentation des données pour les données de séries chronologiques, car je pensais que ce serait problématique.

Prévisions à l'aide d'images

À ce moment-là, je me suis souvenu que c'était le concours de classification d'images utilisant AlexNet qui avait commencé à attirer l'attention dans le deep learning. J'ai donc pensé à la prédiction en utilisant l'image.

En fait, si vous devinez simplement la classification binaire de la montée et de la descente, la prédiction de l'image semble être fière de sa grande précision. Utilisation des réseaux de neurones d'apprentissage profond et de la représentation graphique en chandeliers pour prédire le marché boursier Dans cet article, en lisant le cours de l'action à partir du graphique, la précision est de 97% SOTA. ... Apparemment ...

Le code de cet article était sur le hub git, j'ai donc décidé de l'utiliser et de l'anticiper.

Résoudre le problème du déséquilibre des données

S'il s'agit de données d'image, j'ai pensé que le déséquilibre des données pourrait être résolu par l'augmentation des données. Plus récemment, il semble que l'apprentissage profond à distance puisse être incorporé pour permettre un apprentissage plus déséquilibré des données.

Affinity Loss est une histoire d'efforts pour la précision avec CIFAR-10

Je ne savais pas si l'article ci-dessus pouvait être appliqué au LSTM en utilisant des données de séries chronologiques, j'ai donc décidé d'étudier avec des images.

Article suivant

Dans cet esprit, nous codons actuellement. Restez à l'écoute. Article suivant Prédiction Pytorch de Nikkei Average 2

Recommended Posts

Prédiction de la moyenne Nikkei avec Pytorch ~ Makuma ~
Prédiction de la moyenne Nikkei avec Pytorch 2
Prédiction de la moyenne Nikkei avec Pytorch
Prédiction de l'onde de péché avec keras
Prédiction des ondes de Sin (retour) avec Pytorch
4/22 prédiction de l'onde de péché avec keras
Classification multi-étiquette d'images multi-classes avec pytorch
Jouez avec PyTorch
Validation croisée avec PyTorch
À partir de PyTorch
Histoire d'essayer d'utiliser Tensorboard avec Pytorch
Utilisez RTX 3090 avec PyTorch
[PyTorch] Un peu de compréhension de CrossEntropyLoss avec des formules mathématiques
Résumé des problèmes lors de la segmentation sémantique avec Pytorch
Préparation de l'environnement d'exécution de PyTorch avec Docker Novembre 2019
Installer la diffusion de la torche avec PyTorch 1.7
Sauvegardez la sortie de GAN une par une ~ Avec l'implémentation de GAN par PyTorch ~
[PyTorch] Classification des images du CIFAR-10
Essayez d'implémenter XOR avec PyTorch
Implémenter le GPU PyTorch + avec Docker
Traitement parallèle avec Parallel de scikit-learn
Démineur d'apprentissage automatique avec PyTorch
PyTorch avec AWS Lambda [importation Lambda]
Souvenirs de combats avec Selenium
Gratter la moyenne du Nikkei avec le dramaturge-python
Effectuer un fractionnement stratifié avec PyTorch
J'ai créé Word2Vec avec Pytorch
Prédiction de probabilité de données déséquilibrées