R:为什么多元正态密度之和不等于1
R: Why does the sum of multi-variate normal densities not equal to 1
library(mvtnorm)
sigma <- matrix(c(4,2,2,3), ncol=2)
x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma)
> sum(dmvnorm(x, mean = c(1,2), sigma = sigma))
[1] 14.07509
我正在使用 rmvnorm
.
模拟 500 个双变量法线图,均值向量 1 2
和方差 sigma
然后我使用 dvmnorm
获得密度并对所有绘图求和。但是,总和 > 1。总和应该改为 1 吗?有没有办法让密度总和为 1?
密度下的面积始终为 1。因此,以下总和为 1,其中我们在分布均值周围取面积的平方 0.01,将每个正方形上方的体积近似为密度乘以底部广场.
x=seq(-19, 11, by=.1) #a region of
y=seq(-18,22,by=.1)
s=0
for (i in 1:length(x)) {
for (j in 1:length(y)) {
s=s+dmvnorm(c(x[i], y[j]), mean = c(1,2), sigma = sigma)*.01
}
}
s
0.9999997
多元正态密度的随机抽取、评估每个点的 pdf 和总和为 1 之间没有明确的关系。
library(mvtnorm)
sigma <- matrix(c(4,2,2,3), ncol=2)
x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma)
> sum(dmvnorm(x, mean = c(1,2), sigma = sigma))
[1] 14.07509
我正在使用 rmvnorm
.
1 2
和方差 sigma
然后我使用 dvmnorm
获得密度并对所有绘图求和。但是,总和 > 1。总和应该改为 1 吗?有没有办法让密度总和为 1?
密度下的面积始终为 1。因此,以下总和为 1,其中我们在分布均值周围取面积的平方 0.01,将每个正方形上方的体积近似为密度乘以底部广场.
x=seq(-19, 11, by=.1) #a region of
y=seq(-18,22,by=.1)
s=0
for (i in 1:length(x)) {
for (j in 1:length(y)) {
s=s+dmvnorm(c(x[i], y[j]), mean = c(1,2), sigma = sigma)*.01
}
}
s
0.9999997
多元正态密度的随机抽取、评估每个点的 pdf 和总和为 1 之间没有明确的关系。