问题标签 [pystan]
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 - 您可以在 pystan 或 pymc3 中使用样本权重吗?
如果我观察到的数据集具有权重(例如跟踪多重性),是否可以将其提供给 pystan 或 pymc3,类似于函数签名(http://mc-stan.org/rstanarm/reference/stan_glm.html) rstanarm 包:
python-3.x - 如何将 PyStan 对象存储为二进制文件?
我想将中间文件存储在 Stan 的概率编程步骤中,例如fit
对象,请参见下面的 SWE,以便我可以稍后加载它以供以后使用。Stan 用 C++ 编译模型,每次运行后,我不想再次重新运行模型,我想将它们存储到文件系统中以供以后分析。
使用 PyStan 存储 Stan 对象的最佳方式是什么?换句话说,如何将 stan 对象存储为二进制文件,以及存储结果的最可行方法是什么,以便以后无需再次运行它们?
小型工作示例(来源此处)
stan - 有效地对具有不同 sigma(协方差)矩阵的多正态变量集合进行采样
我是斯坦的新手,所以希望你能指出我正确的方向。我会根据我的情况来确保我们在同一页面上......
如果我有一组单变量法线,文档会告诉我:
提供与未矢量化版本相同的模型:
但是矢量化版本(很多?)更快。好的,很好,很有道理。
所以第一个问题是:是否有可能在单变量正常情况下利用这种向量化加速,其中样本的mu
和都随向量中的位置而变化。sigma
即如果mu_vec
和sigma_vec
都是向量(在前一种情况下sigma
是标量),那么是这样的:
相当于:
如果是这样,是否有可比的加速?
好的。那就是热身。真正的问题是如何最好地接近上述的多变量等价物。
在我的特殊情况下,我N
观察到一些变量的双变量数据y
,我将其存储在N x 2
矩阵中。(对于数量级,N
大约1000
在我的用例中。)
我的信念是,每个观察的每个组成部分的平均值是,每个组成部分的标准0
差是每个观察结果1
(我很高兴将它们硬编码为这样)。然而,我的信念是,相关性( )作为另一个观察变量(存储在元素向量中)rho
的(简单)函数,因观察而异。例如,我们可能会说,我们的目标是从我们的数据中学习。即第 th 观察的协方差矩阵将是:x
N
rho[n] = 2*inverse_logit(beta * x[n]) - 1
n in 1:N
beta
n
我的问题是将它放在一个 STAN 模型中的最佳方法是什么,这样它就不会那么慢了?是否有multi_normal
分布的矢量化版本,以便我可以将其指定为:
或者也许是其他类似的表述?或者我需要写:
在设置vector_of_sigma_matrices
并vector_of_mu_2_tuples
在较早的块之后?
提前感谢您的任何指导!
编辑以添加代码
使用python,我可以按照我的问题的精神生成数据,如下所示:
然后使用以下方法实际生成数据:
这是数据集的样子(左窗格中的y
彩色散点图和右窗格中的 by...所以想法是越高,越接近 ,越低,越接近。所以期望左窗格上的红点为“从左下到右上”,蓝点为“从左上到右下”,实际上它们是:correls
drivers
driver
1
correl
driver
-1
correl
使用蛮力方法,我可以建立一个如下所示的 STAN 模型:
这很适合:
但我希望有人能为“边缘化”方法指出正确的方向,在这种方法中,我们将双变量法线分解为一对可以使用相关性混合的独立法线。我需要这个的原因是在我的实际用例中,两个维度都是肥尾的。我很高兴将其建模为 student-t 分布,但问题是 STAN 只允许nu
指定一个(不是每个维度一个),所以我认为我需要找到一种方法将 a 分解multi_student_t
为一对独立student_t
的,这样我就可以为每个维度分别设置自由度。
python-3.x - CompileError : command 'C:\\MinGW\\bin\\gcc.exe' 在安装 pystan 时失败,退出状态为 1
我试图让 pystan 在 Windows 10 上工作,以便将 fbprophet 包用于时间序列。我已经安装了 MinGW,将它的目录添加到我的 PATH 环境变量中,并尝试了这段代码来验证一切是否正常:
产生这些结果:
到目前为止一切正常。
一旦在python中出现问题,我尝试执行以下代码:
我得到这个输出:
在发布此问题之前,我已经在网站以及其他网站上进行了搜索,但似乎没有什么对我有用。我会很感激任何帮助。
提前致谢
python-3.x - 在 Python3.6 上运行的 Jupyter 笔记本上导入 FBPROPHET 时出现问题
我在 CenstOS 服务器上运行 Jupyter。我使用了“Conda install pystan”和“conda install -c conda-forge pystan”,但每次导入 pystan 或 fbprohet 时都会收到错误消息“没有名为 'pystan._api' 的模块”。
请帮助
hidden-markov-models - STAN 中的多元发射隐马尔可夫模型
我正在尝试实现一个 HMM,其中观察结果是与小波卷积的一阶 HMM 的发射。
那是:
和:
和
到目前为止,我所拥有的代码以及此处概述的一维案例:
编译使用:
并适合使用:
我得到的错误是在评估 multi_normal_pdf 函数的第一行,说“协方差参数的 LDLT_Factor 不是正定的。最后一个条件方差是 2.77556e-16”
python - 斯坦中的“错误:模型块中不存在变量“真实”
我正在使用 Python 中的 Stan 跟踪示例代码,但由于语法错误,它没有被编译:
这是斯坦代码:
有什么问题吗?我也在stan_data
实现stan
功能之前定义了。我阅读了关于模型块的 Stan 手册,它说允许在模型块中声明局部变量......请让我知道上面的问题。
python-3.x - 来自 StanFit4Model 的 extract().to_dataframe() 在 pystan 2.18 上不起作用
我使用以下方法估计了一个模型pystan
:
后来我想将“东西”从格式中提取samples
出来dataframe
。我在用
但我收到一个错误:
根据文档,samples.extract()
应该有一个属性to_dataframe()
,对吧?我在这里做错了吗?我在用pystan version 2.18.0.0
python-2.7 - logger.warning("MSVC is not supported") 在 Windows 10 上安装 pystan 时出错
我的目标是在我的 Windows 10 计算机上安装 fbprophet。我正在尝试使用 pip 安装 pystan(先知的主要依赖项),但大约一分钟后,我收到以下错误:
我正在使用 python 2.7