2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛 赛道B 北京移动用户体验影响因素研究 问题一建模方案及代码实现详解

【BetterBench原创】2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛 赛道B 北京移动用户体验影响因素研究 建模方案及代码实现(更新中)
在这里插入图片描述

更新进展

2022年12月21日 12:20 发布问题一、二思路及问题一的python代码实现

2022年12月22日 15:00 发布问题二python实现的代码

更新完毕

相关链接

(1)问题一建模方案及代码实现

(2)问题二建模方案及代码实现

1 题目

移动通信技术飞速发展,给人们带来了极大便利,人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设,网络覆盖越来越完善。各个移动运营商,越来越重视客户的网络使用体验,从而进一步提升网络服务质量。 客户满意度是客户对运营商产品服务的满意程度,反映了客户期望与实际感知的产品服务之间的差异。特别是在信息透明、产品同质化的今天, 客户满意度的表现成为各大运营商市场运营状况的重要体现。数字经济时代,各大运营商需要运用数字经济的管理理念和技术手段,建立客户体验生态的全方位系统性测评体系,实现客户满意度评测的数字化转型,让客户体验赋能商业决策,让商业决策真正服务客户,共同推动移动网络高质量可持续发展。 根据客户投诉,对影响用户体验的问题逐点解决,是传统提升客户满意度的方法。但是随着用户数量的大幅增加,移动产品的种类越来越丰富, 客户的需求越来越高,传统的方法已经难以有效提升客户的满意度。本研究拟通过分析影响用户满意度的各种因素,为决策提供依据,从而实现更早、更全面提升用户满意度。 中国移动通信集团北京公司,让客户根据自身在网络覆盖与信号强度、语音通话清晰度和语音通话稳定性三个方面的体验进行打分,同时还让客户根据语音通话的整体体验进行语音通话整体满意度的打分,并统计整理影响客户语音业务体验的因素,希望以此来分析客户语音业务满意度的主要影响因素,并提升客户语音业务满意度。同时,对于上网数据业务,中国移动北京公司让客户根据自身在网络覆盖与信号强度、手机上网速度、手机上网稳定性三个方面的体验进行打分,同时还让客户根据手机上网的整体体验进行手机上网整体满意度的打分,并统计整理影响客户上网体验的因素,希望以此可以分析影响客户上网业务体验的主要因素,并提升客户的上网体验。

初赛问题 基于以上背景,请你们的团队根据附件给出的数据,通过数据分析与建模的方法帮助中国移动北京公司解决以下问题:

问题 1:根据附件 1 和附件 2,分别研究影响客户语音业务和上网业务满意度的主要因素,并给出各因素对客户打分影响程度的量化分析和结果。附件 1、2 中各字段的解释说明见附件 5。

问题 2:结合问题 1 的分析,对于客户语音业务和上网业务分别建立客户打分基于相关影响因素的数学模型,并据此对附件 3、4 中的客户打分

进行预测研究,将预测结果分别填写在result.xlsx 的Sheet1“语音”和Sheet2“上网”两个工作表中,并上传到竞赛平台,说明你们预测的合理性。

附件

附件 1 语音业务用户满意度数据 附件 2 上网业务用户满意度数据 附件 3 语音业务用户满意度预测数据 附件 4 上网业务用户满意度预测数据附件 5 附件 1、2、3、4 的字段说明result.xlsx

2 思路分析

2.1 问题一

这是相关性分析问题,分别对附件1和附件2计算所有因素与语音通话整体满意度和手机上网整体满意度的相关性。首先对数据集进行数据预处理和数据可视化分析,具体的分析过程看以下 部分python代码实现。查看异常值,去除异常值,查看数据分布,对分布进行抓换等处理。预处理完毕后,采用的相关性分析方法有

  • Pearson相关

Pearson相关用于评估两个连续变量之间的线性关联强度。这种统计方法本身不区分自变量和因变量,但如果您根据研究背景已经对变量进行了区分,我们仍可以采用该方法判断相关性。

  • Spearman相关

Spearman相关又称Spearman秩相关,用于检验至少有一个有序分类变量的关联强度和方向。

  • Kendall’s tau-b相关系数

Kendall’s tau-b 相关系数是用于检验至少有一个有序分类变量关联强度和方向的非参数分析方法。该检验与Spearman相关的应用范围基本一致,但更适用于存在多种关联的数据(如列联表)。

  • 卡方检验

卡方检验常用于分析无序分类变量之间的相关性,也可以用于分析二分类变量之间的关系。但是该检验只能分析相关的统计学意义,不能反映关联强度。因此,我们常联合Cramer’s V检验提示关联强度。

  • Fisher精确检验

