R的双变量(mvtnorm包)

时间:2015-11-09 19:31:08

标签: r pdf

我有两个正常的r.v。彼此独立(因此相关性$ \ rho = 0 $)。这两个r.v。来自以下两个正态分布,即$ X \ sim N(18,5.7)$和$ Y \ sim N(12.72,30.38)$。

我想计算$ Pr(X&gt; 10,Y&lt; 10)$。当然,由于它们是独立的,我可以计算边际密度的乘积,结果应该是$ Pr(X> 10,Y <10)= Pr(X> 10)\乘以Pr(Y <10)= 0.3106 $

但是,我开始学习如何使用mvtnorm中的R包,根据这篇文章https://cran.r-project.org/web/packages/mvtnorm/vignettes/MVT_Rnews.pdf,您应该如何解决问题:

> library(mvtnorm)
> m<-2
> corr<-diag(2)
> corr[2,1]<-0
> pmvnorm(mean=c(18,12.72),corr,lower=c(10,-Inf), upper=c(+Inf,10))

但结果是:0.003264096

我的逻辑错误在哪里?

1 个答案:

答案 0 :(得分:0)

您忘记包含随机变量的方差。不要指定相关矩阵,只需指定协方差矩阵。以下是R代码:

library(mvtnorm)

   mu = c(18,12.72)
   covariance = diag(c(5.7,30.38),2)
   X = c(10,-Inf)
   Y = c(Inf,10)

   pmvnorm(mean=mu,sigma=covariance,lower=X,upper=Y)