Occbin_estimation: BK conditions are not satisfied

Hi professor, I was running an estimation model. The error said “Blanchard & Kahn conditions are not satisfied: indeterminacy.” However, at the beginning of the result, it said the rank condition is verified. Are these two conditions the same condition? In addition, the model works if I just run an irf. Could you please give me any hint? Thank you so much for your help. I am uploading my mod file for your reference. Thank you again!
test_estimation.zip (51.4 KB)

Use

estimated_params_init(use_calibration);
end;

to start at the calibration and adjust your priors. Currently, the calibrated values are not permitted.

Thank you Professor for your kind help. With your suggestion, the model runs successfully. However, it runs very slow. It has been running for almost 8 hours and still not generate any result. I test before some example models that aims at estimating and they all run so quick to get the result. Is it usual for my model to run so slow? Is there any method that I can put “check” in the model so that I can follow up the details of the running? I cannot figure out where to add a "check " so that I can closely follow the details of the procedure. Could you please give me some hint? Thank you so much for your help.

You already got the answer at

Why did you not use the likelihood_piecewise_kalman_filter?

Thank you so much for your reply. Because I asked you before how to filter the shock from the data and how to simulate a model to fit the data. You told me to use an inversion filter. Can PKF reach the same goal? Thank you so much for your help.

No, you asked what the authors in that paper did. They used the inversion filter. The PKF should do the same and be faster.

Thank you so much for your reply, Professor. With your suggestion, I switch to PKF. However, I came across the following errors.

It seemed there were two errors. The first one is the stochastic singularity. I am trying to drop one observe by one time to see where the singularity still exists. The second one confuse me a lot. It said I didn’t use the calibrated parameters as initial values. But I indeed add

with your suggestion before. Am I add it correctly? I am uploading the mod file for your reference.
Thank you so much again.

The stochastic singularity issue is the one to focus on. The message about use_calibration is just the suggestion to try this if you not already did that to fix the issue.

Thank you so much for your reply. The case is that when I was trying to use only one observable to estimate (then there should be no singularity issue), the “calibration issue” still existed. So should I solve this problem first ? However, I already added a “use_calibration” command as I mentioned before. Did I correctly call this command? Thank you so much again.

Does the simulation work? And did you set the same options for estimation as for Occbin simulations?

Yes, Professor, the simulation works. I checked it again. I delete the estimation-related block and add a shock(surprise) block and then run the simulation the irf shows the following figure:


I am uploading the simulation mod file for your reference.
test_orig.zip (398.6 KB)

And in addition, can this simulation showcased that the Taylor rule works well as I asked you about the ramsey policy at another link?Equations converges to zero by hand however not by Dynare - #9 by jpfeifer I am still struggling to figure out why the osr or Ramsey doesn’t work. Thank you so much for your constant help.

Hi professor, this is my second question. I tried to take the calibration_smoother on my model, but came across the following error.

First, I only have one observable, why it said there exists stochastic singularity ?
Second, I have no idea about what "Unable to perform assignment because the left and right sides have a different number of elements."means. Could you please give me any hint?
Thank you so much for your help. I am uploading my mod file for your reference. Thank you so much again.
test_calib_smoother.zip (399.7 KB)

Hi professor, I install Dynare 5.2 and then run the calibration_smoother on the model. The previous error disappeared. However, it still said that “DsgeSmoother: Switching to univariate filter. This may be a sign of stochastic singularity.”. I only use one observable. Why the stochastic singularity still exists?Is it a default return when there is only one observable?

In addition, when I call the oo_.SmoothedShocks and oo_.SmoothedVariables, elements were all zero. Why this happens? Could you please give me some include?

I am uploading mod file for your reference.
test_calib_smoother.zip (699.8 KB)

I have another question for which I bothered you before for many times. I used Dynare 5.2 to run my previous estimation model with only one observation. Two errors: the first one is the absence of use_calibration which however I already added; the second one is that it said “Subscripted assignment between dissimilar structures.”. what does it mean? Could you please help me debugging the mod file? Thank you so much for your help.
test_estimation.zip (55.4 KB)

I referred tests/occbin/filter · master · Dynare / dynare · GitLab with which I checked my mod file line by line. It seemed there is no difference between two mod files. I really don’t know where the problem exists. Any suggestion is greatly appreciated. Thank you again.

  1. For the first one, your don’t have a valid shocks-block for stochastic shocks. Rather, you are working with predefined shock values. You would need something like
shocks(overwrite);
%%%%% MP shocks
var et; stderr 1;
var er; stderr 1;
end;
  1. The estimation error message comes from bug fixes in error traps in PKF update steps (!2063) · Merge requests · Dynare / dynare · GitLab
    The crash hides the message

Occbin: Simulation terminated with periodic solution (no convergence).

Thank you so much for your help. I have a follow-up question. How to solve the convergence issue? I referred to all previous talks about convergence issue in forum and notice that the iteration matters. However, whatever how many iteration I assign, like 100000000, the convergence issue still exists. Is there any try that I can take to solve the problem. And is there any document or paper that I can refer to to solve the convergence problem? Thank you again for your help.Best regards.

  1. Does a normal OccBin simulation work in your model? If yes, you may not have correct set all the options for estimation.
  2. Usually, the problem with periodic solutions is with the specification. See

Thank you so much for your help. With your suggestion, I reset the occbin_constraints and the problem was successfully solved. However, I didn’t get the “RESULTS FROM POSTERIOR ESTIMATION”.Instead, it said the smoother did not converge after 10 iteration. Though, the good news is that I can derive the SmoothedVariables and SmoothedShocks. I am still confused with several questions. The first one, is it possible that the smoothed variables/shocks were successfully derived meanwhile that estimation failed? The second one, what does it mean by saying smoother did not converge. I checked manual and forum and find nothing more about it. Is it a significant error that I should solve? The third one, it said the smoother iterated 10 times. Since I didn’t find the iteration options in manual, how to decide the iteration of smoother. The fourth one, in this case, how to get the results of posterior estimation? Thank you so much for you reply.

I would need to see the newest iteration of the files.

Thank you so much for your reply. This is my newest mod file.
test_estimation.zip (1.5 MB)

  1. Are you sure
    name 'ZLB'; bind v2<0-1e8; relax exp(xi)*exp(Q)*(exp(fm)-kappa*exp(fm)/exp(Pi))>Psi*exp(pk)*exp(Ih);

is correct? Or should it be 1e-8?
2. You can try to increase

options_.occbin.smoother.max_number_of_iterations=30;

When I do that, I obtain a periodic solution.
3. I think @rattoma needs to have a look. It seems that in case of non-convergence, the result of the last iteration is saved, although that may be meaningless.