
基于Copula函数的风光联合场景生成方法:考虑空间相关性的风电和光伏联合场景
生成
## 当风电遇上光伏:用Copula玩转风光联合发电的不确定性
搞风光发电的都知道,地理位置相近的风机和光伏板就像一对欢喜冤家——明明天气影响两个都逃
不掉,可传统方法偏要把它们当陌生人处理。今天咱们用MATLAB实操一个基于Copula的联合场景生成方案
,让这对CP的真实关系重见天日。
### 数据准备:从Excel到时间序列
```matlab
raw_data = xlsread('茶卡风光数据.xlsx');
wind_obs = reshape(raw_data(:,1), 24, []); % 按天切片
pv_obs = reshape(raw_data(:,2), 24, []);
```
这步操作把原始数据按小时切片,相当于把一年的8760小时数据拆成365天的24小时切片。想象一
下,每个风机和光伏板每天都在写24篇日记,我们把这些日记本摞起来分析。
### 核密度估计:给不确定性穿外衣
```matlab
parfor t = 1:24 % 并行加速每个时刻
[kde_wind(t), xmesh_wind(t,:)] = ksdensity(wind_obs(t,:));
[kde_pv(t), xmesh_pv(t,:)] = ksdensity(pv_obs(t,:));
end
```
核密度估计就像给每个小时的发电数据画肖像画。不同于简单直方图,它能捕捉到数据分布的细微
表情,比如双峰分布这种"性格分裂"特征。
### Copula选择:选对CP粉头
```matlab
copulaType = 'Frank'; % 选Frank-Copula当红娘
theta = copulafit(copulaType, [U_wind(:), U_pv(:)]);
```
选Frank-Copula可不只是因为流行——它能同时捕捉正负相关性,尤其擅长处理极端值相依关系。试
想台风天里风电骤降而光伏同步崩溃的惨案,这种极端CP行为正需要Frank来建模。