2020年数模美赛参赛心得总结

  2020年3月,疫情期间特别的第二次美赛结束。四月底成绩公布,获得了M奖。我在这次竞赛中负责建模,写下这篇博客记录第一次参加数学建模美赛的经历。

赛前准备

  从开始接触建模已经比较晚了,错过了2019年的国赛,10月组建小队直冲20美赛,期间参加了亚太地区数学建模大赛作为美赛前的模拟,成绩出来是一等奖,第一次参加建模就得了一等奖对自己和小队的鼓励也比较大,同时对美赛更有信心了。

  我根据网上的资料将建模类问题分为评价类,数统类,优化规划类和预测类进行学习。这里推荐一个网课,清风老师的建模课,一个队一起买的话也很便宜,我从零基础到半年连获了几个一等奖也少不了这个课程。

  评价类问题的建模算法分为:层次分析法,Topsis优劣解距法、熵权法、灰色关联分析,还有使用最多的综合评价的分级模型(这个详细可以参考经典的葡萄酒问题的论文)。

  数统类主要有:典型相关分析、多元线性回归、分类模型、聚类、岭回归和lasso回归、相关系数、因子分析模型、主成分分析等。

  预测类有:插值、拟合、灰色预测、时间序列分析、BP神经网络等。

  优化类大致为:图论最短路径、线性规划、动态规划、模拟退火、排队论等。(我对优化类的理解不是太好,时间原因没有细致学)

  我分别总结了其中的每个算法的基本思想和MATLAB、SPSS或STATA的软件详细操作步骤和代码。(有需要可以问我要^^)
2020年数模美赛参赛心得总结
  还有在美赛中尽量不要使用灰色开头的模型,据说是因为这个在美国不太认可(?),最好使用是美国人提出的模型或算法。(我也是听学长说的可能不对TT)

  对我本人来说,我深入学了评价类和数统、预测类,已经基本可以参加所有的建模比赛了,只要不选有关优化的题就可以。还有一些可能涉及到数据挖掘或机器学习的知识和一些很新的算法,特别是美赛或国赛中可能会遇到,这时只要在知网上多搜集相关论文,然后再学习就来得及,不需要事先都学完。

  因为我是队里的建模手,同时也是队长和小半个编程手,所以对我来说熟悉所有的基本算法模型非常重要。当遇到问题时,能着手分析出来应该使用什么模型,到时候再在自己总结的文档里面找到相应模型的具体使用方法就可以。

  对建模手来说,最重要的是分析能力,因为比赛中(特别是美赛)的题目都比较抽象(像做阅读理解一样),很难直接看出使用什么模型。因此分析和抽丝剥茧的找出题目中实际想表达的意思就很重要。如果你分析不出来可能整个队就无法向下进行。同时最好论文手也可以学习一下所有的模型大概都是什么,不然到时候可能就是建模手去写中文论文了。

  同时多看几篇论文,主要看整体结构和摘要。也可以准备一些信或者备忘录的模板。同时队伍在正式比赛前最好进行一次模拟,找去年的题目来分析和完整做一下。

  还有要有一定的审美,自从看了2019年的养龙就发现美赛很看重写作和美观易读。一定要简洁美观!只要能用图表形象化数据的一定要用!

基本情况

  我是我们队的队长,还有一位同计算机系的男生负责主编程,和一位女生负责写论文。最好建模手和论文手的英语程度要比较好,因为不管是题目中译英还是写时候的英译中,机翻都不太准,特别是题目有时候还是需要看原英文版的问题。通常建模手也要和论文手一起写论文,所以对英语还是有一定的要求的。

  我们这次写的还是很快的,只熬了倒数第二天的晚上,熬到了4、5点左右,最后一天下午6点就结束了。这次因为疫情只能线上,还是比较不适应的,一定要全天保持语音,不然不知道什么时候队友就消失(?)了。

选题

2020年数模美赛参赛心得总结
  题目一共分为上面几种类型,我们选的是C题。数据比较大,但是用的也基本就是上面说的那几类我深入学的模型的拓展。ICM的题这次我们也看了一下,就是题目很复杂,F题这次涉及到什么海岛移民,反正就是涉及到很多政策或者文化、环境等的问题,如果对国外这些比较了解的大佬可以尝试一下,反正我们几个是看着题目就晕了。

  C题就是比较传统的回归、预测、相关分析和逐对比较法等的模型应用。但是也有创新的需要用到NLP(自然语言处理)来对文本评论进行分析。

  问题大概是:通过对微波炉,婴儿奶嘴和吹风机三种商品的数据文件中客户提供的评分和评论进行数据分析,帮助阳光公司在线上市场推出新产品时取得成功。

