楼主: calpisye
3421 4

[学习分享] 【R语言】VineCopula包里实现DVine的说明 [推广有奖]

  • 0关注
  • 1粉丝

本科生

59%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
34.9516
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
126 点
帖子
4
精华
0
在线时间
203 小时
注册时间
2020-11-10
最后登录
2023-11-14

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
之前在学习RVine的时候接触到了VineCopula这个包。但是RVineStructureSelect这个函数当中type只能选择CVine或者RVine,
通过再次阅读包里的示例看到了实现DVine拟合的办法。

原文如下:
# load data set
data(daxreturns)

# using only the first 4 variables and the first 250 observations
# we allow for the copula families: Gauss, t, Clayton, Gumbel, Frank and Joe

## determine the order of the nodes in a D-vine using the package TSP
library(TSP)
d <- dim(daxreturns)[2]
M <- 1 - abs(TauMatrix(daxreturns))
hamilton <- insert_dummy(TSP(M), label = "cut")
sol <- solve_TSP(hamilton, method = "repetitive_nn")
order <- cut_tour(sol, "cut")
DVM <- D2RVine(order, family = rep(0,d*(d-1)/2), par = rep(0, d*(d-1)/2))
RVineCopSelect(daxreturns, c(1:6), DVM$Matrix)


其中TSP是一个动态规划经典问题,即TSP(Traveling Salesman Problem)-----浅谈旅行商问题,可以参考一下https://www.cnblogs.com/dddyyy/p/10084673.html。
这个代码通过运用D2RVine函数将D结构转化为R结构,然后再使用RVineCopSelect函数计算D藤的最优结构。
本人的代码如下:
其中mpit为边缘分布残差标准化后的数据矩阵
library(TSP)
d <- dim(mpit)[2]#d为向量维度数
M <- 1 - abs(TauMatrix(mpit))
hamilton <- insert_dummy(TSP(M), label = "cut")
sol <- solve_TSP(hamilton, method = "repetitive_nn")
order <- cut_tour(sol, "cut")
DVM <- D2RVine(order, family = rep(0,d*(d-1)/2), par = rep(0, d*(d-1)/2))
DVM1=RVineCopSelect(mpit, c(1:10), DVM$Matrix)
summary(DVM1)#查看D藤的具体结构
RVineTreePlot(DVM1)#查看D藤结构图
d14bd8a8effbd7ced9aff6e80dd57f9.png eb56f5cefb3b90483ebd6e464a1e917.png




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Copula opula Vine NEC ECO copula VineCopula DVine R语言 藤copula

c9bbc95a0d0d610dc754e8355b69074.png (8.68 KB)

c9bbc95a0d0d610dc754e8355b69074.png

已有 1 人评分论坛币 收起 理由
cheetahfly + 30 观点有启发

总评分: 论坛币 + 30   查看全部评分

沙发
18650347648 学生认证  发表于 2021-12-18 11:10:01 来自手机 |只看作者 |坛友微信交流群
calpisye 发表于 2021-12-17 01:42
之前在学习RVine的时候接触到了VineCopula这个包。但是RVineStructureSelect这个函数当中type只能选择CVine ...
感谢分享,可以有效替代CDVine package。<br>
关于Copula等内容,若需要帮助交流可以联系我,535844430

使用道具

藤椅
GeAnS_X.H 学生认证  发表于 2022-9-29 19:46:12 |只看作者 |坛友微信交流群
有个问题insert_dummy这个函数是自己写的吗,还是哪个包里有的啊

使用道具

板凳
酒酿琴琴子 发表于 2022-10-30 20:13:20 来自手机 |只看作者 |坛友微信交流群
你好 想问一下taumatrix、insert_dummy这些自编函数的代码吗

使用道具

报纸
酒酿琴琴子 发表于 2022-10-30 20:13:38 来自手机 |只看作者 |坛友微信交流群
你好 想问一下taumatrix、insert_dummy这些自编函数的代码吗

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-16 04:07