分析数据构建数据特征,将数据转化为特征样本集合;
明确样本与标签(Label),划分训练集与测试集;
比较不同模型在相同的训练集中的效果,或是相同模型的不同参数在同一个训练集中拟合的效果;
在验证样本集中验证模型的准确度,通过相关的结果评估公式选择表现最好同时没有过拟合的模型。
线性模型
回归就是使用若干已知的样本对公式参数的估计。,这里的回归函数可以是任意函数,其中线性回归的模型如下所示:
其中,是训练样本集合中样本的各个维度,a,b,c,d是模型中的未知参数。
通过对线性模型的训练,可以较好的得到模型中各个变量之间的关系。
常用的线性模型有:线性回归、多项式回归、岭回归、套索回归等等,下面为大家简单介绍。
线性回归(Linear Regression)
自变量和因变量之间必须满足线性关系。
多元回归存在多重共线性,自相关性和异方差性。
线性回归对异常值非常敏感。异常值会严重影响回归线和最终的预测值。
多重共线性会增加系数估计的方差,并且使得估计对模型中的微小变化非常敏感。结果是系数估计不稳定。
在多个自变量的情况下,我们可以采用正向选择、向后消除和逐步选择的方法来选择最重要的自变量。
多项式回归(Polynomial Regression)
对应一个回归方程,如果自变量的指数大于 1,则它就是多项式回归方程:
图 | 欠拟合(红) / 正常拟合(蓝) / 过拟合(绿)
尤其要注意曲线的两端,看看这些形状和趋势是否有意义。更高的多项式可以产生怪异的推断结果。
逐步回归(Stepwise Regression)
当我们处理多个独立变量时,就使用逐步回归。在这种技术中,独立变量的选择是借助于自动过程来完成的,不涉及人工干预。
逐步回归的做法是观察统计值,例如 R-square、t-stats、AIC 指标来辨别重要的变量。基于特定标准,通过增加/删除协变量来逐步拟合回归模型。常见的逐步回归方法如下所示:
标准的逐步回归做两件事,每一步中增加或移除自变量。
前向选择从模型中最重要的自变量开始,然后每一步中增加变量。
反向消除从模型所有的自变量开始,然后每一步中移除最小显著变量。
这种建模技术的目的是通过使用最少的自变量在得到最大的预测能力。它也是处理高维数据集的方法之一。
岭回归(Ridge Regression)
岭回归是当数据遭受多重共线性(独立变量高度相关)时使用的一种技术。在多重共线性中,即使最小二乘估计是无偏差的,但是方差很大,使得观察值远离真实值。岭回归通过给回归估计中增加额外的偏差度,能够有效减少方差。
在线性方程中,预测误差可以分解为两个子分量。首先是由于偏颇,其次是由于方差。预测误差可能由于这两个或两个分量中的任何一个而发生。这里将讨论由于方差引起的误差。岭回归通过收缩参数 λ 解决了多重共线性问题。请看下面的方程式:
上面这个公式中包含两项。第一个是最小平方项,第二个是系数 β 的平方和项,前面乘以收缩参数 λ。增加第二项的目的是为了缩小系数 β 的幅值以减小方差。
划重点:
除非不假定正态性,岭回归与最小二乘回归的所有假设是一样的。
岭回归缩小了系数的值,但没有达到零,这表明它没有特征选择特征。
这是一个正则化方法,使用了 L2 正则化。
套索回归(Lasso Regression)
类似于岭回归,套索回归惩罚的是回归系数的绝对值。此外,它能够减少变异性和提高线性回归模型的准确性。请看下面的方程式:
套索回归不同于岭回归,惩罚函数它使用的是系数的绝对值之和,而不是平方。这导致惩罚项(或等价于约束估计的绝对值之和),使得一些回归系数估计恰好为零。施加的惩罚越大,估计就越接近零。实现从 n 个变量中进行选择。
划重点:
除非不假定正态性,套索回归与最小二乘回归的所有假设是一样的。
套索回归将系数收缩到零(正好为零),有助于特征选择。
这是一个正则化方法,使用了 L1 正则化。
如果一组自变量高度相关,那么套索回归只会选择其中一个,而将其余的缩小为零。
弹性回归(ElasticNet Regression)
弹性回归是岭回归和套索回归的混合技术,它同时使用 L2 和 L1 正则化。当有多个相关的特征时,弹性网络是有用的。套索回归很可能随机选择其中一个,而弹性回归很可能都会选择:
权衡岭回归和套索回归的一个优点是它让弹性回归继承了一些岭回归在旋转状态下的稳定性。
划重点:
在高度相关变量的情况下,它支持群体效应。
它对所选变量的数目没有限制
它具有两个收缩因子 和 。
非线性模型
在之前的文章中介绍过时序统计学模型(AR、ARMA、ARIMA)模型,建模的思路源于针对当前观测点的最近P个点和最近Q个点的误差值进行建模,结构如下:
在利用相应的数学工具进行求解,具体的原理文章,请见《TS技术课堂 | 时间序列统计分析》
而在现实背景中,很多数据并不是严格按照线性关系刻画的。为了兼顾模型的可解释性,很多工作将非线性的数据进行各种变换(幂函数变换、倒数变换、指数变换、对数变换、Box-Cax等)将一个非线性问题转换成一个呈现线性关系的问题,再利用相应的模型进行解决。
常见的可以进行非线性回归预测的机器学习算法模型有:逻辑回归,树回归,神经网络模型等等。下面为大家简单介绍。
逻辑回归
逻辑回归用来计算事件成功(Success)或者失败(Failure)的概率。当因变量是二进制(0/1,True/False,Yes/No)时,应该使用逻辑回归。这里,Y 的取值范围为 [0,1],它可以由下列等式来表示:
其中,p 是事件发生的概率。你可能会有这样的疑问:为什么在等式中使用对数 log 呢?因为我们这里使用的二项分布(因变量),所以需要选择一个合适的激活函数能够将输出映射到 [0,1] 之间,Logit 函数满足要求。在上面的等式中,通过使用最大似然估计来得到最佳的参数。
划重点:
逻辑回归广泛用于分类问题。
逻辑回归不要求因变量和自变量之间是线性关系,它可以处理多类型关系,因为它对预测输出进行了非线性 log 变换。
为了避免过拟合和欠拟合,我们应该涵盖所有有用的变量。实际中确保这种情况的一个好的做法是使用逐步筛选的方法来估计逻辑回归。
训练样本数量越大越好,因为如果样本数量少,最大似然估计的效果就会比最小二乘法差。
自变量不应相互关联,即不存在多重共线性。然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。
如果因变量的值是序数,则称之为序数逻辑回归。
如果因变量是多类别的,则称之为多元逻辑回归。
回归树
分类与回归树(Classification and Regression Tree, CART)是一种经典的决策树,可以用来处理涉及连续数据的分类或者回归任务。其主要思想是将自变量的取值空间切分为若干个碎块,并假设这个空间碎块内的所有样本的因变量取值接近(甚至相同)。
假设已经将空间划分成M个区域,并且在每个区域内用常量!!!!对对应的区块进行建模:
优化的目标函数采用误差平方和的极小值作为衡量标准,推导得到最佳的,其恰好是在区域中的平均值:
从所有的数据开始,考虑一个分裂变量j和分裂点s,并定义一对半平面:
然后搜索分裂变量j和分裂点s,它求解:
对于任意的j和s,内部极小化可以用下式求解:
找到最好的分裂,数据从而可以划分成两个结果区域。每个区域再不断重复分裂过程,直到最小绝对偏差(LAD)或者最小二乘偏差(LSD)最小。
后来很多树模型,在回归树的基础上,结合集成学习,更进一步提升了拟合能力,包括我们尝尝在竞赛中看到的分类任务大杀器GBDT/XGBoost等。
神经网络模型
深度学习方法近年来逐渐替代机器学习方法,成为人工智能与数据分析的主流,因为其可以构建多层深层的结构,实现相比线性方法更加复杂的拟合方式,包括:循环神经网络/卷积神经网络/基于注意力机制的模型等等。
更多精彩推荐
☞GAN模型生成山水画,骗过半数观察者,普林斯顿大学本科生出品
☞AWS新品直指微软,它会是改变数据库的“Game Changer”吗?
☞常年“盘踞”数据库前五的 MongoDB,在中国有哪些新动向?
☞开发者实测 M1 芯片报告:除了大型应用程序启动慢点,整体性能优秀
点分享 点点赞 点在看