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 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