私はPythonで分解したい時系列信号があるので、statsmodels.seasonal_decompose()を参照してください。データの頻度は48(半時間ごと)です。 this questionerと同じエラーが発生しました。解決策はIntインデックスからDatetimeIndexに変更されました。しかし、私のデータが実際の日付/時刻を知らない。 this github threadでDatetimeIndexを使わずに、既知の頻度でstatsmodels.seasonal_decompose()を使用する
、statsmodelsの貢献の一つは
こと「0.8では、あなたが インデックスを上書きするキーワード引数としてFREQを指定することができるはずです。」と言います
しかし、これは私の場合ではないようです。ここに私の問題を説明するための最小限のコードの例です:
import statsmodels.api as sm
dta = pd.Series([x%3 for x in range(100)])
decomposed = sm.tsa.seasonal_decompose(dta, freq=3)
AttributeError: 'RangeIndex' object has no attribute 'inferred_freq'
バージョン情報:
import statsmodels
print(statsmodels.__version__)
0.8.0
指定された頻度ではなくDatetimeIndexなしstatsmodelsの時系列を分解する方法はありますか?
もしそうでない場合は、これをPythonで行うための代替手段がありますか?私は季節パッケージをチェックアウトしましたが、its githubは0ダウンロード/月、1人の貢献者、9ヶ月前の最後のコミットをリストしていますので、私は自分のプロジェクトに頼りにしたいとは思っていません。
https://github.com/statsmodels/statsmodels/issues/3503これは、現在0.8のバグです。回避策:時間インデックスがない場合、関数呼び出しでnumpy配列を使用します。 – user333700
こんにちはJosef、私はその問題を提出しました。githubに関する詳細な回答に感謝します。これを続けていくのが楽しいです。 –