# Continuous time double exponential filtering in state space form?

I'm trying to determine the continuous time formulation of the double exponential filter so that I can adapt it more flexibly for my particular problem.

Typically, this model is expressed as a pair of discrete, recursive equations as such in @denis' post here)

Double exponential smoothing a.k.a. Holt-Winters smoothing tracks level and trend of a time series in coupled IIRs:
$$\qquad$$ In: $$Y_t$$, t = 0 1 2 ...
$$\qquad$$ State: $$L_t, T_t \quad$$ -- level and trend
$$\qquad$$ Out: estimate $$\hat{Y}_{t+1}$$
$$\qquad$$ Parameters: a, b (a.k.a. $$\alpha, \beta$$)
$$\qquad$$ Step equations:
$$\qquad$$ $$\qquad L_t = a Y_t + (1 - a) (L_{t-1} + T_{t-1}) \quad$$ -- level
$$\qquad$$ $$\qquad T_t = b (L_t - L_{t-1}) + (1 - b) T_{t-1} \quad$$ -- trend
$$\qquad$$ $$\qquad \hat{Y}_{t+1} = L_t + T_t$$

Most references on the subject of double exponential filtering and state space revolve around discrete time kalman filtering approaches. Question: How should I put this model into a noiseless, state-space ODE form?

Using slightly different notation, here is my current approach. The base model, with continuous time input $$u$$ and continuous time states $$l$$ and $$s$$, is

$$\dot{l} = r_1(u - l) + r_1 s$$

$$\dot{s} = r_2(\dot{l} - s)$$

$$\ \ = r_2(r_1(u - l) + r_1 s - s)$$

$$\ \ = r_2(r_1(u - l) + (r_1 - 1)s)$$

$$\ \ = r_2 r_1(u - l) + r_2(r_1 - 1)s$$

with $$\dot{l}$$ and $$\dot{s}$$ representing time-derivative state dynamics with system constants $$r_1, r_2 \in [0, \infty)$$.

Assuming I made no mistakes there, I attempt to put this into state space form by

$$\dot{\bf{x}} = A{\bf x} + Bu$$ $$A = \begin{bmatrix} -r_1 & r_1\\ -r_1r_2 & r_2(r_1 - 1)\\ \end{bmatrix} \ \ \ \ B = \begin{bmatrix} r_1\\ r_1r_2\\ \end{bmatrix} \ \ \ \ \bf{x} = \begin{bmatrix} l\\ s\\ \end{bmatrix}$$

The output of this system is just the state of the level variable.

$$y(t^{'}) = l(t^{'}) = C{\bf x}$$.

where $$C = \begin{bmatrix}1 & 0\end{bmatrix}$$

We can make future predictions of $$y$$ based off of some assumption of the form of $$u$$, we can project $$y({t'})$$ using the system response formula for continuous time state space systems

$$y({t^{'}}) = C\bigg(e^{A(t^{'} - t)}x(t) + \int_t^{t^{'}}e^{A(t - \tau)}Bu(\tau)d\tau\bigg)$$

which can then be discretized as necessary later.

However: I am finding that the system matrix $$A$$ is not stable.

By my assumptions system matrices for all positive values of $$r_1, r_2$$ should be stable but this is not the case. Empirically I just tested a couple settings and the real part of the eigenvalues of $$A$$ must be negative, which is satisfied are for $$r_1 = 1, r_2=1$$ but not for $$r_1 = 3, r_2 = 3$$

Where dd I go wrong?.

I think I figured it out, dumb mistake in writing the system in continuous time.

$$\dot{l} = r_1(u - l)$$

$$\dot{s} = r_2(\dot{l} - s)$$

$$\ \ = r_2(r_1(u - l) + r_1 s - s)$$

$$\ \ = r_2(r_1(u - l) + (r_1 - 1)s)$$

$$\ \ = r_2 r_1(u - l) + r_2(r_1 - 1)s$$

So $$A = \begin{bmatrix} -r_1 & 0\\ -r_1r_2 & -r_1r_2\\ \end{bmatrix}$$

which is stable for all positive $$r_1, r_2$$!

• Hi. I want to do the same thing for simple exponential smoothing but I don't see how you obtained the original expressions for the derivatives of l and s. Thanks. Or if some book has it in there and you know where to find it, it's appreciated. – mark leeds Aug 12 '19 at 3:30