Fisher精确检验可以用于检验任何RC数据之间的相关关系,但最常用于分析22数据,即两个二分类变量之间的相关性。与卡方检验只能拟合近似分布不同的是,Fisher精确检验可以分析精确分布,更适合分析小样本数据。但是该检验与卡方检验一样,只能分析相关的统计学意义,不能反映关联强度。

2.2 问题二

这是一个多分类问题,1-10的评分,10分类问题。简单的机器学习问题。首先数据预处理,包括缺失值处理、异常值处理、类别特征编码,label 采用onehot编码或者数值编码。接下来是特征工程,特征工程的方法有,特征筛选、特征降维、特征交叉、特征标准化或归一化等等。接下来选择常用的机器学习分类模型

  • 1.KNN
  • 2.感知机
  • 3.朴素贝叶斯法
  • 4.决策树
  • 5.逻辑斯谛回归模型*
  • 6.SVM
  • 7.AdaBoost
  • 8.随机森林
  • 9.XGB
  • 10.LGB

XGB、LGB一般效果更好。此比赛时间充足,可以多对比几种模型,看实验效果。此外还可以采用神经网络分类模型,耗时较长,效果更佳。

3 python代码实现

3.1 导入包

import seaborn as sns
import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt 
import seaborn as sns 
import scipy.stats as st
import warnings
%matplotlib  inline
plt.style.use('seaborn-darkgrid')
sns.set(style = 'darkgrid')
import  warnings
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif'] = ['STSong']

3.2 读取并查看数据

file1 = pd.read_excel('./data/附件1语音业务用户满意度数据.xlsx')
file2 = pd.read_excel('./data/附件2上网业务用户满意度数据.xlsx')

在这里插入图片描述

file1.info()

在这里插入图片描述

在这里插入图片描述

3.3 查看缺失值

msn.matrix(file1)
plt.savefig('img/附件1缺失值查看.png',dpi=300)

在这里插入图片描述

isnull_df = pd.DataFrame(file1.isnull().any())
print(isnull_df[file1.isnull().any()==True])

在这里插入图片描述

附件1中,用户描述,用户描述.1,重定向次数,重定向驻留时长 ,是否关怀用户,是否去过营业厅,缺失值较多,可以直接不要这个字段的列
是否4G网络客户(本地剔除物联网),终端品牌,终端品牌类型,外省流量占比,是否5G网络客户,是否实名登记用户,客户星级标识,当月欠费金额,前第3个月欠费金额,缺失值较少,可以选择填充或者删除该行缺失值

msn.matrix(file2)
plt.savefig('img/附件2缺失值查看.png',dpi=300)

在这里插入图片描述

isnull_d2 = pd.DataFrame(file2.isnull().any())
print(isnull_d2[file2.isnull().any()==True])

在这里插入图片描述

3.4 异常值查看


# 对浮点型数据,查看数据分布
fig = plt.figure(figsize=(80,60),dpi=75)
i=0
for s in file1.columns:if file1[s].dtype==float:...# plt.savefig('img/附件1箱线图查看.png',dpi=300)
plt.show()

在这里插入图片描述

# 对浮点型数据,查看数据分布
fig = plt.figure(figsize=(80,60),dpi=75)
i=0
for s in file2.columns:if file2[s].dtype==float:...略
plt.savefig('img/附件2箱线图查看.png',dpi=300)
plt.show()

在这里插入图片描述

3.5 查看分布

# 所有浮点型字段的分布
dist_cols = 4
dist_rows = len(file1.columns)
plt.figure(figsize=(4*dist_cols,4*dist_rows))
i = 1
for col in file1.columns:if file1[col].dtype==float:...# plt.savefig('img/附件1所有浮点型字段分布.png',dpi=300)
plt.show()

在这里插入图片描述

# 所有int型字段的分布
dist_cols = 4
dist_rows = len(file1.columns)
plt.figure(figsize=(4*dist_cols,4*dist_rows))
i = 1
for col in file1.columns:if file1[col].dtype==int:...# plt.savefig('img/附件1所有整型字段分布.png',dpi=300)
plt.show()

在这里插入图片描述
在这里插入图片描述

# 附件2所有浮点型字段的分布
dist_cols = 4
dist_rows = len(file2.columns)
plt.figure(figsize=(4*dist_cols,4*dist_rows))
i = 1
for col in file2.columns:if file2[col].dtype==float:...# plt.savefig('img/附件2所有浮点型字段分布.png',dpi=300)
plt.show()

