1. 程式人生 > 其它 >灰色關聯分析

灰色關聯分析

技術標籤:數模

文章目錄


前言

系統分析時,常使用數理統計:迴歸分析(標準化迴歸)、方差分析(使用較少)、主成分分析(用於降維),但總有不足:
1.需要有大量資料;資料個數大於條件個數
2.樣本需要服從典型概率分佈
3.可能出現量化結果與定性分析結果不服的現象

多重共線性)


以matlab程式為例

一、灰色關聯分析是什麼?

根據序列曲線幾何形狀的相似程度來判斷聯絡是否緊密。曲線越接近,相應序列之間的關聯度就越大,反之就越小、

灰色關聯分析方法計算量較小,對樣本量大小與有無規律同樣適用

二、使用步驟

進行系統分析:

1.畫出統計圖

Excel繪製

2.確定分析序列

1.母序列(參考序列、母指標):能反映系統行為特徵的資料序列,因變數(記為X)
2.子序列(比較序列、子指標):影響系統行為因素組成的資料序列,自變數(X1…Xn

3.對變數進行預處理

去量綱,縮小變數範圍簡化計算

  1. 求出每個變數的均值
    average函式
clear;clc
load gdp.mat  
Mean = mean(gdp);  
  1. 用該指標的每個元素除以均值
    表格中fn+f4鎖定
gdp = gdp ./ repmat(Mean,size(
gdp,1),1); disp('預處理後的矩陣為:'); disp(gdp)

4.計運算元序列各個指標的關聯絡數

兩級最小差:a = min min|x0(k)-xi(k)|
兩級最大差:b = max max|x0(k)-xi(k)|
在這裡插入圖片描述

Y = gdp(:,1);  % 母序列
X = gdp(:,2:end); % 子序列
absX0_Xi = abs(X - repmat(Y,1,size(X,2)))  
a = min(min(absX0_Xi))    
b = max(max(absX0_Xi))
rho = 0.5;
gamma = (a+rho*b) ./ (absX0_Xi  +
rho*b)

5.定義灰色關聯度

每列求平局值,得到該因素的關聯度

disp('子序列中各個指標的灰色關聯度分別為:')
disp(mean(gamma))

總結

當樣本個數較⼤時, ⼀般使⽤標準化 迴歸 ;
當樣本個數較少時,才使⽤灰⾊關聯分析
多個指標則單獨分別計算
美賽不建議用!!中國演算法