将数据缩放为对数正态。我的做法对吗?
Scale Data to log-normal. Is my approach right?
我有一个一维数组,其中数据在 1 到 500 之间。
数据的分布看起来像对数正态分布。
我想要的是将数组重新采样到 log(data)
我不确定要使用哪个函数:
我的 rescale 函数现在看起来像这样,但我不确定它是否正确:
def ScaleData(dataset):
datas = []
for x in np.nditer(dataset):
a = np.log(x)
datas.append(a)
return np.array(datas)
测试:
38, 48, 39, 83, 64, 57
goes to:
3.63758616, 3.87120101, 3.66356165, 4.41884061, 4.15888308, 4.04305127
对吗?
- 如果您想使数据符合对数正态分布:您应该使用 scipy.stats.lognorm.fit(listofdata) 并使用 Kalmogorov Smirnov 检验检查拟合质量:scipy.stats.kstest
- 如果你想转换你的数据 np.log(dataset) 应该足够了。
最佳
我有一个一维数组,其中数据在 1 到 500 之间。 数据的分布看起来像对数正态分布。
我想要的是将数组重新采样到 log(data)
我不确定要使用哪个函数:
我的 rescale 函数现在看起来像这样,但我不确定它是否正确:
def ScaleData(dataset):
datas = []
for x in np.nditer(dataset):
a = np.log(x)
datas.append(a)
return np.array(datas)
测试:
38, 48, 39, 83, 64, 57
goes to:
3.63758616, 3.87120101, 3.66356165, 4.41884061, 4.15888308, 4.04305127
对吗?
- 如果您想使数据符合对数正态分布:您应该使用 scipy.stats.lognorm.fit(listofdata) 并使用 Kalmogorov Smirnov 检验检查拟合质量:scipy.stats.kstest
- 如果你想转换你的数据 np.log(dataset) 应该足够了。
最佳