zoukankan      html  css  js  c++  java
  • 转化非正态分布数据

    在对数据进行线性拟合时,常常要求该变量满足正态分布,通常变量不满足或者正态分布拟合的不是很好。

    如何把这些数据转换成正态分布的数据?

    1.使用log()函数通常能使数据集向正态分布靠近。

    若数据集中数据存在负数,则需要对数据进行预处理:

    大致预处理如下:1)对数据进行归一化,即把数据映射到[0,1]上

    2)防止数据出现0,可以使用log(x+1)进行数据映射

    2.使用box-cox对数据进行转换

    Box-Cox变换是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。

    Box-Cox变换,变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。

    BoxCox变换

    在回归模型号中,Box-Cox变换是对因变量Y作如下变换:

    clip_image002            (1.1)

    这里clip_image004是一个待定变换参数。对不同的clip_image004[1],所做的变换自然就不同,所以是一个变换族。它包括了对数变换(clip_image004[2]=0),平方根变换(clip_image008)和倒数变换(clip_image004[3]=-1)等常用变换。

    clip_image011

    图1. 变换前变量的分布

    clip_image013

    图2.变换后变量分布

  • 相关阅读:
    FactoryBean的作用
    ztree点击文字勾选checkbox,radio实现方法
    js判断字符长度 汉字算两个字符
    双系统引导修复
    thinkpadT440p
    分布式服务器集群
    Eclipse插件安装方式
    用SourceTree轻巧Git项目图解
    廖雪峰git使用完整教程
    hessian
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/8598083.html
Copyright © 2011-2022 走看看