Распределение вероятностей от Клейтона Копулы в R - PullRequest
0 голосов
/ 28 марта 2019

У меня есть копула Клейтона с переменными X и Y, и я хочу получить совместные и условные вероятности P (X≤x, Y≤y) и P (X≤x | Y≤y).Например, вероятность того, что X ниже своего 1-го процентиля при условии, что Y ниже его первого процентиля: P (X≤1% | Y≤1%)

Я пытался использовать функцию R prob (), но яне уверен насчет вывода.

library(VineCopula)
   library(copula)
#I estimate my Copula and assumes normal distribution for the two marginals
copula_dist <- mvdc(copula=claytonCopula(param=1.0), margins=c("norm","norm"),
                    paramMargins=list(list(mean=0, sd=5),list(mean=0, sd=5)))

#I take a sample of 500 events
sim <- rMvdc(500,copula_dist)
# Compute the density
pdf_mvd <- dMvdc(sim, my_dist)
# Compute the CDF
cdf_mvd <- pMvdc(sim, my_dist)

#I wonder whether this gives me the proba P(X<0.01|Y<0.01)
prob(claytonCopula(param=1.0), c(0,.01),c(0,0.01)) 

Я получаю 25,26% в качестве вывода, но я не уверен, что это правильно.

1 Ответ

0 голосов
/ 29 марта 2019

Используйте определение условной вероятности:

P(X <= a | Y <= b) = P(X <= a, Y <= b) / P(Y <= b)

Затем действуйте следующим образом:

library(copula)

copula <- mvdc(copula=claytonCopula(param=1.0), margins=c("norm","norm"),
               paramMargins=list(list(mean=0, sd=5),list(mean=0, sd=5)))
a <- 0.01; b <- 0.01
pMvdc(c(a,b), copula) / pnorm(b, mean=0, sd=5)
# 0.6670215
...