層次分析法——評(píng)價(jià)類問題
原理
1. 首先確定評(píng)價(jià)的目標(biāo),可選方案,評(píng)價(jià)準(zhǔn)則(如何確定評(píng)價(jià)表格)
同顏色的單元格的和為1,它們表示的針對(duì)某一因素所占的權(quán)重(或得分)。
2. 確定權(quán)重和每個(gè)方案對(duì)應(yīng)指標(biāo)的得分(如何科學(xué)的填寫上述的表格)
解決方法:兩個(gè)兩個(gè)指標(biāo)進(jìn)行比較,最終根據(jù)兩兩比較的結(jié)果來推算出權(quán)重
依據(jù)上表填寫判斷矩陣
判斷矩陣是正負(fù)反矩陣:主對(duì)角線元素為1,關(guān)于主對(duì)角線對(duì)稱的位置乘積為1.
按照上述構(gòu)造的矩陣可能會(huì)發(fā)生邏輯上的矛盾(不一致), 因此我們需要進(jìn)行一致性檢驗(yàn)。(一致性矩陣的各行各列之間成倍數(shù)關(guān)系)
3.一致性檢驗(yàn)步驟
4. 根據(jù)判斷矩陣計(jì)算權(quán)重
5 . 根據(jù)權(quán)重矩陣計(jì)算得分,并進(jìn)行排序。
代碼
disp('請(qǐng)輸入判斷矩陣A')
A=input('A=');
[n,n] = size(A);
% % % % % % % % % % % % %方法1: 算術(shù)平均法求權(quán)重% % % % % % % % % % % % %
Sum_A = sum(A);
SUM_A = repmat(Sum_A,n,1);
Stand_A = A ./ SUM_A;
disp('算術(shù)平均法求權(quán)重的結(jié)果為:');
disp(sum(Stand_A,2)./n)
% % % % % % % % % % % % %方法2: 幾何平均法求權(quán)重% % % % % % % % % % % % %
Prduct_A = prod(A,2);
Prduct_n_A = Prduct_A .^ (1/n);
disp('幾何平均法求權(quán)重的結(jié)果為:');
disp(Prduct_n_A ./ sum(Prduct_n_A))
% % % % % % % % % % % % %方法3: 特征值法求權(quán)重% % % % % % % % % % % % %
[V,D] = eig(A);
Max_eig = max(max(D));
[r,c]=find(D == Max_eig , 1);
disp('特征值法求權(quán)重的結(jié)果為:');
disp( V(:,c) ./ sum(V(:,c)) )
% % % % % % % % % % % % %下面是計(jì)算一致性比例CR的環(huán)節(jié)% % % % % % % % % % % % %
CI = (Max_eig - n) / (n-1);
RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,這里的RI最多支持 n = 15
% 這里n=2時(shí),一定是一致矩陣,所以CI = 0,我們?yōu)榱吮苊夥帜笧?,將這里的第二個(gè)元素改為了很接近0的正數(shù)
CR=CI/RI(n);
disp('一致性指標(biāo)CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<0.10
disp('因?yàn)镃R<0.10,所以該判斷矩陣A的一致性可以接受!');
else
disp('注意:CR >= 0.10,因此該判斷矩陣A需要進(jìn)行修改!');
end
插值算法
原理
數(shù)模比賽中,常常需要根據(jù)已知的函數(shù)點(diǎn)進(jìn)行數(shù)據(jù)、模型的處理和分析,而有時(shí)候現(xiàn)有的數(shù)據(jù)是極少的,不足以支撐分析的進(jìn)行,這時(shí)就需要使用一些數(shù)學(xué)的方法,“模擬產(chǎn)生”一些新的但又比較靠譜的值來滿足需求,這就是插值的作用。
插值算法還可以用于短期預(yù)測(cè)(不推薦)
代碼
% 分段三次埃爾米特插值
x = -pi:pi; y = sin(x);
new_x = -pi:0.1:pi;
p = pchip(x,y,new_x);
figure(1); % 在同一個(gè)腳本文件里面,要想畫多個(gè)圖,需要給每個(gè)圖編號(hào),否則只會(huì)顯示最后一個(gè)圖哦~
plot(x, y, 'o', new_x, p, 'r-')
% plot函數(shù)用法:
% plot(x1,y1,x2,y2)
% 線方式: - 實(shí)線 :點(diǎn)線 -. 虛點(diǎn)線 - - 波折線
% 點(diǎn)方式: . 圓點(diǎn) +加號(hào) * 星號(hào) x x形 o 小圓
% 顏色: y黃; r紅; g綠; b藍(lán); w白; k黑; m紫; c青
% 三次樣條插值和分段三次埃爾米特插值的對(duì)比
x = -pi:pi;
y = sin(x);
new_x = -pi:0.1:pi;
p1 = pchip(x,y,new_x); %分段三次埃爾米特插值
p2 = spline(x,y,new_x); %三次樣條插值
figure(2);
plot(x,y,'o',new_x,p1,'r-',new_x,p2,'b-')
legend('樣本點(diǎn)','三次埃爾米特插值','三次樣條插值','Location','SouthEast') %標(biāo)注顯示在東南方向
% 說明:
% LEGEND(string1,string2,string3, …)
% 分別將字符串1、字符串2、字符串3……標(biāo)注到圖中,每個(gè)字符串對(duì)應(yīng)的圖標(biāo)為畫圖時(shí)的圖標(biāo)。
% ‘Location’用來指定標(biāo)注顯示的位置
% n維數(shù)據(jù)的插值
x = -pi:pi; y = sin(x);
new_x = -pi:0.1:pi;
p = interpn (x, y, new_x, 'spline');
% 等價(jià)于 p = spline(x, y, new_x);
figure(3);
plot(x, y, 'o', new_x, p, 'r-')
% 人口預(yù)測(cè)(注意:一般我們很少使用插值算法來預(yù)測(cè)數(shù)據(jù),隨著課程的深入,后面的章節(jié)會(huì)有更適合預(yù)測(cè)的算法供大家選擇,例如灰色預(yù)測(cè)、擬合預(yù)測(cè)等)
population=[133126,133770,134413,135069,135738,136427,137122,137866,138639, 139538];
year = 2009:2018;
p1 = pchip(year, population, 2019:2021) %分段三次埃爾米特插值預(yù)測(cè)
p2 = spline(year, population, 2019:2021) %三次樣條插值預(yù)測(cè)
figure(4);
plot(year, population,'o',2019:2021,p1,'r*-',2019:2021,p2,'bx-')
legend('樣本點(diǎn)','三次埃爾米特插值預(yù)測(cè)','三次樣條插值預(yù)測(cè)','Location','SouthEast')
擬合算法
原理
與插值問題不同,在擬合問題中不需要曲線一定經(jīng)過給定的點(diǎn)。擬合問題的目標(biāo)是尋求一個(gè)函數(shù)(曲線),使得該曲線在某種準(zhǔn)則下與所有的數(shù)據(jù)點(diǎn)最為接近,即曲線擬合的最好(最小化損失函數(shù))
一、SSE(和方差)
該統(tǒng)計(jì)參數(shù)計(jì)算的是擬合數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)的誤差的平方和,計(jì)算公式如下
(這個(gè)權(quán)重沒有特殊說明全部取1)
SSE越接近于0,說明模型選擇和擬合更好,數(shù)據(jù)預(yù)測(cè)也越成功。接下來的MSE和RMSE因?yàn)楹蚐SE是同出一宗,所以效果一樣
二、MSE(均方差)
該統(tǒng)計(jì)參數(shù)是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差的平方和的均值,也就是SSE/n,和SSE沒有太大的區(qū)別,計(jì)算公式如下
三、RMSE(均方根)
該統(tǒng)計(jì)參數(shù),也叫回歸系統(tǒng)的擬合標(biāo)準(zhǔn)差,是MSE的平方根,就算公式如下
在這之前,我們所有的誤差參數(shù)都是基于預(yù)測(cè)值(y_hat)和原始值(y)之間的誤差(即點(diǎn)對(duì)點(diǎn))。從下面開始是所有的誤差都是相對(duì)原始數(shù)據(jù)平均值(y_ba)而展開的(即點(diǎn)對(duì)全)!
四、R-square(確定系數(shù))
在講確定系數(shù)之前,我們需要介紹另外兩個(gè)參數(shù)SSR和SST,因?yàn)榇_定系數(shù)就是由它們兩個(gè)決定的
(1)SSR:Sum of squares of the regression,即預(yù)測(cè)數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和,公式如下
(2)SST:Total sum of squares,即原始數(shù)據(jù)和均值之差的平方和,公式如下
SST=SSE+SSR,而我們的“確定系數(shù)”是定義為SSR和SST的比值,故
其實(shí)“確定系數(shù)”是通過數(shù)據(jù)的變化來表征一個(gè)擬合的好壞。由上面的表達(dá)式可以知道“確定系數(shù)”的正常取值范圍為[0 1],越接近1,表明方程的變量對(duì)y的解釋能力越強(qiáng),這個(gè)模型對(duì)數(shù)據(jù)擬合的也較好
代碼
用擬合工具箱進(jìn)行人口預(yù)測(cè)
工具箱提供的擬合類型有:
Custom Equations:用戶自定義的函數(shù)類型
Exponential:指數(shù)逼近,有2種類型, aexp(bx) 、 aexp(bx) + cexp(dx)
Fourier:傅立葉逼近,有7種類型,基礎(chǔ)型是 a0 + a1cos(xw) + b1sin(xw)
Gaussian:高斯逼近,有8種類型,基礎(chǔ)型是 a1exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4種類型,linear、nearest neighbor、cubic spline、shape-preserving
Polynomial:多形式逼近,有9種類型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:冪逼近,有2種類型,ax^b 、ax^b + c
Rational:有理數(shù)逼近,分子、分母共有的類型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子還包括constant型
Smoothing Spline:平滑逼近(翻譯的不大恰當(dāng),不好意思)
Sum of Sin Functions:正弦曲線逼近,有8種類型,基礎(chǔ)型是 a1sin(b1x + c1)
Weibull:只有一種,ab*x(b-1)*exp(-a*xb)
clear;clc
year = 1790:10:2000;
population = [3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];
plot(year,population,'o')
cftool % 擬合工具箱
% (1) X data 選擇 year
% (2) Y data 選擇 population
% (3) 擬合方式選擇:Custom Equation (自定義方程)
% (4) 修改下方的方框?yàn)椋簒 = f(t) = xm/(1+(xm/3.9-1)*exp(-r*(t-1790)))
% (5) 左邊的result一欄最上面顯示:Fit computation did not converge:即沒有找到收斂解,右邊的擬合圖形也表明擬合結(jié)果不理想
% (6) 點(diǎn)擊Fit Options,修改非線性最小二乘估計(jì)法擬合的初始值(StartPoint), r修改為0.02,xm修改為500
% 有很多同學(xué)有疑惑,初始值為什么要這樣設(shè)置?我們?cè)谖磥韺W(xué)習(xí)微分方程模型和智能算法的課程時(shí)再來給大家介紹這里面蘊(yùn)含的技巧。
% (7) 此時(shí)左邊的result一覽得到了擬合結(jié)果:r = 0.02735, xm = 342.4
% (8) 依次點(diǎn)擊擬合工具箱的菜單欄最左邊的文件—Generate Code(導(dǎo)出代碼到時(shí)候可以放在你的論文附錄),可以得到一個(gè)未命名的腳本文件
% (9) 在這個(gè)打開的腳本中按快捷鍵Ctrl+S,將這個(gè)文件保存到當(dāng)前文件夾。
% (10) 在現(xiàn)在這個(gè)文件中調(diào)用這個(gè)函數(shù)得到參數(shù)的擬合值和預(yù)測(cè)的效果
[fitresult, gof] = createFit(year, population)
t = 2001:2030;
xm = 342.4;
r = 0.02735;
predictions = xm./(1+(xm./3.9-1).*exp(-r.*(t-1790))); % 計(jì)算預(yù)測(cè)值(注意這里要寫成點(diǎn)乘和點(diǎn)除,這樣可以保證按照對(duì)應(yīng)元素進(jìn)行計(jì)算)
figure(2)
plot(year,population,'o',t,predictions,'.') % 繪制預(yù)測(cè)結(jié)果圖
相關(guān)系數(shù)
person 相關(guān)系數(shù)
(1)如果兩個(gè)變量本身就是線性的關(guān)系,那么皮爾遜相關(guān)系數(shù)絕對(duì)值大的就是相關(guān)性強(qiáng),小的就是相關(guān)性弱;(2)在不確定兩個(gè)變量是什么關(guān)系的情況下,即使算出皮爾遜相關(guān)系數(shù),發(fā)現(xiàn)很大,也不能說明那兩個(gè)變量線性相關(guān),甚至不能說他們相關(guān),我們一定要畫出散點(diǎn)圖來看才行
,我們選擇正態(tài)分布和要檢驗(yàn)的隨機(jī)變量,并對(duì)其做出QQ圖,可想而知,如果要檢驗(yàn)的隨機(jī)變量是正態(tài)分布,那么QQ圖就是一條直線。要利用Q‐Q圖鑒別樣本數(shù)據(jù)是否近似于正態(tài)分布,只需看Q‐Q圖上的點(diǎn)是否近似地在一條直線附近。(要求數(shù)據(jù)量非常大)
spearman 相關(guān)系數(shù)
二分類和多分類
二分類
邏輯回歸
費(fèi)希爾判別
多分類
Fisher判別
聚類模型分析
文章來源:http://www.zghlxwxcb.cn/news/detail-621081.html
時(shí)間序列分析
文章來源地址http://www.zghlxwxcb.cn/news/detail-621081.html
到了這里,關(guān)于數(shù)學(xué)建模筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!