在这里插入图片描述

# 附件2所有浮点型字段的分布
dist_cols = 4
dist_rows = len(file2.columns)
plt.figure(figsize=(4*dist_cols,4*dist_rows))
i = 1
for col in file2.columns:if file2[col].dtype==int:...略i+=1# plt.savefig('img/附件2所有整型字段分布.png',dpi=300)
plt.show()

在这里插入图片描述

结论:如果出现某个特征的分布不符合正态分布,后续需要通过对数据进行转换,针对右偏和左偏的转换方法不一样

  • 很多右偏数据可以正态化
  • 对数变换后呈正态分布,方差稳定
  • 不太严重的右偏,使用平方根变换
  • 严重右偏,倒数变换

查看label 分布

# 取1-10之间
y_p = file1[(file1['语音通话整体满意度']<=10) & (file1['语音通话整体满意度']>=1)]['语音通话整体满意度']
## 3) 查看预测值的具体频数
...略plt.savefig('img/语音通话整体满意度分布.png',dpi=300)
plt.show()

在这里插入图片描述

# 取1-10之间
y_p = file2[(file2['手机上网整体满意度']<=10) & (file2['手机上网整体满意度']>=1)]['手机上网整体满意度']
## 3) 查看预测值的具体频数
...略
plt.savefig('img/手机上网整体满意度分布.png',dpi=300)
plt.show()

在这里插入图片描述

3.7 对不符合正态分布的特征转换

以符合左偏分布的重定向次数,对数转换举例

clear_file1 = file1[(file1['语音通话整体满意度']<=10) & (file1['语音通话整体满意度']>=1)]
plt.figure(figsize=(20, 6))
y = clear_file1['重定向次数']
plt.subplot(121)
plt.title('johnsonsu分布拟合',fontsize=20)
plt.xlabel('重定向次数',fontsize=15)
sns.distplot(y, kde=False, fit=st.johnsonsu, color='Red')plt.subplot(121)
y2 = clear_file1['重定向次数']
plt.subplot(122)
st.probplot(y2, dist="norm", plot=plt)
plt.title('重定向次数 Q-Q图',fontsize=20)
plt.xlabel('X分位数',fontsize=15)
plt.ylabel('Y分位数',fontsize=15)
plt.savefig('img/重定向次数未转换前的分布.png',dpi=300)
plt.show()

在这里插入图片描述

plt.figure(figsize=(20, 6))
y = np.log1p(clear_file1['重定向次数'])
plt.subplot(121)
plt.title('johnsonsu分布拟合',fontsize=20)
plt.xlabel('重定向次数',fontsize=15)
sns.distplot(y, kde=False, fit=st.johnsonsu, color='Red')plt.subplot(121)
y2 = np.log1p(clear_file1['重定向次数'])
plt.subplot(122)
st.probplot(y2, dist="norm", plot=plt)
plt.title('重定向次数 Q-Q图',fontsize=20)
plt.xlabel('X分位数',fontsize=15)
plt.ylabel('Y分位数',fontsize=15)
plt.savefig('img/重定向次数转换后的分布.png',dpi=300)
plt.show()

结论:重定向次数是属于数值特征,存在异常值,数据分布不符合正态分布,需要对数转换后,便可以近似为正态分布。

3.8 相关性分析

plt.rcParams['font.sans-serif'] = ['STSong']
corr = clear_file1.corr().abs()
k = 10
col =  corr.nlargest(k,'语音通话整体满意度')['语音通话整体满意度'].index
plt.subplots(figsize = (10,10))
...略
plt.savefig('img/附件1-Top10相关性热图.png',dpi=300)
plt.show()

在这里插入图片描述

plt.rcParams['font.sans-serif'] = ['STSong']
corr = clear_file2.corr().abs()
k = 10
col =  corr.nlargest(k,'手机上网整体满意度')['手机上网整体满意度'].index
plt.subplots(figsize = (10,10))
...略
plt.savefig('img/附件2-Top10相关性热图.png',dpi=300)
plt.show()

在这里插入图片描述

结论:影响语音通话整体满意度的关键因素有,语音通话清晰度, 网络覆盖与信号强度, 语音通话稳定性, 是否遇到过网络问题, 居民小区, 手机没有信号, 有信号无法拨通, 通话过程中突然中断, 办公室。

影响手机上网整体满意度的关键因素有手机上网速度, 网络覆盖与信号强度, 手机上网稳定性, 网络信号差/没有信号, 手机上网速度慢, 上网过程中网络时断时续或时快时, 打开网页或APP图片慢, 居民小区, 显示有信号上不了网

