我想计算R中两个概率分布的卷积,我需要一些帮助。为了简单起见,假设我有一个变量x,它通常以均值= 1.0和stdev = 0.5分布,y是对数正态分布,平均值= 1.5和stdev = 0.75。我想确定z = x + y。我知道z的分布并不是先验的。通过卷积在R中添加两个随机变量
另外,我正在处理的真实世界示例需要添加两个随机变量,这些变量根据多种不同的分布进行分布。
有谁知道如何通过卷积x和y的概率密度函数来添加两个随机变量?
我试着生成n个正态分布的随机值(以上参数)并将它们添加到n个对数正态分布的随机值。但是,我想知道是否可以使用卷积方法。任何帮助将不胜感激。
编辑
感谢您对这些问题的答案。我定义了一个pdf,并尝试进行卷积积分,但R抱怨积分步骤。我对PDF进行登录皮尔逊3如下
dlp3 <- function(x, a, b, g) {
p1 <- 1/(x*abs(b) * gamma(a))
p2 <- ((log(x)-g)/b)^(a-1)
p3 <- exp(-1* (log(x)-g)/b)
d <- p1 * p2 * p3
return(d)
}
f.m <- function(x) dlp3(x,3.2594,-0.18218,0.53441)
f.s <- function(x) dlp3(x,9.5645,-0.07676,1.184)
f.t <- function(z) integrate(function(x,z) f.s(z-x)*f.m(x),-Inf,Inf,z)$value
f.t <- Vectorize(f.t)
integrate(f.t, lower = 0, upper = 3.6)
因为f.t功能为界[R在最后一步抱怨和我的积分界限可能是不正确的。有关如何解决这个问题的任何想法?
我建议你查看[distr package](http://cran.r-project.org/web/packages/distr/index.html)或者至少快速看一下[vignette ](http://cran.r-project.org/web/packages/distr/vignettes/newDistributions.pdf)。我想这正是你要找的。尽管您用来生成随机值的策略也非常有效。 – MrFlick