使用二进制模式进行假设检验

信息处理 离散信号
2022-02-03 10:14:37

假设您有一个由 1 和 0 组成的序列你知道{xi}i=1NP(xi=1)=13

你想检验两个假设

H0 : 序列是iidP(xi=1)  i

H1:序列全是个子序列,但是有噪声。例如,序列可能以开始,然后有一段随机噪声(其中)。001001001P(xi=1)=13

在噪声周期之后,序列再次匹配模式。重要的是,的值可能与开始时不同。0010011

也就是说,我们没有测试是否。我们只是在测试这个序列的“正常”状态是否是的批次,但这些批次可以从任何值开始。mod(i,3)=0xi=1001001001

另一种说法是我们允许插入“额外”位。

理想情况下,我想找到一个测试统计数据,使我能够在这种情况下拒绝空值。下面的评论中建议的一种可能的解决方案是计算序列的数量,并与您在 null 下找到序列的数量进行比较。001001

这是一个有趣的解决方案。我将不得不更多地考虑如何为这个统计数据构建置信区间或渐近线。

我很欣赏你的评论。

更新:在考虑了我们正在使用更多的场景之后,我想我可以安全地假设只插入这是一个简单得多的问题。0

H0:序列是我们猜测它是根据我们在数据中观察到iidP(xi=1)=i=1Nxi1

H1:该序列有很多段,但额外的值会随机插入到序列中(如上创建偏移量)。0010010010

我不认为这对方法有太大的实质性改变,但意味着我们不再需要担心“噪声”序列的分布。

3个回答

根据您的解释,您可以计算序列为 001、100 或 010 的次数。然后,定义为该计数除以序列数p^N

如果我们将 null 定义为好序列的比例为 1.0 的假设,那么测试是

H0:p=1.0H1:p1.0

至于测试空值,(我假设 N 在这里很大,因此对二项式的正态近似成立)您可以计算测试统计量

因为Z=p^p0p¯(1p¯)N

并使用p0=1p¯=0.5. 然后,拒绝 null if|Z|>Zα2在哪里α是测试的临界值。

CI将是p^ ±Zα2×p¯(1p¯)N.

如果三个数字序列之一中的一个数字丢失或有多余的数字,并且您知道这一点,那么您可以将该序列视为错误序列。

您似乎描述了X具有隐藏状态(让我们将它们命名为 1、2、3)和转换矩阵的离散隐藏马尔可夫链

λ*[0 1 0; 0 0 1; 1 0 0] + (1 - λ)*ones(3,3)/3 

和观察算子

H(x) = x == 3

如果λ == 1,你有一个确定的1 2 3 1 2 3 1 2 3潜在序列并且会观察到0 0 1 0 0 1 0 0 1...如果λ == 1,则潜在状态是 iid1 2 1 2 3 3 2 1 3并且您将观察到 idd 序列0 0 0 0 1 1 0 0 1...

如果你把先验放在 上λ,你可以使用贝叶斯推理来估计它,或者如果你愿意,可以使用最大似然。相关:鲍姆-韦尔奇算法。

你可以玩

using Random, LinearAlgebra, Distributions, StatsBase

P =  λ*[0 1 0; 0 0 1; 1 0 0] + (1 - λ)*ones(3,3)/3 
"""
      samplefrom(p)

Produces a sample from the probability distribution
with prob .mass vector p.

Helpful: to sample from the conditional distribution given state i

    j = samplefrom(P[i, :]) # : for all j

"""
samplefrom(p) = sample(1:3, weights(p))

"""
      samplefromchain(p, P, n)

Samples an n-step Markov chain with starting distribution p
with transition matrix P.
"""
function samplefromchain(p, P, n) # n is number of trans
      s = samplefrom(p)
      statevector = [s]
      for i in 1:n
            s = samplefrom(P[s, :])
            push!(statevector, s)
      end
      return statevector
end
```

我会采取与@mschuaer 不同的方法(不太正式?)。

  1. 生成序列的自相关。
  2. 通过从序列中采样而不替换 (x1000) 来随机播放您的序列
  3. 将实际自相关与洗牌进行比较。

噪声数据与叠加混洗的互相关。