dw建设网站如何加入音乐,在线设计平台的优缺点,网站营销网站建设,微信小程序论坛区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测…区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测 1.Matlab实现基于QRCNN分位数回归卷积神经网络的时间序列区间预测模型 2.多图输出、多指标输出(MAE、RMSE、MSE、R2)多输入单输出含不同置信区间图、概率密度图 3.data为数据集功率数据集用过去一段时间的变量预测目标目标为最后一列也可适用于负荷预测、风速预测MainQRCNNTS为主程序其余为函数文件无需运行 4.代码质量高注释清楚含数据预处理部分处理缺失值如果为nan用上一行替代也含核密度估计。 模型描述 QRCNN是一种基于卷积神经网络CNN的分位数回归模型用于时间序列区间预测。其全称为Quantile Regression Convolutional Neural Network。该模型可以用于预测时间序列数据的不同分位数例如预测股票价格的上下限、风速的极值等。由于QRCNN采用卷积神经网络的结构可以有效地捕捉时间序列数据的局部和全局特征从而提高预测准确性。 QRCNN模型的主要思想是将时间序列数据分解成一系列窗口并将每个窗口视为一个图像。然后使用卷积神经网络对这些图像进行特征提取和分析最终输出每个分位数的预测结果。QRCNN模型的训练过程采用分位数损失函数以最小化所有分位数的预测误差。 QRCNN模型的优点包括 能够有效地处理时间序列数据的不确定性和非线性特征 能够同时预测多个分位数从而提供更全面的预测结果 可以灵活地处理不同长度的时间序列数据。 总之QRCNN模型是一种用于时间序列区间预测的强大工具可以帮助人们更好地理解和应用时间序列数据。 QRCNN模型的公式包括输入层、卷积层、池化层、全连接层和输出层。以下是QRCNN模型的主要公式 输入层 假设时间序列数据为 x t x_t xt则输入层将每个时间步 t t t的数据作为一个输入节点 x t x_t xt。 卷积层 假设第 k k k个卷积核的大小为 d k d_k dk则第 k k k个卷积层的输出 z k z_k zk可以表示为 z k σ ( W k ∗ x b k ) z_k\sigma(W_k * xb_k) zkσ(Wk∗xbk) 其中 W k W_k Wk是第 k k k个卷积核的权重矩阵 ∗ * ∗表示卷积操作 b k b_k bk是偏置项 σ \sigma σ是激活函数通常使用ReLU或tanh函数。 池化层 假设第 k k k个池化操作的大小为 m k m_k mk则第 k k k个池化层的输出 y k y_k yk可以表示为 y k m a x p o o l ( z k ) y_kmaxpool(z_k) ykmaxpool(zk) 其中 m a x p o o l maxpool maxpool表示最大池化操作。 全连接层 假设第 l l l个全连接层的输出为 h l h_l hl则第 l l l个全连接层的输出 h l h_l hl可以表示为 h l σ ( W l ∗ h l − 1 b l ) h_l\sigma(W_l*h_{l-1}b_l) hlσ(Wl∗hl−1bl) 其中 W l W_l Wl是第 l l l个全连接层的权重矩阵 b l b_l bl是偏置项 σ \sigma σ是激活函数。 输出层 假设要预测 q q q个分位数第 q q q个分位数为 τ q \tau_q τq则输出层的输出 y q y_q yq可以表示为 y q F τ q ( h L ) y_qF_{\tau_q}(h_L) yqFτq(hL) 其中 F τ q ( h L ) F_{\tau_q}(h_L) Fτq(hL)表示第 L L L层的输出 h L h_L hL在分位数 τ q \tau_q τq处的累积分布函数CDF。 损失函数 QRCNN模型采用分位数损失函数定义为 L τ ( y , y ^ ) ( 1 − τ ) ∣ y − y ^ ∣ ( y ≤ y ^ ) τ ∣ y − y ^ ∣ ( y y ^ ) L_{\tau}(y,\hat{y})(1-\tau)|y-\hat{y}|{(y\le \hat{y})}\tau|y-\hat{y}|{(y \hat{y})} Lτ(y,y^)(1−τ)∣y−y^∣(y≤y^)τ∣y−y^∣(yy^) 其中 y y y表示实际值 y ^ \hat{y} y^表示预测值 τ \tau τ表示分位数 ∣ ⋅ ∣ ( ⋅ ) | \cdot |_{(\cdot)} ∣⋅∣(⋅)表示指示函数。 最终QRCNN模型的目标是最小化所有分位数的预测误差的总和即 m i n ∑ i 1 n ∑ q 1 Q L τ q ( y i , y i ^ ) min \sum_{i1}^{n}\sum_{q1}^{Q}L_{\tau_q}(y_i,\hat{y_i}) mini1∑nq1∑QLτq(yi,yi^) 其中 n n n表示样本数量 Q Q Q表示分位数个数。 程序设计
完整程序和数据获取方式私信博主。
% Divide the data into training and validation data sets
numTrainFiles 90;
[imdsTrain,imdsValidation] splitEachLabel(imds,numTrainFiles,randomize);
% Define the convolutional neural network architecture.
layers [
% Image Input Layer An imageInputLayer imageInputLayer([64 64 1])
% Convolutional Layer
convolution2dLayer(3,8,Padding,same)
% Batch Normalization batchNormalizationLayer
% ReLU Layer The batchreluLayer
% Max Pooling Layer % More values means less weightsmaxPooling2dLayer(4,Stride,4)%------------------------------convolution2dLayer(3,8,Padding,same)batchNormalizationLayerreluLayermaxPooling2dLayer(5,Stride,5)convolution2dLayer(3,8,Padding,same)batchNormalizationLayerreluLayer
% Fully Connected Layer (Number of Classes) fullyConnectedLayer(8)
% Softmax Layer softmaxLayer
% Classification Layer The final layer classificationLayer];
% Specify the training options
options trainingOptions(sgdm, ...InitialLearnRate,0.001, ...MaxEpochs,20, ...Shuffle,every-epoch, ...ValidationData,imdsValidation, ...ValidationFrequency,8, ...Verbose,false, ...Plots,training-progress);
% Train the network
[net,info] trainNetwork(imdsTrain,layers,options);% Converting Serial Network to an Object
netobj net.saveobj;
% Extracting Fully Connected Layers Weights To Evolve
FullConnnetobj.Layers(13, 1).Weights;
netbiasnetobj.Layers(13, 1).Bias;%% Data for Each Weight
sizefinalsize(FullConn);
sizefinalsizefinal(1,1);
for i1:sizefinal
InputsFullConn(i,:);
TargetsInputs;
data.InputsInputs;
data.TargetsTargets;
datam{i}JustLoad(data);
end;————————————————
版权声明本文为CSDN博主「机器学习之心」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/kjm13182345320/article/details/128252426参考资料 [1] https://blog.csdn.net/kjm13182345320/article/details/127931217 [2] https://blog.csdn.net/kjm13182345320/article/details/127418340