电子商务价格分析预测

电子商务模式,是一个连接线上用户和线下商家的多边平台商业模式.O2O 商业模式将实体经济与线上资源融合在一起,使网络成为实体经济延伸到虚拟世界的渠道;线下商业可以到线上挖掘和吸引客源,而消费者可以在线上筛选商品和服务并完成支付。这些由用户创造的海量数据远远超越了目前人力所能处理的范畴.庞大的数据量使得数据过载、数据冗余、数据捕获成本快速增长、数据价值不易获得成为电子商务面临的新问题.根据相关统计显示,如今世界已经进入到大数据时代,电子商务中用户数据每年增长约60%,企业平均捕获其中的25%~30%,但数据的利用一般不足其5%,用户数据作为O2O 电商核心资源的商业价值远未被挖掘。
1.2. 课题的意义:
在当前的环境下,电商卖家往往因为把握不住市场的价格规律而只能获得较少的收益,具体体现在一方面卖家不知道如何对商品进行合理的定价,虽然销量高,但是价格较低,因而盈利较少,价格过高的会影响销量,最终获得的收益也不高;另一方面,卖家在进行进货时,不知道哪些商品可以为他们带来高的销售利润,导致进的货卖不出去和商品挤压的现象。基于此,本课题对大数据环境下用户购买商品的数据进行了挖掘及应用分析,一方面希望综合卖家的店铺等级,商品的价格区间和商品自身的评论好坏来给出卖家一个相对合理的价格定位,为卖家带来收益;另一方面,希望通过对市场大趋势下的价格分析,找出收益高的产品为商家推荐。
2.数据、方法、工具介绍
2.1.所运用的分析方法如下
(1).作品所采用的数据:电商企业运营数据。
(2).作品所运用的分析方法:基于情感词典的情感分析、决策树回归算法。
(3).数据挖掘工具:官方大数据挖掘平台、python 算法代码。
2.2.分析方案设计
(1)对数据进行预处理,包括数据清洗,缺省值填充,数据选择,数据变
换,数据集成。处理过程中需要将价格和店铺等级按照一定的区间分为几类便于之后数据挖掘的进行。
(2)对预处理后的数据进行情感分析,找出用户评价的规律,并且按照用
户评论的等级,将商品划分为5 个区间,便于接下来的工作进行。
(3)对全部商品利用决策树算法进行销售额预测,并观察规律。
(4)选取某个指定品牌,对此品牌里的每一件商品结合不同卖家的定价和
销售额的关系,给与可以使本商家可以获得较高利润的定价。
(5)按照店铺等级、产品评价等级、价格通过决策树算法建立商品收益分
类模型,通过模型可以预测产品在给定店铺等级及产品评价等级时,产品采取的不同定价方案的收益,从而帮助商户选择收益较高的定价方案。
3.1.数据预处理:
3.1.1 数据预处理概念:
高质量的决策必须依赖于高质量的数据,但是初始数据中存在部分的脏数据,例如数据的不完整(感兴趣的属性没有),含噪声(数据中存在着错误、或异常(偏离期望值)的数据),不一致(数据内含出现不一致的情况)。
3.1.2 数据预处理方法:
(1)数据清洗:数据清洗是清除错误和不一致数据的过程,当然,数据清洗不是简单的用更新数据记录。在数据挖掘过程中,数据清洗是第一步骤,即对数据进行预处理的过程。数据清洗的任务是过滤或者修改那些不符合要求的数据。数据是不完整的、有噪声和不一致的。数据清理过程试图填充缺失的值,光滑噪声并识别离群点,并纠正数据中的不一致。数据清洗的目的是为挖掘提供准确而有效的数据,提高挖掘效率。
(2)数据缺失值填充:数据中有大量缺失值的属性,我们通常采取的措施是直接删除,对于比较重要的属性,也会存在少量缺失值,需要将数据补充完整后进行一系列的数据挖掘。针对这两种不完整的数据特征,在数据清洗时采取了以下两种方式对数据填补:将缺失的属性值用同一个常数替换,如“NULL”。这种方式用于处理上述的第一种数据特征的数据,先用一个替换值将空值进行约束替换。处理后的数据对后期挖掘工作没有价值会选择删除。第二种则是利用该属性的最可能的值填充缺失值。对于第二种数据特征的数据,事先对每个属性进行值统计,统计其值的分布状态和频率,对该属性的所有遗漏的值均利用出现频率最高的那个值来填补。对缺失数据进行填补后,填入的值可能不正确,数据可能会存在偏置,并不是十分可靠的。然而,该方法使用了该属性已有数据的大部分信息来预测缺失值。在估计缺失值时,通过考虑该属性的值的整体分布与频率,保持该属性的整体分布状态。
(3)数据选择:在对数据进行第一步缺失值清理后,会考虑删除掉冗余属性、或者与挖掘关系不大的属性。
(4)数据集成:数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为数据挖掘提供完整的数据源。数据集成处理需要考虑以下几个问题:来自多个数据源的数据表通过相同的主键进行自然连接,各个表中的主键要相互匹配,否则不能连接。冗余问题,这是数据集成中经常发生的一个问题,所以在连接之前对各个表中字段进行人工选择,并采用自然连接的方式,防止冗余字段产生。数据值的冲突检测,来自不同数据源的属性值或许不同,所以要检查数据表中连接字段的类型和是否有相同的记录等问题。
(5)数据变换——数据变换是数据清理过程的第二步,是对数据的一个标准化的处理。大部分数据需要进行数据变换。数据变换是不同来源所得到的数据可能导致不一致,所以需要进行数据变换,构成一个适合数据挖掘决的描述形式。在项目中我们进行数据转换包含的处理内容有:
属性的数据类型转换:当属性之间的取值范围可能相差很大时,要进行数据的映射处理,映射关系可以去平方根、标准方差以及区域对应。当属性的取值类型较小时,分析数据的频率分布,然后进行数值转换,将其中字符型的属性转换为枚举型。
属性构造。根据已有的属性集构造新的属性,以帮助数据挖掘过程。很多情况下需要从原始数据中生成一些新的变量作为预测变量。
数据离散化。将连续取值的属性离散化成若干区间,来帮助消减一个连续属性的取值个数。
3.2.中文情感倾向分析
3.2.1.中文情感倾向分析介绍:
情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向。它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度。
情感倾向方向也称为情感极性。可以理解为用户对某客体表达自身观点所持的态度是支持、反对、中立,即通常所指的正面情感、负面情感、中性情感。例如“赞美”与“表扬”同为褒义词,表达正面情感,而“龌龊”与“丑陋”就是贬义词,表达负面情感。
情感倾向度是指主体对客体表达正面情感或负面情感时的强弱程度,不同的情感程度往往是通过不同的情感词或情感语气等来体现。例如:“敬爱”与“亲爱”都是表达正面情感,同为褒义词。但是“敬爱”远比“亲爱”在表达情感程度上要强烈。通常在情感倾向分析研究中,为了区分两者的程度差别,采取给每个情感词赋予不同的权值来体现。
目前,情感倾向分析的方法主要分为两类:一种是基于情感词典的方法;一种是基于机器学习的方法,如基于大规模语料库的机器学习。前者需要用到标注好的情感词典,英文的词典有很多,中文主要有知网整理的情感词典Hownet和台湾大学整理发布的NTUSD 两个情感词典,还有哈工大信息检索研究室开源的《同义词词林》可以用于情感词典的扩充。基于机器学习的方法则需要大量的人工标注的语料作为训练集,通过提取文本特征,构建分类器来实现情感的分类。
文本情感分析的分析粒度可以是词语、句子也可以是段落或篇章。段落篇章级情感分析主要是针对某个主题或事件进行倾向性判断,一般需要构建对应事件的情感词典,如电影评论的分析,需要构建电影行业自己的情感词典效果会比通用情感词典效果更好;也可以通过人工标注大量电影评论来构建分类器。句子级的情感分析大多事通过计算句子里包含的所有情感词的平均值来得到。篇章级的情感分析,也可以通过聚合篇章中所有的句子的情感倾向来计算得出。因此,针对句子级的情感倾向分析,既能解决较短文本的情感分析,同时也可以是篇章级文本情感分析的基础。本课题正是根据这一思路,设计的情感分析算法。
3.2.2 情感分析算法介绍
(1)文本切割转换
算法设计的最大分析对象为篇章,最小对象为句子,我们可以把句子视作特例——单句的篇章,故算法分析的对象为文档D。
文本切割的目的是将文本变成我们后续分析需要的格式,如句子“我今天很不高兴。”,进行文本切割后,转换成:
[(1,“我”,“r”),(2,“今天”,”t”),(3,“很”,”d”),(4,“不”,”d”),(5,“高兴”,“a”)]
选择不同的分词工具,可以获得不同的词语属性,用SCWS 分词,还可以获得每个词的IDF 值;用LTP 分词,可以获得句子的依存关系、语义角色等。这些属性对于我们后面计算句子的情感倾向都是有帮助的。
(2)情感定位
本课题基于已有的中文情感词库,构建了一张情感词表,然后对文本进行中文分词处理,将处理后得到的单词依次与预先构建好的情感词表逐个查找,若能找到,则是情感词,并读取情感极性及相应权值,否则,不是情感词,则进入下一个候选单词,直至整句话判断结束。文本的情感分析是从发现句中的情感词开始,通过情感词的倾向和倾向度,来决定句子的情感,从而决定整个文本的情感。但是我们在实际生活中会发现,否定词的修饰会使情感词语的情感极性发生改变。比如:“我今天很不高兴”,该句中“高兴”是褒义词,由于否定词“不”的修饰,使其情感极性发生了改变,转变成了负面情感。由于汉语中存在多重否定现象,即当否定词出现奇数次时,表示否定意思;当否定词出现偶数次时,表示肯定意思。单独构建了一个否定词典notDict,并设置其权值为-1,常见的否定词如:不、没、无、非、莫、弗、毋、勿、未、否、别、無、休。
另外,当程度副词修饰情感词,该情感词的情感倾向程度发生了变化。比如: “今天坐了12 个小时的车,身体极度疲惫。“疲惫”是一个贬义词,前面一个程度副词“极度”的修饰使得“疲惫”原来的情感倾向程度发生了变化,这比没有修饰之前更加强烈。因此,为了准确表达文本的情感倾向,需做相应的权值调整。中的程度副词来源于知网(HowNet),选用“情感分析用词语集(beta 版)”中的“中文程度级别词语”共219 个,蔺璜等人提出了把程度副词划分六个等级,笔者为每个程度副词定义了一个权重,被程度副词修饰后的情感词其权值应做相应调整。
(3)情感聚合
在前面说过,篇章级情感倾向通过聚合篇章中所有的句子的情感倾向来计算得出。句子级由句子中所含情感词来计算。通过前两步的操作,我们完成了句子意群的划分,同时也提出了每个意群里的情感词、否定词和程度副词。有了这些,下面我们先求出意群的情感值:
情感群—情感值 = 否定词-1 * 程度词权重 * 情感词权重
我们在实际应用中又发现,当一个句子中同时出现否定词和程度词时,由于否定词和程度词相对位置的不同,会引起情感的不同,比如:
“我很不高兴”——分词之后: 我 很 不 高兴
“我不很高兴”——分词之后: 我 不 很 高兴
可以看出,第一句话表达的是一种很强烈的负面情感,而第二句话则表达的是一种较弱的正面情感。因此,如果否定词在程度词之前,起到的是减弱的作用;如果否定词在程度词之后,则起到的是逆向情感的作用。所以我们对上述算法做了一下调整。以上是情感值的计算,至于情感倾向,首先可以通过情感值的符号来判断情感倾向是正向还是负向,若情感倾向不止正、负、中立这三种情况,还有更细的划分,则可以根据情感正负的情况,把对应的情感倾向进行汇总来表述。
上述的做法是最简单的做法,没有考虑太多句子之间的差异以及不同段落对文档的重要性。
3.3.决策树预测
3.3.1.决策树预测分析介绍
决策树是一种通过对历史数据进行测算实现对新数据进行分类和预测的算法。简单来说决策树算法就是通过对已有明确结果的历史数据进行分析,寻找数据中的特征。并以此为依据对新产生的数据结果进行预测。它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。
决策树学习也是资料探勘中一个普通的方法。在这里,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源数据库的分割进行数据测试。这个过程可以递归式的对树进行修剪。 当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。剪枝是决策树停止分支的方法之一,剪枝分预先剪枝和后剪枝两种。预先剪枝是在树的生长过程中设定一个指标,当达到该指标时就停止生长,这样做容易产生“视界局限”,就是一旦停止分支,使得节点N 成为叶节点,就断绝了其后继节点进行“好”的分支操作的任何可能性。不严格的说这些已停止的分支会误导学习算法,导致产生的树不纯度降差最大的地方过分靠近根节点。后剪枝中树首先要充分生长,直到叶节点都有最小的不纯度值为止,因而可以克服“视界局限”。然后对所有相邻的成对叶节点考虑是否消去它们,如果消去能引起令人满意的不纯度增长,那么执行消去,并令它们的公共父节点成为新的叶节点。这种“合并”叶节点的做法和节点分支的过程恰好相反,经过剪枝后叶节点常常会分布在很宽的层次上,树也变得非平衡。后剪枝技术的优点是克服了“视界局限”效应,而且无需保留部分样本用于交叉验证,所以可以充分利用全部训练集的信息。但后剪枝的计算量代价比预剪枝方法大得多,特别是在大样本集中,不过对于小样本的情况,后剪枝方法还是优于预剪枝方法的。
对于决策树,数据的准备往往是简单或者是不必要的,而且能够同时处理数据型和常规型属性,在相对短的时间内能够对大型数据源做出可行且效果良好的
结果。
3.2.2 决策树预测算法介绍
决策树既可以用于分类问题,也可以用于回归问题。决策树的优点是可读性强,分类速度快。通常采用损失函数最小化原则。我们采用的事scikit-learn 中的回归决策树(Decision TreeRegressor),主要用于回归问题。这个决策树采用的是优化的CART 决策树算法。设x1,x2…xn 代表单个样本的n 个属性,y 表示所属类别。CART 算法通过递归的方式将n 维的空间划分为不重叠的矩形。划分步骤大致如下(1)选一个自变量xi,再选取xi 的一个值vi,vi 把N 维空间划分为两部分,一部分的所有点都满足xi<=vi,另一部分的所有点都满足xi>vi,对非连续变量来说属性值的取值只有两个,即等于该值或不等于该值。(2)递归处理,将上面得到的两部分按步骤(1)重新选取一个属性继续划分,直到把整个n 维空间都划分完。在划分时候有一个问题,它是按照什么标准来划分的 ?
对于一个变量属性来说,它的划分点是一对连续变量属性值的中点。假设m 个样本的集合一个属性有m 个连续的值,那么则会有m-1 个分裂点,每个分裂点为相邻两个连续值的均值。每个属性的划分按照能减少的杂质的量来进行排序,而杂质的减少量定义为划分前的杂质减 去划分后的每个节点的杂质量划分所占比率之和。而杂质度量方法常用Gini 指标,假设一个样本共有C 类,那么 一个节点A 的Gini 不纯度可定义为其中Pi 表示属于i 类的概率,当Gini(A)=0 时,所有样本属于同类,所有类在节点中以等概率出现时,Gini(A)最大化,此时C(C-1)/2。有了上述理论基础,递归划分过程是这样的:如果当前节点的所有样本都不属于同一类或者只剩下一个样本,那么此节点为非叶子节点,所以会尝试样本的每个属性以及每个属性对应的分裂点,尝试找到杂质变量最大 的一个划分,该属性划分的子树即为最优分支。
4.具体实施与结果展示
4.1.数据预处理:
(1)数据清洗:本次研究的是某一个商品用户评价的好坏,对应的店铺等级的高低,和价格的高低与此商品销售额之间的关系,只有销售数量大于0 才对本次研究有意义,所以将数据中销售数量大于0 的商品筛选出来。同时,用户的评论列表里可能存在部分过短的评论信息,经过调查研究,我们发现在8 个字以上的评论信息为有效的评论信息,故以此作为一句筛选用户的评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值