Rademacher随机变量的乘积和


9

令是独立随机变量,其值分别为或,概率分别为0.5。考虑和。我希望将概率上限。我现在的最佳界限是,其中c是一个通用常数。这是通过应用简单的Chernoff 边界对概率Pr(| x_1 + \ dots + x_n | <\ sqrt {t})Pr(| y_1 + \ dots y_n | <\ sqrt {t})进行下限来实现的。我能希望得到比这个界限更好的东西吗?首先,我至少可以得到x1xa,y1yb+11S=i,jxi×yjP(|S|>t)2ectmax(a,b)cPr(|x1++xn|<t)Pr(|y1++yn|<t)ectab。如果我可以得到次高斯的尾巴,那可能是最好的,但是我们可以期望吗(我不这样认为,但也不能想到一个论点)?


您是否考虑过将Chernoff边界直接应用于S?您也许可以使用
E[exp(λS]=E[λijXiYj]=E[λ(iXi)(jYj)]
Dilip Sarwate

t \ gt ab的界线有明显的改善,t>ab因此概率必须为零。在我看来,这是“亚高斯”尾巴:-)。似乎您的界限是不正确的:始终为1的变量1满足此问题的条件。对于a=bt=a21,概率为1但是随着a的增大,边界渐近地为2 \ exp(-ca)\ to 02exp(ca)0a
ub

所有变量均为1的概率呈指数下降。我不认为我理解您的评论。对于和 ,我说的界限很简单,因为总和大于的概率为a=bt=a21t212(a1)eln(2)c(a1/a)
user1189053 2013年

1
我为我的一个错误感到非常抱歉。我以为我在上面统一提到过。因此,p = 1/2,我们可以使a和b大于任何常数(如果需要)以保持不等式
user1189053 2013年

2
除非我的眼睛欺骗我,否则您是在考虑乘积而不是乘积。:-)
红衣主教

Answers:


7

代数关系

S=i,jxiyj=ixijyj

将为两个独立和的乘积。因为和是独立的伯努利变量,所以是一个二项式变量,已翻倍并转移了。因此,其均值为,方差为。同样,的平均值为,方差为。让我们现在通过定义它们来标准化它们S(xi+1)/2(yj+1)/2(1/2)X=i=1axi(a,1/2)0aY=j=1byj0b

Xa=1ai=1axi,

何处

S=abXaXb=abZab.

到高(和量化)的准确度,作为变大接近标准正态分布。 因此,让我们将近似乘以两个标准法线的乘积。aXaSab

下一步是注意

Zab=XaXb=12((Xa+Xb2)2(XaXb2)2)=12(U2V2).

是独立标准正态变量和的平方差的倍数。的分布可以通过解析(通过反转特征函数)来计算:其pdf与零阶贝塞尔函数成正比。因为此函数具有指数尾巴,所以我们立即得出结论,对于大且固定,对逼近没有比问题中给出的更好。UVZabK0(|z|)/πabtPra,b(S>t)

