%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%%
%% 导入数据
res=xlsread('数据集.xlsx');
%% 数据分析
num_size = 0.7; % 训练集占数据集比例
outdim = 1; % 最后一列为输出
num_samples = size(res, 1); % 样本个数
res = res(randperm(num_samples), :); % 打乱数据集(不希望打乱时,注释该行)
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);
X = P_train'; % 自变量
Y = T_train'; % 因变量
X1 = P_test';
Y1 = T_test';
%% 建立多元回归预测模型
[b,~,r,rint]=regress(Y, [ones(size(X,1),1), X]); %b 是多元回归方程的系数
disp('回归系数:常数项系数 X1系数 X2系数 X3系数 X4系数 X5系数 X6系数 X7系数')
disp(b')
disp(' ')
disp('回归方程为: ')
disp([num2str(b(1)),'+',num2str(b(2)),'x1+',num2str(b(3)),'x2+',num2str(b(4)),'x3+',num2str(b(5)),'x4',...
num2str(b(6)),'x6',num2str(b(7)),'x6',num2str(b(8)),'x7'])
%画残差图
% figure
% rcoplot(r,rint)
%相关性分析
cor=corr(X,Y,'type','Pearson');
disp(' ')
disp('相关性分析(X1 X2 X3 X4 X5 X6 X7与 Y的相关性): ')
disp(cor')
智能算法及其模型预测