【三变量联合分布函数copula】利用AIC BIC确定单变量最优拟合函数、利用AIC确定三变量联合最优copula函数、计算联合概率(Matlab代码实现)

                   💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

一、Copula函数基础理论

1. 定义与核心性质

2. 常用Copula类型

二、单变量边缘分布拟合:AIC与BIC准则

步骤流程

三、三变量联合Copula选择:AIC准则

步骤流程

尾部依赖对齐

四、联合概率计算

1. 基本公式

2. 极端事件联合概率(如洪水、金融风险)

3. 独立事件简化

五、实现工具与案例参考

六、总结流程图

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

一、Copula函数基础理论

1. 定义与核心性质

Copula是一种将多变量联合分布函数 F(x1,…,xn) 分解为边缘分布 Fi(xi) 和依赖结构 C 的函数(Sklar定理):

  • 边缘分布 FiFi​ 需连续,以保证Copula唯一性 。
    性质
  • 边界性:联合分布由边缘分布和依赖结构独立表示 。
  • 不变性:严格单调变换不改变Copula结构(如 x∗=h(x)x∗=h(x) 递增变换)。
2. 常用Copula类型
类别具体函数适用场景
椭圆Copula高斯Copula、t-Copula对称依赖,金融风险建模 
阿基米德CopulaClayton、Gumbel、Frank非对称尾部依赖(如洪水、极值)
极值CopulaGalambos、Tawn极端事件联合概率 

尾部依赖度量


二、单变量边缘分布拟合:AIC与BIC准则

步骤流程
  1. 数据准备
    获取每个变量的观测数据 {x1,x2,…,xn}。

  2. 候选分布选择
    假设常见分布(正态、伽马、指数、对数正态等),估计参数:

    • 正态分布:μ^=Xˉμ^​=Xˉ, σ^2=S2σ^2=S2(无偏估计)。

       

  3. 计算AIC与BIC


三、三变量联合Copula选择:AIC准则

步骤流程
  1. 边缘分布变换
    将数据转换为均匀分布变量:

    其中 Fi 为最优边缘分布 。

  2. 候选Copula拟合
    拟合常见Copula族(如高斯、t、Clayton、Gumbel、Frank),估计参数:

    • 高斯Copula:参数为相关系数矩阵 ρρ 。

    • Gumbel Copula:参数 θ 满足 τ=(θ−1)/θ 。
    • Frank Copula:参数 θ 与 τ 关系复杂(涉及Debye函数)。
  3. AIC计算与选择

尾部依赖对齐
  • Clayton:强下尾依赖(λl>0λl​>0),弱上尾依赖(λu=0λu​=0)。
  • Gumbel:强上尾依赖(λu>0λu​>0),弱下尾依赖(λl=0λl​=0)。
  • Frank:无尾部依赖(λu=λl=0λu​=λl​=0)。


四、联合概率计算

1. 基本公式
  • 三变量联合概率

    其中 C 为选定Copula函数 。

  • 条件概率

2. 极端事件联合概率(如洪水、金融风险)

3. 独立事件简化

若变量独立,则:


五、实现工具与案例参考

  1. 软件工具

    • Pythonstatsmodels 的 GaussianCopula 模块 。
    • RVineCopula 包支持多类Copula拟合与AIC选择 。
    • MATLAB:内置Copula拟合函数(如 copulafit)。
  2. 应用案例

    • 水文:长江上游径流联合分布(寸滩、武隆、宜昌三站,用Clayton/Gumbel Copula)。
    • 金融:股票风险溢出(EVT-Copula-CoVaR模型)。
    • 气候:风暴降雨强度与持续时间依赖(高斯Copula).

六、总结流程图

📚2 运行结果

部分代码:

