数据科学家常用的10项统计技术

正如乔希·威尔斯(Josh Wills)所说的那样:“数据科学家是一个比任何程序员都要好的统计学家,而且比任何统计学家都更擅长编程。”,数据科学家正是站在编程,统计学和批判性思维的交叉点上。

但本人也观察到一些从软件工程师转行做数据科学家的朋友,他们虽是编程高手,但也由于不熟悉统计理论而存在盲目使用机器学习框架的情况。毕竟在工作中,往往是半知半解比一窍不通更危险,因此作者在本文中梳理10种最常用统计技术,并用最朴素的语言来讲解它们的用处:

1 - 线性回归

在统计学中,线性回归是一种通过拟合因变量和自变量之间的最佳线性关系来预测目标变量的方法。线性回归主要分为简单线性回归和多元线性回归。简单线性回归使用一个自变量,通过拟合一个最佳线性关系来预测因变量;而多元线性回归使用一个以上的自变量来预测因变量。

举个例子:我现在手上有我每个月的收入和支出数据,还有近三年来每个月出游次数,即可用回归技术来回答以下问题:

1. 我下一年的每月支出大致多少?

2. 每月收入和每月出游次数哪个更能影响每月支出?

2 - 分类

分类是一种用来将一个整体数据集分成几个类别的数据挖掘技术,使得我们可以更准确地预测和分析。分类任务种常用的技术如逻辑回归或决策树。

以逻辑回归为例,逻辑回归是一种预测分析技术,在用于描述数据时,解释一个二进制因变量与一个或多个序数、区间等变量之间的关系。逻辑回归可以检验的问题类型有:

1. 体重或吸烟对心脏患病的概率有影响吗?(患病/不患病)

2. 收入和学历对信用违约的概率有影响?(违约/不违约)

3 - 重采样方法

重采样是一种非参数统计推断方法,通过原始数据样本中重复抽样的方法。如大名鼎鼎的Bootstrapping和Cross-Validation技术均从重抽样技术处衍生。

Bootstrapping:此方法常用于计算更稳健的参数取值区间,如时间序列预测结果的取值区间,小样本数据集中的回归方程参数的取值区间等;以及用于集成算法,如bagging和随机森林算法。 它通过有放回地从原始数据集中按比例抽样后做模型/算法计算, 通过多次如此操作后对计算结果取平均以作结果。

Cross-Validation(交叉验证):是将训练数据分割成k个部分,将k-1个部分作为训练集,然后使用剩余部分作为测试集,再重复试验k次后,计算平均分并作为模型的性能估计。

4 - 子集选择

在实际应用中,常遇到与因变量/预测变量无关的自变量/特征,随便地把这些变量纳入模型会徒增模型复杂性和计算量。以下四种子集选择方法可有效解决此类难题:

最佳子集选择:对p个预测变量的所有可能组合分别使用最小二乘法进行拟合,最后在所有可能模型中选择一个最优模型。 算法分为2个阶段:(1)拟合所有包含k个预测变量的模型,其中k是模型中自变量的最高数目;(2)使用交叉验证的预测误差选择最优的单个模型。

向前逐步选择:从不含预测变量的模型开始,然后在模型中添加预测变量,直到所有预测变量都在模型中。 而每次只将能够最大限度地提升模型效果的变量加入模型中,直到所有的预测变量都包含在模型中。

向后逐步选择:从模型中的p个预测变量开始迭代,每次都去除一个作用最小的预测变量。

混合方法:混合方法遵循向前逐步选择的步骤,但是在加入新变量的同时,也移除了不能提升模型拟合效果的变量。

5 -正则化技术

特征正则化技术是一个涉及所有p个预测变量的模型,通过对损失函数(即优化目标)加入惩罚项,使得训练求解参数过程中会考虑到系数的大小,通过设置缩减系数(惩罚系数),会使得影响较小的特征的系数衰减到0,只保留重要的特征。常用的缩减系数方法有Lasso,岭回归。

岭回归(Ridge regression):一种专用于处理存在预测变量共线问题的有偏估计回归方法,实质上是一种改良的最小二乘估计法,它改善了最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数的缺点,是一种更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。

