[PYTHON] J'ai essayé de m'organiser à propos de MCMC.

À propos de la méthode de Monte Carlo en chaîne de Markov (méthode MCMC) ・ Qu'est-ce que la méthode MCMC? -Types de méthodes MCMC et modules Python J'ai essayé de résumer.

0. Qu'est-ce que la méthode Markov Chain Monte Carlo (méthode MCMC)?

En utilisant la chaîne de Markov, la méthode de Monte Carlo est renforcée.

J'écrirai en détail plus tard, Parce que la méthode de Monte Carlo est un échantillonnage vraiment aléatoire ・ Le coût de calcul est élevé ・ La précision ne s'améliore pas Il ya un problème. Par conséquent, la méthode de Monte Carlo par chaîne de Markov est Ce problème a été amélioré en utilisant la chaîne de Markov.

1. 1. Qu'est-ce que la méthode Monte Carlo?

"Introduction à la méthode de Monte Carlo par Python" http://aidiary.hatenablog.com/entry/20140620/1403272044 La méthode Monte Carlo est soigneusement expliquée dès le début, De plus, il est livré avec une implémentation Python.

Vous pouvez apprendre la théorie avec des explications très détaillées tout en essayant ce montant. J'ai le livre original, mais il vaut mieux lire cette page Je pense que cela devrait être beaucoup moins laborieux et facile à comprendre.

Il existe plusieurs types de méthodes de Monte Carlo. ・ Méthode de conversion inverse ・ Méthode Box-Muller ・ Méthode de rejet d'acceptation ・ Échantillonnage prioritaire

2. Qu'est-ce que la chaîne de Markov?

En gros, pour effectuer une transition probabiliste dans les séries chronologiques Il effectue des opérations matricielles. (Pas précis ...) Vous pouvez également le considérer comme un automate qui effectue une transition probabiliste.

"Introduction to Markov chain : simplified!" http://www.analyticsvidhya.com/…/07/markov-chain-simplified/ Bien qu'il soit en anglais, c'est un bon article.

3. 3. Méthode de Monte Carlo en chaîne de Markov (méthode MCMC)

1) Quelle est la méthode MCMC?

Parce que la méthode de Monte Carlo est un échantillonnage vraiment aléatoire ・ Le coût de calcul est élevé ・ La précision ne s'améliore pas Il ya un problème.

La méthode de Monte Carlo par chaîne de Markov est En échantillonnant avec la chaîne de Markov comme une distribution régulière, C'est une méthode qui améliore les problèmes ci-dessus.

2) algorithme de méthode MCMC

étape 1. Déterminez le point initial étape 2. Déterminer la distribution pour le prochain échantillonnage par la chaîne de Markov

4. Pratiquez avec Python

1) Premier MCMC (méthode Metropolis Hastings)

https://tatsyblog.wordpress.com/

Du côté de la lecture du code source J'ai l'impression que MCMC peut comprendre.

La méthode Metropolis Hasting est basée sur l'idée la plus naturelle C'est une méthode orthodoxe conçue. Dans une certaine probabilité en passant à la probabilité la plus faible C'est un bouchon pour empêcher la distribution régulière de passer.

2) Types de méthode MCMC

Autre, ・ Méthode d'échantillonnage Gibbs ・ Méthode hybride Monte Carlo ・ Méthode d'échantillonnage par tranche Est présenté, mais voir l'article ↑.

3) module Python

↑ Le lien utilise le module mcmc, En plus de cela, il semble que le module pymc3 soit également souvent utilisé. http://qiita.com/kenmatsu4/items/a0c703762a2429e21793

5. Pour apprendre le système théorique

Par le Dr Yukito Iba, Institut de mathématiques statistiques Conférence MCMC (https://www.youtube.com/watch?v=-H28H1unn0M)

De la distribution stationnaire à la nature de la chaîne de Markov et aux aspects physiques L'explication est simple et facile à comprendre. Si vous regardez cela, vous pouvez facilement comprendre les fondements de MCMC.

6. finalement

La méthode MCMC est un merveilleux commentaire sur un livre dont on a récemment parlé [Particularité] Page d'assistance pour le raisonnement bayésien et le logiciel gratuit MCMC https://sites.google.com/site/iwanamidatascience/vol1/support_tokushu Cela peut suffire à voir.

Mais ici,

  1. L'entrée de ce qu'est la méthode Monte Carlo en chaîne de Markov
  2. Comment utiliser le module Python J'ai écrit les bases de, et je me suis demandé si je pouvais différencier ...

Recommended Posts

J'ai essayé de m'organiser à propos de MCMC.
J'ai essayé de déboguer.
J'ai essayé d'apprendre PredNet
J'ai essayé d'implémenter PCANet
J'ai essayé de présenter Pylint
J'ai essayé de résumer SparseMatrix
jupyter je l'ai touché
J'ai essayé d'implémenter StarGAN (1)
J'ai essayé de découvrir les grandes lignes de Big Gorilla
J'ai essayé d'implémenter Deep VQE
J'ai essayé de créer l'API Quip
J'ai essayé de toucher Python (installation)
J'ai essayé de mettre en place une validation contradictoire
J'ai essayé l'authentification vocale Watson (Speech to Text)
[Python] J'ai essayé de visualiser des tweets sur Corona avec WordCloud
J'ai touché l'API de Tesla
J'ai essayé d'implémenter Realness GAN
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé de laisser Pepper parler des informations sur l'événement et des informations sur les membres
J'ai essayé de créer un linebot (implémentation)
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de résumer la commande umask
J'ai essayé d'implémenter la permutation en Python
J'ai essayé de créer un linebot (préparation)
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de reconnaître le mot de réveil
J'ai essayé de commencer avec Hy
J'ai essayé d'implémenter PLSA dans Python 2
Entrée standard Python3 que j'ai essayé de résumer
J'ai essayé de classer le texte en utilisant TensorFlow
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'ajouter un post-incrément à l'implémentation CPython
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé de laisser optuna résoudre le nombre
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai créé une API Web
J'ai essayé de résoudre TSP avec QAOA
[Python] J'ai essayé de calculer TF-IDF régulièrement
J'ai essayé de toucher Python (syntaxe de base)
J'ai fait de mon mieux pour retourner au Lasso
J'ai essayé de résumer les modules d'Ansible - l'édition Linux
J'ai essayé de mettre en œuvre une blockchain qui fonctionne réellement avec environ 170 lignes
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé de résumer la manière logique de penser l'orientation objet.
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé de prédire l'année prochaine avec l'IA
J'ai essayé de créer une méthode de super résolution / ESPCN
J'ai essayé de programmer la bulle de tri par langue
J'ai essayé Web Scraping pour analyser les paroles.