如何使用SciPy 或NumPy 計算一維數組的運行平均值
運行平均值,也稱為移動平均值,是當當視窗在資料上滑動時,計算指定視窗內資料點子集的平均值的統計量測。在 Python 中,有多種使用 SciPy 和 NumPy 函數計算運行平均值的方法。
SciPy Function
SciPy 並沒有用於計算運行平均值的專用函數。但是,您可以使用 NumPy 中的 np.convolve 函數來實現運行平均值計算。
NumPy 函數
NumPy 的 np.convolve 函數執行卷積運算。在運行平均值的背景下,卷積是將內核應用於資料並對結果求和的過程。為了計算運行平均值,內核是均勻分佈的,它為視窗內的每個數據點賦予相同的權重。
要使用np.convolve 計算運行平均值,可以使用以下程式碼:
其中:
說明
np.ones(window_size) / window_size創建一個具有統一權重的核心。 np.convolve 將此內核應用於數組,從而為每個視窗產生一個均值數組。 mode='valid' 參數確保數組的邊緣不包含在計算中,從而產生反映整個資料的運行平均值的輸出數組。
邊緣處理
np.convolve 的 mode 參數指定如何處理陣列的邊緣。不同的模式會導致不同的邊緣行為。下表列出了常用的模式:
Mode | Edge Handling |
---|---|
full | Pads the array with zeros and returns an output array that is the same size as the input array. |
same | Pads the array with zeros to match the kernel size and returns an output array that is the same size as the input array. |
valid | Ignores the edges of the array, resulting in an output array that is shorter than the input array. |
模式的選擇取決於您的特定要求以及您想要對數組邊緣的運行平均值的解釋。
以上是如何使用 NumPy 的'np.convolve”函數計算一維數組的運行平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!