English: Draws from the Dirichlet process DP(N(0,1), alpha). Each row uses a different alpha: 1, 10, 100 and 1000. A row contains 3 repetitions of the same experiment.
Python source code:
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import beta
from scipy.stats import norm
def draw_stick_breaking(ax, alpha, base_distribution):
beta_prime_ks = []
theta_ks = []
beta_distribution = beta(1, alpha)
rest = 1
for k in range(500):
theta_k = base_distribution.rvs()
beta_k = beta_distribution.rvs()
theta_ks.append(theta_k)
beta_prime_k = beta_k*rest
beta_prime_ks.append(beta_prime_k)
rest *= 1-beta_k
if rest < 1e-4:
break
ax.stem(theta_ks, beta_prime_ks, markerfmt=' ')
def main():
np.random.seed(1) #reproducibility
alphas = [1, 10, 100, 1000]
base_distribution = norm(0, 1)
n_rows = len(alphas)
n_cols = 3
fig, axarr = plt.subplots(n_rows,n_cols, sharex=True, sharey="row", figsize=(10,10))
for i_row in range(n_rows):
for i_col in range(n_cols):
draw_stick_breaking(axarr[i_row][i_col], alphas[i_row], base_distribution)
# set 3 ticks on each axis
axarr[0][0].xaxis.set_major_locator(plt.MaxNLocator(3))
for i_row in range(n_rows):
axarr[i_row][0].yaxis.set_major_locator(plt.MaxNLocator(3))
fig.tight_layout(pad=0.15)
fig.savefig('dirichlet.svg')
plt.show()
if __name__ == '__main__':
main()
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse
Kurzbeschreibungen
Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
Diese Datei enthält weitere Informationen (beispielsweise Exif-Metadaten), die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.