网站做统计中高端网站设计
网站做统计,中高端网站设计,h5网页制作平台,怎么注册订阅号目录
1.简介
2.算法详解
2.1 数据标准化
2.2 计算灰色相关系数
2.3 计算灰色关联度系数
3.实例分析
3.1 读取数据 3.2 数据标准化
3.3 绘制 x1,x4,x5,x6,x7 的折线图
3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素#xff0c;其随时间或不同对象而变…目录
1.简介
2.算法详解
2.1 数据标准化
2.2 计算灰色相关系数
2.3 计算灰色关联度系数
3.实例分析
3.1 读取数据 3.2 数据标准化
3.3 绘制 x1,x4,x5,x6,x7 的折线图
3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素其随时间或不同对象而变化的关联性大小的量度称为关联度。在系统发展过程中若两个因素变化的趋势具有一致性即同步变化程度较高即可谓二者关联程度较高反之则较低。因此灰色关联分析方法是根据因素之间发展趋势的相似或相异程度亦即“灰色关联度”作为衡量因素间关联程度的一种方法。 灰色关联分析可以用于衡量因素相关程度的同时也有论文将其用于综合评价其原理思想和TOPSIS法是比较相似的。
2.算法详解
2.1 数据标准化 因为每个指标的数量级不一样需要把它们化到同一个范围内再比较。标准化的方法比较多这里仅用最大最小值标准化方法。 设标准化后的数据矩阵元素为rij,由上可得指标正向化后数据矩阵元素为 (Xij) 2.2 计算灰色相关系数
我们常见的灰色相关系数表达式如下 Xo(k)为参考列,p为分辨系数。它的范围为0~1它的作用为控制区分度它的值越小区分度越大它的值越大区分度越小。 常常取0.5。乍一看这个公式还是有些难懂接下来详细介绍一下它的原理。
2.3 计算灰色关联度系数
参考向量的选择例如研究x2指标与x1指标之间的灰色关联度。所以将x1列作为参考向量即要研究与谁的关系就将谁作为参考。设参考向量为Y1x1生成新的数据矩阵 X1x2.
生成绝对值矩阵
设生成的绝对值矩阵为A
A[X1-Y1]亦是A[x2-x1]
设dmax为绝对值矩阵A的最大值dmin为绝对值矩阵A的最小值。 计算灰色关联矩阵
设灰色关联矩阵为B 计算灰色关联度3.实例分析
其中指标x1:货物运输量;x2:港口货物吞吐量x3货物周转量x4GDPx5:财政收入x6:城市居民人均可支配收入x7:农村居民人均净收入。现研究x4-x7指标与x1指标之间的灰色关联度。数据表格如下
年份x1x2x3x4x5x6x72007225782756949872567.7267.981.54291.1722008256982948450483131348.511.85461.25142009278963158951293858.2429.12.03691.02542010295403489455694417.7541.292.25891.1892011310583647857835158.1647.252.42761.42132012359803869560456150.1736.452.56781.53042013394834074662597002.88502.85461.7421
3.1 读取数据
#导入数据
datapd.read_excel(D:\桌面\huiseguanlian.xlsx)
print(data)
#提取变量名 x1 -- x7
label_needdata.keys()[1:]
print(label_need)
#提取上面变量名下的数据
data1data[label_need].values
print(data1)
返回 3.2 数据标准化
#0.002~1区间归一化
[m,n]data1.shape #得到行数和列数
data2data1.astype(float)
data3data2
ymin0.002
ymax1
for j in range(0,n):d_maxmax(data2[:,j])d_minmin(data2[:,j])data3[:,j](ymax-ymin)*(data2[:,j]-d_min)/(d_max-d_min)ymin
print(data3) 返回 3.3 绘制 x1,x4,x5,x6,x7 的折线图
trange(2007,2014)
plt.plot(t,data3[:,0],*-,cred)
for i in range(4):plt.plot(t,data3[:,2i],.-)
plt.xlabel(year)
plt.legend([x1,x4,x5,x6,x7])
plt.title(灰色关联分析)
返回 从图中可以看出这几个指标的趋势大致相同
3.4 计算灰色相关系数
3.4.1 得到其他列和参考列相等的绝对值
# 得到其他列和参考列相等的绝对值
for i in range(3,7):data3[:,i]np.abs(data3[:,i]-data3[:,0])
3.4.2 得到绝对值矩阵的全局最大值和最小值
#得到绝对值矩阵的全局最大值和最小值
data4data3[:,3:7]
d_maxnp.max(data4)
d_minnp.min(data4)
3.4.3 定义分辨系数
a0.5
3.4.4 计算灰色关联矩阵
data4(d_mina*d_max)/(data4a*d_max)
xishunp.mean(data4, axis0)
print( x4,x5,x6,x7 与 x1之间的灰色关联度分别为)
print(xishu)
返回 完整代码
#导入相关库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 解决图标题中文乱码问题
import matplotlib as mpl
mpl.rcParams[font.sans-serif] [SimHei] # 指定默认字体
mpl.rcParams[axes.unicode_minus] False # 解决保存图像是负号-显示为方块的问题
#导入数据
datapd.read_excel(D:\桌面\huiseguanlian.xlsx)
# print(data)
#提取变量名 x1 -- x7
label_needdata.keys()[1:]
# print(label_need)
#提取上面变量名下的数据
data1data[label_need].values
print(data1)
#0.002~1区间归一化
[m,n]data1.shape #得到行数和列数
data2data1.astype(float)
data3data2
ymin0.002
ymax1
for j in range(0,n):d_maxmax(data2[:,j])d_minmin(data2[:,j])data3[:,j](ymax-ymin)*(data2[:,j]-d_min)/(d_max-d_min)ymin
print(data3)
# 绘制 x1,x4,x5,x6,x7 的折线图
trange(2007,2014)
plt.plot(t,data3[:,0],*-,cred)
for i in range(4):plt.plot(t,data3[:,2i],.-)
plt.xlabel(year)
plt.legend([x1,x4,x5,x6,x7])
plt.title(灰色关联分析)
# 得到其他列和参考列相等的绝对值
for i in range(3,7):data3[:,i]np.abs(data3[:,i]-data3[:,0])
#得到绝对值矩阵的全局最大值和最小值
data4data3[:,3:7]
d_maxnp.max(data4)
d_minnp.min(data4)
a0.5 #定义分辨系数
# 计算灰色关联矩阵
data4(d_mina*d_max)/(data4a*d_max)
xishunp.mean(data4, axis0)
print( x4,x5,x6,x7 与 x1之间的灰色关联度分别为)
print(xishu)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89808.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!