数值预估方法总结
1,线性回归(Linear Regression)
首先结合经验,数据分析和概率分布选择一个合适的函数表达式,通过拟合处理好的训练集寻找自变量(X)与因变量(Y)之间的隐性表达。
a) 普通线性回归
如果因变量(Y)服从正态分布。比如根据身高(统计得出身高对薪资有一定影响),年龄,学历,地区等信息预测年薪,可以选择普通多元线性回归,以基础的二元线性回归为例:
自变量为X1、X2,当特征较多时,可以扩展这个表达式。b0,b1,b2为回归系数,普通线性回归一般采用最小二乘解(LSE)来计算出对应的回归系数,这样就可以输入因变量计算出Y值。
衡量普通线性回归的指标一般采用MSE(均方误差):数值越小,拟合误差越小。R2:数值越接近1,拟合程度越高。
b) 广义线性回归
在因变量(Y)不满足普通线性回归正态分布的假设时,可以结合Y的分布和对应的概率密度函数(PDF)做广义线性回归拟合。
如果需要预估一定时间内客户的广告点击次数,因变量(Y)服从泊松分布,那么可以选择柏松回归;
如果是预估一个物件的生命周期,因变量(Y)服从指数分布,那么可以使用指数回归。
广义线性回归一般采用极大似然估计(MLE)进行回归系数估计。下面以柏松回归为例,演示如何进行回归系数估计:
(泊松分布的概率密度函数)
根据所有样本,我们计算出整个样本集的似然函数:
其中表示参数向量,取对数后得到表达式:
对“对数似然函数”求极值后我们可以得到参数估计值,记为
衡量广义线性回归可以参考AIC,BIC两个指标。
2,曲线拟合(Curve Fitting)
个人理解,与线性回归相比,曲线拟合更加像是基于数据X与Y之间的关系,选择合适的拟合函数,不断调整参数进行拟合,且曲线拟合不能够支持多个自变量与因变量的关系。
从网络上找到一个我觉得比较合理的回答:回归是一种数据分析方法;拟合是一种数据建模方法;拟合侧重于调整曲线的参数,使得与数据相符。而回归重在研究两个变量或多个变量之间的关系。它可以用拟合的手法来研究两个变量的关系,以及出现的误差。
曲线拟合的步骤:
a)绘制X与Y的散点图,选择合适的曲线类型(常见的曲线拟合函数有:对数函数,幂函数,多项式函数等)
b)如果关系不明显时,可以考虑进行变量变换和变量转化
c)按最小二乘法原理求线性方程和方差分析
d)将直线化方程转换为关于原变量X、Y的函数表达式
ps:海外游戏回收预测的留存率是和ARPU都采用的是曲线拟合的方式预测的。
3,分类(Classification)
当数值预测X与Y之间的关系难以寻找的时候,可以考虑将连续性的Y离散化,将问题转化为多分类问题。常用的分类方法有:逻辑回归(Logistic Regression),支持向量机(SVM)和各种树形模型(决策树,随即森林,XGB)等等,分类模型有一个好处,他的预测结果泛化性相比回归和曲线拟合更强,但是难点是如何合理的进行数据分桶(离散化)。
以随机森林为例,假设将Y分为10类,模型会同时画出多棵树(分类器),树上的所有节点就是不同的特征,通过统计所有分类器的结果,进行结果输出。
同时树形模型也可以做回归的,这个地方就不展开赘述了,可以后续在新的文章展开讨论。
总结
普通线性回归 | 广义线性回归 | 曲线拟合 | 分类 | |
|---|---|---|---|---|
| Y分布 | 正态分布 | 无限制 | 无限制 | 无限制 |
| 多特征 | √ | √ | X | √ |
| 估计方法 | LSE | MLE | LSE | - |
| 评估指标 | R2 / MSE | BIC / AIC | MSE | F1 / AUC / ROC |