引言
这里介绍一篇在二维的基础上复现三维Copula的应用。主要内容如下:
新能源的随机性、波动性及间歇性为电力系统规划带来困扰,对风、光出力和负荷的变化规律进行合理刻画,生成典型出力场景是新能源规划的常用方法。针对具有相关性的风、光和负荷出力典型场景难以生成的问题,本文首先得到风、光和负荷的最优边缘分布估计表达式,然后建立多种基于 Copula 函数的风、光和负荷电场出力联合分布模型,判断各个模型的拟合优度,选取最优 Copula 函数作为风电、光伏和负荷联合概率分布,最后采用最优 Copula 联合概率分布生成出力场景。算例分析表明,所得的出力场景符合其相关性,在反映某地区风光实际出力时有更高的准确性,可为电力系统可靠性分析和电网规划提供参考。
选取最优 Copula 函数作为风电、光伏和负荷联合概率分布,最后采用最优 Copula 联合概率分布生成风、光和负荷联合概率下的出力场景。
代码
clear all
clc
close all
%function fdm
%% 参数初始值
n_scenario = 200; % 场景数
n_reduction = 10; % 剩余场景数
data=xlsread('G:\数据1.xlsx','8月','I2:K290');
wf1=data(:,1);
wf2=data(:,2);
wf2( wf2 == 0 ) = 1e-4;
[D_U1, PD_U1]=marginfitdist(wf1);
EP1 = cdf(PD_U1{
1},wf1);
IEP1 = icdf(PD_U1{
1},EP1);
[D_U2, PD_U2]=marginfitdist(wf2);
EP2 = cdf(PD_U2{
1},wf2);
IEP2 = icdf(PD_U2{
1},EP2);
[D_U3, PD_U3]=marginfitdist(data(:,3));
EP3 = cdf(PD_U3{
1},data(:,3));
IEP3 = icdf(PD_U3{
1},EP3);
datacdf=[EP1 EP2 EP3];
datacdf( datacdf == 0 ) = 1e-4;
[A,fam,theta] = mucopulaselect(datacdf);
P_wt = ones(24, n_scenario);%风生成
P_pv = ones(24, n_scenario);%光生成
P_sum = ones(24, n_scenario);%负荷生成
% %%
% %生成200个场景
for t = 1:200
UVW = simrvine(24,A,fam,theta);
P_wt(:,t) = icdf(PD_U1{
1},UVW(:,1));
P_pv(:,t) = icdf(PD_U2{
1},UVW(:,2));
P_sum(:,t) = icdf(PD_U3{
1},UVW(:,3));
end
figure(1)
% %这里以下代表三维的概率copulas结果出图,可以根据自己的需要计算%%
len=50;
example=zeros(len,len,len);
Pro=1/len:1/len:1;%表示边缘分布概率区间为0.1到1
for i=1:len
for j=1:len
for k=1:len
newdata=[Pro(i);Pro(j);Pro(k)]';
cdfvalue = vine