问题标签 [figaro-lang]

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.

0 投票
1 回答
138 浏览

scala - 在 Scala 中使用 Figaro 时出现 com.cra.figaro.algorithm.NotATargetException

当我尝试运行我的代码时,我只是遇到了以下错误。我不明白我做错了什么。有什么建议么?

我在 SBT 中执行runner1("HHHHTHHHHHHTHHTHHHTHH"),我在 figaro 中有其他代码正在运行,但这个代码不会启动。

0 投票
2 回答
483 浏览

scala - 在 Scala/Figaro 中将函数作为参数传递

我正在尝试学习 Figaro,因为它是在 Scala 中实现的,所以我遇到了一些 Scala 特定的问题。例如在下面的代码中Importance.probability有两个参数,第一个是分布,第二个是谓词。但是当我尝试运行此代码时,出现以下错误:

缺少大于 50 的参数

这是有道理的,因为它实际上需要一个参数。

由于 Scala 是一种函数式语言,我想有一些智能的标准方法可以将函数作为我错过的参数发送?我曾尝试使用_使其部分应用,但这不起作用。

0 投票
1 回答
94 浏览

machine-learning - Figaro 概率规划参数学习

我目前已经开始研究图形概率模型。我读过 Avi Pfeffer 关于 Figaro 概率编程语言的“实用概率编程”一书。作为练习,我试图从学习集中学习正态分布的参数。无论如何,我获得的数据并不完全是合理的预期。
我定义了一个模型,其中正态分布取决于 2 个参数:平均值是另一个正态分布,平均值为 50,方差为 0.01。方差是一个伽马分布,k=2 和 theta=2。
我正在进行 100 次观察,每个观察值为 100。我使用重要性采样算法推断均值和方差。这是代码

这是输出:

就像观察对参数的概率分布没有任何影响一样。这很奇怪(我肯定遗漏了一些东西),因为我将两个元素(均值和方差)链接起来以创建正态分布,然后我观察实际值。我希望有人可以帮助我。谢谢。

0 投票
0 回答
18 浏览

scala - 为什么变量 newP2Points 的计算方式与 newP1Points 不同?

我试图理解这段代码背后的想法。该代码详细说明了网球模型以将各个点建模为集会。

一场网球比赛由多组比赛组成,每组比赛由多场比赛组成。第一个赢得两盘的玩家赢得比赛。第一个赢得六场比赛的球员赢得一盘。第一个得到四分的玩家赢得比赛,除非两个玩家都得到三分。在这种情况下,第一个领先对手两分的玩家获胜。

我了解 Figaro 的功能,但有些代码行令人困惑。

0 投票
1 回答
86 浏览

scala - 有什么办法可以在 Scala 中重写这行代码?

我尝试使用我的函数 sum_ 重写这行 Scala + Figaro,但我有一些错误。

它使用 reduce() 方法来计算总和。我想重写这一行,但由于 Chain 返回类型 [Double, Int] 而出现错误:

0 投票
1 回答
64 浏览

figaro-lang - 如何在 figaro 编程中获取元素的值?

如何基于元素的值在 scala 函数中返回值?也就是说,根据这段代码,根据“Str”元素的值,必须指定“Unseen”变量的值,并根据“Unseen”的值是真还是假返回一些值.

0 投票
1 回答
96 浏览

scala - 我对 figaro 有错误:类型不匹配

我尝试从 [PPP] Avi Pfeffer 解决 8.5.4。实用概率编程。2016 年

我必须使用 DynamicBayesianNetwork 来创建一个简单的公司经济模型。为此,我需要三个变量:投资、利润和资本。我的 figaro 程序显示了一些关于类型不匹配的错误

这是我的代码:

0 投票
0 回答
46 浏览

interpolation - 概率程序,Figaro,Metropolice-Hastings 算法的贝叶斯线插值

标准任务:有一些数据的表格表示

'''

'''

我尝试通过 Q1*x+Q0 行以及贝叶斯推理和 Scala 上的 Figaro 概率系统对其进行插值。

我的代码在哪里:

'''

'''

但是这段代码总是返回 0, 0 有什么问题吗?

(我之前通过 LSM 解决的结果 -

'''

'''

)