https://scipy.pythonprogramminghelp.com/the-ultimate-guide-to-markov-chain-monte-carlo-methods/