Matrix not positive definite Bayesian estimation

Hi everyone,

I’m trying to replace the estimates of Kiley (2020) “What Can the Data Tell Us About the Equilibrium Real Interest Rate?

I’m running into problems in the estimation step and get the error: “Matrix must be positive definite.” I’m attaching the Dynare file and data here.

I’m not sure what’s causing the error and would really appreciate any guidance. Thank you very much.

data.xlsx (40.9 KB)
kiley.mod (1.8 KB)

I run your model with mode_compute=6 option in my laptop altough I think that it is better to use 8 different observable variables for 8 shocks.

I think you have collinearity in your observable variables in your model, altough I am not sure completely, but I have a similar personal experience about this issue. When I used Y , C , I as observable variables I encountered with Dynare output error.

" Matrix must be positive definite" .

I canged one of the variables and the problem solved completely with mode_compute =4

Thank you very much. It runs when I set mode_compute=6 too but the resulting posteriors are very different from the paper, and I suspect this could be related to whatever’s causing mode_compute=4 to break.

My observable variables are just GDP growth, the unemployment rate, realized inflation, inflation expectations, and the nominal funds rate, so it seems odd that there would be collinearity in the data. It could be an identification problem, but I’m trying to stick to the exact specification in the paper so I must be getting something wrong in my set-up. Not sure what, though.

As I said I am not completely sure about the collinearity of the variables. The error’s main reason may be different. I said only for my personal experience about the similar problem.

You should focus on your observation equations. All your variables have a zero steady state, but the data are not mean 0. That can create a lot of problems.

Thank you very much. The issue persists when I demean the data (updated data file attached).
data.xlsx (42.4 KB)

Can you test your datafile variables with other four different variables ??

You mean replace them with completely random series? I’m not sure that would help because I’d still want to work with this data, and I suspect that I’m probably specifying something incorrectly (rather than this being an underlying property of this fairly standard dataset). I’m just not sure what that could be.

No, I don’t mean random series at all.

Replace for example with different variables.

You can try the attached file in Dynare 6.0:
kiley.mod (1.8 KB)
data.xlsx (42.4 KB)

This works, thank you very much!