4 代码及图片下载

电脑浏览器打开

betterbench.top/#/17/detail

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鬼畜提问变身指南:ChatGPT十个打破常规的提问公式

Chatgpt的恐怖之处不在于它有多么的准确&#xff0c;很多时候它的回答甚至充满常识性错误&#xff0c;比如你问美国为什么轰炸珍珠岛它都能一本正经的回答你&#xff08;这当然也有中文语料数据投喂不足和中文本身就复杂而难以理解的原因&#xff0c;听说用英文提问的准确性会提…

ChatGPT怎么用?30句提问公式,一定有你的行业能用到的一句

在使用ChatGPT过程中&#xff0c;总感觉用ChatGPT的效果没有那么好。经过多次使用和摸索&#xff0c;终于发现了问题&#xff0c;原来不是ChatGPT不好用&#xff0c;效果不好&#xff0c;而是因为我之前不会提问。 话不多说&#xff0c;给大家准备了30句ChatGPT提问公式&#…

pdfGPT|无需阅读,让 PDF 和自己对话

目前 ChatGPT 无法直接与外部数据进行交互。如果我们能将自己的数据投喂给它&#xff0c;并且让它根据数据与我们对话&#xff0c;那么我们就能将 ChatGPT 变成自己的知识库。这种方法将使 ChatGPT 更加智能化和可定制化&#xff0c;更好地满足用户的需求。 因 OpenAI gpt-3.5…

学生作业形同虚设!ChatGPT作弊成风!OpenAI:正在自研审核工具

本文来源 机器之心 编辑&#xff1a;泽南、蛋酱 「对学生有负面影响」&#xff0c;这么大责任 OpenAI 可担不起。 语言生成模型来了&#xff0c;学校的作业会不会从此变得形同虚设&#xff1f;近日&#xff0c;纽约市教育官员宣布禁止学生在公立学校使用 ChatGPT 的事件引发了…

聚观早报|马斯克将TruthGPT挑战ChatGPT;腾讯披露自研芯片新进展

今日要闻&#xff1a;马斯克将TruthGPT挑战ChatGPT&#xff1b;苹果在印度年销售额近60亿美元&#xff1b;腾讯披露自研芯片沧海最新进展&#xff1b;特斯拉中国工厂普通工人月薪约1万元&#xff1b;飞猪将直接向阿里CEO张勇汇报 马斯克将TruthGPT挑战ChatGPT 4 月 18 日消息&…

微信公众号(一)每日推送详细教程(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送)

微信公众号&#xff08;一&#xff09;每日推送&#xff0c;天气推送 &#xff08;含实时定位&#xff0c;天气预报&#xff0c;每日英语&#xff0c;纪念日等&#xff0c;可快速自定义消息模板并指定订阅者类型发送&#xff09;&#xff0c;另有小白网页版配置 版本介绍1. 相关…

《花雕学AI》用AI创造清晨的美好:ChatGPT+DALL-E 2 生成“早上好”的场景图

早晨是一天中最美好的时刻&#xff0c;也是最适合与AI对话的时刻。想象一下&#xff0c;当你醒来&#xff0c;打开手机&#xff0c;就能看到一个AI为你生成的“早上好”的场景图&#xff0c;是不是很温馨&#xff1f;这就是ChatGPTDALL-E 2&#xff08;新Bing&#xff09; 的魅…

我踩过的那些坑,浅谈一下如何更优雅地使用 Linux

前言 相信很多尝鲜过桌面 Linux 系统的朋友&#xff0c;对它一个很深刻的印象就是稳定性差&#xff1a;不知道怎么就把系统搞崩了&#xff0c;又找不到问题的具体原因和解决方法&#xff0c;只能尝试重装&#xff0c;直到心力交瘁地回到了 Windows 或 macOS。但另一方面&#…

李开复筹组 AI 2.0 全新平台,“零一万物”重磅上线!

「如同 Windows 带动了 PC 普及&#xff0c;Android 催生了移动互联网的生态&#xff0c;AI 2.0 将诞生比移动互联网大十倍的平台机会&#xff0c;将把既有的软件、使用界面和应用重写一次&#xff0c;也将诞生新一批 AI-first 的应用&#xff0c;并催生由 AI 主导的商业模式」…

AIGC领域最大收购:Databricks 13亿美元收购MosaicML,成立仅2年员工60人

Databricks CEO表示&#xff1a;“该交易旨在将企业数据与服务连接起来&#xff0c;帮助它们构建自己更便宜的语言模型。” 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 大数据巨头 Databricks 宣布以 13 亿美元收购人工智能初创公司 MosaicML。…

