在R中计算独立标准正态变量平方和大于给定值的概率
R计算独立标准正态变量平方和大于阈值的概率方法
- 首先明确分布原理:3个独立标准正态分布随机变量的平方和,服从自由度为3的卡方分布(χ²(3)),你要求的P(x₁²+x₂²+x₃²>5)就是该分布的右尾概率。
- R中使用内置的卡方分布累积分布函数
pchisq()即可直接计算,两种等价写法如下:- 手动计算1减去左尾累积概率:
1 - pchisq(q = 5, df = 3) - 直接指定计算右尾概率:
pchisq(q = 5, df = 3, lower.tail = FALSE)
- 手动计算1减去左尾累积概率:
- 运行上述代码得到的结果约为0.1718,即所求概率约为17.18%。
- 如果你需要用模拟方法验证结果,可以运行以下代码:
# 设置随机种子保证结果可复现 set.seed(123) # 模拟100万次抽样,每次生成3个标准正态变量计算平方和 sim_res <- replicate(1e6, sum(rnorm(3)^2)) # 统计平方和大于5的占比 mean(sim_res > 5)
运行后得到的模拟结果和理论值偏差极小,可验证计算正确。
内容的提问来源于stack exchange,提问作者jfkfc
相关产品推荐
相关产品推荐

