>백엔드 개발 >파이썬 튜토리얼 >NumPy에서 누계 평균을 효율적으로 계산하는 방법은 무엇입니까?

NumPy에서 누계 평균을 효율적으로 계산하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-18 05:42:15116검색

How to Efficiently Calculate a Running Mean in NumPy?

NumPy 및 SciPy에서 실행 평균 계산

데이터 분석에서는 이동 평균이라고도 알려진 실행 평균을 계산하는 것이 일반적입니다. 시계열의 변동을 완화하는 작업입니다. 이 기술에는 입력 배열을 따라 지정된 크기의 창을 슬라이딩하고 각 단계에서 창 내 값의 평균을 계산하는 작업이 포함됩니다.

NumPy 접근 방식

NumPy, Python의 과학 컴퓨팅을 위한 잘 알려진 라이브러리는 실행 평균을 계산하는 편리한 방법을 제공합니다. np.convolve 함수를 활용하면 이를 달성하기 위해 컨볼루션 작업을 효율적으로 적용할 수 있습니다. 코드는 다음과 같습니다.

import numpy as np

# Define the input array
array = np.array([1, 2, 3, 4, 5])

# Specify the window size
window_size = 3

# Calculate the running mean using convolution
running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')

컨볼루션 연산 이해

컨볼루션 연산은 기본적으로 창에 있는 값의 가중치 합을 수행합니다. 실행 평균의 경우 각 가중치가 1/window_size인 균일 커널을 사용합니다. 이렇게 하면 창 내의 모든 값이 계산된 평균에 동일하게 기여합니다.

경계 효과 처리

np.convolve의 모드 매개변수는 경계 효과가 계산되는 동안 처리되는 방법을 결정합니다. 컨볼루션. 'valid' 모드는 컨볼루션 작업이 배열 크기에 영향을 주지 않는 결과를 반환합니다. 즉, 실행 평균의 길이는 입력 배열에서 창 크기를 뺀 것과 동일하여 가장자리의 값을 효과적으로 무시한다는 의미입니다. 경계 효과를 다르게 처리해야 하는 경우 'full' 또는 'same'과 같이 np.convolve에서 지원하는 다른 모드를 탐색할 수 있습니다.

따라서 NumPy의 컨볼루션 기능을 활용하여 실행을 효율적으로 계산할 수 있습니다. 1D 배열의 평균을 사용하여 시계열 데이터를 쉽게 평활화하고 분석할 수 있는 도구를 제공합니다.

위 내용은 NumPy에서 누계 평균을 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.