分享

数据挖掘中的统计学方法 - 研发月报

 GideonHuang 2009-11-12

数据挖掘中的统计学方法

/腾讯研究院 数据分析研究室 noahchen

统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析、总结,并进行推断和预测,为相关决策提供依据和参考。统计分析技术几经广泛地应用到一些科学数据(如物理学、医学和生物学等的实验数据)以及经济或社会科学数据。

数据挖掘是从海量数据中提取隐含在其中的有用信息和知识的过程。数据挖掘与统计学息息相关的,统计学在数据挖掘科学中发挥作用。本文主要介绍在数据挖掘中比较常用到的统计学方法。

回归:回归分析是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法。一般来说,回归分析是通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好地拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。

回归分析有多种形式,如线性、多元、多项式等。这里只介绍logistic回归。 它比较常用的情形是探索因素,根据因素预测某事件发生的概率。例如,想探讨某产品用户流失的因素,可以选择两组人群,一组是用户非流失组,一组流失组,两组人群肯定有不同的行为特征。这里的因变量就是是否流失,即,为二分类变量,自变量就可以包括很多,例如年龄、性别、付费渠道、产品使用情况等。通过logistic回归分析,就可以大致了解到底哪些因素是流失因素,比如说由于付费渠道不方便而导致用户的流失,同时也可以用该回归模型预测哪些用户可能会流失。

仍以产品用户流失为例,因变量Y,为分类变量取值为两个可能之一,用10表示(1表示流失,0表示未流失),假定h个样本,出现流失现象的概率记为,那么能用Logistic模型描述

           

其中是研究因素无关的常数项,是模型的参数,称为回归系数,t为影响因子的个数,h为样本数,当t=1时,模型如下图所示。

      

                1   Lohistic 回归函数的一般形式

所谓建立Lohistic回归方程就是求出,。最大似然法用于估计

得到好的模型后,我们就可以用这个模型根据用户的行为特征和属性,代入方程,求得该用户流失的概率,也可以分析用户流失的因素。

混合效应模型:混合效应模型应用于分组数据、多层数据、重复测量数据等。通常,根据一个或多个因素来描述分组数据中一个响应变量和一些变量之间的关系。

     线性混合效应模型,是一般线性模型的扩展,一般表现为:

                  

其中yX意义同一般线性模型,Z为响应的设计矩阵,随机误差向量并不要求一般线性模型独立、等方差的假设,期望为0、方差分别为GR,因此y的方差为.GR必须选择其协方差结构,常用的结构有无结构、自回归、复合对称等。选择协方差矩阵的方法是在相同的结构模型下,选择几个不同结构的协方差矩阵,从中选取似然比统计量(-2Log Likelihood)、Akaikes 信息量标准及Schwarts Bayesian标准较小的一个,当这些统计量较接近时,则选取含参数个数最少的一个。通常以AIC为主要判断指标。

传统的分析方法在比较某因素均数差异时,往往只考虑了固定效应,而忽略了随机效应的存在,造成信息损失,降低了检验效能。而混合效应模型模型中同时包含了固定效应和随机效应,也因此而得名。混合效应模型还包含广义线性混合效应等非线性模型。
   
混合效应模型能用在哪里呢?举个简单的例子,比如某款新软件的推广,现在有多个推广的渠道,混合效应模型可以评价各个推广渠道的优劣,选择最好的推广策略,节省推广成本,提高推广效率。

可以随机抽取部分用户,将用户随机分成多个组,每个组运用不同的推广策略,还可以分时段重复观测各个分组,若我们关心的指标有n个,比如用户是否安装,是否当日使用之类的,而组别和观察时间为固定效应,受测者为随机效应,那么建立模型 

                

yn*1向量,通过参数估计,得到模型,若模型合适,我们可以做进一步分析,如果不行,可考虑用广义线性等非线性模型。假设模型合适,我们就可以通过模型的固定效应方差分析结果来判断哪些因素的差别有统计学意义,通过模型固定效应解,可以分析出不同推广策略的在不同观察时间的优劣。

    混合效应线性模型可以在所选择的协方差结构下,估计固定效应及随机效应参数,还可以估计随机参数及随机误差的协方差阵GR,所以应用范围广,即使常规分析模型,亦可作为其特例来应用。

时间序列分析:时间序列是按时间顺序的一组数字序列。时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展。经典的统计分析都假定数据序列具有独立性,而时间序列分析则侧重研究数据序列的互相依赖关系。

时间序列分析主要用于:1.系统描述,根据对系统进行观测得到的时间序列数据,用曲线拟合方法对系统进行客观的描述;2.预测未来,一般用ARMA模型拟合时间序列,预测该时间序列未来值;3.决策和控制,根据时间序列模型可调整输入变量使系统发展过程保持在目标值上,即预测到过程要偏离目标时便可进行必要的控制。

