2016-04-26 14 views
22

Sto generando una matrice di probabilità da una copula gaussiana bivariata con marginali di poisson. Non riesco a capire perché le probabilità non aggiungano 1 ma leggermente di più. Ecco il codice:Le probabilità in copula non si sommano al 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: Sembra che questo problema è presente solo quando il parametro param (la correlazione) è diverso da 0.

+2

Non so perché si somma a uno? Se si fa lo stesso con la semplice distribuzione normale 'sum (dnorm (c (-0.1,0,0.1)))' che non somma nemmeno uno. Mi sto perdendo qualcosa qui? – rbm

+3

La distribuzione normale è continua, quindi la densità chiaramente non è pari a 1. Ma per una distribuzione discreta, la somma della densità di tutti i risultati deve essere pari a 1. – adaien

+1

C'è una possibilità che si abbia un arrotondamento che influenza il somma finale introdotta nel tuo ciclo? – sconfluentus

risposta

6

Questo è ciò che fa dMvdc:

distribution

Qui c è la densità della copula, fi sono le densità di probabilità della vostra scelta (in questo caso dpois) e Fi sono i corrispondenti cdf (in questo caso ppois).

Per questo a rappresentare una distribuzione di probabilità valida, cioè di integrare a 1, è necessario essere in grado di fare la sostituzione finale in basso, che richiede distribuzioni di probabilità continue:

finalformula

Se si utilizza discreti di (via Dirac delta) pdf:

dirac

quanto sopra saranno generalmente fallire:

fail

che è quello che hai osservato.

Il caso 0 correlazione funziona accidentalmente, perché in tal caso c è semplicemente la funzione identità:

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

non sono sicuro se la copula può essere normalizzato adeguatamente per salvare il caso correlazione non zero.

+0

Penso che 'pois' sia perfettamente accettato come argomento, anzi simulando da un poisson si ottengano risultati corretti – adaien

+0

Sì, è accettato come argomento, * con l'ipotesi * che' dpois' e 'qpois 'rappresentano una distribuzione continua. 'mvdc' non controlla cosa fanno quelle funzioni, le usa semplicemente. – eddi

+0

@adiana ho aggiunto qualche chiarimento – eddi

Problemi correlati