2022年MathorCup大数据竞赛B题北京移动用户体验影响因素研究求解全过程文档及程序

news2024/11/15 23:52:20

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)
# 导入数据
data1=pd.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].dtype==object):
                lb.append(name)
            if(data[name].dtype==np.float64 or data[name].dtype==np.float32):
                fds.append(name)
            if(data[name].dtype==np.int64 or data[name].dtype==np.int32):
                if((len(data[name].unique())>10)):#设置阈值为10,判断是否为整数类型的连续数值变量
                    fds.append(name)
                else:
                    zs.append(name) 
    return lb,fds,zs
lb,fds,zs=pd_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, i+1)
    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='语音通话整体满意度',data=data1)
fig.add_subplot(2,2,2)
sns.countplot(x='网络覆盖与信号强度',data=data1)
fig.add_subplot(2,2,3)
sns.countplot(x='语音通话清晰度',data=data1)
fig.add_subplot(2,2,4)
sns.countplot(x='语音通话稳定性',data=data1)
# plt.savefig('./图片/满意度各类别频数统计图',formate='png',dpi=500)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1246981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索移动端可能性:Capacitor5.5.1和vue2在Android studio中精细融合

介绍: 移动应用开发是日益复杂的任务,本文将带领您深入探索如何无缝集成Capacitor5.5.1、Vue2和Android Studio,以加速您的开发流程Capacitor 是一个用于构建跨平台移动应用程序的开源框架。Vue 是一个流行的 JavaScript 框架,用…

掌握高效创作的艺术,利用AI轻松生成高质量文章,提升你的写作效率!

作为现代人,写作已经成为我们生活中必不可少的一部分。无论是工作报告、学术论文还是个人博客,都需要我们付出大量的时间和精力来创作。然而,有时候我们会因为思路阻塞、语言表达能力不足等原因而无法高效地完成写作任务。为了解决这个问题&a…

01-概述 - OpenCV介绍与环境搭建

目录 1、OpenCV概念 (1)OpenCV 的介绍 (2)图像处理(Image Processing) (3)OpenCV的架构和核心模块 2、开发环境搭建 3、代码与演示 1、OpenCV概念 (1)…

HCIA-RS基础-静态路由协议

摘要:静态路由是一种在网络中广泛应用的路由选择方案,它以其简单的配置和低开销而备受青睐。本文将介绍静态路由的配置方法、默认路由的设置、路由的负载分担和备份策略。通过学习本文,希望可以你能够掌握静态路由的基本概念和在华为模拟器中…

Flutter之Graphic图表的简单示例

简介 Graphic是一个数据可视化语法和Flutter图表库。 官方github示例 我的gitee示例 网上可用资源很少,只有作者的几篇文章,并且没有特别详细的文档,使用的话还是需要一定的时间去调研,在此简单记录。 示例 以折线图为例&…

传输层协议[精选]

网络: 跨主机通信. 互联网通信: 两点之间的通信路径有无数条. 集线器: 把一根网线差出来两根,但是同一时刻只能有一根线跑.交换机: 组建局域网.路由器: 本质就是将两个局域网连接起来 交换机和路由器之间的区别越来越模糊. 调制解调器: 使用电话线上网的时候,需要将电话线的模…

数据资源和数据资产的区别是什么?

数据资源:狭义的数据资源是指数据本身,即企业运作中积累下来的各种各样的数据记录,如客户记录、销售记录、人事记录、采购记录、财务数据和库存数据等。广义的数据资源涉及数据的产生、处理、传播、交换的整个过程,包括数据本身、…

【matlab程序】matlab给风速添加图例大小