建模过程

  首先第一步要做的就是查询已有的论文来启发自己的思路,我们针对题目,提取了关键词“在线评论”来在知网上进行查找有关论文。同时由于对亚马逊不是很了解,所以我们也从google上搜索了亚马逊来了解这个购物网站的一些评星规则,以及他们特有的vine计划和“verified_purchase”的具体含义,以及如何提高自己的销量等。

  Q1:分析提供的三个产品数据集,用那些将帮助Sunshine公司在他们的三个新的在线市场产品获得成功的因素(数学意义上的证据、有意义的定量和/或定性模式、关系、策略、星级评级,评论,和有用评分的关系参数)来识别、描述、支持你所制定的营销策略。
  我们针对题目中提到的star ratings, reviews, and helpfulness ratings三个指标进行各自内部的定量分析,同时可视化分析结果。美赛的图表可以做成彩色的,而且尽量多可视化数据,这样会使论文看起来更易读,而且美观。举一个我们的图表为例:
2020年数模美赛参赛心得总结
2020年数模美赛参赛心得总结
  这种图使用wps的话,充一个稻壳会员会有很多的在线图表的模板,都很好看。
  然后使用matlab对数据集中review的评论文本进行词频统计,大致粗略的得出一个对review属性的定性分析的云图:
2020年数模美赛参赛心得总结
  通过这些数据,我们可以做出一些有用的推断,以帮助后续根据所提供数据的内部规则进行建模和深入分析。
  然后我们OLS建立回归模型来探究三种属性之间的具体关系,建立的依据是我们找到了亚马逊网站上关于实际评星计算的算法逻辑的描述,发现评星实际是和三个因素有关的:
