Boxcox处理返回np.inf

时间:2018-07-12 21:58:56

标签: python numpy scipy

我遇到一个np.array的问题,该问题未返回正确的inv_box_cox。见下文:

list0 = np.full(4442,0)
list12000 = np.full(13,12000)
list10000000 = np.full(1,10000000)
list300000 = np.full(1,300000)
list200000 = np.full(1,200000)
list100000 = np.full(1,100000)
asm = np.concatenate([list12000, list10000000, list300000, list200000, list100000, list0])
asm
>>> array([12000, 12000, 12000, ...,     0,     0,     0])

这是我所期望的。问题是当我想应用stats.boxcox处理并撤消该处理时,我没有得到正确的结果。

from scipy.special import inv_boxcox
from scipy import stats

x, lmbda = stats.boxcox(asm+1, lmbda=None)
inv_boxcox(x, lmbda)-1
>>>array([inf, inf, inf, ...,  0.,  0.,  0.])

np.inf的原因是什么? 当我手动设置lambda值时,一切正常。

有人有解释/解决方案吗?

0 个答案:

没有答案