Подтвердить что ты не робот

Вероятности в копуле не суммируются до 1

Я порождаю матрицу вероятностей из двумерной гауссовской связки с маркерами пуассонов. Я не могу понять, почему вероятности не прибавляются к 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 in 0:49) {
    m[i+1,j+1]=dMvdc(c(i,j),mv)
  }
}

sum(m)
[1] 1.048643

EDIT: Кажется, что эта проблема присутствует только тогда, когда параметр param (корреляция) отличается от 0.

4b9b3361

Ответ 1

Это то, что dMvdc делает:

distribution

Здесь c - плотность вашей связки, fi - плотности вероятности по вашему выбору (в данном случае dpois), а fi - соответствующие cdf (в данном случае ppois).

Чтобы это представляло действительное распределение вероятностей, то есть для интеграции в 1, вы должны иметь возможность сделать заключительную подстановку ниже, что требует непрерывных распределений вероятностей:

finalformula

Если вы используете дискретный pdf (через дельта Дирака):

dirac

выше, как правило, не выполняется:

fail

что вы наблюдали.

Случай корреляции 0 работает случайно, поскольку в этом случае c является просто тождественной функцией:

dCopula(c(runif(1), runif(1)), normalCopula(0))
#[1] 1

Я не уверен, правильно ли нормализована копула для спасения ненулевого случая корреляции.