今年的美赛在一次又一次的日夜颠倒中结束了,相信每个人,在付出极大努力之后,会有酣畅淋漓的快感,也会认识到自己的不足。
这次的c题是一个纯粹的数据挖掘的题
涉及到的 知识有:
- 文本情感分析
- 文本聚类(可选)
- 关联分析
- 拟合(或者神经网络预测)
美赛的难点之读题
看到老美的题,作为一个中国人,完全不能做到native speaker,看到题目的那一刻真的有一种“一万个人心中有一万个哈姆雷特的感觉”。所以下面我先解读一下题目,然后提出这个问题的解决思路和相应的代码。
第一大题:
题目意思是让你提出指标作为公司对产品的跟踪指标,可讨论分析的指标很多,自由发挥(并不是让你一上来就把整个模型建好!)
把各个数据用图表的形式展现一下,怎么好看怎么来。
第二大题:
a题
主要是将文本评价转化为量化数据,并融合到star_rating中,地出一个综合评判一个用户评价的综合指标(加权综合评分)
解决方法和思路:
利用每天的数据计算star_rating的总和,
统计每天往前的评论总数量作为销量的代理变量,star_rating的总和/满分为好评率
然后可以作图了:
数据的读入和处理可以用python的pandas工具,会用的话解决本题将事半功倍:
读入数据:
data = pd.read_csv('hair_dryer.tsv', sep='\t', header=0)
date = pd.read_csv('day_s.csv', header=0)
day_s.csv 这个文件是自己创建的时间序列,分开来读取处理数据比较方便,里面的数据大概是这样的(这是一小段):
可以使用python或者excel作图,python的pandas也有画图的api,很方便:
最后会出来这样一张图,两条曲线我共用了一个y轴,因此star_rating 这条直线看上去像平的,这是不可取的,应当分别用不同的y轴
b题
观察时间序列上加权综合评分的变化情况
怎么去确定各个量之间的权重呢?
- 主观赋权法
- 熵权法
- 灰度关联分析
这一块我觉得随便采用哪个都行,也没有什么明确的评判标准
还有一个思路是熵权法结合灰度关联分析
参考一下北京市的一次数学建模比赛:
b题最后也会生成一个综合评分随时间的变化图: