python boxcox变换_陈小陌博客-box-cox变换基于python的实现--陈小陌

在生活中有很多数据都是类似的符合正态分布,比如一个统计量:每个人的年度消费。按照道理我们想呀,这个应该是符合正态分布的,我们就拿到了数据,正在规划基于满足正态分布的消费数据做一些分类决策树,或者其它的小东西。但是!我们为了课题的严谨性,要检验一下找个数据到底是不是正态分布,结果喜闻乐见,它不满足正态分布。(当然此刻我们可以假装它满足,从认真建模,到瞎编数据系列)我们要对它进行正态分布变换,这个有很多方法,取对数,开方可以百度一下,这里介绍一种BOX—COX变换,也就是经常做数据科学口中的BC变换,这个是一个很好对数据进行正态分布变换的一种方法,根据以下公式:

这里要求出那个系数,才能对数据选择哪种变换,对于求参数有两种方法:1)极大似然估计 2)Bayes方法,下面给出box-cox算法基于python的实现,对于函数stats.boxcox()参数x是list和array列类型都行,很方便。返回值是以元组形式返回,第一个值为列表(经过BC变换的数据),另一个为公式参数。from scipy import stats

import numpy as np

test = np.array(cost_handle)   # 将list转换为array(不转也行)

result = stats.boxcox(test)    # 一行代码box-cox变换

AF_box_cox = result[0]

print(AF_box_cox)

print(result[1])

这里说的很不恰当,有很多不合理的地方,给出参考,可以再看看:

1)box-cox变换:百度百科

2)stats.boxcox():函数说明文档

this over

打赏支付宝打赏

微信打赏

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值