建模时对因变量的处理

一、查看因变量的分布

(一)连续

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变换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值