Question

I have one set of observations containing two parameters.

How to fit it into copula (estimate the parameter of the copula and the margin function)?

Let's say the margin distribution are log-normal distributions, and the copula is Gumbel copula.

The data is as below:

1   974.0304 1010
2  6094.2672 1150
3  3103.2720 1490
4  1746.1872 1210
5  6683.7744 3060
6  6299.6832 3330
7  4784.0112 1550
8  1472.4288  607
9  3758.5728 1970
10 4381.2144 1350

Library(copula)
gumbel.cop <- gumbelCopula(dim=2)
myMvd <- mvdc(gumbel.cop, c("lnorm","lnorm"), list(list(meanlog = 7.1445391,sdlog=0.4568783), list(meanlog = 7.957392,sdlog=0.559831)))
x <- rmvdc(myMvd, 1000)
fit <- fitMvdc(x, myMvd, c(7.1445391,0.4568783,7.957392,0.559831))

The meanlog and sdlog value are derived from the data set. Error message:

"Error in if (alpha - 1 < .Machine$double.eps^(1/3)) return(rCopula(n,  : 
 missing value where TRUE/FALSE needed"

How to choose the copula parameter with the given data, and the margin distributions derived from the data set?

Was it helpful?

Solution

To close the question assessed in the comments. It seems that giving a parameter of TRUE or FALSE close the problem as well as doing first the pseudo-observation and then fit the function.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top