import numpy as np
import scipy.stats as sps
import matplotlib.pyplot as plt
from scipy.misc import logsumexp
#%matplotlib qt5
%matplotlib inline
plt.rcParams.update({'figure.figsize': (10.0, 6.0), 'font.size': 18})
# Plot gaussian distribution
mu = 0 # mean
sigma = 1 # standard deviation (std)
t = np.linspace(-10,10,1000)
plt.clf()
plt.plot(t, sps.norm.pdf(t, mu, sigma), 'r',lw=3)
# Genereate data from this distribution and plot corresponding ML estimated distribution
# Repeat few times to see different model estimates for the different training data sets
N=10 # number of training observations
for i in range(10):
x = sps.norm.rvs(mu, sigma, N)
p=plt.plot(t, sps.norm.pdf(t, np.mean(x), np.std(x)))
plt.plot(x, np.zeros_like(x), '+', color=p[0].get_color())