向量子空间的多元正态分布距离

机器算法验证 正态分布 多元分析 距离
2022-03-28 06:04:37

XN(μ,C)是服从多元正态分布的随机变量RnURn是一个向量空间dim(U)=n1. 发生的概率是多少X保持距离(L2) dU? 假使,假设d很小(我实际上对limd0P(d)d其中P(d)是上述概率。)

1个回答

我们一般假设U是一个仿射子空间。ν为垂直于U的单位,\delta为从Uδ到原点的距离(在\nu方向上),Uν

U={xRn | νx=δ}.

向量ν可以补全\mathbb{R}^n的基\{\nu, e_2, e_3, \ldots, e_n\} ,其中\nu与所有e_i 正交。 在此基础上,分布成为在\nu方向上的正态分布与方差\nu\prime C \nu和均值\nu\cdot \mu的乘积,并且任意xU之间的距离|\nu \cdot x -三角洲| . 因此,问题被简化为容易获得答案的一维上下文。{ν,e2,e3,,en}Rnνei.ννCννμxU|νxδ|

例子

假设和对角方差矩阵在对角线上分别为的二元正态矩阵为由法线向量给出的超平面,距原点的距离这里有 10,000 个模拟值以及(一条线,以红色显示)。的0.05 以内的模拟点被突出显示。X(2,3)Σ41U(1,1)1UU

数字

使用一百万 ( ) 个模拟值,的限制比率估计为如上所述计算的正确值是符合要求。生成此模拟、绘制绘图和计算正确值的代码如下。106P(d)/d0.1411±0.000350.14087,R

#
# Simulate from a multivariate normal distribution.
#
require(mvtnorm)
set.seed(17)
sigma <- diag(c(4, 1))
mu <- c(2, -3)
N <- 10^6
x <- rmvnorm(N, mu, sigma)
if (N <= 10^4) plot(x, cex=1/2, col="#00000040", asp=1)
#
# Describe and plot an affine hyperplane nu.x == d.
#
nu <- c(1,1)/sqrt(2)
d <- 1
if (N <= 10^4) abline(1/nu[2], -nu[1]/nu[2], col="Red")
#
# Show values close to the hyperplane and estimate their probability.
#
eps <- 0.05
i <- abs(x %*% nu - d) < eps
if (N <= 10^4) points(x[i, ], cex=1/2, col="Red")
p <- mean(i) / (2*eps)
n.dec <- ceiling(log(N, base=10)/2)+1
#
# Perform an exact calculation.
#
s <- nu %*% sigma %*% nu
z <- dnorm(d, mean=sum(nu*mu), sd=sqrt(s))
#
# Display the results.
#
cat("Lim(P(d)/d) equals", round(z, n.dec+1))
cat("Lim(P(d)/d) is approximately", round(p, n.dec), 
    "+-", round(sqrt(p*(1-p)/N), n.dec+1))

此代码仅计算距离U的限制概率。在计算非零距离时,不要忘记超平面有两条边:您必须将正常 PDF 的值加倍。0U