- 問題
- 答え
- 解説
次の Python コードのカルマンフィルタは何を行っていますか?
Python コード:
import numpy as np
from pykalman import KalmanFilter
np.random.seed(42)
true = np.cumsum(np.random.randn(200)*0.2) + 10
obs = true + np.random.randn(200)*3
kf = KalmanFilter(
transition_matrices=1, observation_matrices=1,
transition_covariance=0.04, observation_covariance=9,
initial_state_mean=obs[0])
est = kf.filter(obs)[0].flatten()
rmse = lambda x: np.sqrt(((x - true)**2).mean())
print(f"観測値のRMSE: {rmse(obs):.4f}")
print(f"推定状態のRMSE: {rmse(est):.4f}")
回答の選択肢:
(A) 観測データからトレンドと季節性を分解している
(B) 観測ノイズを含むデータから、背後にある潜在状態を推定している
(C) 観測データの異常値を検出して除去している
(D) 観測データの周波数成分を分析している

