So I'm in a bit of a rut here... I've been trying to fit a dynamic linear model with my data to be able to gather some information and I can't seem to get what I wan't.

What I'm trying to achieve: I want to observe how the coefficients of my predictors change over time.

The Data: My response is essentially count data, the # of animals that have used a specific bridge. I have in my data 10 bridges, each with their own qualities (which I use as regressors).

The count is collected at each bridge once every month for 18 years. So in total I have 2160 data points.

Now there is definitely seasonality in my Data, I.E I expect to have higher counts during specific months. So I have to take this into consideration in my model.

Since the bridges are located nearby, theres the issue of spatial correlation, which I tackle using the 'autocovariate' method. Essentially creating a new regressor to apply a 'weight' to each bridge depending on how many other bridges are nearby at a certain radius.

The end goal: Making sure the model is a good fit, via checking MSE, I want to be able to plot the coefficient values of certain predictors in the model over time.

Any specific models that anyone would recommend? (Along with their package details on R if possible)


1 Answer 1


Your data set is $X_{10\times 216}$. The first thing I would do is SVD. For background material, see

Wall, Michael E., Andreas Rechtsteiner, and Luis M. Rocha. "Singular value decomposition and principal component analysis." A practical approach to microarray data analysis. Springer US, 2003. 91-109.

SVD will give you independent, characteristic time series (which may well exhibit seasonality based on your comments). If you think the dynamics between the bridges is constant over the 18 years, you can go ahead and fit your 10 DLMs to these 10 (or less) characteristic time series. I wouldn't worry about using too many explanatory series (e.g. 10), the irrelevant ones will have parameter loadings very near zero (see next paper, Keane and Corso, Fig.2).

If you think the dynamics between the bridge animal counts evolved (perhaps a shopping mall arose in the middle), you may want to use sliding windows to perform SVD. The changing eigenspace adds a layer of complexity. But, you can track the evolution of the eigenspace, and carry forward your Bayesian posterior distributions from "yesterday" to prior distributions for "today", accounting for evolution in the eigenspace as described in

Keane, Kevin R., and Jason J. Corso. "Maintaining prior distributions across evolving eigenspaces: An application to portfolio construction." Machine Learning and Applications (ICMLA), 2012 11th International Conference on. Vol. 2. IEEE, 2012.

This second article is very similar to what you want to do, just applied to stock returns rather than animal counts.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.