Ayumu-y
@Ayumu-y (山口 歩夢)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

DeterministicProcessのout_of_sampleを使用した際に、DatetimeIndexで出力ができない。

解決したいこと

移動平均のコーディングとstatsmodelsを使った回帰モデルの構築と予測
の記事のように、
out_of_sampleを使用して実際に取り込んだデータの次の日から指定した日数だけ次の時系列データを作成したいのだが、
out_of_sampleを使用して生成したデータフレームのインデックスがDatetimeIndexではなく、数値になってしまう。

使用したコード

from statsmodels.tsa.deterministic import DeterministicProcess

dp = DeterministicProcess(
    index=trend_df.index
    , constant=True
    , order=1
    , drop=True
)

# `in_sample`は`index`引数で指定された日付に対応する特徴を作成する。
X = dp.in_sample()
X.tail()

こちらの出力結果は、下記のようにインデックスがDatetimeIndexになる。
image.png

続いて下記のコードを実行すると、

X = dp.out_of_sample(steps=365)
X.tail()

下記のようにインデックスがただの数値で出力されてしまいます。
image.png
こちらをDatetimeIndexで出力できるようにしたいのですが、やり方をご教示いただけないでしょうか。

0

1Answer

データフレームにdateカラムを作成して、それをインデックス化するという方法で解決することができた。
※下記のように、X = dp.out_of_sample(steps=365)の次にコードを書いた。

X = dp.out_of_sample(steps=365)
X["date"] = pd.date_range(start="2017-08-16", end="2018-08-15", freq="D")
X = X.set_index("date")
X.tail()
y_fore = pd.Series(model.predict(X), index=X.index)

y_fore.head()
0Like

Your answer might help someone💌