37DATA

数值预估方法总结

1,线性回归(Linear Regression)

首先结合经验,数据分析和概率分布选择一个合适的函数表达式,通过拟合处理好的训练集寻找自变量(X)与因变量(Y)之间的隐性表达。

a) 普通线性回归

如果因变量(Y)服从正态分布。比如根据身高(统计得出身高对薪资有一定影响),年龄,学历,地区等信息预测年薪,可以选择普通多元线性回归,以基础的二元线性回归为例:

Image

自变量为X1、X2,当特征较多时,可以扩展这个表达式。b0,b1,b2为回归系数,普通线性回归一般采用最小二乘解(LSE)来计算出对应的回归系数,这样就可以输入因变量计算出Y值。

衡量普通线性回归的指标一般采用MSE(均方误差):数值越小,拟合误差越小。R2:数值越接近1,拟合程度越高。

b) 广义线性回归

在因变量(Y)不满足普通线性回归正态分布的假设时,可以结合Y的分布和对应的概率密度函数(PDF)做广义线性回归拟合。

如果需要预估一定时间内客户的广告点击次数,因变量(Y)服从泊松分布,那么可以选择柏松回归;

如果是预估一个物件的生命周期,因变量(Y)服从指数分布,那么可以使用指数回归。

广义线性回归一般采用极大似然估计(MLE)进行回归系数估计。下面以柏松回归为例,演示如何进行回归系数估计:

Image(泊松分布的概率密度函数)

Image

根据所有样本,我们计算出整个样本集的似然函数:

Image

其中Image表示参数向量,取对数后得到表达式:

Image

对“对数似然函数”求极值后我们可以得到参数估计值,记为 Image

衡量广义线性回归可以参考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)等等,分类模型有一个好处,他的预测结果泛化性相比回归和曲线拟合更强,但是难点是如何合理的进行数据分桶(离散化)。

Image

以随机森林为例,假设将Y分为10类,模型会同时画出多棵树(分类器),树上的所有节点就是不同的特征,通过统计所有分类器的结果,进行结果输出。

同时树形模型也可以做回归的,这个地方就不展开赘述了,可以后续在新的文章展开讨论。

总结


普通线性回归

广义线性回归

曲线拟合

分类

Y分布正态分布无限制无限制无限制
多特征√√X

√

估计方法LSEMLELSE-
评估指标R2 / MSEBIC / AICMSE

F1 / AUC / ROC