嘉兴专业自助建站免费咨询,黄页88网企业名录,wordpress 扁平化主题,女生学ui设计好就业吗2022年MathorCup高校数学建模挑战赛—大数据竞赛
B题 北京移动用户体验影响因素研究
原题再现#xff1a; 移动通信技术飞速发展#xff0c;给人们带来了极大便利#xff0c;人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设#xff0c;网络覆盖越来越…2022年MathorCup高校数学建模挑战赛—大数据竞赛
B题 北京移动用户体验影响因素研究
原题再现 移动通信技术飞速发展给人们带来了极大便利人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设网络覆盖越来越完善。各个移动运营商越来越重视客户的网络使用体验从而进一步提升网络服务质量。 客户满意度是客户对运营商产品服务的满意程度反映了客户期望与实际感知的产品服务之间的差异。特别是在信息透明、产品同质化的今天客户满意度的表现成为各大运营商市场运营状况的重要体现。数字经济时代各大运营商需要运用数字经济的管理理念和技术手段建立客户体验生态的全方位系统性测评体系实现客户满意度评测的数字化转型让客户体验赋能商业决策让商业决策真正服务客户共同推动移动网络高质量可持续发展。 根据客户投诉对影响用户体验的问题逐点解决是传统提升客户满意度的方法。但是随着用户数量的大幅增加移动产品的种类越来越丰富客户的需求越来越高传统的方法已经难以有效提升客户的满意度。本研究拟通过分析影响用户满意度的各种因素为决策提供依据从而实现更早、更全面提升用户满意度。 中国移动通信集团北京公司让客户根据自身在网络覆盖与信号强度、语音通话清晰度和语音通话稳定性三个方面的体验进行打分同时还让客户根据语音通话的整体体验进行语音通话整体满意度的打分并统计整理影响客户语音业务体验的因素希望以此来分析客户语音业务满意度的主要影响因素并提升客户语音业务满意度。同时对于上网数据业务中国移动北京公司让客户根据自身在网络覆盖与信号强度、手机上网速度、手机上网稳定性三个方面的体验进行打分同时还让客户根据手机上网的整体体验进行手机上网整体满意度的打分并统计整理影响客户上网体验的因素希望以此可以分析影响客户上网业务体验的主要因素并提升客户的上网体验。 初赛问题 基于以上背景请你们的团队根据附件给出的数据通过数据分析与建模的方法帮助中国移动北京公司解决以下问题 问题 1根据附件 1 和附件 2分别研究影响客户语音业务和上网业务满意度的主要因素并给出各因素对客户打分影响程度的量化分析和结果。附件 1、2 中各字段的解释说明见附件 5。 问题 2结合问题 1 的分析对于客户语音业务和上网业务分别建立客户打分基于相关影响因素的数学模型并据此对附件 3、4 中的客户打分进行预测研究将预测结果分别填写在 result.xlsx 的 Sheet1“语音”和Sheet2“上网”两个工作表中并上传到竞赛平台说明你们预测的合理性。 附件 附件 1 语音业务用户满意度数据 附件 2 上网业务用户满意度数据 附件 3 语音业务用户满意度预测数据 附件 4 上网业务用户满意度预测数据 附件 5 附件 1、2、3、4 的字段说明
整体求解过程概述(摘要) 随着移动通信技术的迅猛发展和网络工程的不断建设在信息透明、产品同质化的今天提升语音通话及网络服务的质量满足用户对高质量语音通话、网络服务的需求显得尤为重要。本文旨在建立一个基于多模型调参优化的 Stacking 集成学习完善且合理地预测用户评分的普适性模型从已有数据中心获得有效信息更高效地提升服务质量从而完善业务服务体系。 针对问题一主要需要对用户语音及上网业务评分影响因素的程度进行量化分析。本文首先对数据集进行统一处理包括初步剔除相关列数据、学习数据与预测数据指标一致化、指标规范化、空缺值处理、标签编码、特征构造、数据标准化、学习数据与预测数据一致化、学习数据训练集与测试集划分。之后在处理好的数据集上建立熵权法、灰色关联度分析、随机森林分类模型多方面综合考虑量化分析各影响因素对评分的影响程度最终结果见表 2、表 3及表 4并依此来确定影响用户两项业务满意度的主要因素。量化结果接近于实际生活效果良好且可为后续问题奠定基础。 针对问题二主要需要根据已有影响因素对用户的评分进行预测并解释预测的合理性。本文首先结合问题一量化结果以及建立主成分分析模型对数据累计方差进行解释确定特征个数之后建立 XGBoost 模型并得出各影响因素的重要性与随机森林模型结合分析确定特征的选择再建立 KNN、SVM、LightGBM 以及多分类逻辑回归模型对数据进行学习分析随后对各个模型进行超参数调优模型准确率均有大幅度提升如随机森林较原先提升了 11.69%最高提升较原先可达到 14.25%效果良好。再者以模型的准确率、平均绝对误差、均方误差为标准选择表现较优的模型作为 Stacking 集成学习的基模型同时选择余下的一个模型作为第二层模型在提升准确率的同时避免过拟合。同时对其采用五折交叉验证验证其稳健性。Stacking 集成学习结果符合预期效果各评分预测模型效果见表 10明显优于单一模型。在保证准确率的同时预测的平均绝对误差、均方误差均有一定优化同时本文还注重结果的可解释性及模型的现实意义。最后本文进行可视化分析绘制原始数据及预测数据评分人数南丁格尔玫瑰图查看数据分布绘制模型的混淆矩阵热力图、分类报告、ROC/AUC 曲线多方面评估模型效果及解释模型的合理性。综合上述分析可以确认模型效果良好具有良好的稳健性、泛化能力。 最后本文对所建立的模型的优缺点进行了中肯的评价、提出了模型的改进措施以及对模型进行了一定推广。
模型假设 • 假设一语音与上网业务的八项评分中存在个别用户乱评、错评现象 • 假设二除个别用户的部分评分外其余所有数据真实且符合实际情况 • 假设三用户评分还受到除附件中因素之外的因素的影响 • 假设四给定的数据集可全面体现用户整体情况 • 假设五对于同一业务学习数据与预测数据的内在规律是一致的。
问题分析 问题的整体分析 该题是一个关于移动用户对语音及上网业务体验评分的数据分析、预测类问题。从分析目的看本题需要分析用户对语音与上网业务的评分及各个影响因素筛选出影响用户评分的主要因素并量化结果。同时需要对用户的评分进行预测及研究为运营商提供参考从而提升用户语音及上网的优质体验。因此本题主要需完成两方面任务其一研究影响用户语音及上网业务满意度的主要因素并对各因素进行量化分析其二根据上述的分析建立合理模型对用户的评分进行预测及研究确保分类模型的准确性、稳健性、可靠性并有一定的泛化能力且能够包容用户真实评分的主观性。 从数据来源、特征看本题的数据来源于北京移动用户的语音与上网业务评分数据数据包括用户对语音业务下“语音通话整体满意度”“网络覆盖与信号强度”“语音通话清晰度”“语音通话稳定性”上网业务下“手机上网整体满意度”“网络覆盖与信号强度”“手机上网速度”“手机上网稳定性”方面的评分以及相关的影响评分的因素。评分数据具有主观性影响因素数据具有高维、多样、标准体系不一致、量纲不一致等特点且数据量较大。因此本题数据相对特殊且复杂需要对数据进行一定的预处理以便于后续的分析。从模型的选择看本题数据量较大、维度较高且分析目的是分析影响用户评分的主要因素并对用户的评分进行预测及研究。本文将评分视为多分类且评分具有一定主观性、分类种类多因此在模型的选择上本文结合多种分类预测模型构建集成学习模型尽可能多地学习到用户评分特点提升模型的准确性、稳健性及可泛化性能。从软件的选择看本题为数据类型且需要进行大量的数据分析、预测等因此我们选择 Python Jupyter 对问题进行求解其交互式的编程范式方便且高效。 问题一的分析 问题一的核心目的在于研究并量化分析影响用户对语音及上网业务满意度的主要因素。对于已给的数据集数据在完整度、指标标准等方面存在一定缺陷。这导致在原数据上我们不可直接进行分析需要对原数据集进行数据的预处理。此外附件数据集在语音及上网业务中每一业务均有四项评分因此我们需要对每一项评分进行分析对各因素进行量化。结合数据来源、与特征方面我们综合皮尔逊相关系数、熵权法、灰色关联度分析、随机森林分类构建多元量化分析模型尽可能准确挖掘到影响用户评分的因素为构建后续预测模型提供优质依据。 问题二的分析 问题二的核心目的在于建立基于影响用户评分影响因素的数学模型并依据附件 3、4中相关因素对用户评分进行预测并解释模型预测的合理性。但是在附件 1 与附件 2附件 3与附件 4 中影响因素存在不配对的情况。这导致在给定用户评分的数据中部分因素不可作为模型建立的基础特征数据因此在数据预处理的同时还需要对附件 1 与附件 2附件3 与附件 4 中的影响因素列取交集使得学习数据与预测数据的特征数据一致。此外在已给的存在用户评分的数据集中用户对每一项的评分均为整数不存在小数且评分范围为[1, 10]。因此我们在建立预测模型时应尽量避免使用回归模型而应使用分类模型但部分分类模型需要分类标签量值从 0 开始因此需要对所有评分进行标签编码规范数据。同时分类种类较多对于单一模型其预测准确率较低平均绝对误差较高、泛化能力较弱……因此本文结合多种机器学习模型构建集成学习模型尽可能准确预测用户评分。最后在此基础上结合模型的分类混淆矩阵热力图、分类报告、ROC/AUC 曲线等对于预测结果进行解释叙述模型的合理性同时考虑集成学习模型对预测误差的包容性对模型的泛化能力进行分析。
模型的建立与求解整体论文缩略图 全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码
import pandas as pd
import numpy as np
import missingno as msno
import scipy.stats as st
import matplotlib.pyplot as plt
import seaborn as sns# 设置图像样式
plt.style.use(seaborn-darkgrid)
sns.set(style darkgrid)
# 设置图像字体
plt.rcParams[font.sans-serif] [STSong]# 忽略警告
import warnings
warnings.filterwarnings(ignore)# 显示pd所有列
pd.set_option(display.max_columns, None)
# 导入数据
data1pd.read_csv(./data/附件1语音业务用户满意度数据.csv, index_col 用户id)
# 查看前五行
data1.head()
import numpy as np
#判断数据类型函数2
def pd_sjlx(data):#object,float64,int64 fds[]#浮点数lb[]#类别中英文zs[]#整数for name in data.columns.tolist():if(data[name].dtypeobject):lb.append(name)if(data[name].dtypenp.float64 or data[name].dtypenp.float32):fds.append(name)if(data[name].dtypenp.int64 or data[name].dtypenp.int32):if((len(data[name].unique())10)):#设置阈值为10判断是否为整数类型的连续数值变量fds.append(name)else:zs.append(name) return lb,fds,zs
lb,fds,zspd_sjlx(data1.iloc[:,4:])
print(类别列,lb)
print()
print(数值列,fds)
print()
print(类别数值列,zs)
dis_cols 5 #一行几个
dis_rows len(fds)
plt.figure(figsize(7*dis_cols, 4* dis_rows))for i in range(len(fds)):ax plt.subplot(dis_rows, dis_cols, i1)ax sns.kdeplot(data1.loc[:,fds[i]], shade True)ax.set_xlabel(fds[i],fontsize 15)ax.set_ylabel(Frequency, fontsize 15)
plt.tight_layout()
plt.show()
# 查看各因变量的类别频数
fig plt.figure(figsize (16,9), dpi 100)
fig.add_subplot(2,2,1)
sns.countplot(x语音通话整体满意度,datadata1)
fig.add_subplot(2,2,2)
sns.countplot(x网络覆盖与信号强度,datadata1)
fig.add_subplot(2,2,3)
sns.countplot(x语音通话清晰度,datadata1)
fig.add_subplot(2,2,4)
sns.countplot(x语音通话稳定性,datadata1)
# plt.savefig(./图片/满意度各类别频数统计图,formatepng,dpi500)全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可