8-基于拉丁超立方法的风光场景生成与削减
8-基于拉丁超立方法的风光场景生成与削减
摘要:与蒙特卡洛法不同,拉丁超立方采样改进了采样策略能够做到较小采样规模中获得较高的采样精度,属于分层抽样技术,设定风光出力遵从正态分布normrnd,从而实现场景的大规模生成,并通过概率距离快速削减法完成了场景的削减,出图效果可以见下图哦!
clc
clear all
%%
%场景法
%%% wf1 wf2 为平均值
wf1=[339,287,449,471,512,530,527,641,634,519,401,634,589,530,512,505,206,85,81,80,83,110,353,523];
wf2=[0,0,0,0,0,0,99,137,150,178,189,191,176,171,138,104,77,0,0,0,0,0,0,0];
m1=ones(24,1000);%风生成
m2=ones(24,1000);%光生成
m=ones(24,1000);%可再生生成
%%
%生成1000个场景
%%
%拉丁差立方抽样方法
%%%拉丁超级方抽样=====属于分层抽样技术(从多元参数分布中近似随机抽样的方法)------分层抽样:将抽样区间(本程序为正态分布区间)
%按某种特性或某种规划分为不同的层,然后从不同的层中独立、随机(打乱排序,无规律抽取)
%地抽取样本(如取10个苹果样本,按照特性把苹果树分为5类,每类随机取2个),从而保证样本的结构与总体的结构比较相近,提高估计的精度。
%拉丁超立方相较蒙卡,改进了采样策略能够做到较小采样规模中获得较高的采样精度。
%%lhsnorm(mu,sigma,n); mu平均值(数量a); 求解公式:u=(1/N)*(sum(样本));N为样本数目
% sigma协方差矩阵(数量a*a); 求解公式: =((1/N)^3)*(sum(样本i-u)^2); i=1至N
% n抽样次数
% 表示方式1
c=1;%c 表示基础数据的数量
u1=lhsdesign(1,24);
u2=lhsdesign(1,24);
for t=1:24
m1(t,:)=lhsnorm(sum(wf1(:,t))/c,u1(t)*sum(wf1(:,t))/c,1000); %拉丁超立方抽样(lhsnorm函数)方法
%(基于风电和光伏出力遵从正态分布normrnd(均值,标准差,n,m) n*m阶正态矩阵 ),
%因此lhsnorm函数的均值和标准差采用正态分布的均值,标准差
% 依据文献,可以假定标准差与均值之间存在一定比例关系。
if t>=7&&t<=17
m2(t,:)=lhsnorm(sum(wf2(:,t))/c,u2(t)*sum(wf2(:,t))/c,1000);
else
m2(t,:)=0;
end
m(t,:)=m1(t,:)+m2(t,:);
end
% %%
% % 表示方式2
% for t=1:24
% m1(t,:)=normrnd(wf1(t),0.12*wf1(t),1,1000); %正态分布 normrnd(均值,标准差,n,m) n*m阶正态矩阵
% m2(t,:)=normrnd(wf2(t),0.1*wf2(t),1,1000);
% m(t,:)=m1(t,:)+m2(t,:);
% end
%% 场景生成图
figure()
plot(m1,'--')
hold on
plot(m2,'-')
hold on
l2=xlabel('t/h');
set(l2,'Fontname', 'Times New Roman','FontSize',20)
l3=ylabel('P/kW');
set(l3,'Fontname', 'Times New Roman','FontSize',20)
set(gca,'FontName','Times New Roman','FontSize',20)
%%
%场景削减(快速后向削减)
%原理:确定初始场景集合的一个子集,并给其重新分配场景概率,使保留场景的概率分布Q与初始场景集合的概率P之间的某种概率距离最短(即,P与Q相近),
%从而削减概率小的概率,将其加到与其场景的概率距离最近的场景上。
%%
%计算各个场景之间的概率距离
k=zeros(1000,1000);
for i=1:1000
for j=1:1000
if i==j
k(i,j)=0;%K距离
else
k(i,j)=sqrt(sum((m(:,i)-m(:,j)).^2));
end
end
end
p=ones(1000,1)*0.001;%各场景初始概率
%%
%%寻找最小概率距离场景
k1=k;b2=[];k1(k1==0)=inf;
for n=1:990%削减990次,保留10个概率最高场景
[mink,index]=min(k1,[],2);%index每行最小坐标列 %mink 每行最小数值 % min(k1,[],2) 求取每行的最小值; min(k1,[],1)求取每列的最小值
%%
%删去index2 行 %%min(mink.*p) 概率最低。。。被淘汰
[mink11,index2]=min(mink.*p);
b=index2;
%减少一个场景
k1(b,:)=[];
k1(:,b)=[];
%%
b2=[b2;b];
%%
%新概率生成
a=index(index2);%与被削减场景的概率距离最近的场景a
%新场景概率a=原来对应场景概率a+概率重新分配系数*与此情景概率距离最近场景index2
p(a)=p(index2)+p(a);
%%
%一次循环后新的概率和场景
p(b)=[];
m(:,b)=[];
m1(:,b)=[];
m2(:,b)=[];
8-基于拉丁超立方法的风光场景生成与削减相关推荐
- 基于拉丁超立方抽样的风,光,负荷场景生成方法 风电功率场景生成 ,光伏功率场景生成,负荷场景生成
基于拉丁超立方抽样的风,光,负荷场景生成方法 风电功率场景生成 ,光伏功率场景生成,负荷场景生成 通过后向场景削减BR得到典型场景及其概率 提供参考文献,完美复现! 语言:MATLAB ID:6430 ...
- 基于拉丁超立方抽样与自适应策略的改进鲸鱼优化算法
文章目录 一.理论基础 1.基本鲸鱼优化算法 2.改进的鲸鱼优化算法 (1)LHS方法初始化种群 (2)收敛因子的改进 (3)非线性惯性权重 (4)改进的鲸鱼优化算法流程 二.仿真实验测试与分析 三. ...
- 论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)
风电出力的不确定性主要源于预测误差,而研究表明预测误差(e)服从正态分布且大概为预测出力的10%.本代码采用拉丁超立方抽样实现场景生成[1,2].基于概率距离的快速前代消除法实现场景缩减[3],以此模 ...
- 对应于对数正态分布的拉丁超立方抽样——Python版
拉丁超立方抽样-对数正态分布 0.拉丁超立方抽样的理论基础 0.1.概况 0.2.基本原理 0.3.基本步骤 1.导入库和基本准备 2.生成(具有对数正态分布的随机变量)参数的随机数 3.将生成的随机 ...
- 基于最大最小思想优化拉丁超立方采样
由于普通的拉丁超立方采样,样本点序列是一个随机的排列,就会出现如下分布状况,虽然采样点满足了空间投影均匀的特性,但它的空间填充效果并不好. 根据参考文献的那篇论文提出的最大最小方法优化普通拉丁超立方采 ...
- 模拟光伏不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)
光伏出力的不确定性主要源于预测误差,而研究表明预测误差(e)服从正态分布且大概为预测出力的10%.本代码采用拉丁超立方抽样实现场景生成[1,2].基于概率距离的快速前代消除法实现场景缩减[3],以此模 ...
- 试验设计——拉丁超立方抽样
目录 1 性质 2 原理 3 实现 4 结果 1 性质 当我们要对某个昂贵函数或者一些试验数据建立代理模型时,前期实验设计对于初始采样点的选取尤为重要,如何尽可能用少量点能够得到空间填冲效果好的初始 ...
- 对应于正态分布的拉丁超立方抽样——Python版
拉丁超立方抽样-正态分布 0.拉丁超立方抽样的理论基础 0.1.概况 0.2.基本原理 0.3.基本步骤 1.导入库和基本准备 2.生成两个(具有正态分布的随机变量)参数的随机数 2.1.生成第一个参 ...
- 采用拉丁超立方采样的电力系统概率潮流计算 拉丁超立方采样属于分层采样,是一种有效的用采样值反映随机变量的整体分布的方法
采用拉丁超立方采样的电力系统概率潮流计算 (自适应核密度估计,自适应带宽核密度估计) 拉丁超立方采样属于分层采样,是一种有效的用采样值反映随机变量的整体分布的方法. 其目的是要保证所有的采样区域都能够 ...
最新文章
- 我的业务要不要用人工智能?引入AI前你需要评估的(四)
- Windows XP 环境下安装 Apache HTTP Server 2.2.8
- unity Android 剪贴板,Unity移动端的复制要这么写示例代码
- AndFix解析——(上)
- 优化PHP程序的方法(温故知新)
- 打印出重复的姓名和重复的次数,并按重复次数排序:
- 第一次作业:深入Linux源码分析进程模型
- [转]史上最全的后端技术大全,你都了解哪些技术呢?
- c++ winpcap开发(3)
- JS作用域链(转载)
- mount: RPC: Unable to receive; errno = Connection refused 的解决方法
- 连接 GIS Servers报错“Proxy server got bad address from remote server ...”
- 有道词典翻译功能数字有时无法翻译出来解决方案
- Windows蓝屏漏洞(利用多种途径与分析)
- Win7下虚拟机安装Mac OS X
- 爬虫_app 1.1 导学
- jquery给lable赋值
- 迷你计算机工作站,这到底是什么 迄今最mini的工作站即将发售
- 使用GoogleTranslateIpCheck查找适用谷歌翻译服务器ip,解决谷歌浏览器无法翻译问题
- eclipse列名无效_java – SQLException:列名无效……?