论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab)

news2024/11/14 15:11:12

风电出力的不确定性主要源于预测误差,而研究表明预测误差(e)服从正态分布且大概为预测出力的10%。本代码采用拉丁超立方抽样实现场景生成[1,2]、基于概率距离的快速前代消除法实现场景缩减[3],以此模拟了风电出力的不确定性。

1 风电不确定性模拟理论

1.1 不确定性模拟

不确定性模拟大致可以分为随机优化场景分析两类。

  • 场景分析(scenario analysis)是一种通过构建确定性场景来分析电力系统不确定性问题的方式,它是解决含可再生能源的电力系统优化规划运行问题的一种有效途径。
  • 基于抽样的场景生成方法:通过对概率分布进行统计学抽样并将输出样本作为生成的场景来得到离散场景,包括蒙特卡罗(Monte Carlo, MC)方法、**拉丁超立方体采样(Latin Hypercube Sampling, LHS)**方法和马尔可夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)等等。具体抽样方法根据初始数据相关性、需求不同而采用不同方法。
    蒙特卡罗与拉丁超立方的区别:蒙特卡罗模拟方法由于采用简单随机抽样,在不确定性模拟中需要高计算时间和大量计算机存储。而拉丁超立方抽样是一种随机分层抽样方法,不需要大规模储存和长时间计算,模拟样本与传统蒙特卡罗方法相比,能更好地反映变量的分布范围。

1.2 风电不确定性模拟

将风电的不确定性转换风电预测误差的不确定性。
在这里插入图片描述
e(预测误差)服从标准正态分布,u=0,核心在sigma。统计学家已发现sigma=5~10%*Pforecast 。
在这里插入图片描述

2 Matlab代码

2.1 场景生成

拉丁超立方抽样法是一种分层抽样方法,已广泛应用于模拟风电预测误差,基于拉丁超立方抽样在95%置信区间范围内生成风电的1000组场景:
在这里插入图片描述
Matlab代码:

% 风电不确定性模拟之场景生成 + 场景缩减
clc 
clear
%% 参数设置
Z = 24;                                     % 以一天24h为周期进行场景生成
iterations = 1000;                          % 抽样次数 1000-1000种场景
S = 5;                                      % 代表性场景数量 5load('Pw')
step = 24;                                  % 步长 h(总计一天)
P_test    = Pw';                            % 转置-待生成数据
mu        = 0*ones(Z,1);                    % 正态分布-均值
sigma     = 0.1*P_test';                    % 正态分布-标准差(此时取10%Pforecast)
leng      = 50;
%% 场景生成
% 概率密度函数
y1 = @(x) exp(-(x-mu)^2/(2*sigma^2))/(sigma*(2*pi)^0.5);
% 累计分布函数
CDF = @(x)@(mu)@(sigma) normcdf(x,mu,sigma);
x = leng : 0.1 : leng;
y2 = CDF(x);
% 拉丁超立方抽原始样本
segmentSize = 1 / iterations;               % 每层大小
for j = 1:Z
for i = 0 : iterations-1                    % 逐层随机抽样
    segmentMin = i * segmentSize;
    segmentMax = (i+1) * segmentSize;
    samplePoint(j,i+1) = segmentMin + rand() * segmentSize;
end
end
% 映射得到最终样本
for i=1:Z
    for j=1:iterations
        Value(i,j) = ICDF……

2.2 场景缩减

由于抽样所产生的场景较多,为提高计算效率,需要减少并挑选代表性场景。基于概率距离的快速前代消除法将1000组场景消减为具有代表性的5组:
在这里插入图片描述
Matlab代码:

%% 场景削减
Ws = Value; 
m = iterations;
Ws_d = Ws;
% 场景削减
p_i = 1/m*ones(1,m); 
x=zeros(m,m); 
for i=1:m
    for j=1:m
            x(i,j)=sum(abs(Ws(:,i)-Ws(:,j)));
    end
end

% 计算每个场景与剩余场景的概率距离之和y
y0=zeros(1,m);
for i=1:m
y0(i)=1/m*sum(x(:,i));
end
k=length(y0);

