亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以將 numpy.std() 應用于什么?

我可以將 numpy.std() 應用于什么?

ABOUTYOU 2023-06-20 14:01:35
我對統計知識知之甚少,所以請原諒我,但我對 numpy 函數的工作原理感到非常困惑std,不幸的是文檔沒有清理它。據我了解,它將計算數組分布的標準差,但是當我使用0.5以下代碼設置標準差為 的高斯分布時,numpy.std返回 0.2:sigma = 0.5mu = 1x = np.linspace(0, 2, 100)f = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp((-1 / 2) * ((x - mu) / sigma)**2)plt.plot(x, f)plt.show()print(np.std(f))這是分布:我不知道我對函數的工作原理有什么誤解。我想也許我必須告訴它與分布的 y 值相關聯的 x 值,但在函數中沒有參數。為什么numpy.std不返回我的分布的實際標準偏差?
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

我懷疑您完全理解該函數的工作原理,但誤解了數據的含義。標準偏差是衡量數據關于平均值的分布的量度。


當您說 時std(f),您正在計算 y 值關于其均值的分布。查看問題中的圖表,~0.5 的垂直平均值和~0.2 的標準偏差并不遙遠。請注意,它std(f)不以任何方式涉及 x 值。


您期望得到的是 x 值的標準差,由 y 值加權。這本質上是概率密度函數 (PDF) 背后的思想。


讓我們手動完成計算以了解差異。x 值的平均值通常為x.sum() / x.size. 但這只有在每個值的權重為 1 時才是正確的。如果你用相應的f值對每個值進行加權,你可以寫


m = (x * f).sum() / f.sum()

標準差是均值的均方根。這意味著計算與平均值的平均平方偏差,并取平方根。我們可以用與之前完全相同的方式計算平方偏差的加權平均值:


 s = np.sqrt(np.sum((x - m)**2 * f) / f.sum())

請注意,根據您的問題以這種方式計算的值s不是 0.5,而是 0.44。這是因為您的 PDF 不完整,缺失的尾部會顯著增加傳播。


這是一個示例,顯示當您為更大的 PDF 樣本計算標準差時,標準差會收斂到預期值:


>>> def s(x, y):

...     m = (x * y).sum() / y.sum()

...     return np.sqrt(np.sum((x - m)**2 * y) / y.sum())


>>> sigma = 0.5


>>> x1 = np.linspace(-1, 1, 100)

>>> y1 = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * (x1 / sigma)**2)

>>> s(x1, y1)

0.4418881290522094


>>> x2 = np.linspace(-2, 2, 100)

>>> y2 = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * (x2 / sigma)**2)

>>> s(x2, y2)

0.49977093783005005


>>> x3 = np.linspace(-3, 3, 100)

>>> y3 = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * (x3 / sigma)**2)

>>> s(x3, y3)

0.49999998748515206


查看完整回答
反對 回復 2023-06-20
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

np.std 用于計算標準偏差。這可以按以下步驟計算

  1. 首先我們需要計算分布均值

  2. 然后找到 (x - x.mean)**2 的總和

  3. 然后求出上述求和的均值(除以分布中的元素個數)

  4. 然后求此均值的平方根(在步驟 3 中計算)。

因此,此函數正在計算傳遞給它的分布的標準偏差。


查看完整回答
反對 回復 2023-06-20
  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號