Python 時系列分析 1,000本ノック
– ノック65: 時系列の分散予測精度評価 –

Python 時系列分析 1,000本ノック– ノック65: 時系列の分散予測精度評価 –
次の Python コードは、どの評価方法を実施していますか?

Python コード:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import numpy as np
import pandas as pd
from arch import arch_model
from sklearn.metrics import mean_squared_error
np.random.seed(42)
data = pd.Series(np.random.randn(1000))
train,test = data[:700],data[700:]
model = arch_model(train,vol='Garch',p=1,q=1)
results = model.fit(disp='off')
forecast = results.forecast(horizon=len(test))
pred = forecast.variance.values[-1]
actual = test.rolling(window=50).var().dropna()
mse = mean_squared_error(actual,pred[:len(actual)])
print(f"RMSE: {np.sqrt(mse)}")
import numpy as np import pandas as pd from arch import arch_model from sklearn.metrics import mean_squared_error np.random.seed(42) data = pd.Series(np.random.randn(1000)) train,test = data[:700],data[700:] model = arch_model(train,vol='Garch',p=1,q=1) results = model.fit(disp='off') forecast = results.forecast(horizon=len(test)) pred = forecast.variance.values[-1] actual = test.rolling(window=50).var().dropna() mse = mean_squared_error(actual,pred[:len(actual)]) print(f"RMSE: {np.sqrt(mse)}")
import numpy as np
import pandas as pd
from arch import arch_model
from sklearn.metrics import mean_squared_error

np.random.seed(42)
data = pd.Series(np.random.randn(1000))
train,test = data[:700],data[700:]

model = arch_model(train,vol='Garch',p=1,q=1)
results = model.fit(disp='off')

forecast = results.forecast(horizon=len(test))
pred = forecast.variance.values[-1]

actual = test.rolling(window=50).var().dropna()

mse = mean_squared_error(actual,pred[:len(actual)])
print(f"RMSE: {np.sqrt(mse)}")

 

回答の選択肢:

(A) ヒットレート
(B) 逆分散比率検定
(C) バックテスト
(D) 交差検証