本博客下载链接包含修改的word版本, 可免费下载阅览学习, 也可作为数学建模相关课程作业修改上交:
链接:https://pan.baidu.com/s/1HxzDk3q0p6y2xpuJyxPgvw?pwd=qtnc
提取码:qtnc
科学研究领域的绩效评定有着较大的共性和行业典型特点,全糖奶茶屋在高校科研人员日常管理工作中也是一项较复杂的研究性、政策性工作。科技部、教育部、中科院、工程院等科技管理部门持续推进科技成果转化与产出、科研伦理建设、去唯论文、提升科技人员收入等举措,施行《中央级科研事业单位绩效评价暂行办法》、《深化科技体制改革实施方案》、《中共中央国务院关于深化科技体制改革加快国家创新体系建设的意见》等文件精神,各个科研院校的绩效评定政策也在逐年修改与更新,这在一定程度上影响了科研人员第二年的工作计划和任务优先层次。
影响绩效方案制定的因素包括绩效分配到院总额、成果类型与数量限制、单项分值、学科性差异、工龄与技术岗位级别、本科生与研究生培养、新立项课题、获奖级别等。请参赛者依据下列的三个问题,进行建模与数据分析,制定恰当的科技人员绩效分配方案。
请解决:
问题 1:依据附件 1 中数据,对某学院 20 位科研岗职工的 2023 年度科研成果奖励进行评价;全糖奶茶屋假设该学院该年度绩效奖金总池约为 50 万元,如何给出较合理的绩效分配方案,请分析并给出依据。
思路:第一问分为两小问,首先第一小问需要我们对附件1当中的20位职工的成果奖励进行评价,观察附件1我们发现数据有定性变量和定量变量,为了量化评价首先需要对定性数据(职称)进行编码量化,然后评价方法的话可以选择客观的评价方法,如主成分分析、因子分析、TOPSIS熵权法,当然也可以使用比较主观的评价方法,如AHP层次分析法、模糊综合评价法。第二小问需要我们给出一个合理的绩效分配方案,其实就是根据第一小问的评价结果对各个职工进行一个排位,然后根据排位的情况去分配这个奖金,最简单的一个分配方式就是阶梯式分配方式,也可以说是优先级分配方式,就是比如这20个职工的前3名每个人拿到5万,第4-10名每人拿到3万,剩余的人每人拿到2万,这只是一个简单的例子,当然也可以基于第一小问建立一个打分体系,根据最终的评价得分进行奖金的分配,比如高于10分的拿多少奖金,5-10分的拿多少奖金,以此类推。
第一小问MATLAB代码(部分):
clc
clear
close all
load mydata
%%
% 获取第一列数据
textData = data(:, 1);
% 对文本数据进行编码
encodedData = zeros(size(textData)); % 初始化编码后的数据
% 遍历文本数据,根据文本值进行编码
for i = 1:size(textData, 1)
textValue = textData{i, 1}; % 获取当前行文本值
% 使用条件语句进行编码
if textValue == '初级'
encodedData(i) = 1;
elseif textValue== '中级'
encodedData(i) = 2;
elseif textValue== '副高'
encodedData(i) = 3;
elseif textValue=='正高'
encodedData(i) = 4;
else
% 如果文本值不是以上任何一个,则编码为 NaN 或其他适当的值
encodedData(i) = NaN;
end
end
% 将编码后的数据添加到原始数据表中
data=table2array(data(:,2:end))
data=[encodedData data]
%% 主成分分析
% 标准化数据
data_mean = mean(data);
data_std = std(data);
data_standardized = (data - data_mean) ./ data_std;
hi=data_standardized;
r=corrcoef(data_standardized); %计算相关系数矩阵
%下面利用相关系数矩阵进行主成分分析,vec1的列为r的特征向量,即主成分的系数
[vec1,lamda,rate]=pcacov(r) %lamda为r的特征值,rate为各个主成分的贡献率
f=repmat(sign(sum(vec1)),size(vec1,1),1);%构造与vec1同维数的元素为±1的矩阵
vec2=vec1.*f %修改特征向量的正负号,使得每个特征向量的分量和为正
num=3; %num为选取的主成分的个数
df=hi*vec2(:,1:num); %计算各个主成分的得分
tf=df*rate(1:num)/100; %计算综合得分
[stf,ind]=sort(tf,'descend'); %把得分按照从高到低的次序排列
stf=stf', ind=ind'
% 计算协方差矩阵
covariance_matrix = cov(data_standardized);
% 计算特征值和特征向量
[eigenvectors, eigenvalues] = eig(covariance_matrix);
% 提取主成分
principal_components = data_standardized * eigenvectors;
% 绘制原始数据和主成分
figure;
% 原始数据
subplot(1, 2, 1);
scatter3(data(:,1), data(:,2), data(:,3));
xlabel('Feature 1');
ylabel('Feature 2');
zlabel('Feature 3');
title('Original Data');
grid on;
% 主成分
subplot(1, 2, 2);
scatter3(principal_components(:,1), principal_