如何对具有时变偏差的有偏硬币进行建模?

机器算法验证 时间序列 贝叶斯 卡尔曼滤波器
2022-03-26 04:21:48

有偏硬币的模型通常有一个参数从一系列绘制中估计θ=P(Head|θ)θ

在我的设置中,由于一些奇怪的物理过程,我的硬币属性正在缓慢变化,并且成为时间的函数。我的数据是一组有序的绘图,即我可以考虑在离散和规则的时间网格上θt{H,T,H,H,H,T,...}t

你会如何建模?我正在考虑像卡尔曼滤波器这样的东西,它适应隐藏变量是并保持二项式似然性的事实。我可以用什么来建模以保持推理的易处理性?θP(θ(t+1)|θ(t))

编辑以下答案(谢谢!):我想将建模为 1 阶马尔可夫链,就像在 HMM 或卡尔曼滤波器中所做的那样。我能做的唯一假设是是平滑的。我可以写一个小的高斯噪声(卡尔曼滤波器的想法),但这会打破的要求必须保留在中。按照@J Dav 的想法,我可以使用概率函数将实线映射到,但我有直觉认为这将提供非分析解决方案。具有均值θ(t)θ(t)P(θ(t+1)|θ(t))=θ(t)+ϵϵθ[0,1][0,1]θ(t)更大的差异可以解决问题。

我问这个问题是因为我觉得这个问题很简单,以前一定研究过。

3个回答

我怀疑您是否可以提出具有分析解决方案的模型,但是由于模型的依赖结构很简单,因此使用正确的工具仍然可以使推理易于处理。作为一名机器学习研究人员,我更喜欢使用以下模型,因为使用期望传播技术可以非常有效地进行推理:

为第次试验的结果。让我们定义时变参数X(t)t

η(t+1)N(η(t),τ2)对于t0

要将联系起来,请引入潜在变量η(t)X(t)

Y(t)N(η(t),β2) ,

和模型X(t)

X(t)=1如果您实际上可以忽略并将它们边缘化,只说,(使用 cdf标准正常),但潜在变量的引入使推理变得容易。另外,请注意,在你原来的参数化Y(t)0X(t)=0Y(t)P[X(t)=1]=Φ(η(t)/β)Φθ(t)=η(t)/β

如果您对实现推理算法感兴趣,请查看这篇论文他们使用非常相似的模型,因此您可以轻松地调整算法。要了解 EP,以下页面可能会很有用。如果您有兴趣采用这种方法,请告诉我;我可以就如何实现推理算法提供更详细的建议。

为了详细说明我的评论,诸如 p(t)=p exp(-t) 之类的模型很简单,并且允许通过使用最大似然估计但是概率真的呈指数衰减吗?如果您观察到的成功频率高于您在之前和之后观察到的时间段,那么这个模型显然是错误的。振荡行为可以建模为 p(t)= |。两种模型都非常易于处理,并且可以通过最大似然法求解,但它们给出的解决方案非常不同。000

您的概率随而变化,但正如迈克尔所说,您不知道如何。线性与否?它看起来像一个模型选择问题,您的概率tp

p=Φ(g(t,θ))可能取决于高度非线性的函数。只是一个保证概率在 0 到 1 之间的边界函数。g(t,θ)Φ

一个简单的探索性方法是使用不同的非线性尝试几个概率,根据标准信息标准执行Φg()g()

要回答您重新编辑的问题:

正如您所说,使用概率仅意味着数值解,但您可以使用逻辑函数:

逻辑函数:P[θ(t+1)]=11+exp(θ(t)+ϵ)

线性化:logP1P=θ(t)+ϵ

我不确定这在卡尔曼滤波器方法下如何工作,但仍然相信像或许多其他没有随机项的非线性规范会做这项工作。正如你所看到的,这个函数是“平滑的”,因为它是连续的和可微的。不幸的是,添加会产生结果概率的跳跃,这是你不想要的,所以我的建议是θ(t+1)=at3+bt2+ct+dϵϵ

对数概率:P[Coint+1=H|t]=11+exp(θ(t))

您已经在伯努利事件(马尔可夫链)中有随机数,并且由于 ,您正在添加它的额外来源。因此,您的问题可以通过最大似然估计的概率或 Logit 来解决,其中作为解释变量。我想你同意简约是非常重要的。除非您的主要目标是应用给定的方法(HMM 和卡尔曼滤波器),而不是为您的问题提供最简单的有效解决方案。ϵt