1. 教你如何看数据分析
之前跟一个之前在国内最大的数字商品交易平台的同事大哥在一起好好地聊了下,很有收获。 对于数据,有一个共识就要会看数据,通过合理及透彻的分析来驱动产品,运营及市场策略的调整。但是这些知识看数据的中级阶段,高级阶段则是通过庞大的多维度的数据分析,能够预测到未来一个季度,半年甚至一年的业务走势,当然预测可以有一定的偏差在里面。还有的就是如果要进入到新业务的扩张上,那么能够计算出未来的一定周期内需要有多大的资金投入量,人员投入量,市场及运营资源投入等达到一个什么样的规模,或者说反推,我想达到这样的规模那么需要多少投入,多长时间。这个是最高阶段,在一般情况下也许根本不会触及到这个方面,少部分能够做到中级阶段基本上已经算是极限了。 互联网的有诸多领域,每个领域关注的点都不一样。我这边先从熟悉的社区和电子商务两个领域来说起。说到数据首先就是要去了解统计数据、分析数据的维度是有哪些。个人认为一般是有用户的维度,运营的维度,在社区来说还有内容的维度,在电子商务内部有运营的维度,我把推荐的单拎出来作为一个维度。 一、用户的维度 从用户的维度来看网站数据,其实就是通常所说的网站分析层面。这个维度主要来看用户是通过什么渠道来到网站,在网站用户的行为是什么,主要的目地为市场人员提供推广效果依据,以及帮助产品人员来分析指南各个网站上哪些页面,哪些区域及模块最能够吸引用户并及时进行策略调整。 网站分析的第一个数据点用户来源渠道,用户是从哪些渠道来到我们的网站上。是直接输入网站地址,是从收藏夹中打开收藏链接,还是在搜索引擎上搜索过来(那么前二十的搜索关键词都有哪些)。抑或是从微博、各个论坛等一些新媒体上点击我们网站链接进来的。如果网站现阶段也在做市场推广,最好的就是每一个放出去的链接都应该带有独立统计标识,这样能够清楚地看到不同的媒体上不同的广告位置的流量怎么样。这样市场人员可以通过这些数据来发现能够为网站带来稳定流程的渠道,同时剔除掉效果不好的渠道。上面说的前二十的搜索关键词也是做SEM确定关键词的一个重要来源。 第二个数据点是用户在网页上行为,就是用户通过各种不同的方式来到我们网站上后,常有的着陆页面是哪些,这些页面都有什么特点需要好好分析一下。重点关注用户在页面上的点击行为,一般用户会看几屏,点击哪些按钮或者链接的概率大,在各个页面上的停留时间是怎么样的。这些数据产品人员需要多关注,通过分析用户在各个网页上的行为,能为我们做产品决策提供很大的依据。 第三个点在用户访问路径上,主要是用户从进入着陆页上之后,陆续会到哪些页面上,最后在哪些页面上进行注册登录操作,在哪些页面上跳出。由这些数据可以清晰地勾勒出典型用户的访问路径图,在结合用户来源渠道一起来分析,就能找到那些渠道上的用户来到网站之后,访问深度最高,转化率从最高,这样市场人员也可以及时调整策略,对这些流量大,效果好的渠道加大推广力度。 第四个点是注册流程,一般来说很多网站的注册流程并不是很短,都需要至少两步,有的能到三四步,重点关注这个是因为注册流程繁琐,那么你的推广做到再好网站各个模块再易用,最后的转化率照样惨不忍睹。通过对这个流程的监测,可以看到有意愿注册的用户到底在哪些环节流失了,是不是填写信息太多,是不是发送确认信息失败等等。 最后总括起来就是,用户来源渠道,UV,PV,停留时间,网页点击热图,一跳率,二跳率,访问路径,转化率,市场推广还应该关注你的CPM,CPC,以及用户转化成本等。 二、运营的维度 运营的维度就是用户到了网站上后续行为,这个方面上社区和电子商务都有自己要去关注的点。 对于电子商务网站来说,用户的维度的分析是分析用户来源,运营的维度那就分析收入情况了。第一个数据点是每日的订单数,这个是要看电商网站整体的销售情况也是最重要的一个数据指标。第二个就是客单价了,每笔订单的金额,基本上订单数和客单价的乘积差不多就是电商网站的整体销量,与实际情况的差别不是很大。接下来就是要去看订单支付成功率,很多人都有这样的经历在电子商务网站上,我们可能会把很多商品放在了购物车上,但是最后肯那个会删掉购物车上某些商品,或者说很多订单最后并没有被支付。电商的运营人员非常关注这个数据,如果说大量的未支付订单,就需要去分析问题是出现哪里。是注册环节出了问题,还是说支付环节出问题导致用户支付失败。 第四个数据点在退货率,这个数据很重要,如果有大量的退货对于网站来说损失非常大,同时还要分析退货的原因是什么。 第五个就是订单交付周期,每个订单从用户支付成功到送达用户签收的时间,当然不同的区域,一线城市和二线城市的交付周期都有差别,但是这是考验了电商整体的物流水平。 还有一个不为人注意的数据点就是投诉率,电子商务的用户体验是一个从线上到线下的全过程,重在服务某一个环节出现差错都是致命。用户投诉,往往就是在某个环节出现了问题,留给用户的印象非常之差。投诉率是电商整体服务水平的体验,建立一个品牌很难,但是毁掉一个品牌则是非常的容易。 对于电商来说,最后一个重点数据则在用户的重复购买率或者二次购买率,这个则是考验了用户的忠诚度。某个用户第一次购买体验非常好,对商品很满意,那么产生二次购买行为的概率就非常大。用户多次购买的时间周期也是一个需要关注的数据点。 对于社区来说,需要关注的运营数据跟电商就有很多差别。以优质内容分享社区为例,每天的新注册用户数,登录的老用户数,人均PV数是社区整体数据。再下来,社区每天产生的内容有多少,具体到文字,图片,视频等各种不同类型的内容各是多少,上前日的增长率是多少,相对于上周或者上月的增长率又是多少。同时,么天新增关注,新增评论,转发等等,这几个数据,都是整个社区互动氛围的整体表现。当然还要考虑流失情况,两周未登录,一月未登录,两月未登录各占到社区总注册人数的比率,比率越高对于社区产品及运营人员来说是非常危险的,更要好好地去关注。 当然对于社区来说,优质活跃用户是营造社区氛围的关键。那么对于这些优质用户来说,是需要重点来关注的。通过数据来分析,达到优质标准的用户每周增长多少,每个人本周发布的内容,各个类型的内容以及互动的数量,有多少人是处于濒临流失状态。这些数据都会帮助运营人员调整自己的策略,例如看到很多用户很活跃,但是发布内容并不好,那么应该怎么去引导用户;还有用户濒临流失,那么就需要考虑用什么方法挽回这些用户。 三、商品及内容的维度 这个维度其实也应该放在运营的维度里面年,但是这一块确实很多人都会忽略掉的,所以把这个维度也单拎出来。 在电商中,出了关注网站整体的用户及销售数据,还要关注单一品类及单一商品的数据。某一品类的销量,平均每次购买量,金额,以及退换货率。对于单一商品也是同样的数据分析,来看此商品在一定时期内的销量,订单数,金额,以及退换货率。通过这样的分析就能看到热门品类和热门商品的趋势,后续的运营,营销或者促销的选择就很清晰了。 对于社区来说也是如此,我们要看社区整体的数据情况,但是社区中内容的重要性与人的重要性同等重要。对于优质内容分享的社区来说显得尤为重要。除了内容的文字,图片,视频的不同类型,还有内容本身的分类。包括是摄影,旅行,美食,时尚,动漫,电影等不同标签的内容。在社区中内容的标签是用户自己添加的。那么需要关注的第一个数据点就是用户自己添加的标签有多少是本周内新增的。这样就可以看到社区每周会要多少新鲜的内容产生。第二就是各个标签下用户的发布内容量,每天是多少,每周是多少。最这样就看出哪些标签下的内容最活跃,后续相关的运营活动就可以从这里面找到方向。第三个数据点就是各个标签下用户的互动数,包括评论、转发、收藏抑或喜欢等不同行为操作的数量,这个数据很清晰地显示了用户在不同标签内容中的活跃程度,这是社区氛围运营及活跃必不可少的数据。
2. 豆瓣电影数据分析
这篇报告是我转行数据分析后的第一篇报告,当时学完了Python,SQL,BI以为再做几个项目就能找工作了,事实上……分析思维、业务,这两者远比工具重要的多。一个多月后回过头来看,这篇报告虽然写得有模有样,但和数据分析报告还是有挺大差别的,主要原因在于:a.只是针对豆瓣电影数据分析太过宽泛了,具体关键指标到底是哪些呢?;b.没有一个确切有效的分析模型/框架,会有种东一块西一块的拼接感。
即便有着这些缺点,我还是想把它挂上来,主要是因为:1.当做Pandas与爬虫(Selenium+Request)练手,总得留下些证明;2.以豆瓣电影进行分析确实很难找到一条业务逻辑线支撑,总体上还是描述统计为主;3.比起网上能搜到的其他豆瓣电影数据分析,它更为详细,可视化效果也不错;
本篇报告旨在针对豆瓣电影1990-2020的电影数据进行分析,首先通过编写Python网络爬虫爬取了51375条电影数据,采集对象包括:电影名称、年份、导演、演员、类型、出品国家、语言、时长、评分、评论数、不同评价占比、网址。经过去重、清洗,最后得到29033条有效电影数据。根据电影评分、时长、地区、类型进行分析,描述了评分与时长、类型的关系,并统计了各个地区电影数量与评分。之后,针对演员、导演对数据进行聚合,给出产量与评分最高的名单。在分析过程中,还发现电影数量今年逐步增加,但评分下降,主要原因是中国地区今年低质量影视作品的增加。
另外,本篇报告还爬取了电影票房网( http://58921.com/ )1995-2020年度国内上映的影片票房,共采集4071条数据,其中3484条有效。进一步,本文分析了国内院线电影票房年度变化趋势,票房与评分、评价人数、时长、地区的关系,票房与电影类型的关联,并给出了票房最高的导演、演员与电影排名。
清洗、去重后,可以看到29033条数据长度、评分、评论数具有以下特点:
结合图1(a)(b)看,可以看到电影数据时长主要集中在90-120分钟之间,向两极呈现阶梯状递减,将数据按照短(60-90分钟),中(90-120分钟),长(120-150分钟),特长(>150分钟)划分,各部分占比为21.06%, 64.15%, 11.95%, 2.85%。
结合图2(a)看,可以看到我们采集到的电影数据评分主要集中在6.0-8.0之间,向两极呈现阶梯状递减,在此按照评分划分区间:2.0-4.0为口碑极差,4.0-6.0为口碑较差,6.0-7.0为口碑尚可,7.0-8.0为口碑较好,8.0-10.0为口碑极佳。
这5种电影数据的占比分别为:5.78%, 23.09%, 30.56%, 29.22%, 11.34%
再将评分数据细化到每年进行观察,可以发现,30年内电影数量与年度电影均分呈反相关,年度均分整体呈现下降趋势,2016年电影均分最低,电影数量最多。
进一步做出每个年份下不同评级等级的电影数据占比,可以发现,近年来,评分在[2.0,6.0)的电影数据占比有着明显提升,评分在[6.0,7.0)的数据占比不变,评分在[7.0,10.0)的数据占比减少,可能原因有:
对照图5,可以发现,评分与时长、评论人数的分布大致呈现漏斗状,高分电影位于漏斗上部,低分电影位于漏斗下部。这意味着,如果一部电影的评论人数很多(特别是超过30w人观影),时长较长(大于120min),那么它大概率是一部好电影。
根据各个国家的电影数量作图,可以得到图6,列出电影数量前十的国家可得表格2,发现美国在电影数量上占第一,达到8490部,中国其次,达6222部。此外,法国,英国,日本的电影数量也超过1000,其余各国电影数量相对较少。这可以说明美国电影有着较大的流量输入,在中国产生了较大的影响。
进一步分析各国电影的质量,依据评分绘制评分箱线图可得图7,在电影数量排名前20的国家中:
接着我们可以探索,哪个国家的电影对豆瓣评分随年份下降的贡献最大,考虑到电影数量对应着评分的权重。根据上述各国的电影评分表现,我们可以猜测电影数量较多的国家可能对年度均分的下降有较大影响。于是,我们再计算出这些国家的年度电影均分,并与整体均分进行比较分析。
再作出中国大陆,中国台湾,中国香港的均分箱线图图9(a),可以看到,大陆电影均分低于港台电影,且存在大量低分电影拉低了箱体的位置。
分析相关性可得,大陆、香港、台湾电影年度均分与全部评分关联度分别为R=0.979,0.919,0.822,说明滤去台湾和香港电影,大陆电影年度均分的变化趋势与全部评分变化更接近。图9(b)可以进一步反映这一点。
可以看到,大部分类型集中在X×Y=[10000,30000]×[6.00,7.50]的区间范围内,剧情、喜剧、爱情、犯罪、动作类电影数量上较多,说明这些题材的电影是近三十年比较热门的题材,其中剧情类电影占比最多,音乐、传记类电影平均得分更高,但在数量上较少,动作、惊悚类电影评论人数虽多,但评价普遍偏低。
除此之外,还有两块区域值得关注:
根据类型对电影数据进行聚合,整理得到各类型电影评分的时间序列,计算它们与整体均分时间序列的相关性,可得表格4与图11,可以看到剧情,喜剧,悬疑这三种类型片与总分趋势变化相关性最强,同时剧情、喜剧类电影在电影数量上也最多,因此可以认为这两类电影对于下跌趋势影响最大,但其余类别电影的相关性也达到了0.9以上,说明几种热门的电影得分的变化趋势与总体均分趋势一致。
前面已经得知,中美两国电影占比最高,且对于均分时间序列的影响最大。在此,进一步对两国电影进行类型分析,选取几种主要的类型(数量上较多,且相关性较高)进行分析,分别是剧情,喜剧,爱情,惊悚,动作,悬疑类电影,绘制近年来几类电影的数量变化柱状图与评分箱线图可得图12,13,14,15。
对导演与演员进行聚合,得到数据中共有15011名导演,46223名演员。按照作品数量在(0,2], (2,5], (5,10], (10,20], (20,999]进行分组统计导演数量,可以发现,15009名导演中有79.08%只拍过1-2部作品,46220名演员中有75.93%只主演过1-2部作品。忽略那些客串、跑龙套的演员,数据总体符合二八定律,即20%的人占据了行业内的大量资源。
在此,可以通过电影得分、每部电影评论人数以及电影数目寻找优秀的电影导演与演员。这三项指标分别衡量了导演/演员的创作水平,人气以及产能。考虑到电影数据集中可能有少量影视剧/剧场版动画,且影视剧/剧场版动画受众少于电影,但得分普遍要高于电影,这里根据先根据每部电影评论数量、作品数量来筛选导演/演员,再根据电影得分进行排名,并取前30名进行作图,可得图17,18。
结合电影票房网( http://58921.com/ )采集到的3353条票房数据,与豆瓣数据按照电影名称进行匹配,可以得到1995-2020年在中国大陆上映的电影信息,分别分析中国内地电影的数量、票房变化趋势,票房与评分、评价人数、时长、地区以及类型的关系,此外还给出了不同导演与演员的票房表现以及影片票房排名。
如图19所示,国内票房数据与上映的电影数量逐年递增,2020年记录的只是上半年的数据,且由于受疫情影响,票房与数量骤减。这说明在不发生重大事件的情况下,国内电影市场规模正在不断扩大。
对电影数据根据类型进行聚合,绘制散点图21,可以发现:
提取导演/演员姓名,对导演/演员字段进行聚合,计算每个导演/演员的票房总和,上映电影均分、以及执导/参与电影数目进行计算,作出票房总和前30名的导演/演员,可得图22,23,图中导演/演员标号反映了票房排名,具体每位导演/演员的上映影片数量、均分、每部电影评价人数、平均时长与总票房在表5、表6中给出。
最后根据电影票房进行排名,得到票房排名前20的电影如表格7所示,可以看到绝大部分上榜电影都是中国电影,索引序号为3、10、12、14、18、19为美国电影,这也反映了除国产电影之外,好莱坞大片占据较大的市场。
本篇报告采集了1990-2020年间豆瓣电影29033组有效数据,从豆瓣电影的评分、时长、地区、类型、演员、导演以及票房等信息进行分析评价,主要有以下结论:
3. 烂片成堆,数据分析告诉你为什么拦不住春节期间看电影
根据猫眼电影的实时数据,截止2018年2月22日下午5时,2018年春节档的六部中国电影总票房已经突破63.8亿元——10亿美元。这几乎是2017年春节档同期总票房的两倍。可以说,今年的春节档电影打破了不少历史记录,用实实在在的票房让大家看到了中国观众的观影热情。
猫眼大数据显示,春节期间的主要观影人群来自三四线城市,而且观影人群的年龄也较为均衡。也就是说,大龄观众的比例增加了。
春节是阖家团圆的日子,也是我国法定假日里最长的假期之一。在春节期间,大家可以说是有大把休闲娱乐的时间。回家过年,百无聊赖,总要打发打发时间嘛!拉着爸妈一起去看电影,也是很时髦的。
随着近几年我国电影业的蓬勃发展,大量院线在三四线城市建成,也为观影提供了必要的硬件条件。再加上,生活在大城市的人大多有去电影院观影的习惯,当他们返乡后,也会带动身边的亲戚朋友一起去观影。
所以说,春节档对于电影公司来说简直就是天时地利人和的大好商机啊!观众的审美也有了提高,并不那么容易就会为烂片买单,所以电影公司也知道,必须拍出好片子排在春节档,才能真正赚得盆满钵满。春节档期间,电影公司一般会有一些补贴,用诱人的价格吸引观众。这期间看电影是很实惠的,也许二三十元就能看到一场2D电影。拖家带口的观众自然也是想看便宜电影啊。
中国电影春季档的正式形成不到五年时间,但是已经用次次刷新纪录的高票房证明了中国市场的实力。电影公司努力在春节期间推出佳作,推广力度很大,而中国观众也慢慢被培养出了在春节期间和亲戚朋友看电影的习惯
4. 数据分析的步骤是什么
1.问题定义
比较典型的场景是我们需要针对企业的数据进行分析,比如公司通常会有销售数据、用户数据、运营数据、产品生产数据……你需要从这些数据里获得哪些有用的信息,对策略的制定进行指导呢?又比如你需要做的是一份市场调研或者行业分析,那么你需要知道你需要获得关于这个行业的哪些信息。
首先你需要确定去分析的问题是什么?你想得出哪些结论?
比如某地区空气质量变化的趋势是什么?
王者荣耀玩家的用户画像是什么样的?经常消费的是那类人?
影响公司销售额增长的关键因素是什么?
生产环节中影响产能和质量的核心指标是什么?
如何对分析用户画像并进行精准营销?
如何基于历史数据预测未来某个阶段用户行为?
这些问题可能来源于你已有的经验和知识。比如你已经知道每周的不同时间用户购买量不一样,那么你可以通过分析得出销量和时间的精确关系,从而精准备货。又比如你知道北京最近几年的空气质量是在变坏的,可能的因素是工厂排放、沙尘暴、居民排放、天气因素等,那么在定义问题的时候你就需要想清楚,需要针对哪些因素进行重点分析。
有些问题则并不清晰,比如在生产环节中,影响质量的核心指标是什么,是原材料?设备水平?工人水平?天气情况?某个环节工艺的复杂度?某项操作的重复次数?……这些可能并不明显,或者你是涉足新的领域,并没有非常专业的知识,那么你可能需要定义的问题就需要更加宽泛,涵盖更多的可能性。
问题的定义可能需要你去了解业务的核心知识,并从中获得一些可以帮助你进行分析的经验。从某种程度上说,这也是我们经常提到的数据思维。数据分析很多时候可以帮助你发现我们不容易发现的相关性,但对问题的精确定义,可以从很大程度上提升数据分析的效率。
如何更好地定义问题?
这就需要你在长期的训练中找到对数据的感觉,开始的时候你拿到特别大的数据,有非常多的字段,可能会很懵逼,到底应该从什么地方下手呢?
但如果有一些经验就会好很多。比如,你要研究影响跑步运动员速度的身体因素,那么我们可能会去研究运动员的身高、腿长、体重、甚至心率、血压、臂长,而不太会去研究运动员的腋毛长度,这是基于我们已有的知识。又比如我们要分析影响一个地方房价的因素,那么我们可能会有一些通用的常识,比如城市人口、地理位置、GDP、地价、物价水平,更深入的可能会有产业格局、文化状态、气候情况等等,但一般我们不会去研究城市的女孩长相,美女占比。
所以当你分析的问题多了之后,你就会有一些自己对数据的敏感度,从而养成用数据分析、用数据说话的习惯。这个时候你甚至可以基于一些数据,根据自己的经验做出初步的判断和预测(当然是不能取代完整样本的精准预测),这个时候,你就基本拥有数据思维了。
2.数据获取
有了具体的问题,你就需要获取相关的数据了。比如你要探究北京空气质量变化的趋势,你可能就需要收集北京最近几年的空气质量数据、天气数据,甚至工厂数据、气体排放数据、重要日程数据等等。如果你要分析影响公司销售的关键因素,你就需要调用公司的历史销售数据、用户画像数据、广告投放数据等。
数据的获取方式有多种。
一是公司的销售、用户数据,可以直接从企业数据库调取,所以你需要SQL技能去完成数据提取等的数据库管理工作。比如你可以根据你的需要提取2017年所有的销售数据、提取今年销量最大的50件商品的数据、提取上海、广东地区用户的消费数据……,SQL可以通过简单的命令帮你完成这些工作。
第二种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善、质量相对较高。当然这种方式也有一些缺陷,通常数据会发布的比较滞后,但通常因为客观性、权威性,仍然具有很大的价值。
第三种是编写网页爬虫,去收集互联网上的数据。比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析,这算是非常靠谱的市场调研、竞品分析的方式了。
当然,比较BUG的一点是,你通常并不能够获得所有你需要的数据,这对你的分析结果是有一定影响的,但不不影响的是,你通过有限的可获取的数据,提取更多有用的信息。
3.数据预处理
现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据分析,或分析结果差强人意。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。把这些影响分析的数据处理好,才能获得更加精确地分析结果。
比如空气质量的数据,其中有很多天的数据由于设备的原因是没有监测到的,有一些数据是记录重复的,还有一些数据是设备故障时监测无效的。
那么我们需要用相应的方法去处理,比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。
当然在这里我们还可能会有数据的分组、基本描述统计量的计算、基本统计图形的绘制、数据取值的转换、数据的正态化处理等,能够帮助我们掌握数据的分布特征,是进一步深入分析和建模的基础。
4.数据分析与建模
在这个部分需要了解基本的数据分析方法、数据挖掘算法,了解不同方法适用的场景和适合的问题。分析时应切忌滥用和误用统计分析方法。滥用和误用统计分析方法主要是由于对方法能解决哪类问题、方法适用的前提、方法对数据的要求不清等原因造成的。
另外,选择几种统计分析方法对数据进行探索性的反复分析也是极为重要的。每一种统计分析方法都有自己的特点和局限,因此,一般需要选择几种方法反复印证分析,仅依据一种分析方法的结果就断然下结论是不科学的。
比如你发现在一定条件下,销量和价格是正比关系,那么你可以据此建立一个线性回归模型,你发现价格和广告是非线性关系,你可以先建立一个逻辑回归模型来进行分析。
一般情况下,回归分析的方法可以满足很大一部分的分析需求,当然你也可以了解一些数据挖掘的算法、特征提取的方法来优化自己的模型,获得更好地结果。
5.数据可视化及数据报告的撰写
分析结果最直接的结果是统计量的描述和统计量的展示。
比如我们通过数据的分布发现数据分析工资最高的5个城市,目前各种语言的流行度排行榜,近几年北京空气质量的变化趋势,避孕套消费的地区分布……这些都是我们通过简单数据分析与可视化就可以展现出的结果。
另外一些则需要深入探究内部的关系,比如影响产品质量最关键的几个指标,你需要对不同指标与产品质量进行相关性分析之后才能得出正确结论。又比如你需要预测未来某个时间段的产品销量,则需要你对历史数据进行建模和分析,才能对未来的情况有更精准的预测。
数据分析报告不仅是分析结果的直接呈现,还是对相关情况的一个全面的认识。我们经常看到一些行业分析报告从不同角度、深入浅析地剖析各种关系。所以你需要一个讲故事的逻辑,如何从一个宏观的问题,深入、细化到问题内部的方方面面,得出令人信服的结果,这需要从实践中不断训练。
数据分析的一般流程总的来说就是这几个步骤:问题定义、数据获取、数据预处理、数据分析与建模、数据可视化与数据报告的撰写。
5. 11月电影市场数据分析哪里有
中商情报网讯:10月全国票房最终收官于36.44亿,同比下降29.3%,创下2016年9月之后,整整两年来的单月跌幅之最。在经过7月和8月暑期档单月大盘连续两个月逼近70亿大关后,后期电影票房明显下沉。目前已进入到2018年第四季度,但电影市场还是保持着一贯的冷漠。不过在国庆假期的加持下,10月票房相比9月30.99亿元来说,环比增长17.6%;单月观影人次为10531万人,环比增长19.82%;10月电影上映场次983.15万场,比9月上映场次增加了85.17万场。2018年1-10月全国市场共产出综合票房约525亿元。
2018年1-10月票房收入突破525亿
中国电影产业在国民经济新的发展形势下实现了稳健增长。以电影票房收入衡量,我国电影市场已经成为仅次于美国的全球第二大电影市场。统计数据显示,我国电影票房市场近年来保持高速增长的态势,观影人次从2007年的0.71亿,增长2016年的13.72亿,年均复合增长率达到34.47%。国内电影票房从2012年的170.7亿元增长到2017年559.1亿元,年均复合增长率达到26.78%。2018年1-10月全国电影票房累计达525.3亿元。按照今年电影票房趋势来看,2018年全国电影票房超越2017年的559.1亿元基本是毫无压力。
数据来源:中商产业研究院整理
10月电影市场凄惨收官 同比大降29.3%
根据猫眼专业版数据,2018年10月电影票房共计36.44亿元,较去年同期51.53亿元票房,同比下降29.3%。10月上映影片中,国庆档影片《无双》《影》等影片票房居前。
除4月票房有所下滑外,2018年单月票房都取得较好的成绩,其中2月101亿票房位居榜首,这无疑给2018年电影市场带来了一个良好的开端!2018年上半年电影市场大涨18%,进入到暑期档7月-8月,票房再次实现大涨,其中7月同比增长37.9%至69.5亿元,仅次于春节档2月票房,到8月票房同比略有下滑。9月票房下沉明显,环比大降54.6%。10月在国庆假期加持下票房环比增长17.6%。但却是2016年9月之后,整整两年来的单月同比跌幅之最。
数据来源:猫眼、艺恩、中商产业研究院整理
《无双》单月票房第一《影》排名第二
在2018年10月电影票房排行榜上,榜单前十部影片中有7部电影票房都在1亿元之上,3部影片超3亿大关。其中庄文强执导的犯罪题材港片《无双》以票房11.69亿霸占月度冠军之位。该片9月底上映累计票房顺利破10亿,累计分账票房成功超越《澳门风云3》(11.16亿),打破发哥演员生涯的内地票房纪录。截至11月1日14:30,该片连续24日获得单日票房冠军,累计综合票房达到12.26亿元,分账票房11.3亿元,猫眼评分高达8.9分,口碑与票房双丰收。
影片《影》单月票房第二,10月票房为5.59亿元,猫眼评分8.2分。作为张艺谋申奥影片,《影》自筹拍时期就成为相关媒体的聚焦点。尽管《影》在视觉上追求的以水墨风格形成的形式化美感再次以极致表现给观众留下深刻印象,但这部作品并未给观众带来更多的惊喜和震撼。月度排名第三的是开心麻花团队的喜剧片《李茶的姑妈》,10月累计票房4.95亿元,猫眼评分7.9分。《找到你》票房第四,10月累计票房2.67亿元。《胖子行动队》以2.28亿元票房排名第五,《铁血战士》10月票房拿下1.72亿元,排名第六。
数据来源:猫眼、中商产业研究院整理
前三电影票房占比超六成
10月全国电影票房分布集中在国庆档影片,排名前五部都是国庆档电影。其中《无双》单月占据总票房32.1%,《影》占比15.3%,《李茶的姑妈》占13.6%。排名前三位的电影票房占比合计占当月总票房的61.3%。
数据来源:猫眼、中商产业研究院整理
11月上映电影前瞻
从阵容来看,11月进口片是迪士尼与华纳兄弟在国内电影市场的一次交锋。迪士尼在月初与月末先后上映真人童话电影《胡桃夹子与四个国王》与经典动画续集电影《无敌破坏王2:大闹互联网》。华纳兄弟则发力下半场,在月中与月末先后上映《神奇动物:格林德沃之罪》与亚裔阵容的喜剧爱情电影《摘金奇缘》。另外《毒液》作为“蜘蛛侠宇宙”中的非典型英雄,该片北美市场目前累计票房达到1.87亿美元。值得一提的是,目前《毒液》联合火箭少女101推出的推广歌曲《毒液前来》成功引起公众注意,猫眼想看人数超过30万,11月进口片中人数最高。11月上映影片信息一起来看一下吧!
资料来源:猫眼、中商产业研究院整理
更多资料请参考中商产业研究院发布的《2018-2023年中国电影行业发展前景及投资机会分析报告》。
6. HelloWorld电影简单分析
6.11电影“你好世界在大陆上映”。6.12考完六级去影院补票了。尽管之前已经看过很多遍,但是每一次回看都会有新的感受。下面是我个人对电影内容的分析,如果发现有不正确的地方,我会回来修正。最好是看过电影的小伙伴再来看分析。
首先,电影中是有四个世界的,我们将逐一分析。
虚拟世界A:这也是故事开始的地方,16岁的坚书直实(下面简称小坚书)所在的世界。跟随着三足乌鸦,小坚书见到了10年后的坚书(下面简称大坚书)。大坚书说要帮小坚书追求一行琉璃(后面简称小琉璃),并且要求小坚书在看烟花的那一天拯救被雷击中的琉璃。
虚拟世界B:这也是26岁的大坚书所在的世界,在这个世界中,琉璃在看烟花时被雷击中,失去意识。大坚书在了解到精神和意识同步后就可以唤醒琉璃,于是历经艰苦进入阿尔塔拉,在经理无数次失败后终于进入虚拟世界A,想要实现自己的计划。
新世界:小坚书在进入虚拟世界B后,带回琉璃。两人进入了一个新的世界。(因为这个时候虚拟世界A已经被还原了)。
现实世界:真实情况是,在烟花会上坚书为了保护琉璃被雷击,而琉璃为了唤醒坚书,极度恐高的她登上了月球,连智能手机都用不好的她成为了程序员。这一切的努力都是为了救回自己的恋人。
附注几个小彩蛋:
1.图书义卖片段中,琉璃爷爷的藏书中有一本《湖底大都市》(应该是叫这个),刚开始借阅卡上写的并不是琉璃的名字。但是小坚书在复原后,借阅卡第一行的名字变成了一行琉璃,这一点琉璃应该是有所察觉,所以才会连说几次“谢谢”。
2.在虚拟世界B中,琉璃醒来,判断眼前的人不是坚书有两个原因:1.坚书提到了烟花,而在虚拟世界A中,为了保护琉璃,小坚书并没有约琉璃去看烟花。(这也验证了此时身体中的精神其实还是小琉璃)。2.琉璃提到的那本书,坚书回答“那本书”?这是因为虚拟世界A和虚拟世界B中的故事线并不完全相同。(例如:是否看过烟花,是否坚书为琉璃还原过图书,以及直接导致的是否图书义卖举行)。
3.个人猜测贯穿全电影的三组乌鸦应该时现实世界中琉璃的化身,因为在电影结束时,琉璃的领口有一个金色羽毛书签的图案。
4.许多人认为故事是一个大圆满的结局,因为无论是虚拟世界还是现实世界,坚书和琉璃都团圆了。但是我却感到了一丝丝悲伤,首先,三个世界(除去新世界),只成全了两对恋人。这意味这即使是数据,但确实有一对坚书和琉璃并没有圆满。其次,在虚拟世界A中,出来小坚书和小琉璃,整个世界都被还原了,世界,城市,千千万万的人,相当于以一个世界的代价成全了一对恋人。
5.在不同世界中,牺牲的或是坚书,或是琉璃,但是另一个人都会为其等候数十年,
历经千辛万苦,只为了再见他/她一眼。这就是所谓的事故是偶然,爱是必然吧。
6.在前面的虚拟世界,都是用3D渲染的,但是在最后一幕回到现实(月球基地),却使用了2D渲染,这或许意味着,对于二次元来说,2D世界才是“现实”吧。
7. Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析 用户之间 的关系, 电影之间 的联系,以及 用户和电影之间 的隐藏关系。
在****『豆瓣』****平台爬取用户观影数据。
为了获取用户,我选择了其中一部电影的影评,这样可以根据评论的用户去获取其用户名称(**后面爬取用户观影记录只需要****『用户名称』******)。
url中start参数是页数(page 20,每一页20条数据),因此start=0、20、40...,也就是 20的倍数 ,通过改变start参数值就可以获取这 4614条用户的名称。 *
查看网页的标签,可以找到******『用户名称』******值对应的标签属性。
上一步爬取到****『用户名称』****,接着爬取用户观影记录需要用到****『用户名称』。****
[图片上传失败...(image-65a80e-1624889400616)]
通过改变****『用户名称』****,可以获取到不同用户的观影记录。
url中start参数是页数(page 15,每一页15条数据),因此start=0、15、30...,也就是 15的倍数 ,通过改变start参数值就可以获取这 1768条观影记录称。 *
查看网页的标签,可以找到****『电影名』****值对应的标签属性。
excel表有两个标题(用户, 影评)
定义了写入excel函数,这样爬起每一页数据时候调用写入函数将数据保存到excel中。
最后采集了44130条数据(原本是4614个用户,每个用户大约有500~1000条数据,预计 400万条数据 )。但是为了演示分析过程,只爬取每一个用户的前30条观影记录( 因为前30条是最新的 )。
最后这44130条数据会在 下面分享给大家 。
从豆瓣.xls中读取全部数据放到datalist集合中。
以用户 『mumudancing』 为例进行用户画像
以用户 『mumudancing』 为例,对用户之间进行 电影推荐
以电影 『送你一朵小红花』 为例,对电影之间进行 电影推荐
8. 国庆档电影扎堆上映,神预测:哪部电影的票房会垫底
在经过一段电影空档期之后,国庆假期前后将迎来几十部电影的上映高峰,大家又有眼福了。
其他的电影,除了口碑已经建立起来外,都有滑铁卢的风险,但票房上收回成本的问题不大。《古剑奇谭》有粉丝流量、前期的铺垫,主演阵容也比较强大;纪录片《影》讲述的是张艺谋导演和主创的故事,虽然纪录片并不讨喜,但张艺谋的品牌效应还是不容小觑的;《新灰姑娘》等动画片也有自己的观众市场。
总之,希望所有电影都能带给观众们好的感受。国庆假期,挑几部电影放松一下,也是一种闲趣所在。
认知升级,活出自己,欢迎关注瑶知天问(微信公众号:loves-knows)。
9. 如何学习数据分析
如何学好数据分析?
这个一个比较大的命题,很难一两句话弄说的清楚,所以这个的问题很在QQ群里不太能得到一个满意的答案。
在这里,我就以一个这数据方面的从业者的身份来说一说我的学习方法,当然有一点要说的是每个人的思想、方法、工作经历、知识侧重点都是不一样的,所以对于如何学习这个问题可谓是仁者见仁智者见智。我这里只说一说我个人的方法,不一定是对的也不一定适用于每一个人。
数据分析这个岗位可以说很宽泛很杂,从数据录入员到行业分析师专家都可以认为是数据分析,甚至一些搞数据挖掘、人工智能的都可以包括到数据分析的范畴里,但是这些工作所做的事情却相差甚远,当然待遇也天壤之别。所以大家在应聘时不要只看岗位名称,重要的是看看清岗位职责和要求。言归正传,咱们谈谈如何学习数据分析。
一、知识技能1、学科知识:从数据分析涉及到的专业知识点上看,他包含的比较多,包含但不仅限于以下学科:
(1)统计学:参数检验、非参检验、回归分析……等
(2)数学:线性代数、微积分等
(3)社会学:主要是一些社会学量化统计的知识,如问卷调查与统计分析;还有就是一些社会学的知识,这些对于从事营销类的数据分析人员比较有帮助
(4)经济金融:如果是从事这个行业的数据分析人员,经济金融知识是必须的,这里就不多说了
(5)计算机:从事数据分析工作的人必须了解你使用的数据是怎么处理出来的,要了解数据库的结构和基本原理,同时如果条件充足的话,你还能有足够的能力从数据库里提取你需要的数据(比如使用SQL进行查询),这种提取数据分析原材料的能力是每个数据从业者必备的。此外,如果要想走的更远,还要能掌握一些编程能力,从而借住一些专业的数据分析工具,帮助你完成工作。
这些专业知识不是一时半会能够全面掌握的,学习的唯一捷径就是看书、看视频讲解,看权威的书籍、看全面的知识。学习基础知识没有一蹴即就的方法,因为基础,所以学起来会比较枯燥、比较漫长。如何你想在数据分析方面有长远的发展,希望你能在基础知识上长期坚持的学习下去。
2、软件操作:从事数据分析方面的工作必备的工具是什么,我大致罗列以下几类:
(1)分析报告类:Microsoft Office软件(excel、word、powerpoint、visio……)、水晶易表等,如果连excel表格基本的处理操作都不会,连PPT报告都不会做,那我只好说离数据分析的岗位还差的很远。
(2)专业数据分析软件:OFFICE并不是全部,要从在数据分析方面做的比较好,你必须会用(至少要了解)一些比较常用的专业数据分析软件工具,比如SPSS、SAS、R、Matlab等等,这些软件可以很好地帮助我们完成专业性的算法或模型分析。
(3)辅助工具:比如思维导图软件(如MindManager、MindMapper等)也可以很好地帮助我们整理分析思路。
在此需要说明的一点是:软件只是帮助我们完成任务的工具。并不是我们只要学好的软件操作就能很好地完成任务,因为与操作相比,如何解释最后的结果要重要的多。即使软件操作的再熟,如果看不懂结果,那跟不会才做没有两样。而看看懂结果就需要扎实的专业知识才行。
对于以上两点,究竟按照什么路线来学习,先后顺序如何安排,我在网上看到过一个图,个人认为很不错:
3、行业知识与工作经验:这部分知识怎么说呢,要是说在书本上一点学不来那也是骗人的,但是能真正拿为己用的,多是自己在实际的工作过程中经历的学到的。做数据分析一定得和自己所从事的行业紧密相关,不结合业务的数据分析无异于纸上谈兵。而需要要用到数据分析的行业又多的数不清,一句话,只要有数据的地方就需要有数据分析,比如互联网、电商、金融、电信、制造业、零售业等等都是数据分析需求大户,你不可能每个行业都很懂,但是你可以在一个行业很懂,这个懂则需要在工作过程中慢慢积累。
二、谈谈三者的关系打个形象的比喻,成为一个数据分析精英好比成为一个武林高手(不少朋友应该都看过武侠电影),武林高手通常具备三个要素:浑厚的内功、致命招式/稀世武器、江湖经验。
基础知识和行业内的经验就好比这浑厚的内功,及时你不会作出什么东西来也能保证别人忽悠不倒你,因为你已经是内行了;
各种软件操作就好比致命的招式和稀世武器,一旦出手就可以招招致命、事半功倍;
行走江湖最怕的就是缺少江湖经验,有时候被杀了都不知道是谁杀的,所以工作经验就好比这江湖经验,经验丰富遇到问题才更容易应对。
所以三者相辅相成,任何一个存在短板都会影响整体的发挥,影响个人的数据分析能力水平。
三、谈谈如何学习1、看书
这我看来要全面系统的掌握知识,最好的办法就是看书,看书只有看对书,没有看错书,选择了一本能大幅提高自己能力、思想的书就是看对书。再此,我就不做书籍推荐了,每一块都有不少经典的好书,但是我可以告诉你一个找书的好方法,那就是在网上书店搜索相应的关键词,比如你想找统计学方面的书,那你就搜“统计学”,想看EXCEL方面的书就搜“EXCEL”,你会搜到很多相关的书籍,你可以查看书籍的目录介绍和相关的评价看是否适合你。
2、逛专业的网站
另外一个就是经常逛一些在数据分析方面的论坛、博客。所谓逛,跟逛街一样,我不需要东西同样可以去逛街。所以即使你不想去找某个问题的解决方法同样也许要去逛,因为那里有很多也数据分析方面的知识、见解,很多内容都可能会让你受益匪浅,同时还可以关注到高手大牛以及行业的一些动态。
3、学会向搜索引擎要答案
一个懂得学习人必须是懂得提问的人,那回答你问题的人在哪里,不在现实中就在网络上。当你遇到难以解决的问题时,建议首先找一找手头上的书本能不能帮你解答。如果不能,那请你在google、网络上去搜吧,很多问题十有八九在网上可以找到答案(当然那些答案并不一定是最好最优的),如果搜索不到答案,好吧,我承认你的疑问有点小偏了,那就去相关的QQ群或身边的同事朋友那去问吧。
此外,在软件操作方面学会想操作手册要答案
很多关于软件工具的书籍都只是将最主要的操作方法写出来,对于个人而言对一款软件的使用也只是小部分功能,而软件操作手册不一样,它就是软件的使用说明书,每个细致的功能点都会写进去,可以说是最全面的软件字典,在操作手册中几乎可以找到所有的操作方法。
为什么这样安排顺序? 在我看来书本上的答案要比网上的要靠谱,这个靠谱不是说网上没有好的答案,只是说在没有甄别能力的前提下,你看不出哪个答案是最好的。而书本不一样,写书人的知识水品通常要比写出来的书的知识水品要高,书上给出的解答虽说不一定是最好的,但一定不会差到哪去。
为什么要把搜索引擎放在第二位?
因为搜索引擎可以找到几乎全网的内容,一句话概括就是搜到的东西全。学会使用搜索找问题答案是一种能力,是一种方法。
如果以上方法都找不到的话,就只能向朋友网友求助了。
为什么说QQ群不是解决问题(一些非常灵活的问题除外)好办法?
一是,群里确实有高手,但是高手通常都很忙,如果一两句话能解答你的话,他们很乐意帮你解答,如果不是一两句话能说清的,他们通常会沉默;二是,群里虽然有高手,但是菜鸟也不少,与其得到一个错的结果,不如不问。
你可能要问那QQ群有什么用,我的回答是:解决灵活性问题,交流学习心得,了解他人的动态。
向身边朋友同事请教是本着求人不如求己原则下来说的,如果朋友热情并且自己知道答案的话,肯定会告诉你,及时不知道有时也会帮你找一找解决办法,还有一点是向朋友请教往往还能起到沟通感情的作用。但是有一点,大家工作都很忙,能不去麻烦别人最好还是不去麻烦。
总之,学习是个循序渐进的过程,贵在坚持,不能操之过急;因为数据分析这块涉及的内容很广,所以学习的原则要定好大的方向,然后不断扩展加深知识,“哪里不会补哪里”。
写了这么多也没给大家一点知识性的内容,但都是我个人的一点看法和经验之谈,不妥的地方请同行朋友们多多指正。
本文转载自数据控,链接: http://datakung.com/p=27
10. 数据挖掘 | 数据理解和预处理
数据挖掘 | 数据理解和预处理
小编遇到过很多人(咳咳,请不要对号入座),拿到数据后不管三七二十一,先丢到模型中去跑,管它具体什么样呢,反正“大数据”嘛,总能整出点东西来。
但就像上次说过的,“大数据”很有可能带来“大错误”!所以在数据挖掘工作开始前,认真的理解数据、检查数据,对数据进行预处理是至关重要的。
很多人说,数据准备工作真是个“体力活”,耗时耗力不说,还异常的枯燥无味。这点小编承认,建模之前的数据处理确实是平淡的,它往往不需要多高的智商,多牛的编程技巧,多么高大上的统计模型。
但是,它却能时时触发你的兴奋点,因为它需要足够的耐心和细心,稍不留神就前功尽弃。
在这次的内容里,小编首先会从“数据理解”、“变量类型”和“质量检查”三个方面进行阐述,然后会以一个自己做过的实际数据为例进行展示。
一、数据理解
拿到数据后要做的第一步就是理解数据。
什么是理解数据呢?不是简单看下有多少Excel表,有多少行,多少列,而是要结合自己的分析目标,带着具体的业务需求去看。
首先,我们需要明确数据记录的详细程度,比方说某个网站的访问量数据是以每小时为单位还是每天为单位;一份销售数据记录的是每家门店的销售额还是每个地区的总销售额。
其次,我们需要确定研究群体。研究群体的确定一定和业务目标是密切相关的。
比方说,如果我们想研究用户对产品的满意度与哪些因素有关,就应该把购买该产品的所有客户作为研究群体;如果我们想研究用户的购买行为受哪些因素影响,就应该同时考察购买人群和非购买人群,在两类人群的对比中寻找关键因素。
研究群体的确定有时也和数据的详细程度有关。
比如我们想研究“观众影评”对“电影票房”的影响,我们既可以把“每部电影”看成一个个体,研究“影评总数”对“电影总票房”的影响,也可以把“每部电影每天的票房”看成一个个体,研究“每天的影评数”对“每天的电影票房”的影响。
具体选择哪一种取决于我们手上有什么样的数据,如果只有总票房和总影评数的数据,那我们只能选择第一种;如果有更详细的数据,那就可以考虑第二种方案。
需要注意的是,这两种方案还会影响我们对于模型的选择。
例如,如果研究“每天的影评数”对“每天电影票房”的影响,那每部电影又被细分为很多天,同一部电影不同时间的票房会有较高的相似性,这就形成了一种层次结构,可以考虑使用层次模型(hierarchical model)进行分析。
最后,当我们确定了研究目标和研究群体后,我们需要逐一理解每个变量的含义。有些变量和业务目标明显无关,可以直接从研究中剔除。
有些变量虽然有意义,但是在全部样本上取值都一样,这样的变量就是冗余变量,也需要从研究中剔除。
还有一些变量具有重复的含义,如“省份名称”和“省份简称”,这时只需要保留一个就可以了。
二、变量类型
所有变量按其测量尺度可以分成两大类,一类是“分类变量”,一类是“数值变量”。不同类型的变量在处理方法和后期的模型选择上会有显著差别。
【分类变量】
分类变量又称属性变量或离散变量,它的取值往往用有限的几个类别名称就可以表示了,例如“性别”,“教育程度”,“收入水平”,“星期几”等。细分的话,分类变量又可分为两类,一类是“名义变量”,即各个类别间没有顺序和程度的差别,就像“手机系统”中ios和安卓并没有明显的好坏差别,“电影类型”中“动作片”和“科幻片”也都是一样的,说不上哪个更好或更差。
另外一类是定序变量,即不同类别之间存在有意义的排序,如“空气污染程度”可以用“差、良、优”来表示、“教育程度”可以用“小学、初中、高中、大学”来表示。
当研究的因变量是分类变量时,往往对应特定的分析方法,我们在后面的章节会陆续讲到,这里暂且不谈。
当研究中的自变量是分类变量时,也会限制模型选择的范围。有些数据挖掘模型可以直接处理分类自变量,如决策树模型;但很多数据挖掘模型不能直接处理分类自变量,如线性回归、神经网络等,因此需要将分类变量转换成数值变量。
对于定序自变量,最常用的转换方法就是按照类别程度将其直接转换成数值自变量,例如将空气污染程度 “差、良、优”转换为“1,2,3”。
对于名义自变量,最常用的转换方法就是构造0-1型哑变量。例如,对于“性别”,可以定义“1=男,0=女”。
当某个名义变量有K个类别取值时,则需要构造K-1个哑变量。例如教育程度“小学,初中,高中,大学及以上”,可以构造三个哑变量分别为:x1:1=小学,0=其它;x2:1=初中,0=其它;x3:1=高中,0=其它。当x1,x2,x3三个哑变量取值都为0时,则对应着“大学及以上”。
需要注意的是,有时候名义变量的取值太多,会生成太多的哑变量,这很容易造成模型的过度拟合。
这时可以考虑只把观测比较多的几个类别单独拿出来,而把剩下所有的类别都归为“其它”。
例如,中国一共包含56个民族,如果每个民族都生成一个哑变量就会有55个,这时我们可以只考虑设置“是否为汉族”这一个0-1哑变量。
【数值变量】
我们再来看看数值变量。数值变量就是用数值描述,并且可以直接进行代数运算的变量,如“销售收入”、“固定资本”、“评论总数”、“访问量”、“学生成绩”等等都是数值变量。
需要注意的是,用数值表示的变量不一定就是数值型变量,只有在代数运算下有意义的变量才是数值型变量。
例如财务报表的年份,上市时间等,虽然也是用数值表示的,但我们通常不将它们按照数值型变量来处理。
上面我们讲到,分类变量通常要转换成数值型变量,其实有些时候,数值型变量也需要转换成分类变量,这就用到了“数据分箱”的方法。
为什么要进行数据分箱呢?通常有以下几个原因:
1. 数据的测量可能存在一定误差,没有那么准确,因此按照取值范围转换成不同类别是一个有效的平滑方法;
2.有些算法,如决策树模型,虽然可以处理数值型变量,但是当该变量有大量不重复的取值时,使用大于、小于、等于这些运算符时会考虑很多的情况,因此效率会很低,数据分箱的方法能很好的提高算法效率;
3.有些模型算法只能处理分类型自变量(如关联规则),因此也需要将数值变量进行分箱处理。
数据分箱后,可以使用每个分箱内的均值、中位数、临界值等作为这个类别的代表值,也可以直接将不同取值范围定义成不同的类别,如:将污染程度划分后定义为“低、中、高”等。
那如何进行数据分箱呢?常用的数据分箱的方法有:等宽分箱(将变量的取值范围划分成等宽的几个区间)、等频分箱(按照变量取值的分位数进行划分)、基于k均值聚类的分箱(将所有数据进行k均值聚类,所得的不同类别即为不同的分箱),还有一些有监督分箱方法,如:使分箱后的结果达到最小熵或最小描述长度等。这里不详细介绍了,有兴趣的童鞋可以自行网络。
三、质量检查
对数据中的各个变量有了初步了解后,我们还需要对数据进行严格的质量检查,如果数据质量不过关,还需要进行数据的清洗或修补工作。
一般来说,质量检查包括检查每个变量的缺失程度以及取值范围的合理性。
【缺失检查】
原始数据中经常会存在各种各样的缺失现象。
有些指标的缺失是合理的,例如顾客只有使用过某个产品才能对这个产品的满意度进行评价,一笔贷款的抵押物中只有存在房地产,才会记录相应的房地产的价值情况等。
像这种允许缺失的变量是最难搞的,因为我们很难判断它的缺失是合理的,还是由于漏报造成的。
但无论哪种情况,如果变量的缺失率过高,都会影响数据的整体质量,因为数据所反映的信息实在太少,很难从中挖掘到有用的东西。
对于不允许缺失的变量来说,如果存在缺失情况,就必须进行相应的处理。如果一个变量的缺失程度非常大,比方说达到了70%,那就考虑直接踢掉吧,估计没救了。
如果缺失比例还可以接受的话,可以尝试用缺失值插补的方法进行补救。
插补的目的是使插补值能最大可能的接近其真实的取值,所以如果可以从其他途径得到变量的真实值,那一定优先选择这种方法。
比如某个公司的财务信息中缺失了“最终控制人类型”和“是否国家控股”这两个取值,这些可以通过网上的公开信息得到真实值;再比如缺失了“净利润率”这个指标的取值,但是却有“净利润”和“总收入”的取值,那就可以通过变量间的关系得到相应的缺失值,即净利润率=净利润/总收入。
当然,更多的时候,我们无法得到缺失值的真实信息,这时就只能借用已有的数据来进行插补了。
对数值变量来说,可以用已观测值的均值、中位数来插补缺失值;对分类型变量来说,可以用已观测数据中出现比例最高的类别取值来进行插补。
这些方法操作起来非常简单,但它们都是对所有缺失值赋予了相同的取值,所以当缺失比例较大时,可能会扭曲被插补变量与其余变量的关系。
更复杂一点的,我们可以选择模型插补方法,即针对被插补变量和其它自变量之间的关系建立统计模型(如回归、决策树等),将模型预测值作为插补值。
如何处理缺失值是一个很大的研究课题,我们这里只是介绍了最简单可行的方法,有兴趣的读者可以参阅Little和Rubin 2002年的专著“Statistical Analysis with Missing Data”。
【变量取值合理性检查】
除了缺失外,我们还要考察每个变量的取值合理性。每个变量都会有自己的取值范围,比如“用户访问量”、“下载次数”一定是非负的,“投资收益率”一定在0~1之间。通过判断变量的取值是否超出它应有的取值范围,可以简单的对异常值进行甄别。
除了根据变量的取值范围来检查变量质量外,还可以根据变量之间的相互关系进行判断。例如一家公司的“净利润率”不应该大于“总利润率”等。
只有通过了各个方面检测的数据才是一份高质量的数据,才有可能带来有价值的模型结果。
四、实例分析——电影票房分析
最后,我们给出一个实例分析。在这个例子中,我们的目标是研究电影哪些方面的特征对电影票房有影响。
我们有两方面的数据,一是描述电影特征的数据,二是描述电影票房的数据。
由于我们关注的是北美的票房市场,所以描述电影特征的数据可以从IMDB网站得到,它是一个关于演员、电影、电视节目、电视明星和电影制作的在线数据库,里面可以找到每部上映电影的众多信息;电影每天的票房数据可以从美国权威的票房网站Box Office Mojo得到,上面记录了每部电影上映期间内每天的票房数据。
我们将从IMDB得到的数据放到“movieinfor.csv”文件中,将从Box Office Mojo中得到的数据放到“boxoffice.csv”文件中。
这里,我们以2012年北美票房市场最高的前100部电影为例进行讲解。下表给出了这两个数据集中包含的所有变量以及相应的解释。
在这两个数据中,movieinfor.csv数据的记录是精确到每部电影的,而boxoffice.csv数据精确到了每部电影中每天的票房数据,是精确到天的。上表中给出的变量中,除了电影名称和ID外,“电影类型”“MPAA评级”(美国电影协会对电影的评级)和“星期几”是分类型变量;“放映时长”、“制作预算”、“电影每天的票房”和“每天放映的影院数”是数值型变量。两份数据都不存在缺失值。
我们首先对两个数据集分别进行变量预处理,然后再根据电影ID将两个数据整合到一起。下面给出了每个变量的处理方法:
【电影类型】
电影类型是一个分类变量。在这个变量中我们发现每部电影都不止一个类型,例如“The Dark Knight Rises”这部电影就有“Action”、“Crime”和“Thriller”三个类型,并且它们以“|”为分隔符写在了一起。
同时,不同电影之间可能有相同的类型,也可能有不同的类型,例如票房排名第二的电影“Skyfall”,它的类型是“Action |Adventure |Thriller”。
因此,我们首先需要做的是把每部电影所属的类型逐一取出来,然后将所有出现过的类型分别形成一个0-1哑变量,如果这部电影在某个类型上出现了,则相应变量的取值就是1,否则是0.
通过上面一步,我们知道这个数据集中出现过的所有电影类型一共有11个。
那是不是按照之前所讲的,应该把它转换为10个哑变量呢?这里需要注意的是,所有的电影类型之间并不是互斥的(即有了action,就不能有其他的类型),所以我们无需因为共线性的原因去掉其中一个。
也就是说,如果把每一个电影类型单独作为一个独立的变量,可以衍生出11个新的0-1变量,这完全没有问题。但11个变量未免有点过多,所以我们根据不同电影类型的频数分布情况,只把出现次数明显较多的类型单独拿出来,最终生成了6个0-1型变量,分别为Adventure,Fantasy,Comedy,Action,Animation,Others。
【MPAA评级】
对于这个分类型变量,我们首先可以看一下数据中它所包含的全部取值,发现一共有“PG”,“PG-13”和“R”三个。
和上面的电影类型(Genre)不同,对于一部电影而言,它只能有一个MPAA取值。因此,在MPAA变量中,我们需要选择一个作为基准,将另外两个构造成哑变量。
例如,我们以“PG”为基准,构造的两个哑变量分别为PG13和R,如果这两个哑变量的取值同时为0,那就相当于电影的MPAA评级是PG。
【放映当天是星期几】
这个变量同MPAA评级一样,每部电影只能有一个取值。
如果它在星期一到星期日上都有取值的话,我们可以衍生出6个0-1型哑变量。
因为这里我们更关注周末和非周末对电影票房的影响,而并不关注具体是哪一天,所以我们将其进一步概括成一个变量,即“是否是周末”。
【放映时长和制作预算】
放映时长和制作预算这两个变量都是取值大于0的数值型变量,我们可以分别检查它们的取值是否在合理的范围内,然后直接保留它们的数值信息。
同时,对“制作预算”而言,假设我们这里关心的不是制作预算的具体数值,而是“小成本电影”和“大成本电影”的票房差异,那我们就可以将这个数值型变量进行分箱处理,转换为一个0-1型的分类变量,即 “是否为小成本电影”。
在决定按照什么标准来划分是否为小成本电影时,我们根据之前文献里的研究结果,将制作预算在100 million以下的电影看成是小成本电影。
上述所有变量的处理过程都可以使用R中最基本的语句(table,rep,which等)完成,由于篇幅限制,小编这里就不列出详细的code了,大家感兴趣的话,可以阅读狗熊会的“R语千寻”系列(戳这里),相信会在R语言的学习上受到更多启发。
最后,我们将所有新生成的变量按照电影ID整合到一起,就大功告成啦。
五、总结
最后总结一下,小编在这次内容中向大家介绍了拿到数据后的数据理解和预处理工作,内容虽然不难,但同样需要我们认真对待。就好像生活一样,只有踏踏实实走好前面的路,才有可能迎接后面的高潮迭起!