n = 6600;
Data = xlsread('wind shuju.xlsx');%数据库
SourceData = Data(1:n);%训练集
step=600;%后1000个测试
origin=Data(6001:6600);%error1准备参数
TempData=SourceData;
TempData=detrend(TempData);%去趋势线
TrendData=SourceData-TempData;%趋势函数
figure('name', '箱型图')
boxplot(Data);
title('箱型图');
H=adftest(TempData);
difftime=0;
SaveDiffData=[];
while ~H
SaveDiffData=[SaveDiffData,TempData(1,1)];
TempData=diff(TempData);%差分,平稳化时间序列
difftime=difftime+1;%差分次数
H=adftest(TempData);%adf检验,判断时间序列是否平稳化
end
u = iddata(TempData);
test = [];
for p = 1:5
for q = 1:5
m = armax(u,[p q]);
AIC = aic(m);
test = [test;p q AIC];
end
end
test1=[];
n=Data(6001:6600,1);
n1=iddata(n);
m = armax(u,[1 1]); %由上一步的值得出最合适的p,q
P1=predict(m,n1,1);
PreR=P1.OutputData
PreR=PreR' %此就是预测值
if size(SaveDiffData,2)~=0
for index=size(SaveDiffData,2):-1:1
PreR=cumsum([SaveDiffData(index),PreR])
end
end
x=[1:1:600];
a=[1:1:600];
plot(x,PreR,'r-o',a,Data(6001:6600,1),'b--+');
figure
plot(PreR,':og')
hold on
plot(origin,'-*');
legend('预测输出','期望输出')
title('AMRA预测输出','fontsize',12)
ylabel('风速(m/s)','fontsize',12)
xlabel('样本','fontsize',12)
xlswrite('E:\MA\bin\hunhe\predict.xlsx', PreR);
error=PreR-origin;%预测误差
error1=(origin-PreR)./origin; %相对误差
y1=diag(error);
y2=diag(error1);
xlswrite('E:\MA\bin\hunhe\error.xlsx', y1);
xlswrite('E:\MA\bin\hunhe\error1.xlsx', y2);
MAE=(sum(abs(y1)))/600; %绝对平均误差 24对误差
RMSE=sqrt((sum(y1.^2))/600);%RMSE 均方根误差公式
n = length(TempData);
meanTempData = mean(TempData);
varTempData = var(TempData);
ACF = zeros(1, 21); % 初始化ACF向量,只包括前20滞后
lags = 0:20; % 创建滞后向量,只包括前20滞后
% 计算ACF
for k = 0:20
sum = 0;
for t = (k+1):n
sum = sum + (TempData(t) - meanTempData) * (TempData(t-k) - meanTempData);
end
ACF(k+1) = sum / ((n-k) * varTempData); % 计算ACF值
end
% 初始化PACF向量
PACF = zeros(1, 21);
% 计算PACF
for k = 0:20
if k == 0
PACF(1) = ACF(1); % 0滞后是ACF的第一个值
else
% 准备回归数据
Y = TempData(k+1:end); % 当前时间点及其之后的值
X = [ones(length(Y), 1), TempData(1:end-k)]; % 包含常数项和滞后值的矩阵
% 执行回归
beta = regress(Y, X);
residuals = Y - X * beta; % 计算残差
PACF(k+1) = var(residuals) / var(Y); % 计算PACF值
end
end
% 绘制ACF和PACF图
figure;
subplot(2,1,1);
stem(lags, ACF, 'filled');
title('自相关函数 (ACF)');
xlabel('滞后阶数');
ylabel('ACF值');
subplot(2,1,2);
stem(lags, PACF, 'filled');
title('偏自相关函数 (PACF)');
xlabel('滞后阶数');
ylabel('PACF值');
% 创建一个新的图形窗口
figure;
% 在第一个子图中绘制绝对误差
subplot(1, 2, 1); % 1行2列的第一个子图
plot(y1); % 绘制绝对误差数据
title('绝对误差'); % 设置子图标题
grid on; % 开启网格
% 在第二个子图中绘制相对误差
subplot(1, 2, 2); % 1行2列的第二个子图
plot(y2); % 绘制相对误差数据
title('相对误差'); % 设置子图标题
grid on; % 开启网格
基于自回归移动平均模型建立风电功率预测模型,利用区间分布表征预测误差的分布,通过Matlab实现模型表达和仿真程序,最终通过仿真
需积分: 0 143 浏览量
更新于2024-05-29
收藏 583KB RAR 举报
在本项目中,我们主要探讨的是如何利用自回归移动平均模型(ARIMA)来预测风力发电功率,并通过Matlab进行建模与仿真,以提高预测的精度和可靠性。ARIMA模型是时间序列分析中一个重要的工具,尤其适用于处理具有线性趋势、季节性和随机波动的数据,如风电功率这种受多种因素影响且变化不规则的能源产量。
1. **自回归移动平均模型(ARIMA)**:
ARIMA模型结合了自回归模型(AR)、差分(I,即整合)和移动平均模型(MA)三个部分。在风电功率预测中,ARIMA能够捕捉数据的历史信息和潜在的周期性,通过拟合模型参数,预测未来的功率输出。
2. **误差分析**:
预测模型的误差分析是评估模型性能的关键步骤。在本设计中,我们将误差以区间的形式表示,这有助于理解预测结果的不确定性。通过对误差区间的控制,我们可以更准确地评估预测的可信度,并为决策提供依据。
3. **Matlab实现**:
Matlab是一种强大的数学计算和编程环境,特别适合进行统计建模和仿真。在本项目中,Matlab被用来构建ARIMA模型,进行参数估计,以及执行仿真程序。通过Matlab的函数库,如`arima`和`forecast`,可以方便地完成模型构建、训练和预测过程。
4. **多组实验对比分析**:
为了减小偶然误差和系统误差,我们进行了多组实验,比较不同参数设置下的模型性能。这包括对模型的阶数、差分次数等进行调整,以找到最优的模型结构。通过对比分析,可以确定最佳模型,从而获得更精确且误差区间较小的预测结果。
5. **误差区间的优化**:
通过不断的模型调整和实验,目标是减小误差的绝对值,同时降低误差区间的宽度,这将使得风电场的运营和调度更为精准,提高整体的经济效益。
6. **文件结构**:
压缩包中的文件"MA"可能包含如下内容:源代码文件(如.m文件,用于实现ARIMA模型和仿真的Matlab脚本)、数据文件(存储风电功率历史数据)、输出文件(模型结果和预测误差的分析报告)等。
综合以上,本项目通过运用ARIMA模型和Matlab工具,旨在建立一个高效、精确的风电功率预测模型,通过对误差区间的精确控制,为风电场的运行管理和电力市场的交易提供科学依据。
MATLABandsimulink
- 粉丝: 1
- 资源: 17
最新资源
- 基于IEEE33的主动配电网优化,采用IEEE33节点配电网进行仿真,搭建了含风光,储能,柴油发电机和燃气轮机的配电网经济调度模型,以总的运行成本最小为目标,考虑了储能以及潮流等约束,采用粒子群算法对
- 洛雪音乐 音乐源多线路,5个音乐源随意切换
- jmeter性能接口测试工具
- 德普微一级代理 DP5201DDA DFN1*1 1节锂离子/锂聚合物电池保护芯片(集成功率 MOS)
- 欧姆龙PLC项目程序NJ系列模切机程序 1、12轴EtherCAT总线伺服运动控制,包含回零、点动、定位、速度控制 2、张力控制PID算法,收放卷径计算, 3、隔膜自动纠偏控制,模拟量数据平均
- 成绩管理系统相关环境安装1
- 智能圆柱型共享书柜设备pro5.0全套技术资料100%好用.zip
- 6轴陀螺仪icm45686驱动
- 德普微一级代理 DP10N45A TO-252 N-MOSFET 420V 10A 0.38Ω
- Python学习简单基础代码,易看懂,易操作
- FastAdmin WANLSHOP源码 二次开发 功能强大推荐
- 机械革命耀世16Pro Ubuntu网卡驱动安装
- 德普微一级代理 DP016N10TGN2 TOLL DPMOS N-MOSFET 100V 342A 1.4mΩ
- 免费的手机KTV点歌软件,只支持安卓系统安装,可投屏
- nasa关于卫星系统介绍,涉及结构、热控、姿轨控等内容
- 已生产机柜焊机设备(sw16可编辑+工程图+BOM)全套技术资料100%好用.zip