怎么处理真值大部分为0的回归问题

  统计/机器学习 回归分析    浏览次数:6540        分享
3

这个回归问题里,真实的y,大部分为0(95%以上)。有什么好的解决方案吗?


 

剪叔   2018-03-21 20:46



   3个回答 
10

根据https://stats.stackexchange.com/questions/187824/how-to-model-non-negative-zero-inflated-continuous-data

如y是整数,可以用Zero-inflated Poisson models。

如果是实数:

1. Tobit regression

2. 先做0/非0的分类,然后做非0的回归。

3.Tweedie distributions

简单的方法就是第2个,其余两个在R有package。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2018-03-22 00:39

4

我觉得可以先做一个逻辑回归(如果大于0,则label为1;等于0,label为0)。

然后再对所有大于0的数值,做一个线性回归。

最后两者相乘。

SofaSofa数据科学社区DS面试题库 DS面经

kykix   2018-03-23 09:43

-1

对y+1取log,然后再回归呢

SofaSofa数据科学社区DS面试题库 DS面经

有故事的董同学   2018-05-15 12:06

log(y+1)的话,0还是0,应该没有用吧 - whanq   2019-10-02 13:47


  相关讨论

泊松回归的公式是什么?

常用的回归模型中,哪些具有较好的鲁棒性(robustness)?

最小二乘线性回归的推导

如果迫使一个线性回归模型的截距为0,会有什么坏处吗?

门槛回归是什么?

逻辑回归模型中变量的系数怎么理解?

在线性回归模型中存在epoch的说法吗?

怎么理解分位数回归quantile regression的目标函数?

用uci的crimes做了一个线性回归,test很差

系数非负的线性回归的python实现

  随便看看

python里清除已经定义过的变量

huber loss是什么?什么时候用?

条件概率证明P(a,b|c) > P(a,b)

为什么LASSO可以做特征选择,而Ridge却不行?

pandas报错: 'DataFrame' object has no attribute 'unique'