建模时对因变量的处理
一、查看因变量的分布
(一)连续
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变换
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