% 不断削减场景,直到剩余S个场景
while(k>S)
d=find(y0==min(y0));                                                      
x_2=x+10000*eye(k);……

完整代码请关注作者并私聊获取

3 参考资料/复现论文

[1] SCI-Clustering based unit commitment with wind power uncertainty. Energy Conversion and Management, 2016, 111:89-102.
[2] 中文核心-基于拉丁超立方采样的含风电电力系统的概率可靠性评估[J].电工技术学报,2016,31(10):193-206.
[3] 中文核心-含风光水的虚拟电厂与配电公司协调调度模型[J].电力系统自动化,2015,39(09):75-81+207.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/359630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

26岁曾月薪15K,现已失业3个月,我依然没有拿到offer......

我做测试5年,一线城市薪水拿到15K,中间还修了一个专升本,这个年限不说资深肯定也是配得上经验丰富的。今年行情不好人尽皆知,但我还是对我的薪水不是很满意,于是打算出去面试,希望可以搏一个高薪。 但真到面…

无聊小知识01.serialVersionUID的作用

什么是serialVersionUIDJava(TM)对象序列化规范中描述到:serialVersionUID用作Serializable类中的版本控件。如果您没有显式声明serialVersionUID,JVM将根据您的Serializable类的各个方面自动为您执行此操作。(http://docs.oracle…

神经网络的基本骨架—nn.Module使用

一、pytorch官网中torch.nn的相关简介可以看到torch.nn中有许多模块:二、Containers模块1、MODULE(CLASS : torch.nn.Module)import torch.nn as nn import torch.nn.functional as Fclass Model(nn.Module):#nn.Module---所有神经网络模块的…

Find Any File for Mac,本地文件搜索工具

Find Any File for Mac是一款简单好用的本地文件搜索工具,可以让你在本地磁盘上搜索、查找任何文件,包括本地磁盘的名称、 创建或修改日期、 大小或类型和创建者代码等。更好的结果:它为找到的项目提供了另一种分层视图。您可以使用cmd 2切换…

Kafka 安装入门实战

1.下载Kafka 有2个下载网站都可以: https://www.apache.org/dyn/closer.cgi?path/kafka/3.4.0/kafka_2.13-3.4.0.tgz https://kafka.apache.org/downloads 下载完后解压缩: [roottest ~]# tar -xzf kafka-3.4.0-src.tgz [roottest ~]# cd kafka_2.12-…

C# String与StringBuilder 的区分

重点 1)它是比较的栈里面的值是否相等(值比较) 2)Equals它比较的是堆里面的值是否相等(引用地址值比较) 3)Object.ReferenceEquals(obj1,obj2)它是比较的是内存地址是否相等 问题描述: 今日提交代码时候,被检测工具发出修改建议。遂补充一下知识 1.什么…

【科研】一目了然单目深度估计实验评价指标

1.度量指标表概览(自整待完善) SI Scale-Invariant loss尺度不变损失YES像素深度损失bi-directional chamfer loss双向槽损失YESBin中心稠密损失L1 loss & LAD & LAEL1范数损失函数 把目标值与估计值的绝对差值的总和最小化 RMSE Root Mean …

从Tomcat源码中寻找request路径进行注入

前言 前面主要是通过寻找一个全局存储的request / response来进行Tomcat中间下的回显,但是在tomcat 7环境下并不能够获取到StandardContext对象,这里李三师傅在前文的基础中发现了在AbstractProtocol$ConnectionHandler#register的调用中不仅像之前的思…

【蓝桥集训】第五天——递推

作者:指针不指南吗 专栏:Acwing 蓝桥集训每日一题 🐾或许会很慢,但是不可以停下来🐾 文章目录1.砖块递推算法是一种简单的算法,通过已知条件,利用特定关系得出中间推论,逐步递推&…

CSS样式

CSS Css的优势&#xff1a; 内容和表现分离网页结构表现统一&#xff0c;可以实现复用样式丰富建议使用独立的html的css CSS的导入方式 第一种导入方式 &#xff1a;行内样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"U…

