Pandas에서 롤링 표준 편차 계산

Olorunfemi Akinlua 2024년2월16일
  1. 롤링 표준 편차를 계산하는 rolling_std() 함수가 더 이상 사용되지 않음
  2. rolling() 함수를 사용하여 롤링 표준 편차 계산
Pandas에서 롤링 표준 편차 계산

통계는 데이터 분석의 큰 부분이며 다양한 통계 도구를 사용하면 유용한 정보를 얻을 수 있습니다. Python과 Pandas를 사용하면 함수를 빠르게 사용하여 평균에서 표준 편차까지 중요한 통계 값을 얻을 수 있습니다.

이 기사에서는 Pandas에서 롤링 표준 편차를 계산하는 방법에 대해 설명합니다.

롤링 표준 편차를 계산하는 rolling_std() 함수가 더 이상 사용되지 않음

표준편차는 분산의 제곱근이지만 이동하는 기간 동안 롤링 표준 편차(또는 이동 표준 편차)라는 보다 포괄적인 도구가 필요합니다. 롤링 표준 편차를 사용하면 확인 지표 역할을 하는 이동 기간 내 데이터의 이동(변동성) 측정값을 얻을 수 있습니다.

이전에는 레거시 통계 코드에서 롤링 표준 편차를 계산하기 위해 이전에 계산에 사용된 Pandas rolling_std() 함수를 사용하는 것을 볼 수 있습니다. 그러나 pandas 0.19.0 이후 롤링 표준 편차를 계산하려면 평균에서 표준 편차까지 모든 롤링 창 계산을 다루는 rolling() 함수가 필요합니다.

rolling() 함수를 사용하여 롤링 표준 편차 계산

rolling() 함수를 사용하면 롤링 표준 편차에 대한 특정 함수가 필요하지 않습니다. rolling() 함수를 사용하여 데이터 세트에 대한 롤링 윈도우 계산을 얻고 mean, std 등과 같은 널리 사용되는 통계 함수를 적용하여 롤링(또는 이동) 통계 값을 달성해야 합니다. .

설명을 위해 numpy 라이브러리를 사용하여 무작위 시계열(2015년부터 2025년까지)을 생성합니다.

암호:

import pandas as pd
import numpy as np

df = pd.Series(np.random.randn(4000), index=pd.date_range("1/1/2015", periods=4000))

print(df)

출력:

2015-01-01   -0.143644
2015-01-02   -1.035695
2015-01-03    0.338760
2015-01-04   -0.002474
2015-01-05   -1.598976
                ...
2025-12-09    1.227600
2025-12-10   -1.188466
2025-12-11   -0.740481
2025-12-12   -0.674217
2025-12-13   -1.089239
Freq: D, Length: 4000, dtype: float64

그런 다음 DataFrame에서 rolling() 함수를 사용하고 rolling() 반환 값에 std() 함수를 적용합니다.

print(df.rolling(window=60).std())

출력:

2015-01-01         NaN
2015-01-02         NaN
2015-01-03         NaN
2015-01-04         NaN
2015-01-05         NaN
                ...
2025-12-09    0.889344
2025-12-10    0.902873
2025-12-11    0.894309
2025-12-12    0.898170
2025-12-13    0.894943
Freq: D, Length: 4000, dtype: float64

이제 우리가 개발한 무작위 데이터 세트의 롤링 표준 편차가 있습니다.

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn