基于卷积神经网络

您所在的位置:网站首页 多变量时间序列聚类 基于卷积神经网络

基于卷积神经网络

2023-06-14 17:47| 来源: 网络整理| 查看: 265

 

%%  清空环境变量 warning off             % 关闭报警信息 close all               % 关闭开启的图窗 clear                   % 清空变量 clc                     % 清空命令行

%%  导入数据 result1 = xlsread('数据集.xlsx'); result=result1(1:1000,:); %%  数据分析 num_samples = length(result);  % 样本个数 kim = 2;                      % 延时步长(前面多行历史数据作为自变量) zim =  1;                      % 跨zim个时间点进行预测 nim = size(result, 2) - 1;     % 原始数据的特征是数目

%%  划分数据集 for i = 1: num_samples - kim - zim + 1     res(i, :) = [reshape(result(i: i + kim - 1 + zim, 1: end - 1)', 1, ...         (kim + zim) * nim), result(i + kim + zim - 1, end)]; end

%%  数据集分析 outdim = 1;                                  % 最后一列为输出 num_size = 0.85;                              % 训练集占数据集比例 num_train_s = round(num_size * num_samples); % 训练集样本个数 f_ = size(res, 2) - outdim;                  % 输入特征长度

%%  划分训练集和测试集 P_train = res(1: num_train_s, 1: f_)'; T_train = res(1: num_train_s, f_ + 1: end)'; M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)'; T_test = res(num_train_s + 1: end, f_ + 1: end)'; N = size(P_test, 2);

f_ = size(P_train, 1);                  % 输入特征维度 %%  数据归一化 [p_train, ps_input] = mapminmax(P_train, 0, 1); p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1); t_test = mapminmax('apply', T_test, ps_output);

%%  数据平铺 %   将数据平铺成1维数据只是一种处理方式 %   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构 %   但是应该始终和输入层数据结构保持一致 p_train =  double(reshape(p_train, f_, 1, 1, M)); p_test  =  double(reshape(p_test , f_, 1, 1, N)); t_train =  double(t_train)'; t_test  =  double(t_test )';

%%  数据格式转换 for i = 1 : M     Lp_train{i, 1} = p_train(:, :, 1, i); end

for i = 1 : N     Lp_test{i, 1}  = p_test( :, :, 1, i); end     

智能算法及其模型预测



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3