Diagnosing Kalman Filter Likelihoods for Local Trend Models
Summary
The document describes an attempt to estimate measurement noise, process noise, and initial state parameters for a local trend model fitted to daily currency data. The author reports that maximum likelihood returns parameter values they consider unintuitive, while hand-chosen values based on moving-average quantities produce a higher likelihood and better backtest results. They also observe that increasing either noise variance appears to increase the likelihood.
The post asks how to interpret these results, whether to prefer the trading backtest or the likelihood fit, and whether residual checks such as normality and lack of autocorrelation should guide model assessment. It supplies the model's state and observation equations, but no answer or empirical diagnosis. The observations alone do not establish that larger variances should improve a correctly computed likelihood; likelihood comparisons depend on model specification, parameter constraints, initialization, and implementation. A favorable backtest also does not by itself validate the estimated state-space model.
Key ideas
- The model treats the latent level as evolving through process noise and observed currency prices as adding measurement noise.
- The author reports that maximum likelihood estimates seem unintuitive and that hand-chosen variances yield a higher likelihood.
- The post raises the possibility of optimization, initialization, or model-evaluation problems but does not diagnose them.
- A stronger backtest does not by itself establish that a parameter choice is statistically sound.
- Residual behavior is proposed as an additional way to assess model fit.
Tags
Full text
# Likelihood increases on increasing variance of measurement error in kalman filter # Likelihood increases on increasing variance of measurement error in kalman filter I tried to fit a local trend model to daily data of a currency. I used the "dlm" package and tried to estimate the parameters V (measurement noise) and W (the process noise) via maximum likelihood. The outputted value of parameters didnt made any sense intuitively. So, I put the value of parameters which made sense to me (just variance of the (|moving average(5) - current| as V and Variance of Moving average(5) as W. Then i used these values to estimate the likelihood of the model.(dlmFilter with model and data in R). The likelihood was greater than what mle previosly suggested. However even after using these values as starting values of parameters the mle outputs unsensible parameters values with likelihood lingering around the same point. Also inspite of varying starting value of parameters for mle through plethora of values it never outputs a sensible value.(I also tried all the optimization techniques available). 1.Can anyone suggest what i am doing wrong(if any) and what to avoid during evaluating complex models ? 2.The backtest result of strategy are better for my parameters than the parameters puked by the mle. Which should i follow? If i increase the values of V or W the likelihood of the model increases. I cant think of a mathematical reason for this to happen. 3.Should i drop likelihood and look for other things like normality of residuals,no auto-correlation among them as factors to judge models. - Any other suggestion would be welcomed. Edit : The simple local trend model : $X_t$ = $X_(t-1)$ + $w_t$ w ~ N(0,W^2) $Y_t$ = $X_t$ + $v_t$ v ~ N(0,V^2) I was trying to estimate V and W (measurement and process noise variances) and m0 and C0 the initial distribution of the state vector.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.