python 练习问题3.1コーシー·ベイズ推定量をモンテカルロ积分で计算する
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 练习问题3.1コーシー·ベイズ推定量をモンテカルロ积分で计算する相关的知识,希望对你有一定的参考价值。
# 練習問題3.1 コーシー・ベイズ推定量をモンテカルロ積分で計算する
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import cauchy, norm
import scipy.integrate
x = 4
# 分子の被積分関数
func1 = lambda t: t * norm(loc=x).pdf(t) * cauchy.pdf(t)
# 分母の被積分関数
func2 = lambda t: norm(loc=x).pdf(t) * cauchy.pdf(t)
# scipy.integrateで積分計算
I_nume = scipy.integrate.quad(func1, -Inf, Inf)[0]
I_denom = scipy.integrate.quad(func2, -Inf, Inf)[0]
I = I_nume / I_denom
print "scipy.integrate:", I
# モンテカルロ積分 (1)
# pをコーシー分布、fを正規分布とした場合
# コーシー分布からサンプリングする
x = 4
N = 100000
# 分子の積分をモンテカルロ法で計算
T = cauchy.rvs(size=N)
I_nume = np.mean(T * norm(loc=x).pdf(T))
# 分母の積分をモンテカルロ法で計算
T = cauchy.rvs(size=N)
I_denom = np.mean(norm(loc=x).pdf(T))
I = I_nume / I_denom
print u"モンテカルロ積分(1):", I
# モンテカルロ積分 (2)
# pを正規分布、fをコーシー分布とした場合
# 正規分布からサンプリングする
# 分子
T = norm(loc=x).rvs(size=N)
I_nume = np.mean(T * cauchy.pdf(T))
# 分母
T = norm(loc=x).rvs(size=N)
I_denom = np.mean(cauchy.pdf(T))
I = I_nume / I_denom
print u"モンテカルロ積分(2):", I
以上是关于python 练习问题3.1コーシー·ベイズ推定量をモンテカルロ积分で计算する的主要内容,如果未能解决你的问题,请参考以下文章
python [RGB値のカラーコード変换] #python
csharp MEF属性ベースのサンプル
python シーンに存在する文件ノードのテクスチャパス指定のロックを解除するコマンド
apache_conf 测试环境ベーシック认证
text シーダー実行
javascript 20180507アニメーションで淡出,淡出(ハンバーガー)