当和一个(至少)不大时,或者在尾部的点接近时,仍有一些改进的余地。对分布的直接计算显示,在比大得多的点处(大约超过,尾部概率呈曲线逐渐变细的趋势。的CDF的这些数线性曲线为各种值(在标题给出)和(大致范围在相同的值作为,在每个小区颜色区分)显示发生了什么事情。供参考,极限的图形abS±abSababmax(a,b)SabaK0分布以黑色显示。(由于对称于左右,,因此足以查看负尾。)S0Pr(S>t)=Pr(S<t)

图

随着变大,CDF越来越靠近参考线。b

表征和量化该曲率将需要对二项式变量的正态近似进行更精细的分析。

在这些放大的部分(每个图的右上角),贝塞尔函数逼近的质量变得更清晰。我们已经很遥远了。尽管对数垂直标度可以隐藏很大的差异,但很明显,当达到,近似值对是好的。。a500|S|<ab

插图


R代码计算的分布S

执行以下操作将花费几秒钟。(它为和 36个组合计算几百万个概率。)在速度较慢的计算机上,忽略较大的一个或两个值,并将绘制范围的下限从增加到大约。abab1030010160

s <- function(a, b) {
  # Returns the distribution of S as a vector indexed by its support.
  products <- factor(as.vector(outer(seq(-a, a, by=2), seq(-b, b, by=2))))
  probs <- as.vector(outer(dbinom(0:a, a, 1/2), dbinom(0:b, b, 1/2)))
  tapply(probs, products, sum)
}

par(mfrow=c(2,3))
b.vec <- c(51, 101, 149, 201, 299, 501)
cols <- terrain.colors(length(b.vec)+1)
for (a in c(50, 100, 150, 200, 300, 500)) {
  plot(c(-sqrt(a*max(b.vec)),0), c(10^(-300), 1), type="n", log="y", 
       xlab="S/sqrt(ab)", ylab="CDF", main=paste(a))
  curve(besselK(abs(x), 0)/pi, lwd=2, add=TRUE)
  for (j in 1:length(b.vec)) {
    b <- b.vec[j]
    x <- s(a,b)
    n <- as.numeric(names(x))
    k <- n <= 0
    y <- cumsum(x[k])
    lines(n[k]/sqrt(a*b), y, col=cols[j], lwd=2)
  }
}

1
做得非常好!可以得到2个标准正态乘积的cdf的精确形式1/2 (1 + y BesselK[0,-y] StruveL[-1, y] - y BesselK[1,-y] StruveL[0, y])。有趣的是,如何看待:(a)OP的边界执行,以及(b)您的正态逼近执行,对于上面我们所看的情况,即使用精确的pmf离散解导出的。a=5,b=7
Wolfies'Apr

1
@wolfies是的,我也获得了该表达式:它集成了的尾部。由于确切的分布确实偏离了它的末端,因此似乎不值得进一步对该积分进行分析。合理的下一步是对尾巴进行更清晰的分析,这意味着要超出正态近似。K0
whuber

3

评论:我编辑标题是为了更好地反映问题中考虑的rv类型。任何人都可以重新编辑。

动机:我想,如果我们可以得出的分布,则无需确定上限。(更新我们无法看到Whuber的评论和答案)。|Sab|

表示。容易验证与和具有相同的分布。力矩生成函数是Zk=XiYj,k=1,...,abZXY

MZ(t)=E[ezt]=12et+12et=cosh(t)

此外,首先是成对独立的:变量(索引当然可以是任意值),具有对应概率支持。它的力矩生成功能是ZW=Z1+Z2{2,0,2}{1/4,1/2,1/4}

MW(t)=E[e(z1+z2)t]=14e2t+12+14e2t==14(e2t+1)+14(e2t+1)=142etcosh(t)+142etcosh(t)=cosh(t)cosh(t)=MZ1(t)MZ2(t)

我将尝试怀疑完全独立性的存在,如下所示(对明智的人来说很明显吗?):对于这一部分,请表示。然后根据链式规则 Zij=XiYj

P[Zab,...,Z11]=P[ZabZa,b1,...,Z11]...P[Z13Z12,Z11]P[Z12Z11]P[Z11]

通过成对独立,我们有。 考虑 。和是在上独立的条件,因此我们有 通过成对独立的第二等式。但这意味着P[Z12Z11]=P[Z12]
P[Z13,Z12Z11]Z13Z12Z11

P[Z13Z12,Z11]=P[Z13Z11]=P[Z13]

P[Z13Z12,Z11]P[Z12Z11]P[Z11]=P[Z13,Z12,Z11]=P[Z13]P[Z12]P[Z11]

等等(我认为)。(更新我认为是错误的独立可能对任何三胞胎都成立,但对整个一堆来说不成立。因此接下来的只是简单的随机游动分布的推导,而不是对这个问题的正确答案-参见Wolfies和Whuber的答案)。

如果确实具有完全独立性,则我们的任务是推导iid二分法rv

Sab=k=1abZk

它看起来像一个简单的随机游走,尽管没有将后者清晰地解释为一个序列。

如果的支持将是包括零),而如果则的支持将是,没有零。 ab=evenS[ab,...,ab]ab=oddS[ab,...,ab]

我们处理的情况。 将表示为的值。然后可以写对的支持。对于任何给定的,我们获得的唯一值。此外,由于对称概率和独立性(或仅仅是可交换性?),变量所有可能的联合实现都是等价的。因此,我们统计,我们发现的概率密度函数是,ab=odd
mZ1SS{ab2m;mZ+{0};mab}mSZ{Z1=z1,...,Zab=zab}S

P(S=ab2m)=(abm)12ab,0mab

通过构造定义和奇数,以及的典型支持元素,我们有sab2mS

P(S=s)=(ababs2)12ab

移至,因为如果,则的分布在零附近对称,而没有将概率质量分配为零,因此的分布 通过围绕垂直轴“折叠”密度图而获得,基本上将正值的概率加倍,|S|ab=oddS|S|

P(|S|=|s|)=(ababs2)12ab1

那么分布函数是

P(|S||s|)=12ab11is,iodd(ababi2)

因此,对于任何实, ,我们获得所需概率 t1t<ab

P(|S|>t)=1P(|S|t)=112ab11it,iodd(ababi2)

