[Vinecopula-commits] r100 - / pkg pkg/R pkg/inst pkg/man pkg/tests pkg/tests/Examples
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Fr Jun 5 11:59:07 CEST 2015
Author: etobi
Date: 2015-06-05 11:59:06 +0200 (Fri, 05 Jun 2015)
New Revision: 100
Modified:
pkg.pdf
pkg/DESCRIPTION
pkg/R/RVineMLE.R
pkg/inst/ChangeLog
pkg/man/BiCopGofTest.Rd
pkg/man/BiCopPDF.Rd
pkg/man/BiCopVuongClarke.Rd
pkg/man/RVineClarkeTest.Rd
pkg/man/RVineGofTest.Rd
pkg/man/RVineMLE.Rd
pkg/man/RVinePIT.Rd
pkg/man/RVineStructureSelect.Rd
pkg/man/RVineVuongTest.Rd
pkg/man/VineCopula-package.Rd
pkg/man/vineCopula.Rd
pkg/tests/Examples/VineCopula-Ex.Rout.save
pkg/tests/additonalExampleRuns.Rout.save
Log:
Some cosmetics to get the package on CRAN (e.g. usage of donttest and dontrun).
Update of example/test reference output.
Small fix (and comments) in RVineMLE to properly pass on optim control parameters (e.g. trace).
Modified: pkg/DESCRIPTION
===================================================================
--- pkg/DESCRIPTION 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/DESCRIPTION 2015-06-05 09:59:06 UTC (rev 100)
@@ -2,12 +2,12 @@
Type: Package
Title: Statistical Inference of Vine Copulas
Version: 1.5
-Date: 2015-05-27
-Author: Ulf Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler, Thomas Nagler
+Date: 2015-06-05
+Author: Ulf Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler, Thomas Nagler, Tobias Erhardt
Maintainer: Tobias Erhardt <tobias.erhardt at tum.de>
Depends: R (>= 2.11.0)
Imports: MASS, mvtnorm, igraph, methods, copula, ADGofTest, lattice
Suggests: CDVine, TSP
-Description: Tools for bivariate exploratory data analysis, bivariate copula selection and (vine) tree construction are provided. Vine copula models can be estimated either sequentially or by joint maximum likelihood estimation. Sampling algorithms and plotting methods are included. Data is assumed to lie in the unit hypercube (so-called copula data). For C- and D-vines links to the package CDVine are provided.
+Description: Tools for bivariate exploratory data analysis, bivariate copula selection and (vine) tree construction are provided. Vine copula models can be estimated either sequentially or by joint maximum likelihood estimation. Sampling algorithms and plotting methods are included. Data is assumed to lie in the unit hypercube (so-called copula data). For C- and D-vines links to the package 'CDVine' are provided.
License: GPL (>= 2)
LazyLoad: yes
Modified: pkg/R/RVineMLE.R
===================================================================
--- pkg/R/RVineMLE.R 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/R/RVineMLE.R 2015-06-05 09:59:06 UTC (rev 100)
@@ -1,11 +1,12 @@
RVineMLE <- function(data, RVM, start = RVM$par, start2 = RVM$par2, maxit = 200, max.df = 30,
max.BB = list(BB1 = c(5, 6), BB6 = c(6, 6), BB7 = c(5, 6), BB8 = c(6, 1)),
grad = FALSE, hessian = FALSE, se = FALSE, ...) {
+
+ ## sanity checks
if (is(RVM)[1] != "RVineMatrix")
stop("'RVM' has to be an RVineMatrix object.")
if (maxit <= 0)
stop("'maxit' has to be greater than zero.")
-
if (max.df <= 2)
stop("The upper bound for the degrees of freedom parameter has to be larger than 2.")
if (!is.list(max.BB))
@@ -27,9 +28,8 @@
if (max.BB$BB8[2] < 0.001 || max.BB$BB8[2] > 1)
stop("The upper bound for the second parameter of the BB1 copula should be in the interval [0,1].")
-
+ ## sanity checks for start parameters
Matrix <- RVM$Matrix
-
if (!all(start %in% c(0, NA))) {
for (i in 2:dim(Matrix)[1]) {
for (j in 1:(i - 1)) {
@@ -102,6 +102,7 @@
}
}
+ ## sanity checks for input data
data <- as.matrix(data)
if (any(data > 1) || any(data < 0))
stop("Data has be in the interval [0,1].")
@@ -114,6 +115,7 @@
if (T < 2)
stop("Number of observations has to be at least 2.")
+ ## normalization of R-vine matrix
o <- diag(RVM$Matrix)
oldRVM <- RVM
RVM <- normalizeRVineMatrix(RVM)
@@ -123,36 +125,36 @@
n <- dim(RVM)
N <- dim(data)[1]
+ ## sequential estimation of start parameters if not provided
if (all(start == 0)) {
est_start <- RVineSeqEst(data, RVM, max.df = max.df, max.BB = max.BB)
start <- est_start$RVM$par
start2 <- est_start$RVM$par2
}
+ ## Position of parameters in R-vine matrix
posParams <- (RVM$family > 0)
posParams2 <- (RVM$family %in% c(2, 7, 8, 9, 10, 17, 18, 19, 20,
27, 28, 29, 30, 37, 38, 39, 40,
104, 114, 124, 134, 204, 214, 224, 234))
-
posParams[is.na(posParams)] <- FALSE
posParams2[is.na(posParams2)] <- FALSE
+ ## number of parameters
nParams <- sum(posParams, na.rm = TRUE)
nParams2 <- sum(posParams2, na.rm = TRUE)
+ ## vectors of start parameters and corresponding pair-copula families
startpar <- double(nParams + nParams2)
-
Copula.Types <- RVM$family[posParams]
-
startpar[1:nParams] <- start[posParams]
if (nParams2 > 0) {
startpar[(nParams + 1):(nParams + nParams2)] <- start2[posParams2]
}
- # Grenzen
+ ## lower and upper bounds
lb <- double(nParams + nParams2)
ub <- double(nParams + nParams2)
-
for (i in 1:nParams) {
if (Copula.Types[i] %in% c(1, 2)) {
# Normal
@@ -231,7 +233,6 @@
lb[i] <- -20
ub[i] <- -1.001
}
-
}
if (nParams2 > 0) {
@@ -282,11 +283,9 @@
}
}
- startpar1 <- startpar[Copula.Types != 0]
-
- # calcupdate=NA V=NA
-
+ ## log-likelihood function to be maximized
optim_LL <- function(parm, data, posParams, posParams2, Copula.Types, start, start2, RVM, calcupdate = NA) {
+ # calcupdate=NA V=NA
nParams <- sum(posParams, na.rm = TRUE)
nParams2 <- sum(posParams2, na.rm = TRUE)
@@ -318,7 +317,7 @@
}
}
-
+ ## gradient
ableitung <- function(parm, data, posParams, posParams2, Copula.Types, start, start2, RVM, calcupdate) {
nParams <- sum(posParams, na.rm = TRUE)
nParams2 <- sum(posParams2, na.rm = TRUE)
@@ -347,6 +346,7 @@
return(grad)
}
+ ## default values for parscale (see optim)
pscale <- numeric()
for (i in 1:nParams) {
pscale[i] <- ifelse(Copula.Types[i] %in% c(1, 2, 43, 44), 0.01, 1)
@@ -359,14 +359,20 @@
pscale <- c(pscale, pscale2)
}
- if (!exists("factr")) factr <- 1e+08 # Toleranz etwas hoch setzen (groeber)
+ ## (default) values for control parameters of optim
+ ctrl <- list(fnscale = -1,
+ maxit = maxit,
+ trace = 1,
+ parscale = pscale,
+ factr = 1e+08)
+ ctrl <- modifyList(ctrl, list(...))
-
+ ## optimization
if (all(Copula.Types %in% c(0, 1, 2, 3:6, 13, 14, 16, 23, 24, 26, 33, 34, 36, 43, 44)) && grad == TRUE) {
# n=dim(RVM) calcupdate=array(0,dim=c(n,n,n,n)) for(i in (n-1):1){ for(k in n:(i+1)){ calcupdate[, ,k,i ]=RVineMatrixUpdate(RVM,k,i) } }
if (hessian == TRUE || se == TRUE) {
- out1 <- optim(par = startpar1,
+ out1 <- optim(par = startpar,
fn = optim_LL,
gr = ableitung,
data = data,
@@ -376,16 +382,12 @@
start2 = start2,
RVM = RVM,
method = "L-BFGS-B",
- control = list(fnscale = -1,
- maxit = maxit,
- trace = 1,
- parscale = pscale,
- factr = factr),
+ control = ctrl,
lower = lb,
upper = ub,
hessian = TRUE)
} else {
- out1 <- optim(par = startpar1,
+ out1 <- optim(par = startpar,
fn = optim_LL,
gr = ableitung,
data = data,
@@ -396,17 +398,13 @@
start2 = start2,
RVM = RVM,
method = "L-BFGS-B",
- control = list(fnscale = -1,
- maxit = maxit,
- trace = 1,
- parscale = pscale,
- factr = factr),
+ control = ctrl,
lower = lb,
upper = ub)
}
} else {
if (hessian == TRUE || se == TRUE) {
- out1 <- optim(par = startpar1,
+ out1 <- optim(par = startpar,
fn = optim_LL,
data = data,
posParams = posParams,
@@ -417,18 +415,12 @@
RVM = RVM,
calcupdate = NA,
method = "L-BFGS-B",
- control = list(fnscale = -1,
- maxit = maxit,
- trace = 1,
- parscale = pscale,
- factr = factr,
- ...),
+ control = ctrl,
lower = lb,
upper = ub,
hessian = TRUE)
} else {
- # print('startpar1') print(startpar1) print('lower') print(lb) print('upper') print(ub)
- out1 <- optim(par = startpar1,
+ out1 <- optim(par = startpar,
fn = optim_LL,
data = data,
posParams = posParams,
@@ -439,23 +431,20 @@
RVM = RVM,
calcupdate = NA,
method = "L-BFGS-B",
- control = list(fnscale = -1,
- maxit = maxit,
- trace = 1,
- parscale = pscale,
- factr = factr,
- ...),
+ control = ctrl,
lower = lb,
upper = ub)
}
}
+ ## list for final output
out <- list()
-
+
out$value <- out1$value
out$convergence <- out1$convergence
out$message <- out1$message
out$counts <- out1$counts
+
if (hessian == TRUE)
out$hessian <- out1$hessian
Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/inst/ChangeLog 2015-06-05 09:59:06 UTC (rev 100)
@@ -5,7 +5,7 @@
Maintainer: Tobias Erhardt <tobias.erhardt at tum.de> and Thomas Nagler <thomas.nagler at tum.de>
-Version 1.5 (May 27, 2015)
+Version 1.5 (June 2, 2015)
- New functionality:
* as.copuladata: coerce to class copuladata
@@ -22,7 +22,7 @@
* BiCopEst: extend search interval for Tawn MLE to avoid optim-errors
* BiCopEst: fix for optim error ('non-finite value supplied')
* RVineSim: reorder U so that it corresponds to the order of RVM
- * RVineCor2pcor: include normalization step for a more intuitive behavior
+ * RVineCor2pcor: include normalization step for a more intuitive behavior, bug fix for d = 2, 3 and d >= 10
* RVinePcor2cor: bug fixes for d=2 and d>9
* RVineCopSelect: RVM object now uses variable names as provided by data
Modified: pkg/man/BiCopGofTest.Rd
===================================================================
--- pkg/man/BiCopGofTest.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/BiCopGofTest.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -137,16 +137,15 @@
# perform Kendall's goodness-of-fit test for the Frank copula
BiCopGofTest(u1, u2, family = 5)
-\donttest{
+
# perform Kendall's goodness-of-fit test for the true copula
-gof <- BiCopGofTest(u1, u2, family = 3, method = "kendall")
+gof <- BiCopGofTest(u1, u2, family = 3, method = "kendall", B=50)
gof$p.value.CvM
gof$p.value.KS
# perform Kendall's goodness-of-fit test for the Frank copula
-gof <- BiCopGofTest(u1, u2, family = 5, method = "kendall")
+gof <- BiCopGofTest(u1, u2, family = 5, method = "kendall", B=50)
gof$p.value.CvM
gof$p.value.KS
}
-}
Modified: pkg/man/BiCopPDF.Rd
===================================================================
--- pkg/man/BiCopPDF.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/BiCopPDF.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -85,6 +85,6 @@
## estimate a bivariate copula from the data and evaluate its PDF
cop <- BiCopSelect(u1, u2)
-BiCopPDF(u1, u2, cop)
+round(BiCopPDF(u1, u2, cop), 8)
}
Modified: pkg/man/BiCopVuongClarke.Rd
===================================================================
--- pkg/man/BiCopVuongClarke.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/BiCopVuongClarke.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -118,15 +118,16 @@
}
\examples{
-\donttest{
# simulate from a t-copula
set.seed(123)
dat <- BiCopSim(500, 2, 0.7, 5)
# apply the test for families 1-10
-vcgof <- BiCopVuongClarke(dat[,1], dat[,2], familyset = c(1:10))
+vcgof <- BiCopVuongClarke(dat[,1], dat[,2], familyset = 1:6)
# display the Vuong test scores
vcgof[1,]
+
+# display the Clarke test scores
+vcgof[2,]
}
-}
Modified: pkg/man/RVineClarkeTest.Rd
===================================================================
--- pkg/man/RVineClarkeTest.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVineClarkeTest.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -63,8 +63,12 @@
\examples{
-\donttest{data(daxreturns)
+\dontrun{
+# vine structure selection time-consuming (~ 20 sec)
+# load data set
+data(daxreturns)
+
# select the R-vine structure, families and parameters
RVM <- RVineStructureSelect(daxreturns[,1:5], c(1:6))
RVM$Matrix
Modified: pkg/man/RVineGofTest.Rd
===================================================================
--- pkg/man/RVineGofTest.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVineGofTest.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -166,7 +166,10 @@
\seealso{\code{\link{BiCopGofTest}}, \code{\link{RVinePIT}}}
\examples{
-\donttest{# load data set
+\dontrun{
+# time-consuming example
+
+# load data set
data(daxreturns)
# select the R-vine structure, families and parameters
Modified: pkg/man/RVineMLE.Rd
===================================================================
--- pkg/man/RVineMLE.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVineMLE.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -71,7 +71,6 @@
\code{\link{RVineHessian}}}
\examples{
-\donttest{
# define 5-dimensional R-vine tree structure matrix
Matrix <- c(5, 2, 3, 1, 4,
0, 2, 3, 4, 1,
@@ -109,7 +108,8 @@
simdata <- RVineSim(300, RVM)
# compute the MLE
-mle <- RVineMLE(simdata, RVM, grad=TRUE)
-mle$RVM
+mle <- RVineMLE(simdata, RVM, grad = TRUE, trace = 0)
+
+# compare parameters
+round(mle$RVM$par - RVM$par, 2)
}
-}
Modified: pkg/man/RVinePIT.Rd
===================================================================
--- pkg/man/RVinePIT.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVinePIT.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -52,19 +52,18 @@
}
\examples{
-\donttest{# load data set
+# load data set
data(daxreturns)
# select the R-vine structure, families and parameters
-RVM <- RVineStructureSelect(daxreturns[,1:5], c(1:6))
+RVM <- RVineStructureSelect(daxreturns[,1:3], c(1:6))
# PIT data
-pit <- RVinePIT(daxreturns[,1:5], RVM)
+pit <- RVinePIT(daxreturns[,1:3], RVM)
par(mfrow = c(1,2))
plot(daxreturns[,1], daxreturns[,2]) # correlated data
plot(pit[,1], pit[,2]) # i.i.d. data
cor(pit, method = "kendall")
-}
}
\ No newline at end of file
Modified: pkg/man/RVineStructureSelect.Rd
===================================================================
--- pkg/man/RVineStructureSelect.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVineStructureSelect.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -125,13 +125,13 @@
# we allow for the copula families: Gauss, t, Clayton, Gumbel, Frank and Joe
RVM <- RVineStructureSelect(daxreturns[1:750,1:4], c(1:6), progress = TRUE)
-# specify a C-vine copula model with only Clayton, Gumbel and Frank copulas
\dontrun{
+# specify a C-vine copula model with only Clayton, Gumbel and Frank copulas (time-consuming)
CVM <- RVineStructureSelect(daxreturns, c(3,4,5), "CVine")
}
-# determine the order of the nodes in a D-vine using the package TSP
\dontrun{
+# determine the order of the nodes in a D-vine using the package TSP (time-consuming)
library(TSP)
d <- dim(daxreturns)[2]
M <- 1 - abs(TauMatrix(daxreturns))
Modified: pkg/man/RVineVuongTest.Rd
===================================================================
--- pkg/man/RVineVuongTest.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/RVineVuongTest.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -68,7 +68,9 @@
\examples{
-\donttest{
+\dontrun{
+# vine structure selection time-consuming (~ 20 sec)
+
# load data set
data(daxreturns)
Modified: pkg/man/VineCopula-package.Rd
===================================================================
--- pkg/man/VineCopula-package.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/VineCopula-package.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -10,7 +10,7 @@
Vine copula models can be estimated either sequentially or by joint maximum likelihood estimation.
Sampling algorithms and plotting methods are included.
Data is assumed to lie in the unit hypercube (so-called copula data).
-For C- and D-vines links to the package CDVine are provided.
+For C- and D-vines links to the package 'CDVine' are provided.
}
\section{Remark}{
@@ -80,7 +80,7 @@
Package: \tab VineCopula\cr
Type: \tab Package\cr
Version: \tab 1.5\cr
-Date: \tab 2015-05-27\cr
+Date: \tab 2015-06-05\cr
License: \tab GPL (>=2)\cr
Depends: \tab R (\eqn{\geq 2.11.0}{>= 2.11.0})\cr
Imports: \tab MASS, mvtnorm, igraph, methods, copula, ADGofTest, lattice\cr
@@ -90,7 +90,7 @@
}
\author{
-Ulf Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler, Thomas Nagler
+Ulf Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler, Thomas Nagler, Tobias Erhardt
}
\references{
Modified: pkg/man/vineCopula.Rd
===================================================================
--- pkg/man/vineCopula.Rd 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/man/vineCopula.Rd 2015-06-05 09:59:06 UTC (rev 100)
@@ -22,11 +22,10 @@
# a C-vine of independent copulas
vine <- vineCopula(4L, "CVine")
-\dontrun{
library(copula)
library(lattice)
-cloud(V1 ~ V2 + V3, as.data.frame(rCopula(500, vine)))}
+cloud(V1 ~ V2 + V3, as.data.frame(rCopula(500, vine)))
}
\keyword{ mulitvariate }
\keyword{ distribution }
\ No newline at end of file
Modified: pkg/tests/Examples/VineCopula-Ex.Rout.save
===================================================================
--- pkg/tests/Examples/VineCopula-Ex.Rout.save 2015-06-01 15:42:26 UTC (rev 99)
+++ pkg/tests/Examples/VineCopula-Ex.Rout.save 2015-06-05 09:59:06 UTC (rev 100)
@@ -1,5 +1,5 @@
-R Under development (unstable) (2015-01-14 r67471) -- "Unsuffered Consequences"
+R Under development (unstable) (2015-06-01 r68455) -- "Unsuffered Consequences"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
@@ -20,7 +20,6 @@
> pkgname <- "VineCopula"
> source(file.path(R.home("share"), "R", "examples-header.R"))
> options(warn = 1)
-> options(pager = "console")
> library('VineCopula')
>
> base::assign(".oldSearch", base::search(), pos = 'CheckExEnv')
@@ -351,10 +350,10 @@
fitCopula
>
-> persp(BB8Copula(c(1,0.5)), dCopula, zlim = c(0,10))
-> persp(surBB8Copula(c(1,0.5)), dCopula, zlim = c(0,10))
-> persp(r90BB8Copula(c(-1,-0.5)), dCopula, zlim = c(0,10))
-> persp(r270BB8Copula(c(-1,-0.5)), dCopula, zlim = c(0,10))
+> persp(BB8Copula(c(2,0.9)), dCopula, zlim = c(0,10))
+> persp(surBB8Copula(c(2,0.9)), dCopula, zlim = c(0,10))
+> persp(r90BB8Copula(c(-2,-0.9)), dCopula, zlim = c(0,10))
+> persp(r270BB8Copula(c(-2,-0.9)), dCopula, zlim = c(0,10))
>
>
>
@@ -430,6 +429,29 @@
>
>
> cleanEx()
+> nameEx("BiCop")
+> ### * BiCop
+>
+> flush(stderr()); flush(stdout())
+>
+> ### Name: BiCop
+> ### Title: Cunstructing BiCop-objects
+> ### Aliases: BiCop
+>
+> ### ** Examples
+>
+> ## create BiCop object for bivariate t-copula
+> obj <- BiCop(family = 2, par = 0.4, par2 = 6)
+>
+> ## a selection of function that can be used with BiCop objects
+> simdata <- BiCopSim(300, obj) # simulate data
+> BiCopPDF(0.5, 0.5, obj) # evaluate density in (0.5,0.5)
+[1] 1.185466
+> plot(obj) # normal contour plot
+>
+>
+>
+> cleanEx()
> nameEx("BiCopCDF")
> ### * BiCopCDF
>
@@ -441,10 +463,10 @@
>
> ### ** Examples
>
-> # simulate from a bivariate Clayton
+> ## simulate from a bivariate Clayton
> simdata <- BiCopSim(300, 3, 3.4)
>
-> # evaluate the distribution function of the bivariate t-copula
+> ## evaluate the distribution function of the bivariate Clayton copula
> u1 <- simdata[,1]
> u2 <- simdata[,2]
> BiCopCDF(u1, u2, 3, 3.4)
@@ -499,8 +521,62 @@
[289] 0.544744934 0.786205589 0.344101052 0.302395620 0.488473797 0.066509090
[295] 0.889908357 0.401278597 0.705956499 0.752430964 0.408975709 0.316904963
>
+> ## estimate a bivariate copula from the data and evaluate its CDF
+> cop <- BiCopSelect(u1, u2)
+> BiCopCDF(u1, u2, cop)
+ [1] 0.213216361 0.561008774 0.197236168 0.860096106 0.334804311 0.139513635
+ [7] 0.554371769 0.658277825 0.716335159 0.359996241 0.657527529 0.407697840
+ [13] 0.216399514 0.010822285 0.681623292 0.430807824 0.338131450 0.755860247
+ [19] 0.479629602 0.592911839 0.744537845 0.685541705 0.503124391 0.019829322
+ [25] 0.674830291 0.462498913 0.319578089 0.041980793 0.273789767 0.541308396
+ [31] 0.691557591 0.359030873 0.479907006 0.451671644 0.081941037 0.326676238
+ [37] 0.271528622 0.464832278 0.698735220 0.770415516 0.403785409 0.311398528
+ [43] 0.527923774 0.441572279 0.158513265 0.126258223 0.623954559 0.740551781
+ [49] 0.373484916 0.724368183 0.518481361 0.269859897 0.447276229 0.109997213
+ [55] 0.822869960 0.909410754 0.296176897 0.055377098 0.427911236 0.404784905
+ [61] 0.845634223 0.326501237 0.632198210 0.358961615 0.204261745 0.321831983
+ [67] 0.032299365 0.826675443 0.486459913 0.844530768 0.609772903 0.176481229
+ [73] 0.610563572 0.164521992 0.101841370 0.539808836 0.276047786 0.340570883
+ [79] 0.294963515 0.196305998 0.278249224 0.422886796 0.721156144 0.050056254
+ [85] 0.566950501 0.606857037 0.692705135 0.371692154 0.603090792 0.592001660
+ [91] 0.202603930 0.759150340 0.601440022 0.705542175 0.823406212 0.575818547
+ [97] 0.099324759 0.252486045 0.106402718 0.301726125 0.190263156 0.385015452
+[103] 0.156881388 0.354530035 0.238724108 0.570046601 0.754230654 0.627653964
+[109] 0.642831097 0.746688916 0.175146559 0.277849264 0.793720035 0.128553546
+[115] 0.403976552 0.219780393 0.338751489 0.359832271 0.604571311 0.360483725
+[121] 0.271877924 0.585222654 0.292663715 0.271907811 0.454380558 0.750324545
+[127] 0.421278359 0.293873718 0.212588231 0.367609085 0.405294134 0.264149235
+[133] 0.467605133 0.060701786 0.415778051 0.037737876 0.255996211 0.206230706
+[139] 0.175224244 0.451084944 0.024154988 0.704412381 0.030736108 0.211272774
+[145] 0.094320757 0.143308328 0.761505765 0.466102570 0.061359945 0.049688157
+[151] 0.395313338 0.414980517 0.374520908 0.168809829 0.055903281 0.097611365
+[157] 0.781513222 0.228932219 0.065998964 0.871116495 0.511827844 0.405356930
+[163] 0.846018444 0.768864981 0.252745335 0.746641034 0.381902257 0.061647496
+[169] 0.291561991 0.578402618 0.667172990 0.437995040 0.503339529 0.315656159
+[175] 0.344435118 0.260740693 0.644881631 0.736421169 0.481093613 0.748148132
+[181] 0.085457241 0.626432926 0.564624095 0.065960968 0.588497186 0.384957989
+[187] 0.665610581 0.183134099 0.323413243 0.151720473 0.378929204 0.653060795
+[193] 0.168820081 0.764722127 0.112658005 0.095183629 0.793406193 0.122514551
+[199] 0.507887441 0.228597453 0.450343689 0.931382639 0.877097675 0.351195641
+[205] 0.011010749 0.786592226 0.710039249 0.597790420 0.380147232 0.665689393
+[211] 0.375483599 0.427376357 0.282068634 0.084102394 0.814610670 0.515550764
+[217] 0.330500913 0.100246392 0.378522636 0.473694693 0.031611083 0.449222860
+[223] 0.218488453 0.362039582 0.067816097 0.801479944 0.248641760 0.049502885
+[229] 0.576543593 0.325042180 0.137649307 0.001613980 0.257523528 0.475176385
+[235] 0.439159996 0.456422134 0.579207899 0.085554734 0.716050141 0.459345035
+[241] 0.499019090 0.839125240 0.504927825 0.045352070 0.556467125 0.022452326
+[247] 0.195166493 0.336067118 0.375265178 0.438435095 0.510523722 0.600837658
+[253] 0.469138872 0.388417996 0.657056326 0.736128168 0.007593754 0.491003015
+[259] 0.563750426 0.304066745 0.767631062 0.219407620 0.382023356 0.756210444
+[265] 0.955928178 0.272406638 0.252683608 0.057525544 0.290619802 0.156634778
+[271] 0.394069415 0.509030666 0.121131637 0.799042254 0.524954532 0.767819462
+[277] 0.010814273 0.620809014 0.047650019 0.787493128 0.414902775 0.319504795
+[283] 0.836079497 0.219601321 0.278258568 0.130653678 0.147888465 0.716106630
+[289] 0.546417874 0.786877612 0.344434356 0.302831019 0.490246935 0.066866270
+[295] 0.890101345 0.402804874 0.707038001 0.753313037 0.410718305 0.318459416
>
>
+>
> cleanEx()
> nameEx("BiCopChiPlot")
> ### * BiCopChiPlot
@@ -547,10 +623,10 @@
>
> ### ** Examples
>
-> # simulate from a bivariate t-copula
+> ## simulate from a bivariate t-copula
> simdata <- BiCopSim(300, 2, -0.7, par2 = 4)
>
-> # derivative of the bivariate t-copula with respect to the first parameter
+> ## derivative of the bivariate t-copula with respect to the first parameter
> u1 <- simdata[,1]
> u2 <- simdata[,2]
> BiCopDeriv(u1, u2, 2, -0.7, par2 = 4, deriv = "par")
@@ -615,8 +691,73 @@
[291] 1.307238920 1.553288676 -2.277551572 -4.393119872 1.180012547
[296] -1.006935254 -0.716277972 -0.594563456 -2.172846043 -1.984262894
>
+> ## estimate a bivariate copula from the data
+> ## and evaluate its derivative w.r.t. the parameter
+> cop <- BiCopEst(u1, u2, family = 2)
+> BiCopDeriv(u1, u2, cop, deriv = "par")
+ [1] -1.07402602 1.37042330 -0.64372355 0.62196733 1.35466362
+ [6] 1.28034577 -2.98767753 -2.68934278 0.96820579 -1.18745623
+ [11] -12.05303853 0.17400295 -1.26038597 0.97921453 -5.90195029
+ [16] -2.20309341 0.15346666 -0.13257668 -0.79676426 -3.18269540
+ [21] -0.46886149 -1.97214553 -0.04068413 -4.35098126 -0.25170332
+ [26] 0.64162638 -0.29860471 1.39128233 -2.65398260 -2.83465866
+ [31] -8.82492615 -1.41004765 -1.92194270 -0.62895120 -6.37084242
+ [36] -0.54997370 -0.91969868 1.02541436 -5.06575257 1.31313438
+ [41] -1.56012220 -1.05758140 -2.49591265 -0.20473843 1.36872194
+ [46] 1.43896198 1.27571131 1.05676245 -2.05702485 -1.14326167
+ [51] -2.69550025 1.65418013 -1.17043342 -2.58657139 -0.84939513
+ [56] 2.27583602 -1.98686536 0.95988528 0.19285155 -2.11724625
+ [61] -11.65595583 0.36322584 -3.08999263 -0.22404972 -3.58513454
+ [66] 1.25983646 -14.33445072 -0.84247371 -2.36652023 -6.80051662
+ [71] -1.55887500 0.45862097 -2.98469253 -4.64768025 -5.23078174
+ [76] -2.12934188 -2.14025942 0.18848780 1.35353859 0.76859877
+ [81] 0.15438211 -0.65622644 -5.02163898 0.57066834 -3.24816757
+ [86] 0.95825001 -4.86719603 0.72520493 -0.06732159 1.38224945
+ [91] 0.91151793 -3.08225619 -5.87032957 0.24914136 -2.26983278
+ [96] -3.15986098 -1.52524738 -3.14449993 -5.82427832 -1.70624895
+[101] 0.74966685 -1.03664334 -3.08265890 0.59877098 -3.23350140
+[106] -13.12286946 1.40599543 -4.67879232 1.46973879 -12.71655787
+[111] 1.20661671 -2.58890708 -3.24971295 1.39714761 0.24807573
+[116] 1.24416666 -2.56239814 -2.09633371 -2.04332203 -2.25888136
+[121] -2.97213832 -6.79947280 0.22568825 1.03514235 1.48383935
+[126] 1.46496733 -2.22433918 1.11988054 -2.60957813 1.31050648
+[131] -1.60083608 -2.12394834 -1.04103839 -12.17702297 -0.37995002
+[136] 1.42829180 0.82259284 0.88634412 1.10884764 -0.57920484
+[141] -7.37451534 -5.77654941 1.58514075 1.13307793 1.25119672
+[146] 1.44310696 -27.89778120 -1.44327977 1.50769139 -5.32549061
+[151] 0.64309305 -2.38204539 1.40865566 -3.65932889 -0.79197797
+[156] 1.37487181 0.59177860 -2.54198800 0.06306557 0.32268877
+[161] -2.55566841 1.10525515 1.24658181 1.05556276 -2.62408820
+[166] -41.96645377 -0.52347133 -0.06669671 0.73877395 1.43207881
+[171] -71.38303394 -2.21142574 -2.29709032 0.45254066 -1.92392828
+[176] 1.47393763 -3.59695663 -32.92692237 -0.69491217 -3.81908780
+[181] 0.20201024 -5.14029364 0.77533235 -10.36165562 -2.79973699
+[186] -2.47533166 -11.10477575 -1.59950810 -0.11697461 -2.70627739
+[191] -2.49218341 1.27334241 0.67035122 1.33184077 1.59142360
+[196] 1.50843176 -3.39022289 -0.28678539 -2.50819338 1.11018708
+[201] -0.96055861 1.34683567 1.41166327 -1.22007225 -27.37125299
+[206] -57.62031303 0.91248907 -2.74088446 -1.34347480 0.99825856
+[211] -2.47712697 -0.24330093 -1.71237804 -1.74991952 1.51140412
+[216] -3.80820550 -2.60729926 -7.22111758 1.32951572 1.33356671
+[221] 1.50705655 -2.07321492 -1.72157373 1.40459293 1.34526831
+[226] -8.34515941 0.85233987 -11.19796244 1.21200950 1.35268254
+[231] -2.44372785 -4.42761130 1.09809566 -1.15547793 -1.52676238
+[236] 1.54151697 -3.15037909 1.18963888 -4.25588064 -1.38534381
+[241] -1.59218149 1.29971351 -2.44846117 0.72513278 -4.15239402
+[246] -11.88232111 1.13592511 -2.26052491 -2.48119356 0.72178433
+[251] -1.12588905 -0.93363293 1.53441967 0.08589610 -2.25042260
+[256] -3.77424843 -73.17491447 -1.63156806 -2.20551357 -2.79762544
+[261] 0.40220022 1.26275596 1.25120452 0.81834036 0.95740256
+[266] 1.60954473 -0.20156744 1.16728068 -1.05649474 -4.47171694
+[271] 1.55141609 -2.56420784 1.49924558 -71.13310806 -0.57123567
+[276] -1.56408563 -49.80547361 -3.70029259 1.15236406 1.37663360
+[281] 0.01564266 -2.10994044 0.73222237 -3.64342657 1.55911728
+[286] -1.44119111 1.49661090 -2.41277164 -2.86366925 0.78398052
+[291] 1.46863332 1.62659023 -2.54797876 -4.48187041 1.62781393
+[296] -0.95598676 -0.58419738 -0.40475104 -2.43389298 -2.17743788
>
>
+>
> cleanEx()
> nameEx("BiCopDeriv2")
> ### * BiCopDeriv2
@@ -629,10 +770,10 @@
>
> ### ** Examples
>
-> # simulate from a bivariate t-copula
+> ## simulate from a bivariate t-copula
> simdata <- BiCopSim(300, 2, -0.7, par2 = 4)
>
-> # second derivative of the bivariate t-copula with respect to the first parameter
+> ## second derivative of the bivariate t-copula with respect to the first parameter
> u1 <- simdata[,1]
> u2 <- simdata[,2]
> BiCopDeriv2(u1, u2, 2, -0.7, par2 = 4, deriv = "par")
@@ -697,8 +838,73 @@
[291] -9.6068616 -8.6709300 12.2354089 11.2373337 -17.6110050
[296] 2.1594059 -0.8513871 -2.9233828 12.0301834 10.0336656
>
+> ## estimate a bivariate copula from the data and evaluate its derivative
+> cop <- BiCopEst(u1, u2, family = 2)
+> BiCopDeriv2(u1, u2, cop, deriv = "par")
+ [1] 1.52572159 -6.85383040 -9.44469977 -16.32525875 -9.55003371
+ [6] -7.49189953 16.11886292 11.88475842 1.12516154 1.76278713
+ [11] 53.13556067 -7.46998617 2.77731540 -45.65415552 28.49029946
+ [16] 11.90780320 -4.91690702 -5.87744491 -8.28398244 16.96124372
+ [21] -4.15612698 6.21419993 -3.74266436 -18.89105926 -3.21917413
+ [26] -7.21258431 -2.12574147 -2.20855663 14.07304691 15.60206392
+ [31] 42.01154177 5.51168259 6.87777116 -0.59884327 9.15581586
+ [36] -3.72921785 1.62070731 -8.08693394 23.30681283 -0.58228463
+ [41] 5.79401112 2.86415413 6.73131836 -7.34022882 -6.68192352
+ [46] -2.19426102 -6.91754143 -7.75769697 10.78925089 -0.16713918
+ [51] 14.09381072 -4.08093892 1.29841589 5.31301947 -9.68283213
+ [56] -19.88390531 9.54000088 1.74898803 -9.42116404 10.77990911
+ [61] -46.76728653 -5.80738955 15.42864029 -3.03725763 18.38371365
+ [66] -8.74143769 55.40298840 -10.39419043 13.35792258 -26.86158001
+ [71] 5.75242155 -6.58981117 15.44839278 20.60276477 8.52308118
+ [76] 10.99536460 10.32501426 -5.14721330 -7.89683772 -6.99225511
+ [81] -9.23997435 -0.81471939 21.15221838 -14.85381904 16.64580619
+ [86] -7.06956998 22.65949093 -8.87719849 -3.42677389 -6.60384596
+ [91] -7.12852012 6.94085564 20.78419292 -5.83102631 -7.62961596
+ [96] 16.92915905 -18.71434726 16.84376192 15.89941804 3.96790777
+[101] -7.03162148 2.31872033 12.45370947 -7.56345940 14.81412504
+[106] 13.32293093 -1.66924297 22.97270938 -2.96143468 54.01301009
+[111] -7.22708541 13.69281721 2.25464559 -1.56087395 -6.43850278
+[116] -6.97870795 13.66361248 9.56672742 9.25217102 12.40401371
+[121] 16.14987887 15.92912889 -4.83818908 -7.33854205 -7.25834817
+[126] -2.72646683 12.01632479 -7.76461529 11.91694485 -9.59809604
+[131] 6.65643507 5.66216917 -1.85834594 56.84506254 -3.77493847
+[136] -2.66998238 -6.85871547 -7.07406600 -7.39481902 -0.94206569
+[141] 1.25785753 26.59136030 -4.51237277 -7.12932869 -9.17972725
+[146] -6.11200548 111.95951267 5.62925744 -3.93395657 -24.55524317
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/vinecopula -r 100
Mehr Informationen über die Mailingliste Vinecopula-commits