互联网产品行为每月点击次数或支付金额,都是非离散分布,而且产品关键指标通常在这里。要分析用户哪些维度对产品指标有较大影响,线性回归与树模型权重是常用手段。问题在于分析百万级以上用户,用回归得到的 R^2 解释率往往不到 80% 强相关,说明现有数据量或维度无法解释清楚。但不能增加数据量、又或者引入新的维度来提升,即使采用特征工程(基于现有维度提取、组合等方式创造新维度)和引入新维度,也不是一件容易和快速事情,换上 SVM 、深度学习框架会丧失解释性。
不过观察目标字段会发现,大多数用户行为次数会集中分布在1 - 5 自然数上,则每月核心行为 1 - 5 次左右。百万用户目标行为集合基数只有 200 多个(集合元素个数),不足 1 % —— 数据呈现长尾分布,大多数集中在个别数字,只有少数剩余数据不集中。
要区分每月核心行为 1 次、 2次、3次,对于大多数产品意义不是很大。倒不如将连续数据转换为离散,比如 5 次以下归为一类,5 次以上归为另一类。更好的做法用「二八」划分,比如以累计贡献度达 80 % 的用户核心操作数值作为界线划分「高低」用户。即使 1、2、3次意义重大,那转为离散会更合适,每个数值能区分出不同意义。
这样使用分类方法,各种常用指标均达到 80% 以上,远超商业最少 70% 设定(标准来自《 Data Analytics Made Accessible》)。至于为何二分预测比回归模型好,可以用这篇论文来解释 On the Difference between Binary Prediction and
True Exposure With Implications For Forecasting
Tournaments and Decision Making Research
简单来说,二元分布(yes/no)比多样分布(1、2、3...n)在预测上,对于黑天鹅(超级极值)、模型错误不太敏感,出错概率较低。比如目标数据呈现极值分布,用连续回归分析得出的残差(预测值-实际值),会发现值越大,偏离得越高(>>0),就是这部分导致模型错误较大。即使树模型回归思路依然是转化为离散分类预测,但分的数目超过 2 类,准确率在正常情况下不会好于二类预测。