Fix a Subset of a Copula Parameter Vector
It is sometimes useful to keep fixed some components of a copula
parameter vector whereas the others are “free” and will be
estimated, e.g., by fitCopula
.
The first two functions set or modify the “fixedness”, whereas
isFree()
, isFreeP()
and nParam()
are utilities
enquiring about the “fixedness” of the parameters (of a copula).
fixParam(param, fixed = TRUE) fixedParam(copula) <- value isFreeP(param) ## S4 method for signature 'copula' isFree(copula) ## and specific '*Copula' methods ## S4 method for signature 'copula' nParam(copula, freeOnly = FALSE) ## and specific '*Copula' methods
param |
numeric parameter vector |
fixed, value |
logical vector of the same length as |
copula |
a |
freeOnly |
logical (scalar) indicating if only free parameters should be counted or all. |
fixedParam<-
, a generic function, returns a
"copula"
object
with a partly fixed parameter (slot), i.e., corresponding to
fixParam()
above.
setTheta()
for setting or changing the
non-fixed parameter values.
nc1 <- normalCopula(dim = 3, fixParam(c(.6,.3,.2), c(TRUE, FALSE,FALSE)), dispstr = "un") nc1 nc13 <- nc12 <- nc1 fixedParam(nc12) <- c(TRUE, TRUE, FALSE) ; nc12 fixedParam(nc13) <- c(TRUE, FALSE, TRUE) ; nc13 set.seed(17); x <- rCopula(100, nc1) summary(f.13 <- fitCopula(nc13, x, method = "ml")) f.13@copula # 'rho.2' is estimated; the others kept fixed ## Setting to 'FALSE' (removes the "fixed" parts completely): nc0 <- nc13; fixedParam(nc0) <- FALSE nc0 stopifnot(is.null(attributes(nc0@parameters)))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.