考虑分布式新能源出力不确定性的虚拟电厂概率可行域构建方法
摘要:分布式新能源出力的不确定性严重影响虚拟电厂聚合可行域的准确刻画,需精准计算虚拟电厂的可调节能力以提升新型电力系统的平衡能力。文中提出了面向虚拟电厂的分布式新能源出力不确定性概率模型及基于多概率变量的可信概率可行域构建方法。首先,基于集成学习与共形分位数回归方法,提出了能够描述新能源出力异方差时间序列的不确定性概率模型。其次,研究了闵可夫斯基和方法与优化方法求解可行域的特点,分析了新能源出力约束和网络约束对虚拟电厂可行域的影响,提出了基于分布式新能源出力概率区间的虚拟电厂概率可行域构建方法。最后,考虑风光耦合特性,优化了虚拟电厂概率可行域构建方法,通过协调各分布式新能源出力概率区间置信度,得出虚拟电厂概率可行域整体的置信水平。算例验证结果表明所提方法能够准确刻画虚拟电厂的可调节能力。
关键词: 虚拟电厂;可行域;不确定性;集成学习;灵活性资源;分位数回归;
[1]焦治杰,王小君,刘曌,等.考虑分布式新能源出力不确定性的虚拟电厂概率可行域构建方法[J/OL].电力系统自动化,1-13[2024-07-29].http://kns.cnki.net/kcms/detail/32.1180.TP.20240711.1032.002.html.
MATLAB代码实现大纲
1. 初始化与数据生成
初始化参数与生成数据: 生成分布式新能源的出力数据,并考虑其不确定性。
matlab
复制代码
% 初始化与数据生成
clc;
clear;
% 定义仿真参数
num_wind = 5; % 风电场数量
num_pv = 5; % 光伏电站数量
time_slots = 24; % 时间段数量
% 生成风电场的出力数据(单位:MW)
wind_power = randi([50, 150], num_wind, time_slots) + rand(num_wind, time_slots) * 10;
% 生成光伏电站的出力数据(单位:MW)
pv_power = randi([30, 100], num_pv, time_slots) + rand(num_pv, time_slots) * 10;
% 添加随机扰动
for i = 1:num_wind
for t = 1:time_slots
if rand < 0.1 % 10%的概率出现随机扰动
wind_power(i, t) = wind_power(i, t) * (1 + randn * 0.1);
end
end
end
for i = 1:num_pv
for t = 1:time_slots
if rand < 0.1 % 10%的概率出现随机扰动
pv_power(i, t) = pv_power(i, t) * (1 + randn * 0.1);
end
end
end
% 绘制风电场的出力数据
figure;
for i = 1:num_wind
subplot(num_wind, 1, i);
plot(1:time_slots, wind_power(i, :));
title(['风电场', num2str(i), '的出力数据']);
xlabel('时间段');
ylabel('出力(MW)');
end
% 绘制光伏电站的出力数据
figure;
for i = 1:num_pv
subplot(num_pv, 1, i);
plot(1:time_slots, pv_power(i, :));
title(['光伏电站', num2str(i), '的出力数据']);
xlabel('时间段');
ylabel('出力(MW)');
end
% 保存生成的数据
save('renewable_power_data.mat', 'wind_power', 'pv_power');
2. 集成学习与共形分位数回归
共形分位数回归模型: 使用共形分位数回归(CQR)来描述新能源出力的异方差时间序列模型。
matlab
复制代码
% 共形分位数回归模型
% 加载生成的数据
load('renewable_power_data.mat');
% 定义CQR模型参数
quantiles = [0.1, 0.5, 0.9]; % 分位点
% 训练CQR模型
wind_cqr_models