楼主: tangkuidang4
469 5

[其他] 如何用R求解vine copula的CDF? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
44 个
通用积分
2.1750
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
43 点
帖子
3
精华
0
在线时间
15 小时
注册时间
2017-5-12
最后登录
2024-7-26

300论坛币
在R软件中用藤copula拟合了结构和边的copula参数后,怎样得到多元联合分布cdf呢?用RVinePDF(c(0.1, 0.2, 0.3, 0.4, 0.5), RVM)求解之后得到的是每一行对应的多元密度函数值。

最佳答案

丁屹y 查看完整内容

蒙特卡洛收敛速度是N^{-.5} 你试试1e6,7能不能收敛吧
关键词:Copula opula Vine cdf 如何用
沙发
丁屹y 发表于 2024-4-2 19:07:53 |只看作者 |坛友微信交流群
蒙特卡洛收敛速度是N^{-.5} 你试试1e6,7能不能收敛吧

使用道具

藤椅
Killua609 发表于 2024-4-3 07:40:31 |只看作者 |坛友微信交流群
why 不用python,几行代码,秒出结果

使用道具

板凳
tangkuidang4 发表于 2024-4-3 10:51:07 |只看作者 |坛友微信交流群
Killua609 发表于 2024-4-3 07:40
why 不用python,几行代码,秒出结果
有偿求个代码

使用道具

报纸
丁屹y 发表于 2024-4-8 18:36:07 |只看作者 |坛友微信交流群
您好。我有两种思路,
第一种是换个包,参考https://stackoverflow.com/questi ... ula-trivariate-in-r的回答,There are many other vine copula packages, but not sure if they will be good for your question, for example, vinereg (for fitting regression D-vine copula), vinecopulib (similar to the VineCopula but take into account the marginals).
第二种是积分。密度函数一般而言性质都比较好,考虑到您的遇到的是高维问题,我的建议是sparse gird(或者您搜 smolyak construction),尽管我只用matlab写过。

使用道具

地板
jiaozhichao 发表于 2024-4-11 21:20:38 |只看作者 |坛友微信交流群
用RVineSim 函数从藤copula模型中生成大量的模拟数据,
然后计算模拟数据中有多少比例的样本在每个维度上都不超过设定的点的坐标。
这个比例就是你点的近似CDF值。
样本数量越大,近似结果通常越准确。

参考代码
library(VineCopula)

# 假设RVM是已经拟合的Vine copula模型
# 生成大量的模拟数据
n_sim = 10000  # 模拟样本数量
sim_data = RVineSim(n_sim, RVM)

# 计算给定点的CDF值
point = c(0.1, 0.2, 0.3, 0.4, 0.5)  # 设定一个点

# 转换模拟数据和点为适合比较的形式
cdf_estimate = mean(apply(sim_data, 1, function(x) all(x <= point)))

print(cdf_estimate)

使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

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

GMT+8, 2024-7-27 08:12