项目介绍 MATLAB实现基于季节性自回归积分滑动平均模型(SARIMA)进行电动汽车(EV)充电负荷预测(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前

项目介绍 MATLAB实现基于季节性自回归积分滑动平均模型(SARIMA)进行电动汽车(EV)充电负荷预测(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前 MATLAB实现基于季节性自回归积分滑动平均模型SARIMA进行电动汽车EV充电负荷预测的详细项目实例项目背景介绍电动汽车产业在近几年呈现出高速扩张态势充电需求也随之快速增长。与传统燃油车补能模式不同电动汽车充电行为具有明显的时段聚集性、季节波动性和用户行为随机性尤其在居民区、商业综合体、园区停车场、高速服务区等场景中充电负荷往往呈现出“白天低谷、晚间高峰”“工作日与周末差异显著”“节假日集中上升”“极端天气放大负荷波动”等特征。对于电网运行侧而言这类负荷并非简单的新增用电量而是会直接影响配电网的峰谷差、局部线路负载率、台区容量裕度以及电压合格率。若缺乏对充电负荷的提前预测充电站建设容易出现容量配置不足或资源闲置并存的问题电网调度也难以提前安排削峰填谷、需求响应和储能调节策略从而增加运行成本与安全风险。在实际工程中电动汽车充电负荷数据常表现为典型时间序列形态并带有较强的周期性与季节性。所谓季节性并不只指自然季节变化也包括日周期、周周期、月周期等多层级周期结构。例如夜间家庭慢充常在晚饭后逐渐升高凌晨达到峰值清晨逐步回落办公区充电负荷则与通勤、工作时段紧密相关节假日期间长途出行会让高速快充站出现较明显的突增。这类规律说明充电负荷不是完全随机变化而是由趋势项、季节项、随机扰动项共同构成。若采用静态统计方法或简单线性回归难以捕捉这种时间依赖关系若采用复杂深度学习模型则虽然表达能力较强但往往需要大量训练样本、较高算力以及更复杂的超参数调试对数据质量与部署环境要求也更高。季节性自回归积分滑动平均模型简称 SARIMA恰好适合处理这类带周期性的平稳或可平稳化时间序列。它在传统 ARIMA 的基础上进一步引入季节差分、季节自回归和季节滑动平均项能够同时建模短期依赖与周期性规律。对于电动汽车充电负荷预测而言SARIMA 具备较强的工程可解释性自回归项描述过去负荷对当前负荷的影响差分项用于消除趋势和非平稳性滑动平均项刻画随机扰动的修正作用季节项则专门描述固定周期下的重复模式。这种结构非常契合充电负荷的时序特征因此在中短期预测场景中具有较高实用价值。MATLAB 作为工程计算和算法验证平台适合快速完成时间序列清洗、模型识别、参数估计、预测结果评估与可视化分析。借助其时间序列处理、统计建模与图形展示能力可以构建一套完整的 EV 充电负荷预测流程先对原始负荷数据进行缺失值处理、异常值修正、时间对齐与频率统一再根据自相关函数与偏自相关函数判断模型阶数随后对 SARIMA 结构进行参数估计与残差检验最终输出未来若干小时或若干天的负荷预测曲线并使用均方误差、平均绝对误差、平均绝对百分比误差等指标衡量效果。这样的流程既适用于科研验证也适用于企业级调度辅助分析。从行业角度看准确的充电负荷预测具有多方面价值。对充电运营商而言可用于优化站点布局、配置变压器容量、安排运维班次以及制定动态电价策略对电网公司而言可辅助配电网扩容规划、负荷分区管理、需求响应设计与储能协同调度对政府与园区管理方而言可为新能源汽车基础设施规划、碳减排评估、能源安全管理与政策制定提供依据。尤其在“双碳”目标推动下电动汽车不仅是交通工具电动化的核心也正在成为新型电力系统中的重要柔性负荷。其充电行为若能被准确预测并引导将有助于提升可再生能源消纳能力缓解风光出力波动带来的调峰压力。因此围绕 MATLAB 实现基于 SARIMA 的 EV 充电负荷预测项目不仅具备明确的工程意义也具备良好的研究价值。该方向能够将时间序列建模理论与实际能源场景紧密结合既可以检验 SARIMA 在复杂现实数据上的适用性也能够为后续融合外部变量、开展多模型对比、构建在线预测系统打下基础。由于充电负荷预测兼具时序性、季节性与应用性这类项目非常适合作为能源数据分析、智能电网优化和交通能源融合研究中的典型案例。项目目标与意义负荷规律识别与预测精度提升本项目首要目标是从历史充电数据中识别电动汽车负荷的时间规律并通过 SARIMA 建立稳定、可解释的预测模型。充电负荷并非孤立随机值而是由日内周期、周内周期及特殊日期扰动共同决定。项目通过差分、季节差分和参数识别提取负荷序列中的趋势与周期信息进而实现对未来短期负荷的定量预测。预测精度提升的意义在于可减少运营端对经验判断的依赖使站点排班、设备容量配置和电价策略更贴近真实需求。若预测误差较大容易导致部分时段桩位不足、排队时间过长或在低需求时段形成资源浪费。通过精细化建模可显著改善负荷判断质量使电动汽车充电服务更稳定、更高效。支撑电网调度与容量规划电动汽车大规模接入后负荷峰值会对配电网形成新的冲击尤其是在居民聚集区和商业密集区晚间集中充电极易推高局部变压器与线路负载率。本项目通过对充电负荷的提前预测为电网调度提供时序参考可辅助判断未来某时段是否需要启动需求响应、储能放电或负荷转移策略。对于规划层面预测结果还可用于估算站点未来扩容需求判断是否需要新增配电变压器、增设充电桩或调整馈线分配。其意义不仅在于保障供电可靠性也在于提高配电网投资决策的科学性减少重复建设与盲目扩容带来的成本浪费。提升运营管理与资源利用效率充电运营商面临的核心问题之一是如何在不确定需求下实现设备、人员与电力资源的高效配置。若能准确预测未来充电负荷则可提前安排检修、优化值班、制定动态价格并合理配置快慢充比例。对高峰期的提前判断可减少排队与用户流失对低谷期的准确识别则可用于开展优惠引流与引导分时充电。项目的意义还体现在提升资源利用率方面充电桩、变压器、储能设备和电力配套设施都属于高成本资产预测能力越强越能避免闲置与过载并存的矛盾从而提升资产回报率和服务体验。为新能源融合与低碳管理提供支撑电动汽车充电负荷本质上与新型电力系统中的灵活需求管理密切相关。随着风电、光伏装机比例上升电网对灵活负荷调节能力的需求不断增强。充电负荷预测能够为可再生能源消纳提供更好的负荷侧协同基础在风光出力高峰时段引导充电在电网紧张时段主动削减负荷实现源网荷储协同优化。对低碳管理而言预测结果也可用于评估充电行为与碳排放之间的关系进而制定更精细的绿色出行与绿色充电策略。由此可见项目不仅服务于单一站点运营也服务于城市级能源治理、交通电气化推进和双碳目标落地。项目挑战及解决方案数据非平稳、缺失与异常波动处理电动汽车充电负荷数据通常存在明显的非平稳特征表现为长期趋势变化、节假日突增、天气影响以及突发事件扰动。与此同时真实业务数据还常伴随采集缺失、时钟不同步、通信中断和异常尖峰等问题。如果直接将原始数据输入模型SARIMA 的参数识别会受到明显干扰残差也可能表现出非随机结构导致预测失真。解决方案是先对数据进行时间对齐与频率统一随后采用插值、移动中位数平滑、局部异常点修正等方法改善数据质量再通过一阶差分或季节差分降低非平稳性。必要时还可对极端值做截断处理以保证模型估计稳定。通过这一套预处理流程能够将原始业务数据转化为更适合时间序列建模的形式提高后续预测可靠性。季节周期识别与参数选择困难SARIMA 的优势在于能够处理季节性但实际项目中最难的是如何准确识别季节周期和模型阶数。充电负荷可能同时存在日周期、周周期和节假日波动不同站点的主导周期并不完全一致。如果季节长度设定不合理模型可能无法抓住真实周期结构如果阶数过高则容易造成过拟合和参数不稳定。解决办法是结合业务场景和统计检验双重判断先依据采样频率确定基础周期例如按小时采样时可重点关注 24 小时周期再通过自相关函数和偏自相关函数观察显著滞后项并配合 AIC、BIC 等信息准则筛选候选模型。对于多个备选参数组合可采用滚动验证方式比较预测误差最终选取兼顾精度与稳定性的方案。这样能够避免单纯依赖经验设阶导致的主观偏差。预测误差波动与模型适用边界SARIMA 的表达能力主要来自线性结构因此在面对外部变量强烈影响、长时段突变或复杂非线性模式时预测效果会受到限制。例如极端天气、临时活动、大型展会或政策调整都可能让历史规律短期失效。此外若只使用单变量负荷序列不引入温度、节假日、价格、交通流等外生因素模型对某些特殊时段的敏感性会不足。解决方案是明确 SARIMA 的适用边界将其主要定位于中短期、周期性较强、规律较稳定的负荷场景并通过残差诊断检验模型是否仍保留显著自相关。若误差出现系统偏差可在后续版本中引入 SARIMAX、多模型集成或分场景建模策略。这样的处理既保证了当前项目的可落地性也为后续扩展预留了空间。项目模型架构数据输入层数据输入层负责接收历史充电负荷记录以及必要的时间字段包括日期、小时、负荷值和可选的环境变量。其作用是将业务系统导出的原始数据整理为统一时间序列格式保证样本顺序正确、时间间隔一致。对于 EV 充电负荷预测而言输入层不仅要导入数值还要完成时间索引构建因为 SARIMA 强依赖时间先后关系。若数据来自多个充电站还需对站点编号进行筛选形成单站点序列或聚合序列。该层的基本原理是“先统一再建模”即将原始异构记录转换为具有固定采样频率的序列数据确保后续差分、拟合和预测步骤能在同一时间基准上运行。数据预处理层预处理层主要完成缺失值修补、异常值处理、平滑降噪和尺度检查。电动汽车充电负荷常受采集系统稳定性影响原始序列可能出现断点或异常尖峰。此层通常通过线性插值、样条插值、局部统计修正和中值滤波来改善序列质量同时检查时间戳是否重复或遗漏。其基本原理是尽量恢复真实负荷变化轨迹减少观测误差对参数估计的干扰。对于 SARIMA 来说预处理的价值尤其明显因为该模型对数据质量较敏感。若异常点未清理模型可能把异常波动误识别为季节性或短期冲击从而损害结构识别。因而此层是整个架构中最基础也最关键的部分。平稳化与差分层SARIMA 的核心前提是对可平稳化序列进行建模因此必须通过差分将趋势和季节性剥离。差分层包括普通差分与季节差分两种处理。普通差分用于削弱长期趋势使序列均值更稳定季节差分则针对固定周期重复模式例如小时级数据中的日周期或周周期。其基本原理是通过相邻时点或相隔一个季节长度的观测值相减消除缓慢变化成分突出随机扰动与短期依赖结构。平稳化后序列在均值和方差上更接近稳定状态这为后续自回归和滑动平均项识别提供了前提条件。此层是否合理直接影响模型能否正确捕捉真实负荷规律。SARIMA建模层建模层是整个项目的核心由非季节部分 ARIMA 与季节部分 SAR 结构共同组成。模型可写为 SARIMA(p,d,q)(P,D,Q)m其中 p、d、q 分别表示非季节自回归阶数、差分阶数和滑动平均阶数P、D、Q 分别表示季节自回归、季节差分和季节滑动平均阶数m 表示季节长度。其基本原理是利用过去若干时刻的负荷值及误差项来推断当前值同时叠加季节周期中的重复关系。自回归项描述惯性滑动平均项修正随机误差差分项处理非平稳性季节项则强化周期记忆。对 EV 充电负荷而言这种结构非常契合日内重复充电行为因此在短期预测中常具有较好的精度与稳定性。评估与输出层评估与输出层负责对预测结果进行精度衡量、残差检验与可视化展示。常用指标包括 MAE、RMSE、MAPE、MSE 等它们从不同角度衡量预测误差大小。残差检验则用于判断模型是否已提取主要时序信息若残差仍存在明显自相关说明模型结构仍需调整。输出层通常给出历史拟合曲线、未来预测曲线以及误差统计图帮助业务人员直观理解模型效果。其基本原理是通过数值评价和图形展示共同验证模型可用性而不只是追求单一指标最优。对于实际部署这一层还可扩展为滚动预测输出、告警阈值判断和调度建议生成为运营决策提供直接支持。项目模型描述及代码示例一、构造小时级电动汽车充电负荷序列 clc; % 清空命令窗口便于观察本次运行输出结果 clear; % 清除工作区变量避免旧变量干扰当前实验 close all; % 关闭已打开图窗减少图形对象冲突 rng(42); % 固定随机数种子保证结果可复现 nDays 180; % 设置样本天数便于构造中期负荷时间序列 m 24; % 设置季节长度为24表示小时级日周期 N nDays * m; % 计算总样本点数形成完整小时级序列 t (1:N); % 构造时间索引列向量表示每一个小时的序号 baseLoad 42 8*sin(2*pi*t/m) 3*cos(2*pi*t/m); % 构造日内周期负荷基线模拟晚高峰与低谷差异 weeklyEffect 4*sin(2*pi*t/(7*m)); % 构造周周期波动模拟工作日与周末用电差异 trendEffect 0.015*t; % 构造缓慢上升趋势模拟电动汽车保有量增长带来的负荷抬升 noiseEffect 2.5*randn(N,1); % 构造随机扰动模拟用户到站随机性与测量波动 loadValue baseLoad weeklyEffect trendEffect noiseEffect; % 合成最终充电负荷序列形成原始观测数据 dt datetime(2025,1,1,0,0,0) hours(0:N-1); % 构造时间戳保证每个负荷点对应一个小时 evTable table(dt, loadValue, VariableNames, {Time,Load}); % 组织为表格便于后续时间序列处理 disp(evTable(1:8,:)); % 显示前8条记录快速检查数据结构是否正确 二、按时间排序并转为规则时间序列 evTable sortrows(evTable, Time); % 按时间升序排序防止导入数据存在乱序问题 tt table2timetable(evTable, RowTimes, Time); % 转换为时间表便于按时间索引建模 tt retime(tt, hourly, linear); % 统一为小时频率若存在缺失时间点则进行线性补齐 y tt.Load; % 提取负荷序列作为后续SARIMA建模的观测向量 timeIndex tt.Time; % 提取时间索引供绘图与结果对齐使用 figure(Color,w); % 创建白底图窗增强展示清晰度 plot(timeIndex, y, b-); % 绘制原始负荷曲线直观看出周期性与波动性 grid on; % 打开网格便于观察峰谷位置 xlabel(时间); % 标注横轴为时间明确序列维度 ylabel(充电负荷); % 标注纵轴为负荷值表达业务含义 title(EV小时级充电负荷原始序列); % 设置图题说明当前图像内容 三、差分检验与平稳化处理 figure(Color,w); % 创建新图窗展示自相关分析结果 subplot(2,1,1); % 上半部分用于原序列自相关 autocorr(y, 48); % 绘制前48阶自相关函数观察日周期与短期依赖 subplot(2,1,2); % 下半部分用于差分后序列自相关 yDiff diff(y); % 执行一阶差分削弱趋势项影响 autocorr(yDiff, 48); % 绘制差分后自相关函数检查平稳性改善情况 adfResult1 adftest(y); % 对原序列执行ADF检验判断是否存在单位根 adfResult2 adftest(yDiff); % 对差分序列执行ADF检验判断平稳化效果 fprintf(原序列ADF检验结果: %d\n, adfResult1); % 输出原序列平稳性判断结果便于快速核查 fprintf(一阶差分后ADF检验结果: %d\n, adfResult2); % 输出差分后平稳性判断结果辅助阶数确认 四、SARIMA模型设定与参数估计 p 2; % 设置非季节自回归阶数捕捉短期惯性 d 1; % 设置非季节差分阶数处理趋势非平稳性 q 2; % 设置非季节滑动平均阶数修正随机冲击 P 1; % 设置季节自回归阶数捕捉日周期重复关系 D 1; % 设置季节差分阶数处理日周期非平稳性 Q 1; % 设置季节滑动平均阶数修正季节扰动 s 24; % 设置季节长度为24小时符合日周期规律 model arima(Constant,NaN,D,d,Seasonality,s,ARLags,1:p,MALags,1:q,SARLags,s*(1:P),SMALags,s*(1:Q)); % 构造SARIMA初始模型结构包含非季节与季节项 model.D d; % 明确指定普通差分阶数确保模型结构完整 model.SeasonalDifference D; % 指定季节差分阶数便于捕捉日周期差异 estimatedModel estimate(model, y, Display, off); % 估计模型参数关闭迭代输出以减少命令窗口干扰 disp(estimatedModel); % 显示估计后的模型对象检查系数是否成功收敛 五、残差诊断与预测生成 residuals infer(estimatedModel, y); % 计算模型残差检验未解释信息是否充分 figure(Color,w); % 创建残差分析图窗 subplot(2,1,1); % 第一部分展示残差序列 plot(timeIndex, residuals, k-); % 绘制残差曲线检查是否围绕零均值随机波动 grid on; % 打开网格辅助观察异常点 ylabel(残差); % 标注残差轴 title(SARIMA模型残差); % 标注残差图题 subplot(2,1,2); % 第二部分展示残差自相关 autocorr(residuals, 48); % 绘制残差自相关函数判断是否仍存在显著相关结构 horizon 24; % 设置预测步长为24小时适合短期日内预测 [yF,yMSE] forecast(estimatedModel, horizon, Y0, y); % 基于历史数据生成未来24小时预测值及均方误差 futureTime timeIndex(end) hours(1:horizon); % 构造未来时间索引保证预测结果与时间对齐 yLower yF - 1.96*sqrt(yMSE); % 计算95%置信区间下界衡量预测不确定性 yUpper yF 1.96*sqrt(yMSE); % 计算95%置信区间上界衡量预测不确定性 六、预测结果可视化与误差评估 figure(Color,w); % 创建预测结果展示图窗 plot(timeIndex(end-7*24:end), y(end-7*24:end), b, LineWidth, 1.2); % 绘制最近7天真实负荷作为对照基线 hold on; % 保持当前图像便于叠加预测曲线 plot(futureTime, yF, r, LineWidth, 1.5); % 绘制未来预测值突出模型输出 fill([futureTime; flipud(futureTime)], [yLower; flipud(yUpper)], [1 0.8 0.8], EdgeColor, none, FaceAlpha, 0.35); % 绘制置信区间体现预测波动范围 grid on; % 打开网格便于比较真实与预测变化 xlabel(时间); % 标注时间轴 ylabel(充电负荷); % 标注负荷轴 legend(历史真实负荷,SARIMA预测值,95%置信区间,Location,best); % 添加图例区分多条曲线 title(EV充电负荷短期预测结果); % 标注图题说明预测主题 actualFuture y(end-horizon1:end); % 取最后24小时真实值作为对比样本 predFuture yF; % 取预测值作为评估对象 mae mean(abs(actualFuture - predFuture)); % 计算平均绝对误差衡量总体偏差 rmse sqrt(mean((actualFuture - predFuture).^2)); % 计算均方根误差衡量大误差敏感度 mape mean(abs((actualFuture - predFuture)./actualFuture))*100; % 计算平均绝对百分比误差衡量相对误差水平 fprintf(MAE %.4f\n, mae); % 输出MAE便于量化预测质量 fprintf(RMSE %.4f\n, rmse); % 输出RMSE便于量化波动偏差 fprintf(MAPE %.2f%%\n, mape); % 输出MAPE便于工程解释一、构造小时级电动汽车充电负荷序列clc; % 清空命令窗口便于观察本次运行输出结果clear; % 清除工作区变量避免旧变量干扰当前实验close all; % 关闭已打开图窗减少图形对象冲突rng(42); % 固定随机数种子保证结果可复现nDays 180; % 设置样本天数便于构造中期负荷时间序列m 24; % 设置季节长度为24表示小时级日周期N nDays * m; % 计算总样本点数形成完整小时级序列t (1:N); % 构造时间索引列向量表示每一个小时的序号baseLoad 42 8*sin(2*pi*t/m) 3*cos(2*pi*t/m); % 构造日内周期负荷基线模拟晚高峰与低谷差异weeklyEffect 4*sin(2*pi*t/(7*m)); % 构造周周期波动模拟工作日与周末用电差异trendEffect 0.015*t; % 构造缓慢上升趋势模拟电动汽车保有量增长带来的负荷抬升noiseEffect 2.5*randn(N,1); % 构造随机扰动模拟用户到站随机性与测量波动loadValue baseLoad weeklyEffect trendEffect noiseEffect; % 合成最终充电负荷序列形成原始观测数据dt datetime(2025,1,1,0,0,0) hours(0:N-1); % 构造时间戳保证每个负荷点对应一个小时evTable table(dt, loadValue, VariableNames, {Time,Load}); % 组织为表格便于后续时间序列处理disp(evTable(1:8,:)); % 显示前8条记录快速检查数据结构是否正确二、按时间排序并转为规则时间序列evTable sortrows(evTable, Time); % 按时间升序排序防止导入数据存在乱序问题tt table2timetable(evTable, RowTimes, Time); % 转换为时间表便于按时间索引建模tt retime(tt, hourly, linear); % 统一为小时频率若存在缺失时间点则进行线性补齐y tt.Load; % 提取负荷序列作为后续SARIMA建模的观测向量timeIndex tt.Time; % 提取时间索引供绘图与结果对齐使用figure(Color,w); % 创建白底图窗增强展示清晰度plot(timeIndex, y, b-); % 绘制原始负荷曲线直观看出周期性与波动性grid on; % 打开网格便于观察峰谷位置xlabel(时间); % 标注横轴为时间明确序列维度ylabel(充电负荷); % 标注纵轴为负荷值表达业务含义title(EV小时级充电负荷原始序列); % 设置图题说明当前图像内容三、差分检验与平稳化处理figure(Color,w); % 创建新图窗展示自相关分析结果subplot(2,1,1); % 上半部分用于原序列自相关autocorr(y, 48); % 绘制前48阶自相关函数观察日周期与短期依赖subplot(2,1,2); % 下半部分用于差分后序列自相关yDiff diff(y); % 执行一阶差分削弱趋势项影响autocorr(yDiff, 48); % 绘制差分后自相关函数检查平稳性改善情况adfResult1 adftest(y); % 对原序列执行ADF检验判断是否存在单位根adfResult2 adftest(yDiff); % 对差分序列执行ADF检验判断平稳化效果fprintf(原序列ADF检验结果: %d\n, adfResult1); % 输出原序列平稳性判断结果便于快速核查fprintf(一阶差分后ADF检验结果: %d\n, adfResult2); % 输出差分后平稳性判断结果辅助阶数确认四、SARIMA模型设定与参数估计p 2; % 设置非季节自回归阶数捕捉短期惯性d 1; % 设置非季节差分阶数处理趋势非平稳性q 2; % 设置非季节滑动平均阶数修正随机冲击P 1; % 设置季节自回归阶数捕捉日周期重复关系D 1; % 设置季节差分阶数处理日周期非平稳性Q 1; % 设置季节滑动平均阶数修正季节扰动s 24; % 设置季节长度为24小时符合日周期规律model arima(Constant,NaN,D,d,Seasonality,s,ARLags,1:p,MALags,1:q,SARLags,s*(1:P),SMALags,s*(1:Q)); % 构造SARIMA初始模型结构包含非季节与季节项model.D d; % 明确指定普通差分阶数确保模型结构完整model.SeasonalDifference D; % 指定季节差分阶数便于捕捉日周期差异estimatedModel estimate(model, y, Display, off); % 估计模型参数关闭迭代输出以减少命令窗口干扰disp(estimatedModel); % 显示估计后的模型对象检查系数是否成功收敛五、残差诊断与预测生成residuals infer(estimatedModel, y); % 计算模型残差检验未解释信息是否充分figure(Color,w); % 创建残差分析图窗subplot(2,1,1); % 第一部分展示残差序列plot(timeIndex, residuals, k-); % 绘制残差曲线检查是否围绕零均值随机波动grid on; % 打开网格辅助观察异常点ylabel(残差); % 标注残差轴title(SARIMA模型残差); % 标注残差图题subplot(2,1,2); % 第二部分展示残差自相关autocorr(residuals, 48); % 绘制残差自相关函数判断是否仍存在显著相关结构horizon 24; % 设置预测步长为24小时适合短期日内预测[yF,yMSE] forecast(estimatedModel, horizon, Y0, y); % 基于历史数据生成未来24小时预测值及均方误差futureTime timeIndex(end) hours(1:horizon); % 构造未来时间索引保证预测结果与时间对齐yLower yF - 1.96*sqrt(yMSE); % 计算95%置信区间下界衡量预测不确定性yUpper yF 1.96*sqrt(yMSE); % 计算95%置信区间上界衡量预测不确定性六、预测结果可视化与误差评估figure(Color,w); % 创建预测结果展示图窗plot(timeIndex(end-7*24:end), y(end-7*24:end), b, LineWidth, 1.2); % 绘制最近7天真实负荷作为对照基线hold on; % 保持当前图像便于叠加预测曲线plot(futureTime, yF, r, LineWidth, 1.5); % 绘制未来预测值突出模型输出fill([futureTime; flipud(futureTime)], [yLower; flipud(yUpper)], [1 0.8 0.8], EdgeColor, none, FaceAlpha, 0.35); % 绘制置信区间体现预测波动范围grid on; % 打开网格便于比较真实与预测变化xlabel(时间); % 标注时间轴ylabel(充电负荷); % 标注负荷轴legend(历史真实负荷,SARIMA预测值,95%置信区间,Location,best); % 添加图例区分多条曲线title(EV充电负荷短期预测结果); % 标注图题说明预测主题actualFuture y(end-horizon1:end); % 取最后24小时真实值作为对比样本predFuture yF; % 取预测值作为评估对象mae mean(abs(actualFuture - predFuture)); % 计算平均绝对误差衡量总体偏差rmse sqrt(mean((actualFuture - predFuture).^2)); % 计算均方根误差衡量大误差敏感度mape mean(abs((actualFuture - predFuture)./actualFuture))*100; % 计算平均绝对百分比误差衡量相对误差水平fprintf(MAE %.4f\n, mae); % 输出MAE便于量化预测质量fprintf(RMSE %.4f\n, rmse); % 输出RMSE便于量化波动偏差fprintf(MAPE %.2f%%\n, mape); % 输出MAPE便于工程解释更多详细内容请访问http://能源预测基于SARIMA的电动汽车充电负荷预测MATLAB实现基于季节性自回归积分滑动平均模型SARIMA进行电动汽车EV充电负荷预测的详细项目实例含完整的程序GUI设计和代码详解_Matlab深度学习GUI教程资源-CSDN下载 https://download.csdn.net/download/xiaoxingkongyuxi/90380036https://download.csdn.net/download/xiaoxingkongyuxi/90380036https://download.csdn.net/download/xiaoxingkongyuxi/90380036