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

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

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

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

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

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


 ⛳️赠与读者

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

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

💥1 概述

三变量联合分布函数copula 

1.利用AIC BIC确定单变量最优拟合函数

2.利用AIC确定三变量联合最优copula函数

3.计算联合概率

为了使用AIC(Akaike信息准则)和BIC(贝叶斯信息准则)确定单变量的最优拟合函数,并利用AIC确定三变量的最优copula函数,以下是一个详细的步骤指南:

步骤1:单变量最优拟合函数

1. **数据预处理**
    - 收集并清洗三变量数据集。
    - 对每个变量单独进行描述性统计分析,检查其分布类型。

2. **拟合不同的单变量分布**
    - 选择多个候选分布(如正态分布、对数正态分布、伽玛分布、指数分布等)。
    - 对每个变量分别拟合这些候选分布。

3. **计算AIC和BIC**
    - 计算每个候选分布的AIC和BIC值。
    - 选择AIC和BIC值最小的分布作为最优单变量拟合分布。

步骤2:三变量联合分布的copula选择

1. **构建copula模型**
    - 选择多个候选的copula函数(如Gaussian copula、t copula、Clayton copula、Gumbel copula等)。
    - 使用前面步骤确定的最优单变量分布进行边缘分布的标准化处理。

2. **拟合copula模型**
    - 对三变量数据进行copula模型的拟合。
    - 计算每个copula模型的AIC值。

3. **选择最优copula**
    - 选择AIC值最小的copula作为最优三变量联合分布模型。

在确定单变量最优拟合函数时,可以使用AIC(Akaike Information Criterion)或者BIC(Bayesian Information Criterion)来进行比较。这两种准则都是用来评估模型的拟合程度和复杂性,通过在不同模型之间进行比较来选择最佳模型。

对于三变量联合分布函数copula的选择,可以利用AIC来确定最优的copula函数。首先需要拟合各个边缘分布,然后通过copula函数将它们联系起来。在确定copula函数时,可以使用不同的copula家族(如Gaussian copula、t copula等)来进行比较,然后选择AIC值最小的copula函数作为最优模型。

在确定了最优的copula函数之后,就可以计算联合概率。通过联合分布函数copula,可以根据各个边缘分布以及copula函数来确定联合概率。具体计算方法可以根据所选的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资源获取

                                                           在这里插入图片描述

变量重现期为2年时,意味着在这个时间段内,事件会以平均每两年一次的频率发生一次。要求解联合重现期,可以使用copula函数来将两个独的事件进行联合分析。 Copula是一个用于建模和分析多维随机变量相关性的统计工具。它有助于将边缘分布函数(每个变量分布函数)和相关性结构(依赖关系)分离开来进行建模。在这种情况下,我们需要将两个边缘分布函数copula函数组合,以获得联合分布函数。 边缘分布函数是用来描述个随机变量分布情况的函数。在这种情况下,我们需要选择合适的边缘分布函数来描述事件的发生频率。根据给定的重现期为2年,我们可以选择特定的边缘分布函数进行建模,如指数分布、正态分布或其他分布。选择边缘分布函数时,需要根据实际情况和数据进行适当的选择。 确定边缘分布函数后,可以使用copula函数来建立联合分布函数Copula函数可以将边缘分布函数和相关性结构相结合,以计算联合分布函数。然后,可以使用联合分布函数计算联合重现期,即两个事件同时发生的平均时间间隔。 在计算联合重现期时,需要确保选择的copula函数与边缘分布函数相匹配,并且考虑相关性结构的合理性。根据实际情况和数据的特征,可以选择不同的copula函数进行建模,如高斯copula、t-copula、Clayton copula等。 总之,当变量重现期为2年时,想要求解联合重现期,可以使用copula函数来建模和分析多维随机变量的相关性。边缘分布函数的选择应该基于实际数据和情况,并需要确保与选择的copula函数相匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值