【matlab程序】matlab给风速添加图例大小 clear;clc;close all; % load 加载风速数据。 load(matlab.mat) % 加载颜色包信息 gray load(D:\matlab_work\函数名为colormore的颜色索引表制作\R_color_txt\R_color_single\gray89.txt); brown load(D:\matlab_work\函数名为color…

electron+vue3全家桶+vite项目搭建【26】electron本地安装Vue Devtool插件,安装浏览器扩展

文章目录 引入获取vue devtool导入插件排除插件的npm脚本最终效果 引入 demo项目地址 Vue Devtools插件是vue项目必备插件,它是安装在浏览器里的,而咱们的electron中实际就包含了一个浏览器,同理它也可以加载浏览器插件 获取vue devtool 直…

一键创新 | 拓世法宝AI智能直播一体机激发房产自媒体创造力

在数字化时代,房产销售已然不再是传统的模式。随着社交媒体和自媒体的兴起,短视频直播成为房产自媒体营销的新风口。然而,行业也面临着诸多挑战,如何更好地利用新媒体拓展市场,提升自媒体效果成为摆在业内人士面前的难…

【网络奇幻之旅】那年我与区块链技术的邂逅

🌺个人主页:Dawn黎明开始 🎀系列专栏:网络奇幻之旅 ⭐每日一句:追光的人,终会光芒万丈 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 &#…

锂电池搅拌机常见故障及预测性维护解决方案

锂电池搅拌机作为锂电池生产过程中的关键设备,负责混合和搅拌材料,对生产效率和产品质量具有重要影响。但由于长时间运行和复杂工作环境,锂电池搅拌机常常面临各种故障和维护需求。传统的故障修复维护方式往往是被动的,不能及时预…

【Spring集成MyBatis】动态sql

文章目录 1. 什么是动态sql2. 动态sql之<if>3. 动态sql之<where>4. 动态sql之<foreach>5. sql片段抽取 此篇的代码基于 【Spring集成MyBatis】MyBatis的Dao层实现&#xff08;基于配置&#xff0c;非注解开发&#xff09;续写 1. 什么是动态sql MyBatis映射…

PCB百强企业泰和电路牵手盘古信息,IMS助力泰和智能工厂加“数”前行

随着制造业数字化转型的深入推进&#xff0c;建设数字化智能工厂正日渐成为企业数智化战略的必要举措。为提高生产效率、降低生产成本&#xff0c;为客户提供更优质的产品和服务&#xff0c;中国电子电路百强企业——泰和电路科技&#xff08;珠海&#xff09;有限公司&#xf…

一个令人惊艳的新项目,SVD开源了!

大家好&#xff0c;我是 Jack。 对于 Stable Diffusion&#xff0c;想必我的读者朋友们对此都不陌生。 自 Stability AI 公司发布 SD&#xff08;全称&#xff1a;Stable Diffusion) 以来&#xff0c;受到了很多人的喜爱。 SDXL 效果 随后技术升级&#xff0c;又发布了 SDXL…

mysql查询表的字段,字段名以及注释sql语句

sql语句如下&#xff1a; selecta.ordinal_position 序号,a.COLUMN_name 字段名,a.COLUMN_type 字段类型,(case a.is_nullable when NO then 是 else 否 end) 是否非空,(case a.column_key when PRI then 是 else 否 end) 是否主键,a.COLumn_comment 注释 frominformation_sch…

PSP - 蛋白质真实长序列查找 PDB 结构短序列的算法

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/134599076 在蛋白质结构预测的过程中&#xff0c;输入一般是蛋白质序列(长序列)&#xff0c;预测出 PDB 三维结构&#xff0c;再和 Ground Truth …

2024深圳电子展,加快粤港澳电子信息发展,重点打造“湾区经济”

在“十四五”期间&#xff0c;中国电子信息产业面临着新形势和新特点。随着国家对5G、人工智能、工业互联网、物联网等“新基建”的加速推进&#xff0c;以及形成“双循环”新格局的形势&#xff0c;新型显示、集成电路等产业正在加速向国内转移。这一过程不仅带来了新的应用前…

日常生活小技巧 -- Win10 系统安装 Linux 子系统

最新要在win10系统安装linux子系统&#xff0c;看一下教程。 参看&#xff1a;Win10 系统安装 Linux 子系统教程(WSL2 Ubuntu 20.04 Gnome 桌面 &#xff09; 1、开启开发人员模式 2、适用于linux的Windows子系统 勾选下图三个选项&#xff0c;重启。 3、安装 Ubuntu 创建…

centos系统下,docker安装sqlserver并用本地Navicat连接

文章目录 一&#xff0c;centos下安装docker二&#xff0c;docker安装sqlserver20192.1 安装遇到的问题2.1.1 修改用户名进不去数据库2.1.2 安装2022版的sqlserver发现启动失败 三&#xff0c;Navicat连接centos下的sqlserver3.1 下载ODBC Driver 参考微软网址&#xff1a; 使…