岭回归有一个缺点; 它包含了模型中的所有p预测因子。 惩罚系数使预测因子接近于零,但不完全为零。 这对于预测的准确性影响不大,但这个缺点可能使模型更难以解释结果。 而Lasso克服了这个缺点,并且能够迫使一些系数足够小而变为零。

6 - 降维

降维是将估计p+1个因子简化为m+1个因子,其中m

主成分回归是大组变量中导出低维特征集合的方法。它的主要做法是,从数据中选择排在前面的几个主成分,然后使用这些主成分进行回归,达到降维的目的。

我们上面描述的PCR方法能够确定最能代表预测因子X的线性组合。 这些组合(方向)以无监督的方式被识别,因为Y不用于确定主成分方向。 也就是说,Y不监督主成分的筛选识别,因此不能保证最能解释预测因子的方向对于预测响应是最好的(尽管这通常是假定的)。 偏最小二乘法(PLS)是PCR的有监督替代方法。 与PCR一样,PLS也是一种降维方法,它首先识别出一组新的特征,这些特征是原始特征的线性组合,然后通过最小二乘法对新的M特征拟合线性模型。 然而,与PCR不同的是,PLS利用响应变量来识别新的特征。

7 - 非线性模型

在统计学中,非线性回归是回归分析的一种形式。其中观测数据是通过模型参数和自变量的非线性组合函数建模。 数据通过逐次逼近的方法来拟合的。 以下是一些处理非线性模型的重要技巧:

如果实数域上的某个函数可以用半开区间上的指示函数的有限线性组合来表示,那么这个函数就是阶跃函数,即阶跃函数是有限段分段常数函数的组合。分段函数是由多个子函数定义的函数,每个子函数应用于主函数域的一段值域。 分段实际上是表达函数的一种方式,而不是函数本身的一个特征,但是可以描述函数的性质。

样条函数是由多项式分段定义的特殊函数。 在计算机图形学中,样条是指分段多项式参数曲线。 样条曲线构造简单而且能方便、准确地评估,而且可以曲线拟合和交互式曲线设计成复杂形状,因而被广泛使用。

广义加性模型是一种广义线性模型,其中线性预测器依赖于某些预测变量的未知光滑函数,用于这些光滑函数的推导。

8 - 决策树

决策树方法可以用于回归和分类问题,通过将预测空间分层或分割成若干简单区域来完成任务。常用的决策树方法如C4.5,Bagging,Boosting,随机森林等。

bagging:该方法可以理解为Bootstrap过的决策树,是一种用来提高决策树算法准确度的方法。 通过不停重抽样,尽管不能提高模型的预测力,但是能减少预测结果的方差以减少误差。

Boosting:通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数,然后使用加权平均方法对结果进行平均。 通过改变你的加权公式,你可以使用不同的权重来调整模型,为更广泛的数据提供一个更好的预测力。经典的Boosting算法有如Adaboost,梯度提升树(GBDT)。

随机森林算法:可谓是Bagging升级版——不仅仅对样本进行重抽样,还对预测变量进行重抽样的决策树集成算法。

9 - 支持向量机

支持向量机是一种属于机器学习范畴的有监督学习的预测技术。它主要是通过寻找一个超平面(例如二维中的线,三维中的平面或者N维中的N-1平面)来把两类点和最大边界区分开来。SVM是一个有约束的优化问题,其中边界最大化受到数据点分布的约束。在一个边上“支持”这个超平面的数据点被称为支持向量。在上图中,实心的蓝色圆形和两个实心的方形就是支持向量。当遇到两类数据不可线性分解的时候,这些数据点可以投影到更高维度的空间使得它们可以被线性分解。当涉及到有多个类的问题的时候,我们可以把这些类分为一对一或者一对多的二元分类问题。

10 - 无监督学习

上面我们谈的都是有监督学习,它们的使用前提是需要有已知的数据组别背景资料和提供与这些数据组别相对应的算法。但另一系列的方法可以在数据组别/类型都是未知的情况下使用。它们就是无监督学习。聚类就是无监督学习的一个例子:它可以把不同的数据集组成密切相关的数据组。下面就是一些使用得比较广泛的无监督学习算法:

k-means聚类:根据聚类中心的距离将数据划分为k个不同的簇。

层次聚类(Hierarchical clustering):层次聚类是通过创建一个聚类树来创建一个具有多层次的聚群。

文章来源:“统计译文”,版权归作者所有

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171215B02U8Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券