建模时对因变量的处理

一、查看因变量的分布

(一)连续

sns.displot(y)  # defaul kde=True有和密度曲线

(二)离散

df.x.value_counts()

二、修正因变量的分布

(一)查看因变量的分布

大部分模型,尤其是线性模型,需要因变脸y服从正态分布。如果y不服从正态分布,可以尝试用

import scipy.stats as st
y = Train_data['price']plt.figure(2); plt.title('Normal')
sns.distplot(y, kde=False, fit=st.norm)  # kde=False不显示核密度曲线,查看直方图与指定分布地贴合程度plt.figure(1); plt.title('Johnson SU')
sns.distplot(y, kde=False, fit=st.johnsonsu)   # 无界约翰逊分布plt.figure(3); plt.title('Log Normal')
sns.distplot(y, kde=False, fit=st.lognorm)    

(二)log变换

  • 问题:随着时间序列,y的方差变大
  • 建模需要满足的假设:方差齐性假设,使y的变换更加平滑
  • 方法:log变换

(三)正态变换

  • 方法:box-cox变换


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部