%% 削减后的场景三维图
subplot(1,3,1)
bar3(P_wt')
l2 = xlabel('t/h');
set(l2, 'Fontname', 'Times New Roman', 'FontSize', 20)
ylabel('场景编号');
zlabel('风电出力');

subplot(1,3,2)
bar3(P_pv')
l2 = xlabel('t/h');
set(l2, 'Fontname', 'Times New Roman', 'FontSize', 20)
ylabel('场景编号');
zlabel('光伏出力');
subplot(1,3,3)
bar3(P_sum')
l2 = xlabel('t/h');
set(l2, 'Fontname', 'Times New Roman', 'FontSize', 20)
ylabel('场景编号');
zlabel('负荷');


%% 各个场景的概率
figure(3)
bar(p)
%ylim([0, 0.30]);
xlabel('场景编号');
ylabel('概率');
set(gca, 'FontSize', 20)
no = 1;

figure(4)
[ss,gg]=meshgrid(1:n_reduction,1:24);
plot3(ss,gg,P_wt, 'linewidth', 2);
title(['考虑相关性生成的风电出力', num2str(n_reduction), '个场景'])
xlabel('场景'); ylabel('时刻');zlabel('风电出力值');
set(gca,  'FontSize', 20)
set(gca,'LineWidth',2); 

figure(5)
[ss,gg]=meshgrid(1:n_reduction,1:24);
plot3(ss,gg,P_pv, 'linewidth', 2);
title(['考虑相关性生成的光伏出力', num2str(n_reduction), '个场景'])
xlabel('场景'); ylabel('时刻');zlabel('光伏出力值');
set(gca,  'FontSize', 20)
set(gca,'LineWidth',2); 

figure(6)
[ss,gg]=meshgrid(1:n_reduction,1:24);
plot3(ss,gg,P_sum, 'linewidth', 2);
title(['考虑相关性生成的负荷', num2str(n_reduction), '个场景'])
xlabel('场景'); ylabel('时刻');zlabel('负荷值');
set(gca,'FontSize', 20)
set(gca,'LineWidth',2); 

figure(7)
subplot(1,3,1)
for i=1:10
hold on
h=cdfplot(P_wt(:,i));
set(h,'LineStyle', '-', 'LineWidth',2)
end
title('');
grid off;
%h1=legend({'1','2','3','4','5','6','7','8','9','10'},'FontSize',16);
 %xlabel('Value','FontSize',16,'fontname','Times New Roman');
 %legend('Location', 'Best');
 %set(h1, 'Box', 'off');
ylabel('Cumulative probability','FontSize',16,'fontname','Times New Roman');
set(gca,'fontname','Times New Roman','FontWeight','bold','FontSize',20);
set(gca,'LineWidth',1.5);

subplot(1,3,2)
for i=1:n_reduction
hold on
h=cdfplot(P_pv(:,i));
set(h,'LineStyle', '-', 'LineWidth',2)
end

title('');
grid off;
%h1=legend({'1','2','3','4','5','6','7','8','9','10'},'FontSize',16);
 %xlabel('Value','FontSize',16,'fontname','Times New Roman');
 %legend('Location', 'Best');
 %set(h1, 'Box', 'off');
%ylabel('Cumulative probability','FontSize',16,'fontname','Times New Roman');
set(gca,'fontname','Times New Roman','FontWeight','bold','FontSize',20);
set(gca,'LineWidth',1.5);

subplot(1,3,3)
for i=1:10
hold on
h=cdfplot(P_sum(:,i));
set(h,'LineStyle', '-', 'LineWidth',2)
end
title('');
grid off;
h1=legend({'1','2','3','4','5','6','7','8','9','10'},'FontSize',16);
 %xlabel('Value','FontSize',16,'fontname','Times New Roman');
 legend('Location', 'Best');
 set(h1, 'Box', 'off');
%ylabel('Cumulative probability','FontSize',16,'fontname','Times New Roman');
set(gca,'fontname','Times New Roman','FontWeight','bold','FontSize',20);
set(gca,'LineWidth',1.5); 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]高远(Ayantobo,Olusola Olaitan).干旱指标和Copula函数在干旱事件多变量频率分析中的应用[D].西北农林科技大学,2018.

[2]赵继超,袁越,傅质馨,等.基于Copula理论的风光互补发电系统可靠性评估[J].电力自动化设备, 2013, 33(001):124-129.DOI:10.3969/j.issn.1006-6047.2013.01.024.

[3]段偲默,苗世洪,霍雪松,等.基于动态Copula的风光联合出力建模及动态相关性分析[J].电力系统保护与控制, 2019, 47(5):8.DOI:10.7667/PSPC180149.

[4]付婷婷,边俐争,李嫚,等.基于Copula理论的风光互补配网经济运行联合配网重构优化[J].可再生能源, 2023, 41(1):122-128.

🌈4 Matlab代码、数据

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值