<零>前言
構成評價型模型的五個要素分別為評價對象、評價指標、權重係數、綜合評價模型和評價者。今天介紹兩種在權重係數計算的方面的兩種方法:線性加權法和層次分析法。
<一>線性加權法
線性加權法的適用條件是各評價指標之間相互獨立。這樣就可以利用多元線性回歸來得到各指標對應的係數。
下面以具體的一個例子來介紹如何用matlab來實現。
例1:已知我們對股票進行評價,有10個評價因子互相獨立,已知這些股票在這10個方面的歷史表現,並且給出各個股票的漲落:其中,最後一列1表示上漲股票,0表示一般股票(不漲也不落),-1表示下跌的股票。根據這些已知數據,建立股票的評價模型,就可以利用模型評價新的股票了。
matlab實現步驟如下:
clc,clear all;close all;s=dataset('xlsfile','SampleA1.xlsx');myFit=LinearModel.fit(s);disp(myFit)sx=s(:,1:10);sy=s(:,11);n=1:size(s,1);sy1=predict(myFit,sx);figureplot(n,sy,'k',n,sy1,'*r')xlabel('樣本編號')ylabel('綜合得分')title('多元線性回歸模型')運行做圖如下:
計算結果如下:
<二>層次分析法(AHP)
在數學建模中,層次分析法的應用場景比較多,當要求評價的內容中,存在一些難以度量的因素;或者在評價的過程中取決於決策者的經驗;或者各變量之間有著一定的關係,那麼一般採用AHP來進行評價。
這個原理比較簡單,有很多地方都有講解。我國賽好像就寫的這玩應,下面只給出求解權重矩陣的過程。用的時候直接把評判矩陣改數就行
%AHP法權重計算MATLAB程序%數據讀入clcclear allA=[1 2 6; 1/2 1 4; 1/6 1/4 1];% 評判矩陣%一致性檢驗和權向量計算[n,n]=size(A);[v,d]=eig(A);r=d(1,1);CI=(r-n)/(n-1);RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];CR=CI/RI(n);if CR<0.10 CR_Result='通過'; else CR_Result='不通過'; end%權向量計算w=v(:,1)/sum(v(:,1));w=w';%結果輸出disp('該判斷矩陣權向量計算報告:');disp(['一致性指標:' num2str(CI)]);disp(['一致性比例:' num2str(CR)]);disp(['一致性檢驗結果:' CR_Result]);disp(['特徵值:' num2str(r)]);disp(['權向量:' num2str(w)]);運行結果: