%求回归方程
clc, clear
%x1,...,x6的数据和权重数据
% aw = xlsread('E:\a-建模\第六轮\结果\附件2.汽泵前置泵部分监测数据.xls', 2,'J3:P3603');
aw = xlsread('E:\a-建模\第六轮\结果\附件3.汽轮机本体部分监测数据.xlsx', 2,'A17:X5938');
% aw = xlsread('E:\a-建模\第六轮\结果\附件4.一次风机部分监测数据.xls', 2,'L21:P3412');
%把x1,...,x6的数据和权重数据保存在纯文本文件zhb.txt中
w=aw(end,:); %提取权重向量
a=aw([1:end-1],:); %提取指标数据
a(:,[1,3])=-a(:,[1,3]); %把成本型指标转换成效益型指标,针对附件三
a(:,:) = -a(:,:);
ra=tiedrank(a) %对每个指标值分别编秩,即对a的每一列分别编秩
[n,m]=size(ra); %计算矩阵sa的维数
RSR=mean(ra,2)/n %计算秩和比
W=repmat(w,[n,1]);
WRSR=m*mean(ra.*W,2)/n %计算加权秩和比
[sWRSR, ind] = sort(WRSR);
p=[1:n]/n; %计算累积频率
p(end)=1-1/(4*n) %修正最后一个累积频率,最后一个累积频率按1-1/(4*n)估计
Probit=norminv(p,0,1)+5 %计算标准正态分布的p分位数+5
X=[ones(n,1),Probit']; %构造一元线性回归分析的数据矩阵
[ab,abint,r,rint,stats]=regress(sWRSR,X) %一元线性回归分析
WRSRfit=ab(1)+ab(2)*Probit %计算WRNR的估计值
% [sWRSRfit,ind]=sort(WRSRfit,'descend') %对WRNR的估计值按照从大到小排序
myp = Probit';
myw = sort(WRSR);
%方程检验
yuanshi = [0.754084649 0.829721651 0.734280548 0.733794539 0.744495448 0.744385963 0.72802354 0.661016138 0.89500779 0.895390987];
de = [0.701423111 0.783380847 0.678977312 0.67850058 0.689637931 0.689145903 0.674474351 0.630014879 0.875795584 0.879279344];
can = de - yuanshi;
xiangdui = (can) ./ yuanshi