我正在尝试使用R中的copula
包来模拟相关的正常copula实现。我已经估计了变化的相关矩阵并将它们存储在尺寸为570x9x9的数组中:对于从1到570的每个观察,我有一个9x9的相关矩阵。由于normalCopula
命令只需要一个数值向量作为参数,而不是整个相关矩阵,我使用命令P2p
“汇总”相关矩阵,该命令将矩阵转换为一个向量(称为{{1}所有36个需要的相关性。到现在为止还挺好。
现在我想开始模拟部分。我考虑使用每个变化的相关结构定义570个不同的“静态”正常copula,然后使用parameters
函数从每个相似结构模拟5000次。更确切地说:
rCopula
基本上,对于从1到570的每个i,我使用mycop <- list()
for (i in 1:570){
mycop[i]=normalCopula(parameters[i,],dim=9,"un")
}
copula <- array(dim=c(570,9,5000))
for (i in 1:570){
for (j in 1:5000){
copula[i,,j]=rCopula(5000,mycop[i])[j,]
}
}
为9个变量模拟5000,并将结果存储在数组mycop[i]
中。
但是,这不起作用,因为rCopula应该具有copula
类的对象,而定义的copula
是列表。
问题:我能以什么方式定义我需要的570个copula规范,以便我仍然可以在mycop[i]
中插入copula
个对象? rCopula
有哪些替代方法可以收集非数字等对象?