Relative contribution of time-varying regression coefficients to time-varying empirical trend?


We are running a panel hierarchical model of firms/companies. The two groups (or ‘levels’) by which our coefficients `vary’ are country and year. This means we have time-varying coefficients.

We are trying to explain the observed decline in investment rates (fixed capital expenditure i.e. ‘capx’). This is our y variable. We have 3 quantities of interest: an intercept, a profitability variable, and a book-to-market variable (called Q_{bv}). All 3 variables are allowed to vary by year (time) and by country - our two levels. (Our quantities of interest are also allowed to be ‘fixed’ as well ‘varying’ by cluster within our country and year groups.)

Our intercept and profitability variables show declining time-varying trends in their coefficients, such that in the ‘year’ group, we see that these coefficients are declining over time.

Question: how can we ‘show’ the relative contribution of one variable’s declining coefficient trend compared to another, to the observed decline in our y variable (the investment rate)? Is the best bet some kind of stimulation method (Gelman and Hill, pg.151)? But even then I’m not sure how we would do this.

And how we would distinguish the contribution of our declining time-varying coefficients to the decline in y from time-varying changes in the raw data of these variables themselves? i.e. even if coefficients are remaining constant over time, the raw data could show a decline which drives a decline in observed y.

Here is the basic model, run through brms with variational inference, an autoregressive term at the firm-level (`conm’), and some ‘fixed’ effects, i.e. firm size and sector to hold ‘constant’ these factors.

file <- write_stan_file(make_stancode(data = reg_data, 

bf(formula = 
log(inv_rf) ~ profit_rate +  log(Q_bv) + 
                    (1 + profit_rate + log(Q_bv)  | fyear) + 
                    (1 + profit_rate + log(Q_bv)  | fic) +
                    gsector + size10 + 
                    ar(gr =  conm , p = 1)), 
                    family = student()))

Here we can see declining time-varying coefficients at the year-group level (right hand side graph), for the intercept and Q coefficients. But how to show precisely the relative contribution of each to the changing pattern in y, over time? So we can say something like the following in our abstract (crudely put): ``40% of the observed decline in investment rates (y variable) is due to declining time-trend of Q, whereas 60% is due to declining time trend in intercept?"

declining_intercept.pdf (13.2 KB)
declining_Q.pdf (13.3 KB)

Thanks so much,

unfortunately, I can’t dig very deep into your question due to time constraints, but I’ll try to give at least a general observation:

Most questions we ask of a model, can be rephrased as a prediction task. When you have a prediction task, you can easily transform samples from your model into samples of a prediction and get posterior uncertainty for that prediction. In your case it seems like comparing predictions of the model for several hypothetical trends in y values and the observed y values could be helpful.

Best of luck with your model!

1 Like