2020年数模美赛参赛心得总结
  因此,我们以星级为因变量,三个指标为自变量进行回归,得到helpfulness ratings与评星的相关性最大的结论,然后对这个结论进行分析说明:不管是正面还是负面的评论,被点赞的次数越多,对星级的影响就越大,且负面评论的影响更大。(比赛中的对结论的说明非常重要,就算你的数据得出来的结果不太好,也要把它说的很合理(:з」∠)

  Q2:使用你们的分析来解决以下具体问题和Sunshine公司营销总监的要求:
a.一旦Sunshine公司的三种产品在网上市场销售,基于最有信息量的评级和评论识别关键数据度量,以便Sunshine公司跟踪。

  a问题其实是要求我们识别最值得sunshine公司追踪的数据度量。即是一个产品的销量与什么度量最有关;当人们需要购买xx物品的时候,最关注的是这个商品的什么属性。根据题目我们将问题分为评级和评论两个方面。
  关于reviews,我们使用NLP(自然语言处理)来处理在线评论,mathematica这个很强大的软件,输入文本可以自动计算出是积极还是消极的情感倾向(或者使用python的snowNLP库也可以得到情感程度)。通过文本情感分析方法并建立情感指数分析模型(论文中以 SRC 指数编制法和消费情感指数编制法为基础,构造在线评论情感指数计算模型),分析消费者对于产品的情感倾向。(参考知网上卷烟在线评论的文本情感分析_杨春晓的论文)
2020年数模美赛参赛心得总结
  通过网络上对这三类产品通用在意的产品维度,得到每一种产品消费者更注重哪些维度。同样将数据进行可视化,我们选用雷达图进行可视化。
2020年数模美赛参赛心得总结
  得到消费者更注重微波炉的外观和价格,注重奶嘴的外观和使用体验,注重吹风机的质量和使用感。
  关于ratrings,因为都是定量的数据,所以我们直接计算了销量与star ratings and helpful ratings的相关系数(使用matlab或SPSS都能迅速计算出相关系数矩阵),发现销售量与星级之间的相关性不高,而 helpful ratings对销售明显有积极的影响。
  
  
b.在每个数据集中识别并讨论基于时间的度量和模式,这些度量和模式可能表明产品在在线市场中的声誉正在增加或减少。
c.确定基于文本的测量方法和基于评级的测量方法的组合,以最好地指示潜在的成功或失败的产品。

  我们将B和C问题合并,先找出计算声誉的模型,再预测声誉的变化情况(找到支持论文说明一个产品的成功与声誉息息相关)。
  第一步,我们结合文本情感分析的情感指数分析模型和ratings构建产品的在线声誉测量模型,同样参考知网上的论文有一个声誉计算模型,将在线声誉分为和美誉度以及知名度相关。美誉度可以通过数据集中的一系列指标计算,知名度我们根据google趋势(https://trends.google.com/),google趋势代表指定时间内的搜索次数,我们导出相应品牌产品的数据作为知名度。论文中已有的模型计算全是通过定量的指标,我们加上A中求出的情感指数,来对品牌的美誉度进行修正,创新了已有的声誉模型。
  第二步,我们利用bp神经网络来对声誉进行基于时间的分析和预测,将数据以月份为单位进行分类,计算每个月份的在线声誉值,然后进行BP神经网络进行预测。matlab中有神经网络工具箱,可以直接根据已给数据选择训练函数进行自动训练。(https://pan.baidu.com/s/1hu7x_LC65Ez382725sqU4g (提取码:dwla)这个里面是研究生有关神经网络的论文,如果不会写使用神经网络的过程的话可以参考)
  预测后,记得把数据进行可视化!然后进行一定的分析。
2020年数模美赛参赛心得总结
  预测到随着时间的发展,所有产品的声誉均会有一定的提升,但对多数产品并不是太明显。经过分析验证,发现我们将数据挖掘和文本情感分析相结合得到的信誉模型可以有效的衡量产品成功与否。
  
  
d.特定的星评级是否会引发更多的评论?例如,在看到一系列的低星级评价后,客户更有可能写一些评论吗?

  为了分析特定星级是否会引发更多评论,探究特定的评论和特定的星级是否有显著差异,我们使用逐对比较法,看评论和评星两种方式的测量结果是否有显著的差异。
  我们将文本评论量化为特定星级,和已有星级数据作差,这样得到的差值在五组数据之间的不同,仅由的商品品质的差异引起,可以排除其他种种因素,因此五组差值服从同一分布。
  进行t假设检验(μ=0),得到t小于拒绝域,因此无显著差异。reviews and star ratings具有一致性,则特定星评级会引起更多的评论。
  
  
e.基于文本的评论的特定质量描述符,如“热情”、“失望”等,是否与评级水平密切相关?
  
  判断文本的情感是否和评星密切相关,如:评价“失望”,是否会评较低的星级。
  a中分析过文本的情感倾向,我们将评论按积极和消极特定质量描述符分为两组,评级水平ratings分为star ratings和helpful ratings两类。将按积极消极分类后的数据分别与star ratings数量和helpful ratings数量绘制箱线图。
2020年数模美赛参赛心得总结
  结果表明如果带有积极的特定质量描述符则容易获得较高的评分水平,反之亦然。
  
  
   Q3:给Sunshine公司的市场总监写一封一到两页的信,总结你的团队的分析和结果。包括推荐的结果的具体理由。
  
  这时事先准备好的信的模板就派上了用场,可以将信放在目录之后,正式内容的前面,因为信的内容大致就是我们论文的总结论,这样和摘要放的近一些,可能老师看的时候直接只看摘要、目录和信,就比较方便。同时,信一定不要像摘要一样,写很多详细的分析过程和算法模型,因为看信的人是“市场总监”,要写的让他能看懂。还可以在信中配一些结果的图表,这样会更易读。
  我们的信分为了两页,第一页写的是我们通过研究通过奶嘴,吹风机,微波炉这三款产品的顾客online review数据的结论;第二页写的是线上销售策略,包括总的线上销售策略和针对即将上线的三种产品的、分别针对重要维度的提高产品可取性的策略。这时的策略可以上google搜索一下,然后结合自己论文中使贴近结论。

  最后是写Strengths and weaknesses和Reference、附录等。优缺点可以参考一下自己借鉴的论文中的提到的优缺点。

  最后最重要的就是写摘要!
  摘要采取总分的形式,先总写本文运用了…等方法,通过对微波炉,婴儿奶嘴和吹风机三种商品的数据文件中客户提供的评分和评论进行数据分析,帮助阳光公司在线上市场推出新产品时取得成功。(可以摘抄题目要求)
  然后分着写每个问题研究的思路和使用的方法以及得到的结论。(为了…,我们…,使用…,得到…。)
  写最下面的keywords时,不要写太多,只写最重要的,最好不要超过一行。

  论文手写完之后,需要全队(至少是和论文手一起)检查一下全文的格式,图片表格和大致的语法,解题思路是否和建模手说的一样。

  之后记得保存数据和所有的过程文档,这样在以后复盘的时候才能想起来。(我现在就有丶忘了)

  
  
  美赛整体还是比较圆满的,完成的也很快。还是很遗憾没有来得及在保研前参加一次国赛。大家如果有想参加建模的,一定要早点!不要像我一样现在遗憾。

  如果有想看我们的论文,或者上面提到的我总结的建模资料或者模板什么的都可以找我^^。