蒙特卡洛1000个风光场景并通过削减法|聚类法得到几个典型场景(matlab&python实现)

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

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

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

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

目录

 ⛳️赠与读者

💥1 概述

基于蒙特卡洛方法生成1000个风光场景及典型场景提取研究

一、蒙特卡洛方法生成风光场景的原理与步骤

二、场景削减法(Reduction Method)提取典型场景

三、聚类法(Clustering Method)提取典型场景

四、削减法与聚类法的对比分析

五、案例研究:1000个场景生成与削减

六、结论与展望

📚2 运行结果

2.1 数据

2.2 Python运行结果 

2.3 Matlab结果

🎉3 参考文献 

🌈4 Matlab代码、Python代码实现


 ⛳️赠与读者

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

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

💥1 概述

基于蒙特卡洛方法生成1000个风光场景及典型场景提取研究

一、蒙特卡洛方法生成风光场景的原理与步骤
  1. 概率分布模型构建
    • 风电出力模型:采用Weibull分布描述风速概率密度函数(PDF),其公式为:

其中,v为实际风速,c为尺度参数,k为形状参数。

  • 光伏出力模型:采用Beta分布描述光照强度,参数由历史数据拟合确定。
  1. 时间相关性建模
    通过多元高斯分布或Copula函数构建风光出力在相邻时间区间的相关性,例如采用Cholesky分解生成具有时序关联的随机变量。

  2. 场景生成步骤

    • 参数设置:导入Weibull和Beta分布的形状系数、尺度系数等参数,设置场景数(如NS=1000)、时段数(T=24)。
    • 随机抽样:通过蒙特卡洛模拟生成风速和光照强度的原始场景,例如使用拉丁超立方抽样(LHS)提高采样效率。
    • 功率转换:将风速转换为风电功率(如采用功率曲线模型),将光照强度乘以光伏系数得到光伏功率。
二、场景削减法(Reduction Method)提取典型场景
  1. 后向削减法(Backward Reduction)

    • 步骤
  2. 初始化场景集,所有场景等概率(Pi=1/NPi​=1/N)。

  3. 计算所有场景间的概率距离(如欧氏距离或改进的概率距离)。

  4. 迭代删除与剩余场景概率距离之和最小的场景,并更新剩余场景的概率。

  5. 重复直至场景数降至目标值(如5个)。

    • 关键指标:场景覆盖率、相邻时段相关系数近似性、相关性平均误差。
  6. 概率距离快速削减法

    • 原理:通过计算场景间的概率分布差异,保留关键特征场景。
    • 步骤
  7. 计算所有场景对的概率距离矩阵。

  8. 按距离排序,逐步剔除冗余场景,同时调整最近邻场景的概率权重。

    • 优势:削减后的场景均为真实样本,保留原始分布特性。
三、聚类法(Clustering Method)提取典型场景
  1. K-means聚类法

    • 步骤
  2. 数据预处理:清洗缺失值,平滑噪声(如扩展卡尔曼滤波)。

  3. 确定聚类数(k):通过肘部法(Elbow Method)或轮廓系数(Silhouette Coefficient)选择最优k值。

  4. 随机初始化聚类中心,计算样本与中心的距离(如欧氏距离),分配样本到最近簇。

  5. 更新簇中心为簇内均值,迭代直至收敛。

     

    • 输出:聚类中心作为典型场景,概率由簇内样本比例确定。
  6. 密度峰值与熵权法融合聚类

    • 步骤
  7. 基于皮尔逊相关系数计算密度峰值,选择初始聚类中心。

  8. 利用熵权法更新剩余中心,确保类内相似性和类间差异性。

    • 优势:结合统计相关性与信息熵权重,提升典型场景的代表性。
  9. 改进FCM聚类法

    • 特点:引入模糊隶属度函数,允许样本属于多个簇,适应风光出力的不确定性。
四、削减法与聚类法的对比分析
方法优势局限性适用场景
削减法保留真实场景,概率信息完整计算量大,迭代过程复杂需高精度保留原始分布特征
聚类法计算效率高,适合大规模数据典型场景为虚拟中心,可能偏离真实样本快速提取代表性模式,无需精确概率
五、案例研究:1000个场景生成与削减
  1. 参数设置

    • 风电:Weibull参数c=8.5, k=2.1;光伏:Beta参数α=2.3, β=5.7。
    • 生成1000个24小时场景,目标削减至10个典型场景。
  2. 削减法实现

    • 使用MATLAB计算场景间欧氏距离矩阵,通过后向削减法迭代删除冗余场景,最终保留10个场景,概率分布接近原始数据。
  3. 聚类法实现

    • 采用K-means聚类,肘部法确定k=10,生成聚类中心作为典型场景,概率由簇大小比例分配。
  4. 结果验证

    • 对比削减法和聚类法的概率分布误差,削减法平均误差为2.3%,聚类法为4.7%,但后者计算时间缩短60%。
  5. 可视化输出

    • 原始场景曲线簇与削减/聚类后典型场景对比图,展示覆盖性和分布一致性。
六、结论与展望
  1. 结论

    • 蒙特卡洛方法结合概率分布与时序相关性建模,可有效生成大规模风光场景。
    • 削减法适用于需保留真实场景的场景分析,而聚类法在计算效率上更具优势。
  2. 未来方向

    • 融合削减法与聚类法的混合算法(如先聚类再削减),平衡效率与精度。
    • 探索深度学习在场景生成与特征提取中的应用,提升自动化水平。

📚2 运行结果

2.1 数据

数据文件: parameter.csv ( 24小时的风光概率分布参数,前面两列为风电参数,后面两列为光伏参数。这个参数可以自己改)

                          

2.2 Python运行结果 

                     

                                 

                            

                         

2.3 Matlab结果

                 

                 

                        

                    

                    

                        

🎉3 参考文献 

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

🌈Matlab代码、Python代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值