R copula中的概率不';t总计为1
我从一个具有泊松边界的二元高斯copula生成一个概率矩阵。我不明白为什么概率不加1,而是加多一点。代码如下:R copula中的概率不';t总计为1,r,R,我从一个具有泊松边界的二元高斯copula生成一个概率矩阵。我不明白为什么概率不加1,而是加多一点。代码如下: library(copula) cop<-normalCopula(param = 0.92, dim = 2) mv <- mvdc(cop, c("pois", "pois"),list(list(lambda = 6), list(lambda = 4))) m <- matrix(NA,50,50) for (i in 0:49) { for (j
library(copula)
cop<-normalCopula(param = 0.92, dim = 2)
mv <- mvdc(cop, c("pois", "pois"),list(list(lambda = 6), list(lambda = 4)))
m <- matrix(NA,50,50)
for (i in 0:49) {
for (j in 0:49) {
m[i+1,j+1]=dMvdc(c(i,j),mv)
}
}
sum(m)
[1] 1.048643
库(copula)
cop这就是dMvdc
所做的:
这是连接词的密度,是您选择的概率密度(在本例中为dpois
),以及相应的cdf(在本例中为ppois
)
为了表示有效的概率分布,即积分为1,您需要能够进行下面的最终替换,这需要连续的概率分布:
如果使用离散pdf(通过Dirac Delta):
上述操作通常会失败:
这就是你观察到的
0相关情况会意外出现,因为在这种情况下,仅是标识函数:
dCopula(c(runif(1), runif(1)), normalCopula(0))
#[1] 1
我不确定copula是否可以适当地标准化,以挽救非零相关情况。不确定它们为什么会和为一?如果对简单正态分布求和(dnorm(c(-0.1,0,0.1))
也不会求和为一。我是不是遗漏了什么?正态分布是连续的,所以密度的总和显然不是1。但对于离散分布,所有结果的密度之和需要和为1。是否有可能四舍五入影响循环中引入的最终和?我不这么认为,我有这个问题,只是当相关性不同于零时。当为零时,和正好为一。我认为,pois
完全可以作为参数接受,实际上,从泊松模拟给出正确的结果。是的,它可以作为参数接受,假设dpois
和qpois
代表连续分布mvdc
不检查这些函数的功能,它只是使用它们。@adiana我添加了一些澄清,有没有办法使用带有离散边缘的连接词?我的意思是,如果我规范化m
,边缘不再是泊松分布。因此,如果希望m
和为1,但没有泊松边值,则此技巧会有所帮助