上传者: 38735119
|
上传时间: 2021-12-24 19:20:29
|
文件大小: 113KB
|
文件类型: -
蒙特卡洛算法实例MATLAB代码pyhmc:Python中的汉密尔顿蒙特卡洛
该软件包是Aki
Vehtari编写的matlab工具箱中函数hmc2.m和hmc2_opt.m的直接端口。
该代码最初是基于功能hmc.m从写由伊恩·牛逼Nabney。
涉及“窗口”的算法部分是从Radford
Neal编写的该函数的C代码中得出的。
最初的Python由Kilian
Koepsell制造,随后由Robert
T.
McGibbon进行了现代化。
作者
基利安·科普塞尔
罗伯特·麦克吉本
该软件根据BSD许可证分发(请参阅LICENSE文件)。
例子
如果要从5维高斯绘制样本,则可以执行以下操作:
import
numpy
as
np
def
logprob(x,
ivar):
logp
=
-0.5
*
np.sum(ivar
*
x**2)
grad
=
-ivar
*
x
return
logp,
grad
from
pyhmc
import
hmc
ivar
=
1.
/
np.random.rand(5)
samples
=
hmc(logprob,
x0=np.random.ra