【问题标题】:Bivariate in R (mvtnorm package)R中的双变量(mvtnorm包)
【发布时间】:2015-11-09 19:31:08
【问题描述】:

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

我想计算 $Pr(X>10, Y10, Y10)\times Pr(Y

但是,我开始学习如何使用R 中的mvtnorm 包,根据这篇文章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

我的逻辑错误在哪里?

【问题讨论】:

  • 我在您的代码中没有看到对“5.7”或“30.38”的引用,那么它怎么可能返回您期望的答案呢? (如果这些是标准偏差,那么您必须将它们作为参数提供给pmvnorm。)
  • 同样计算 $P(X>x, Ynot 与 $P(X
  • @whuber 事实上,这听起来我很奇怪,但我已经关注了我引用的文章,没有提到 sd 和variance ..
  • 他们被提及:参见第 1 节,一个简单示例。更好的是,参见pmvnorm 的帮助页面。
  • @Andrea 我会将此作为解决方案发布,但由于 whuber 关闭它我不能。所以这里是问题的解决方案。 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)

标签: r pdf


【解决方案1】:

您忘记包含随机变量的方差。无需指定相关矩阵,只需指定协方差矩阵。这是执行此操作的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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 2023-01-02
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多