2017-02-21 8 views
3

このトピックについて多くの質問がありますが、どれもこの問題の解決には役に立たなかったことがわかりました。私は本当にこれに固執しています。私は得続けるseasonal_decompose:オペランドをシリーズの図形と共にブロードキャストできませんでした

0 
2016-01-31 266 
2016-02-29 235 
2016-03-31 347 
2016-04-30 514 
2016-05-31 374 
2016-06-30 250 
2016-07-31 441 
2016-08-31 422 
2016-09-30 323 
2016-10-31 168 
2016-11-30 496 
2016-12-31 303 

import statsmodels.api as sm 
logdf = np.log(df[0]) 
decompose = sm.tsa.seasonal_decompose(logdf,freq=12, model='additive') 
decomplot = decompose.plot() 

::シンプルシリーズと

ValueError: operands could not be broadcast together with shapes (12,) (14,)

Iは、非ログシリーズを渡し、だけlogdf.valuesを渡して、ほとんどすべてを試みました。それは動作しません。 numpyのとstatsmodelバージョン:

print(statsmodels.__version__) 
print(pd.__version__) 
print(np.__version__) 
0.6.1 
0.18.1 
1.11.3 
+0

データシリーズの前にあるゼロは何ですか?また、シーズンが1つしかない場合、季節の影響を見積もることはできません。シーズンをトレンドや他のエフェクトと区別する方法はありません。 – user333700

+0

私は彼がパンダのシリーズを持っていると思う日の上の0は、それらの日付に索引をつけました。 –

+0

マックスが正しいです、それらの日付にインデックス登録されたパンダシリーズ。シーズン1でシーズンエフェクトを見積もることができないのはなぜですか?とにかくちょうどサンプルのシリーズです、私は日付(実際に再サンプリング)でグループ化された大きなデータセットを持って、まだ私はこのエラーを持っています(私は推測するnumpy関連する必要があります) –

答えて

0

私は新しいパンダとstatsmodelバージョンで、動作するように思われることに気づきました。

考えるシリーズ:

2016-01-03 8.326275 
2016-01-10 8.898229 
2016-01-17 8.754792 
2016-01-24 8.658172 
2016-01-31 8.731659 
2016-02-07 9.047233 
2016-02-14 8.799662 
2016-02-21 8.783549 
2016-02-28 8.782783 
2016-03-06 9.081825 
2016-03-13 8.737934 
2016-03-20 8.658693 
2016-03-27 8.666475 
2016-04-03 9.029178 
2016-04-10 8.781555 
2016-04-17 8.720787 
2016-04-24 8.633909 
2016-05-01 8.937744 
2016-05-08 8.804925 
2016-05-15 8.766862 
2016-05-22 8.651899 
2016-05-29 8.653645 
... 

及びPd/SMバージョンは:私はこれがことを願ってい

import statsmodels.api as sm 
logdf = np.log(df_series) 
decompose = sm.tsa.seasonal_decompose(logdf, model='additive', filt=None, freq=1, two_sided=True) 
decompose.plot() 

enter image description here

statsmodels.__version__ 0.8.0 
pandas.__version__ 0.20.1 

これが結果ですあなたの問題も解決してください。

関連する問題