欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

脱贫帮扶绩效评价(含代码)-2020年华数杯C题

程序员文章站 2022-03-21 18:58:32
第一问就是个相关性分析。具体而言,就是计算2015年和2020年各个指标的相关性。例如:2015年和2020年的SR这个指标的相关性是多少,计算方式用皮尔森方法即可。下面是代码```python# -*- coding: utf-8 -*-import pandas as pdimport matplotlib.pyplot as plt# 原始数据的问...

第一问就是个相关性分析。具体而言,就是计算2015年和2020年各个指标的相关性。例如:2015年和2020年的SR这个指标的相关性是多少,计算方式用皮尔森方法即可。
脱贫帮扶绩效评价(含代码)-2020年华数杯C题
下面是代码

 ```python
# -*- coding: utf-8 -*-

import pandas as pd
import matplotlib.pyplot as plt


# 原始数据的问题
file_path = r'G:\数学建模\题目及原数据\华数杯\2020\C\附件 C题数据.xlsx'

data = pd.read_excel(file_path)

variable_2015_lst = ['2015 SR', '2015 CY', '2015 HJ', '2015 WJ', '2015 SS', '2015 总分']
variable_2020_lst = ['2020 SR', '2020 CY', '2020 HJ', '2020 WJ', '2020 SS', '2020 总分']
year_lst = ['2015', '2020']

result_df = pd.DataFrame()
for variable2015, variable_2020 in zip(variable_2015_lst, variable_2020_lst):
    score = data[variable2015].corr(data[variable_2020], method='pearson')
    score = round(score, 4)
    print('%s与%s的相关性:%s'%(variable2015, variable_2020, score)) 
运行结果:

```python
2015 SR与2020 SR的相关性:0.5342
2015 CY与2020 CY的相关性:0.6399
2015 HJ与2020 HJ的相关性:0.7372
2015 WJ与2020 WJ的相关性:0.6361
2015 SS与2020 SS的相关性:0.5945
2015 总分与2020 总分的相关性:0.7845 

        关于第二问中的哪一类帮扶单位绩效高,我们可以用2020年的指标值减去2015年的指标值,得到每一个指标的差,差值越大说明该类帮扶单位在对应的指标上绩效高。

脱贫帮扶绩效评价(含代码)-2020年华数杯C题
# -*- coding: utf-8 -*- import pandas as pd import matplotlib.pyplot as plt # 原始数据的问题 file_path = r'G:\数学建模\题目及原数据\华数杯\2020\C\附件 C题数据.xlsx' data = pd.read_excel(file_path) variable_2015_lst = ['2015 SR', '2015 CY', '2015 HJ', '2015 WJ', '2015 SS', '2015 总分'] variable_2020_lst = ['2020 SR', '2020 CY', '2020 HJ', '2020 WJ', '2020 SS', '2020 总分'] year_lst = ['2015', '2020'] x = list(range(6)) for variable2015, variable_2020 in zip(variable_2015_lst, variable_2020_lst): y = [] for i in range(6): df = data[data['帮扶单位类型(0-5)'] == i] df['分差'] = df[variable_2020] - df[variable2015] mean = df['分差'].mean() std = df['分差'].std() y.append(mean) label = variable2015.split(' ')[1] plt.plot(x, y, label=label) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.legend() plt.grid() plt.xlabel('帮扶单位类型') plt.ylabel('2020与2015的分数差') plt.show() 

        关于第三问,我们对每个帮扶单位做一次线性拟合(共拟合150个方程)。X分布别为’SR’, ‘CY’, ‘HJ’, ‘WJ’, ‘SS’。每一个X都是2020年的减去2015年的。y是2020年的总分减去2015年的总分。拟合的方程的系数就表示该单位在每个指标的业绩。最后我们选取每个系数的top5就可以了。
        代码关注公众号后可白漂,后台回复:2020华数杯C
结果如下

---SR top5--- company_id        SR        CY        HJ        WJ        SS 0 98 0.719913 0.207926 0.154313 -0.033354 0.169009 0 100 0.666740 0.030185 0.186537 0.380318 0.484506 0 44 0.664338 0.174609 0.110663 0.217083 0.141089 0 99 0.642504 0.061675 0.185727 0.277872 0.341475 0 56 0.629422 0.069894 0.193090 0.179038 0.298516 ---CY top5--- company_id        SR        CY        HJ        WJ        SS 0 19 -0.911628 0.346364 -0.310959 -0.062712 -0.015163 0 54 -0.931109 0.316867 -0.039841 -0.084724 0.001344 0 28 0.369775 0.245542 0.174397 0.362478 0.250820 0 110 0.502340 0.234190 -0.079497 0.582755 0.091881 0 108 0.149571 0.217162 0.128917 0.048293 0.318738 ---HJ top5--- company_id        SR        CY        HJ        WJ        SS 0 95 -0.470812 -0.121055 0.452960 0.144485 0.054649 0 73 -0.350511 0.091855 0.423066 0.085825 0.277362 0 9 0.043641 0.112998 0.415478 0.213789 0.210940 0 86 -0.014097 0.079601 0.394897 -0.032613 0.166339 0 84 0.372993 0.071486 0.374325 0.214889 0.291991 ---WJ top5--- company_id        SR        CY        HJ        WJ        SS 0 53 -0.060308 -0.046240 0.208327 0.660682 0.012553 0 110 0.502340 0.234190 -0.079497 0.582755 0.091881 0 13 0.010862 0.100271 0.197389 0.548325 0.192313 0 107 -0.188752 0.039968 0.186232 0.503040 0.245607 0 15 -0.050643 0.025602 0.309147 0.467603 0.010930 ---SS top5--- company_id        SR        CY        HJ        WJ        SS 0 75 0.005986 -0.135991 0.070006 0.245015 0.741126 0 72 -0.818486 0.093141 0.107205 -0.387306 0.540927 0 46 -0.446123 -0.069064 -0.470235 0.077136 0.537767 0 35 -0.586572 0.143058 0.039410 0.209232 0.536060 0 100 0.666740 0.030185 0.186537 0.380318 0.484506 

关于第四问

  1. 哪些因素对’脱贫先进村庄’称号有影响?
    思路:把每个指标的标准标准差算出来,选择标准差大的若干个指标。标准差反应了数据离
    均值的远近。标准差小,可以认为帮扶单位在这个指标上没有帮助村庄改善。如果我们认为
    指标的重要性是SS、SR,那么就按SS排序,取若干,在按SR排序去若干。

  2. 10个村庄问题
    思路:求出村庄所对应的帮扶单位及类型,对各个指标的均值,用均值作为缺失的评价分数。
    是否能评上称号,和问题1一样的做法

以上仅作参考,思路并不完美,觉得不合适地方自行修改就即可。

本文地址:https://blog.csdn.net/qq_41228463/article/details/107860502