私はベイジアン統計にかなり慣れていないので、アルゴリズムのバックエンドでディリクレプロセスを使用する修正された相関測定SparCCに出会いました。何が起こっているのかを実際に理解するために段階的にアルゴリズムを試してみましたがalpha
、ディリクレ分布でベクトルパラメーターが何をするのか、ベクトルパラメーターをどのように正規化するのか正確にはわかりませんかalpha
?
実装は以下をPython
使用していNumPy
ます:https :
//docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html
ドキュメントは言う:
alpha:分布の配列パラメーター(次元kのサンプルのk次元)。
私の質問:
alphas
分布にどのような影響がありますか?;どのよう
alphas
に正規化されていますか?; そしてalphas
が整数でない場合はどうなりますか?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Reproducibility
np.random.seed(0)
# Integer values for alphas
alphas = np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# Dirichlet Distribution
dd = np.random.dirichlet(alphas)
# array([ 0. , 0.0175113 , 0.00224837, 0.1041491 , 0.1264133 ,
# 0.06936311, 0.13086698, 0.15698674, 0.13608845, 0.25637266])
# Plot
ax = pd.Series(dd).plot()
ax.set_xlabel("alpha")
ax.set_ylabel("Dirichlet Draw")