请注意,指示保证总和仅会达到支持中包含的值-例如,如果我们设置,仍然会运行到,因为它被限制为奇数,除了是整数之外。i=odd|S|t=10.5i9


在负的值的数目必须是偶数。因此,这四个随机变量(假设它们是的四个-表示不清楚)不是独立的。(X1Y1,X1Y2,X2Y1,X2Y2)Z
whuber

@whuber谢谢。问题(就是我的问题)是,在我制定的任何具体示例中,我都会保持独立性。我将处理您编写的特定四个变量。
Alecos Papadopoulos

是的,这很棘手,因为不同的都是成对独立的,并且(我相信)任何三个不同的也是独立的。(由于对问题的创造性攻击,所以我对您的回答表示支持,希望我对缺乏独立性的评估有误!)ZZ
whuber

@whuber再次感谢whuber,那真的很支持。我在想,为了使的分布有效,我们需要的是所有事件是等概率的。在联合独立失败的情况下,这种财产是否有可能保留?我的意思是,联合独立足以维持等概率,但是否也有必要?S{k=1abZk}
Alecos Papadopoulos

恐怕我不理解您的表示法,该表示法似乎是指随机变量的交集(无论这意味着什么)。
ub

3

不是答案,而是对Alecos有趣的答案的评论,该评论太长了,无法放入评论框中。

令为Rademacher随机变量,而为Rademacher随机变量。Alecos指出:(X1,...,Xa)(Y1,...,Yb)

Sab=k=1abZkwhereZk=XiYj

“…… 看起来像一个简单的随机游动。”如果它像一个简单的随机游动,那么的分布将是对称的“钟形单峰”,大约为0。S

为了说明这不是简单的随机游走,下面是蒙特卡洛的快速比较:

  • 三角点:给定和的pmf的蒙特卡罗模拟Sa=5b=7
  • 圆点:步的简单随机游动的蒙特卡洛模拟n=35

在此处输入图片说明

显然,不是简单的随机游动。还请注意,S并非分布在所有偶数(或奇数)整数上。S

蒙特卡洛

在给定和,这是用于生成总和的单个迭代的代码(在Mathematica中):Sab

 SumAB[a_, b_] :=  Outer[Times, RandomChoice[{-1, 1}, a], RandomChoice[{-1, 1}, b]] 
                         // Flatten // Total 

然后,可以使用以下命令生成500,000条这样的路径,例如当和时:a=5b=7

 data57 = Table[SumAB[5, 7], {500000}];

对和组合的支持范围是:ab

{-35, -25, -21, -15, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 15, 21, 25, 35}

1
+1长期以来一直需要一个模拟(或一些这样的具体示例)来为我们提供进一步分析的参考。通过将因子记为可以提高模拟效率(快25倍。这就立即解释了为什么三角形表中没有足够大的素数出现的原因-并强行证明不能具有“随机游动”(成比例的二项式)分布。S(ixi)(jyj)S
whuber

1
不用模拟,您可以像 尝试一样快速获得准确的答案(对于ab都小于1000)。rademacher[a_] := Transpose[{Range[-a, a, 2], Array[Binomial[a, #] &, a + 1, 0] /2^a}]; s[a_, b_] := {#[[1, 1]], Total[#[[;; , 2]]]} & /@ GatherBy[Flatten[Outer[Times, rademacher[a], rademacher[b], 1], 1], First]; ListLogPlot[s[5, 7]]s[100,211]
whuber

@whuber重新评论-您的分解非常整洁!:)在我的Mac上,使用:......... WHuberSumAB[a_, b_] := Total[RandomChoice[{-1, 1}, a]] * Total[RandomChoice[{-1, 1}, b]]...它的速度是Outer方法的两倍。对正在使用什么代码感到好奇?[当然可以使用ParallelTable等使这两种方法都更快,等等]
wolfies

试试这个:sum[n_, a_, b_] := Block[{w, p}, w[x_] := Array[Binomial[x, #] &, x + 1, 0] /2^x; p[x_] := RandomChoice[w[x] -> Range[-x, x, 2], n]; p[a] p[b]]。然后时间Tally[sum[500000, 5, 7]]。对于Raficianodos,下面做同样的事情,只需要50%长于数学s <- function(n, a, b) (2 * rbinom(n, a, 1/2) - a)*(2 * rbinom(n, b, 1/2) - b); system.time(x <- table(s(5*10^5, 5, 7))); plot(log(x), col="#00000020")
whuber

@whuber-re comment2-精确pmf:所以您有,其中Rademacher的每个和都是二项式,所以我们有2个二项式的乘积。为什么不写这个作为答案!?-漂亮,整洁,优雅且实用...S=(iXi)(jYj)
Wolfies
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.