2022年智源社区年度热点推荐丨新春集锦

本文为2022年最受智源社区小伙伴喜爱的文章&#xff0c;根据文章质量和热门程度等维度计算得出。还有AI大佬的全年总结盘点总结&#xff0c;也一并推荐给你。虎年除旧&#xff0c;兔年迎新&#xff0c;藉此机会、智源编辑组全员谨祝大家新春快乐&#xff01; 2022 智源社区20篇…

估值超 80 亿独角兽爆雷!靠“吹牛”骗取 10 亿融资,2000 万月活中 95% 是“机器人”...

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; “一家初创型企业&#xff0c;想要获得 10 亿融资&#xff0c;需要具备什么&#xff1f;” 对于这个问题&#xff0c;曾放话对标 Facebook 的即时通讯应用 IRL&#xff08;IN REAL LIFE&#xff09;来…

AIGC大记事【2023-0625】【第五期】:《时代》专访ChatGPT之父:人工智能影响经济还需要很多年

大咖观点&#xff1a; 《时代》专访ChatGPT之父&#xff1a;人工智能影响经济还需要很多年孙正义&#xff1a;我每天和ChatGPT聊天&#xff0c;一场巨大革命即将到来&#xff0c;软银“终将统治世界&#xff01;”刘慈欣谈 ChatGPT&#xff1a;人类的无能反而是人类最后的屏障A…

GPT4结对编程实战,鹅厂一线研发真实使用感受

ChatGPT4相比ChatGPT3.5在逻辑推理能力上有很大的进步&#xff0c;其代码生成能力颇为优越。因此作者尝试在工作中某些不涉密的基础工作上&#xff0c;应用ChatGPT4来提升研发效率&#xff0c;简单尝试之后发现其在不少场景是有效的。本文将向大家展示如何充分利用 ChatGPT-4 结…

借助ChatGPT提高编程效率指南

一、借助ChatGPT提高编程效率指南 随着计算机技术的飞速发展&#xff0c;编程已经成为了现代社会中一个非常重要的技能。对于许多人来说&#xff0c;编程不仅是一项工作技能&#xff0c;而且是一种生活方式。然而&#xff0c;即使是最有经验的程序员&#xff0c;也会在编写代码…

20230521 AI 一周大事件汇总

&#x1f680; ChatGPT 上线联网和插件功能 OpenAI宣布将在这周推出联网和插件功能&#xff0c;位于Alpha和Beta通道的ChatGPT Plus用户都可使用70多个上线的插件。 更新意味着ChatGPT将利用最新的信息和资讯为使用者提供服务。 上线的ChatGPT插件种类涵盖了行程安排助理、代…

【LLM系列】00:斯坦福 Alpaca 模型介绍及其复现

简介 西风吹老洞庭波&#xff0c;一夜湘君白发多。醉后不知天在水&#xff0c;满船清梦压星河。小伙伴好&#xff0c;我是微信公众号《小窗幽记机器学习》的小编&#xff1a;卖核弹的小女孩。更多、更新文章欢迎关注微信公众号&#xff1a;小窗幽记机器学习。后续会持续输出模…

批量提取某音视频文案(二)

牙叔教程 简单易懂 之前写过一篇 批量提取某音视频文案 , 在之前的教程中, 我用的是微软的语音转文字功能, 今天我们换个方法, 使用 逗哥配音 的 文案提取 功能 准备工作 下载视频和音频 我在github找到的是这个仓库 https://github.com/Johnserf-Seed/TikTokDownload 注意一…

关于职场中的面试,要是遇到这些问题时,应该怎么回

(点击即可收听) 关于职场中的面试,要是遇到这些问题时,应该怎么回 平常多学一点,面试入职时就少踩一点坑,无论是去面试还是换工作,怎么样去回答面试官,遇到此类的问题,能够应付自如 1. 你觉得这份工作你能胜任? 首先,无论你在面试过程当中表现怎么样,一定要非常坚定,一定可以 …

ChatGPT偷家:Stack Overflow正被程序员抛弃,访问量一个月骤降3200W

金磊 Pine 发自 凹非寺量子位 | 公众号 QbitAI Stack Overflow&#xff0c;正在被程序员们抛弃。 你没听错。 这个全球知名的开发者问答网站&#xff0c;仅在一个月时间内&#xff0c;访问量骤降3200万&#xff01; 甚至现在的搜索量仅是它巅峰时期的三分之一…… 为何会突然如…