DataScience之boxcox:scipy.stats.boxcox函数的简介案例应用(将非正态分布数据转换为正态分布数据)之详细攻略

Posted 一个处女座的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataScience之boxcox:scipy.stats.boxcox函数的简介案例应用(将非正态分布数据转换为正态分布数据)之详细攻略相关的知识,希望对你有一定的参考价值。

DataScience之boxcox:scipy.stats.boxcox函数的简介、案例应用(将非正态分布数据转换为正态分布数据)之详细攻略

目录

scipy.stats.boxcox函数的简介

scipy.stats.boxcox函数的案例应用

1、将非正态分布数据转换为正态分布数据


相关文章

ML之FE:特征工程中变量变换(数据归一化/分布正态化等)的概述、构造新变量/构造特征的概述等处理方法技巧总结之详细攻略

scipy.stats.boxcox函数的简介

官方文档scipy.stats.boxcox — SciPy v1.10.1 Manual

scipy.stats.boxcox(x, lmbda=None, alpha=None, optimizer=None)

Parameters

x

Ndarray

要转换的输入数组。

如果lmbda不为None,则这是scipy.special.boxcox的别名。如果x < 0,返回nan;如果x == 0且lmbda < 0则返回-inf。

如果lmbda为None,则数组必须为正的、一维的、非常量。

(1)、实际应用中,详见df2boxcox()函数

lmbda

标量,可选

如果lmbda为None(默认值),则找到使对数似然函数最大化的lmbda值,并将其作为第二个输出参数返回。

如果lmbda不是None,则对该值进行转换。

alpha

浮动,可选

如果lmbda为None且alpha不是None(默认),则返回lmbda的100 * (1-alpha)%置信区间作为第三个输出参数。必须在0.0和1.0之间。

如果lmbda不为None, alpha将被忽略。

optimizer

可调用,可选

如果lmbda为None,则optimizer是用于查找使负对数似然函数最小的lmbda值的标量优化器。Optimizer是一个接受一个参数的可调用对象:

有趣可调用:目标函数,在给定的lmbda值处评估负对数似然函数

并返回一个对象,例如scipy.optimize的实例。OptimizeResult,它保存属性x中lmbda的最优值。

请参阅boxcox_normmax中的示例或scipy.optimize的文档。Minimize_scalar获取更多信息。

如果lmbda不是None,优化器将被忽略。

Returns

boxcox

Ndarray

Box-Cox power转换阵列。

maxlog

maxlog

浮动,可选

如果lmbda参数为None,则返回的第二个参数是使对数似然函数最大化的lmbda。

(min_ci max_ci)

float的元组,可选

如果lmbda参数为None且alpha不为None,则返回的浮点元组表示给定alpha的最小和最大置信度限制。

scipy.stats.boxcox函数的案例应用

1、将非正态分布数据转换为正态分布数据

我们从非正态分布中生成一些随机变量,并为其绘制概率图,以显示尾部是非正态分布:
我们现在使用boxcox来转换数据,使其最接近正常:

from scipy import stats
import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(211)
x = stats.loggamma.rvs(5, size=500) + 5
prob = stats.probplot(x, dist=stats.norm, plot=ax1)
ax1.set_xlabel('')
ax1.set_title('Probplot against normal distribution')
ax2 = fig.add_subplot(212)
xt, _ = stats.boxcox(x)
prob = stats.probplot(xt, dist=stats.norm, plot=ax2)
ax2.set_title('Probplot after Box-Cox transformation')
plt.show()

以上是关于DataScience之boxcox:scipy.stats.boxcox函数的简介案例应用(将非正态分布数据转换为正态分布数据)之详细攻略的主要内容,如果未能解决你的问题,请参考以下文章

DataScience:逻辑回归之金融评分卡模型的简介构建开发使用过程之详细攻略

DataScience之ME:平均数编码(Mean Encoding)的简介代码实现案例应用之详细攻略

DataScience:数据预处理/特征工程之构造特征—构造日期特征/基于时间序列数据特征的简介(模型提效技巧)代码实现之详细攻略

r boxcox转型

Docker: 使用jupyter notebook基础镜像搭建自己的 pytorch 开发环境

lm.fit(x,y,offset = offset,singular.ok,...) 中的错误 0 个使用 boxcox 公式的非 NA 案例