3

Pandas OLS では、ウィンドウ サイズは固定長です。行数ではなくインデックスに基づいてウィンドウサイズを設定するにはどうすればよいですか?

1 日あたりの観測数が変動するシリーズがあり、10 年間のデータ履歴があるため、1 年間のローリング ウィンドウでローリング OLS を実行したいと考えています。各日付のループは少し遅すぎますが、高速化するには? これがデータの例です。

  Date     x      y
2008-1-2  10.0    2
2008-1-2  5.0     1
2008-1-3  7.0   1.5
2008-1-5  9.0   3.0
...
2013-5-30 11.0  2.5

pandas.ols(df.y, df.x, window='1y')ループの実行が遅くなるため、各行をループするのではなく、 のような単純なものが必要です。

4

1 に答える 1

3

パンダでこれを行う方法は、ドキュメントhttp://pandas.pydata.org/pandas-docs/dev/computation.html#computing-rolling-pairwise-correlationsを参照してください。

model = pandas.ols(y=df.y, x=df.x, window=250)

期間は、「1y」ではなく、フレームの間隔の数であると指定するだけです。また、データに役立つ多くの追加オプションもあります。

すべてのローリング ols 統計がモデルにある

model.beta.plot()

ローリングベータ版を表示する

于 2013-07-03T15:13:02.490 に答える