清洁级动物(CL)实验室设计SICOLAB

清洁级动物&#xff08;CL&#xff09;实验室设计清洁级动物&#xff08;CL&#xff09;实验室设计有哪些内容&#xff1f;工艺流程是如何&#xff1f;功能房间的划分清洁级动物实验室&#xff08;CL实验室&#xff09;是进行高洁净度动物实验的专门场所&#xff0c;需要满足一…

无水印的电脑录屏软件,推荐这3款软件,2023年新版

很多小伙伴最近喜欢在私信中询问小编&#xff0c;都已经是2023年了&#xff0c;有没有一款特别好用无水印的电脑录屏软件。当然有啦&#xff01;今天小编就应各位小伙伴的要求&#xff0c;在这里分享3款好用的无水印电脑录屏软件&#xff0c;一起来看看吧。 无水印的电脑录屏软…

2022社交平台设备风险安卓占三成,iOS 仅占一成

目录 2022年度社交平台风险分析 社交平台黑灰产作弊手段分析 社交平台如何应对&#xff1f; 随着移动互联网的发展&#xff0c;社交媒体进入“人人皆媒”时代。社交不再仅仅满足于用户即时通讯的需求&#xff0c;还承载了在线支付、内容分享等等的多元功能&#xff0c;正不断…

Rsync服务端和客户端多模块和排错

一台服务器可能有N多个文件需要同步备份, 那怎么办呢? 其实这个也很容易解决, 就是在服务器端多建几个模块, 每个模块包含不同的文件夹, 使用同样的密码文件即可实现. 如同下面的: use chroot false #不使用chroot, 其实这个应该是针对linux系统来说的.既然是默认的, …

jQuery.NiceScroll - 有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致,资源使用率低(中文文档)

jQuery.NiceScroll特征依赖关系使用配置参数有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致&#xff0c;资源使用率低 官网:nicescroll.areaaperta.com GitHub:github.com/inuyaksa/jquery.nicescroll CDN引入: https://www.bootcdn.cn/jquery.nic…

Flink-Table API 和 SQL(基本API、流处理的表、时间属性和窗口、聚合查询、联结查询、函数、SQL客户端、连接到外部系统)

文章目录Table API 和 SQL快速上手基本 API程序架构创建表环境创建表表的查询输出表表和流的转换流处理中的表动态表和持续查询将流转换成动态表原理用 SQL 持续查询-更新查询&追加查询将动态表转换为流(Append-only、Retract、Upsert)时间属性和窗口事件时间处理时间窗口&…

使用react hooks 封装的圆形滚动组件

相关技术 react , hooks , ts 功能描述 根据用户的触摸&#xff0c;对卡片进行一个圆形的旋转滚动。 码上掘金 引入组件好像不支持ts类型会报错&#xff0c;所以功能函数就丢到一个文件里面了 使用 引入 ScrollRotate 组件&#xff0c;在需要使用的数据列表外包裹一层&…

[Datawhale][CS224W]图机器学习(四)

目录一、回顾二、图嵌入概述2.1 补充知识——表示学习2.2 图嵌入2.3 图嵌入-基本框架 编码器——解码器2.3.1 编码器2.3.2 解码器2.3.3 执行步骤2.4 随机游走2.4.1 随机游走的方法步骤2.4.2 计算优化三、随机梯度下降3.1 SGD步骤3.2 批处理四、node2vec五、基于随机游走的图嵌入…

vivo x TiDB丨解决云服务海量数据挑战

vivo 是一家全球性的移动互联网智能终端公司&#xff0c;品牌产品包括智能手机、平板电脑、智能手表等 &#xff0c;截至 2022 年 8 月&#xff0c;已进驻 60 多个国家和地区&#xff0c;全球用户覆盖 4 亿多人。 vivo 为用户提供了在手机上备份联系人、短信、便签、书签等数据…

k8s-kubeadm部署

文章目录一、准备环境二、安装docker三、安装kubeadm&#xff0c;kubelet和kubectl四、部署容器网络五、部署UI一、准备环境 1.安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x6…