我们可以用时间序列来预测产品的kpi,比如我们已知该某个产品20081月到20098月的装机量(如图2),要预测该产品截止到200912月的装机量。我们可以直接用总装机量作为时间序列预测的预测目标;也可以先分别预测各渠道装机量的值,然后再合成整体装机量的值。因为各渠道发展状况会有所不同,使用细分预测各渠道的方法能更好地看清和把握业务状况,对业务的指导意义也更强。

                    

 

                    某产品20081月到20098月的月装机量

在时间序列中,ARMA模型是最常使用的平稳序列拟合模型,该模型的应用,要先对时间序列进行预处理,并判断是否符合平稳非白噪声后,才可运用。ARMA 模型(Auto-Regressive and Moving Average Model)是研究时间序列的重要方法,由自回归模型(简称AR模型)与滑动平均模型(简称MA模型)为基础混合构成。

将预测指标随时间推移而形成的数据序列看作是一个随机序列,这组随机变量所具有的依存关系体现着原始数据在时间上的延续性。一方面,影响因素的影响,另一方面,又有自身变动规律,假定影响因素为,由回归分析,

  

其中Y是预测对象的观测值, e为误差。作为预测对象受到自身变化的影响,其规律可由下式体现,

  

误差项在不同时期具有依存关系,由下式表示,

  

由此,获得ARMA模型表达式:  

实际上,在自然界中绝大部分序列都是非平稳的,因而对非平稳序列的分析更普遍、更重要,分析的方法也更多。序列的非平稳有可能是有确定性的因素引起,这种情况我们可以使用趋势分析、季节效应分析等。但是确定性分析的方法丢失了很多随机性的信息,随机时序分析法的发展弥补了这方面的不足。根据不同的情况,有多种模型可以应用,像自回归移动平均模型ARIMA,残差自回归模型Auto-Regressive,自回归条件异方差模型ARCH等。

生存分析:生存分析就是对收集来的生存数据进行处理,生存数据包括生存时间以及其影响因素。此时,生存是一个广义的概念,是某事件某状态的持续。生存分析是研究多种影响因素与生存时间有无联系以及联系程度的大小,是一种既考虑时间又考虑结果的统计方法,并可充分利用截尾数据提供的不完全信息。生存分析起初用于预测病人经过治疗后能或至少可以生存到时间t的概率。流行的方法包括Kaplan-Meier生存估计、Cox比例风险回归模型以及它们的扩展。

我们可以对使用某产品的用户进行生存分析,得出用户流失的危险因子或预测用户流失的概率, 制定相应策略, 从而可有效地延长用户的存活时间, 增加用户的忠诚度, 以便给我们带来更大的经济效益。

可以以某个时间段内(比如820831)使用我们产品的用户为观察样本,在某个时间段内(比如一年)按一定的时间间隔记录用户是否仍未流失,来进行生存分析。

首先对观察流失的时间进行排序:为在时刻流失的个体数;为在时刻面临危险的个体数,则在时刻危险函数的估计为:,从而得到生存函数在时刻的Kaplan-Meier估计为:

可以得到

               

                   Kaplan-Meier估计得到的生存函数

在此基础上,可以用参数估计的方法拟合出生存率的分布曲线。

                 

               

                        生存率的分布曲线                         

可以运用Cox比例风险回归模型深入分析用户流失的因素。

假设在这些用户中,我们知道他们的其他一些信息,比如年龄、地区之类的一些信息或其他行为特征,可以用Cox比例风险回归模型分析这些不同会不会是导致用户流失的危险因子。

Cox比例风险回归模型的一般形式为 

式中表示时刻t暴露于危险因素和协同状态的风险函数,为基线风险函数,表示危险因素状态处于(00...0)的风险函数,可由

Kaplan-Meier法的生存曲线来估计;

为回归系数。相对危险度(RR),可根据回归系数计算,表示不同暴露程度的两组流失率之比。

进过参数估计,我们得到模型方程,同时也可得到哪些危险因子的RR比较高,将这些因素确定为用户流失的危险因素,采取相应的措施,尽量防止用户的流失。

总结

在数据挖掘中用到的统计方法很多,比如主成分分析、判别分析、方差分析、聚类分析等等,这里就不一一详述。

数据挖掘来源于统计分析,而又不同于统计分析。数据挖掘不是为了替代传统的统计分析技术,相反,数据挖掘是统计分析方法的扩展和延伸。统计分析和数据挖掘是相辅相成的过程,两者的合理配合是数据挖掘成功的重要条件

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多