ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数学建模-灰色关联分析

2022-05-09 20:32:18  阅读:188  来源: 互联网

标签:灰色 df fields df1 建模 关联 print cp data


灰色关联分析

1.1作用

  1. 系统分析
  2. 综合评价

1.2基本思想

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

2.系统分析操作

例题

1.画统计图

2.分析统计图

3.确定母序列:能反映系统特征的数据序列。子序列:影响系统的数据序列

将“国内生产总值”作为母序列,其他一,二,三为子序列

4.对数据进行无量纲化处理

python代码:

#%%
#数据导入
import pandas as pd
import numpy as np

df=pd.read_excel("例题.xlsx")
df=df.iloc[:,[1,2,3,4]]
print(df)
#%%
#均值法无量刚化(除于均值)
def stand_sca(data):
    """
    均值法无量刚化
    :param data:传入的数据
    :return:标准化之后的数据
    """
    print(data.mean())
    print(data.std())
    print(data-data.mean())
    new_data=data/data.mean()
    return new_data
#%%

df1=stand_sca(df)
print(df1)

5.1计算灰度关联度

提取参考队列和比较队列
python:

ck=df1.iloc[:,[0]]
cp=df1.iloc[:,[1,2,3]]
fields=[columu for columu in cp]
t=pd.DataFrame()

for j in range(cp.shape[1]):
    t.loc[:,fields[j]] =cp[fields[j]]-ck['国内生产总值']
    

t=t.abs()
mmax=t.abs().max().max()
mmin=t.abs().min().min()
print(mmin,mmax)
5.2计算各个指标与母序列的关联系数

python:

rho=0.5
rhob=rho*mmax
rhoa=rhob+mmin
df_data=rhoa/(t+rhoa)
print(df_data)
#计算灰色关联度
data=[]
for j in range(df_data.shape[1]):
    data.append(df_data[fields[j]].mean())
print(data)
完整代码

数据导入
import pandas as pd
import numpy as np

df=pd.read_excel("例题.xlsx")
df=df.iloc[:,[1,2,3,4]]
print(df)
#%%

def stand_sca(data):
    """
    均值法无量刚化
    :param data:传入的数据
    :return:标准化之后的数据
    """
    new_data=data/data.mean()
    return new_data
#%%

df1=stand_sca(df)
print(df1)
#%%

ck=df1.iloc[:,[0]]
cp=df1.iloc[:,[1,2,3]]
fields=[columu for columu in cp]
t=pd.DataFrame()
for j in range(cp.shape[1]):
    t.loc[:,fields[j]] =cp[fields[j]]-ck['国内生产总值']

t=t.abs()
mmax=t.abs().max().max()
mmin=t.abs().min().min()
print(mmin,mmax)
rho=0.5
rhob=rho*mmax
rhoa=rhob+mmin
df_data=rhoa/(t+rhoa)
print(df_data)
#计算灰色关联度
data=[]
for j in range(df_data.shape[1]):
    data.append(df_data[fields[j]].mean())
print(data)

得出0.5098,0.6262,0.7488

标签:灰色,df,fields,df1,建模,关联,print,cp,data
来源: https://www.cnblogs.com/lxz2001/p/16245734.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有