问题标签 [pymc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pymc 警告:值既不是数字也不是具有浮点 dtype 的数组
我有一个使用 pymc 2.3 创建的贝叶斯网络 (DAG) 模型。其中的所有变量都是伯努利随机变量。当我在采样之前调用它的 MAP.fit() 方法时,我的所有随机变量都会收到以下警告:
从 pymc 的 github 存储库中,如果随机变量的基础类型不是浮点数,似乎会打印此警告。对于伯努利 RV,类型是(并且应该是)布尔型。
这是否意味着 MAP 步骤会产生不稳定的结果?
python - 调试 pymc 概率计算
我试图通过复制此处给出的混合高斯示例来模拟指数混合。代码如下。我知道这里的推理有一些时髦的方面,但我的问题更多是关于如何在这样的模型中调试计算。
这个想法是它是三个指数的混合,比例参数取自 Gamma 分配给scales
. 但是,在ElemwiseCategoricalStep
. 通过查看 ,您可以看到指数分量的观测值分配最初是不同的initial_assignments
,并且您可以看到所有观测值都分配给所有交互上的第零分量,因为它set(tr['exp'].flatten())
仅包含 0。
p
我认为这是因为在表达式array([logp(v * self.sh) for v in self.values])
中分配给的所有值ElemwiseCategoricalStep.astep
都是负无穷大。我想知道为什么会这样以及如何纠正它,但更重要的是,我想知道可以使用哪些工具来调试这种事情。有什么办法让我逐步计算,logp(v * self.sh)
看看结果是如何确定的?如果我尝试使用 pdb 来执行此操作,我想我会在outputs = self.fn()
in受到阻碍theano.compile.function_module.Function.__call__
,我想我无法进入,因为它是一个本机函数。
即使知道如何为给定的一组模型参数计算 pdf 也是一个有用的开始。
python - 一般分布的产品
假设我对 [0,1] 之间的随机变量有两个未归一化的非参数分布,例如:
和
我想获得变量的 pdfC = A*B
并获得它的一些基本统计数据(例如均值、方差和/或贝叶斯区间)
这对statsmodels
,PyMC
或是否可行scipy.stats
?我怎样才能开始解决这个问题?
python - 连续 pdf 的 KL 散度
假设我有两个 pdf,例如:
我想计算他们的KL 散度。在我重新发明轮子之前,PyData 生态系统中是否有任何内置函数可以做到这一点?
python - 在 PyMC 中获取确定性变量的统计信息
假设我有(X,Y)点的随机集合:
并且我适合简单的线性回归:
如何获得y_est[0]
, y_est[1]
, y_est[2]
.. 的分布或统计数据(请注意,这些变量对应于每个输入y
值的估计x
值。
python - 带有“单向”噪声的回归
我想从数据中估计一个简单线性函数的参数和一个伽马分布的噪声项。(注意:这是https://stats.stackexchange.com/questions/88676/regression-with-unidirectional-noise的后续问题,但经过简化且更具体化)。假设我的观察数据生成如下:
如下所示:
我尝试使用 pymc 估计这些参数,如下所示:
但是,这给了我与真实值相去甚远的估计:
- 拦截:真:1.000,估计:3.281
- 斜率:真实:2.000,估计:-3.400
我做错了什么吗?
python - Simplest linear model with PyMC
Say I try to estimate the slope of a simple y= m * x
problem using the following data:
Clearly the slope is 1. However, when I run this in PyMC I get 10
but it should be 1!
Note: The above is with PyMC2.
python - 最高后密度区和中央可信区
给定一些参数 Θ 的后验 p(Θ|D),可以定义以下内容:
最高后密度区域:
最高后密度区域是一组最可能的 Θ 值,总共构成后质量的 100(1-α)%。
换句话说,对于给定的 α,我们寻找满足:
然后获得最高后密度区域作为集合:
中央可信区:
使用与上述相同的符号,可信区域(或区间)定义为:
根据分布,可能有许多这样的间隔。中央可信区间定义为每个尾部有(1-α)/2质量的可信区间。
计算:
对于常见的参数分布(例如 Beta、Gaussian 等),是否有任何内置函数或库可以使用SciPy或statsmodels进行计算?
python - 尝试安装 pymc 错误:无效命令 'config_fc'
我正在尝试在 osx 雪豹上安装 pymc,但我无处可去。
我已经安装了 gfortran。我有 pyCharm 作为 IDE。我已经克隆了 git repo。
运行命令'python setup.py config_fc --fcompiler gnu95 build'
它给了我这个错误:'错误:无效命令'config_fc'
我不知道为什么我是 python 新手。谢谢。