簡體   English   中英

將數據縮放到對數正態。 我的方法正確嗎?

[英]Scale Data to log-normal. Is my approach right?

我有一個一維數組,數據在1到500之間。數據的分布看起來像對數正態。

我想要的是重新采樣數組以記錄(數據)

我不確定要使用哪個功能:

numpy.lognumpy.log1p

我的重新縮放函數現在看起來像這樣,但是我不確定它是否正確:

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)應該足夠了。

最好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM