基于卷积神经网络 |
您所在的位置:网站首页 › 多变量时间序列聚类 › 基于卷积神经网络 |
%% 清空环境变量 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 |