灰色关联分析模型

适用条件

对样本量多少,有无规律都适用,不需要样本服从典型得分布规律。

灰色关联分析的基本思想

根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线约接近,相应序列之间的关联度就越大,反之就越小。

解决系统分析问题

灰色关联分析模型

确定分析数列

1.母序列:能反映系统行为的数据序列(国内生产总值)

2.子序列:影响系统行为的因素组成的数据序列(第一,第二,第三产业)

数据预处理

目的:去除量纲(方法不唯一,这里用均值处理)

计算子序列的各个指标与母序列的关联系数

$$
|x_0\left( k \right) -x_i\left( k \right)|
$$

记:

$$
a=\underset{i}{\min}\underset{k}{\min}|x_0\left( k \right) -x_i\left( k \right) |
$$
$$
a=\underset{i}{\max}\underset{k}{\max}|x_0\left( k \right) -x_i\left( k \right) |
$$

定义:

$$
y\left( x_0\left( k \right) ,x_i\left( k \right) \right) =\frac{a+\rho b}{|x_0\left( k \right) -x_i\left( k \right) |+\rho b}
$$

其中\(\rho =0.5\)(\(\rho\)为分辨系数)

计算关联度

定义:

$$
y\left( x_0,x_i \right) =\frac{1}{n}\sum_{k=1}^n{y\left( x_0\left( k \right) ,x_i\left( k \right) \right)}
$$

则:\(y\left( x_0,x_i \right) \)为\(x_0\)和\(x_i\)的关联度

最后通过比较得出结论第三产业对国内生产总值影响最大

Python实现灰色关联度

import pandas as pd
import numpy as np


# 灰色关联分析
def gray(data):
    data = data / np.mean(data,axis=0)
    mother_data = data[:, 0][:,np.newaxis]
    son_data = data[:, [1, 2, 3]]
    new_data = np.abs(mother_data - son_data)
    b = np.max(np.max(new_data))
    a = np.min(np.min(new_data))
    p = 0.5
    M = a + p * b
    N = new_data + p * b
    y = M / N
    new_y = np.mean(y, axis=0)
    print(new_y)


# 主函数
def main():
    data = pd.read_excel('data_gdp.xlsx')
    data = data.iloc[:, [1, 2, 3, 4]]
    data = data.values
    gray(data)


main()
下一篇:
发表评论 取消回复
表情 图片 链接 代码

  1. 易先生
    易先生 Lv 1

    [aru_53]给你点赞!

分享