ベルヌーイ分布の確立密度関数をJuliaで計算する
ベイズを学ぶために Udemy の講座で
【Python と Stan で学ぶ】仕組みが分かるベイズ統計学入門
の Python のコードを Julia で書き直して勉強している。
Python のコード
次のようにベルヌーイ分布で data から N_data 個取った場合の確立密度関数を計算する Python コードがあった
import from scipy.stats import bernoulli
p_a = 0.3
data = [0,1,0,0,1,1,1]
N_data = 2
likehood_a = bernoulli.pmf(data[:N_data], p_a)
likehood_a # array([ 0.7, 0.3])
Julia で書き直すとこんな感じになった
using Distributions
p_a = 0.3
data = [0,1,0,0,1,1,1]
N_data = 2
likehood_a = pdf(Bernoulli(p_a), data[1:N_data])
likehood_a
# 2-element Array{Float64,1}:
# 0.7
# 0.3
Julia でDistributions.jlには pmf メソッドは用意されていなかったので pdf を変わりに使っている。
Julia 贔屓な目で見てしまうが、それでも Julia の書き方のほうが Bernoulli(p_a)
とか使うあたりがメソッドを汎用性高く使えている気がする。
もちろん書き方はライブラリにもよるのだけども。