Python 時系列分析 1,000本ノック
– ノック60: トレンド推定の手法 –

Python 時系列分析 1,000本ノック– ノック60: トレンド推定の手法 –
次の Pythonコードは、どのトレンド推定手法を使用していますか?

Python コード:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
# 日次データの生成
data = pd.Series(
[10, 12, 14, 13, 15, 16,
18, 20, 19, 21, 22, 23])
# インデックスを取得
index = np.arange(len(data))
# トレンド推定
X = sm.add_constant(index)
model = sm.OLS(data, X).fit()
trend = model.predict(X)
plt.plot(data, label='Original Data')
plt.plot(trend, label='Trend', linestyle='--')
plt.legend()
plt.show()
import pandas as pd import numpy as np import statsmodels.api as sm import matplotlib.pyplot as plt # 日次データの生成 data = pd.Series( [10, 12, 14, 13, 15, 16, 18, 20, 19, 21, 22, 23]) # インデックスを取得 index = np.arange(len(data)) # トレンド推定 X = sm.add_constant(index) model = sm.OLS(data, X).fit() trend = model.predict(X) plt.plot(data, label='Original Data') plt.plot(trend, label='Trend', linestyle='--') plt.legend() plt.show()
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt

# 日次データの生成
data = pd.Series(
    [10, 12, 14, 13, 15, 16, 
     18, 20, 19, 21, 22, 23])

# インデックスを取得
index = np.arange(len(data))

# トレンド推定
X = sm.add_constant(index)
model = sm.OLS(data, X).fit()
trend = model.predict(X)

plt.plot(data, label='Original Data')
plt.plot(trend, label='Trend', linestyle='--')
plt.legend()
plt.show()

 

回答の選択肢:

(A) Hodrick-Prescottフィルターによるトレンド推定
(B) 移動平均によるトレンド推定
(C) 最小二乗法回帰によるトレンド推定
(D) Fourier変換によるトレンド推定

Python 時系列分析 1,000本ノック– ノック61: 時系列モデル –