box-cox变换中变换参数取值,box-cox变换和johnson变换区别

  box-cox变换中变换参数取值,box-cox变换和johnson变换区别

  概念

  1、Box-Cox变换是统计建模中常用的建模方法,主要用于连续响应变量不满足正态分布。

  可采用博克斯-考克斯变换。

  2、使线性回归模型在满足线性、正态性、独立性和方差的同时不丢失信息。

  在博克斯-考克斯转换之前,有必要将数据归一化。

  实例

  #我们这里是对训练集和测试集一起归一化,也可以分开进行归一化,(分开)这种方式需要建立训练数据和测试数据分布一直的情况下,建议在数据量大的情况下使用。

  #绘图显示博克斯-考克斯变换对数据分布影响

  cols _ numeric _ left=cols _ numeric[0:13]

  cols _ numeric _ right=cols _ numeric[13:]#这里是将特征分为两部分,前13个为第一部分

  # # CheckeffectofBox-coxstranformsondistributionsofcontinuovables

  列车数据流程=PD。concat([训练数据过程,训练数据[目标]],轴=1)

  fcols=6

  frows=len(列_数字_左)

  plt.figure(figsize=(4*fcols,4*frows))

  i=0

  forvarincols_numeric_left:

  dat=train_data_process[[var, target]].德罗普纳()

  i=1

  plt.subplot(frows,fcols,I)

  sns.distplot(dat[var],fit=stats。norm);

  plt.title(var Original )

  plt.xlabel( )

  i=1

  plt.subplot(frows,fcols,I)

  _=统计数据。proplot(dat[var],plot=plt)

  plt.title(skew= {:4f}).格式(统计。skew(dat[var])) #计算数据集的偏度

  plt.xlabel( )

  plt.ylabel( )

  i=1

  plt.subplot(frows,fcols,I)

  plt.plot(dat[var],dat[target],.=0.5)

  plt.title(corr= {:2f}).格式(np.corrcoef(dat[var],dat[target])[0][1])

  i=1

  plt.subplot(frows,fcols,I)

  trans_var,lambda _ var=stats。box Cox(dat[var].dropna() 1)

  trans_var=scale_data(trans_var)

  sns.distplot(trans_var,fit=stats。norm);

  plt.title(var Tramsformed )

  plt.xlabel( )

  i=1

  plt.subplot(frows,fcols,I)

  _=统计数据。proplot(trans _ var,plot=plt)

  plt.title(skew= {:4f}).格式(统计。skew(trans _ var)))#归一化后,偏度明显变小,相关性变化不大

  plt.xlabel( )

  plt.ylabel( )

  i=1

  plt.subplot(frows,fcols,I)

  plt.plot(trans_var,dat[target],.=0.5)

  plt.title(corr= {:2f}).格式(np.corrcoef(trans_var,dat[target])[0][1])以上就是大蟒中博克斯-考克斯变换的介绍,希望对大家有所帮助。更多计算机编程语言学习指路:python基础教程

  本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: