-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERROR: MethodError: no method matching Array{Optim.OptimizationState{DSGE.Csminwel,T},1} where T() #18
Comments
I wasn't able to replicate your issue on our machines, but we've put out a new release of the package that includes many Optim-related bug fixes and should address your problem. It might be a couple days before Metadata accepts our pull request so in the meantime you can grab the latest version of the package using For simulated annealing, there is no gradient to report so it'll always give |
Are you using
Do you have something like a semi-regular release cycle ? Optim will tag a new version soon, so maybe it would make sense to coordinate a bit before you tag a new version. |
We are indeed using Optim's We're now aiming to release hotfixes/new features every 6-8 weeks (following FOMC meetings). These will also include changes needed to keep DSGE.jl up-to-date with its dependencies. In the meantime, we'll watch for the next release of Optim and update DSGE.jl prior to the next FOMC meeting if we get the chance. |
Thanks, Abhi. And the data-pull issue? I'm still trying to run the run_default.jl script. Before, it would just save the CSV with those series having all missing values. Now I get the error: WARNING: THREEFYTP10: Bad Request. The series does not exist in ALFRED but may exist in FRED. Try The problem is that now it doesn't save the CSV, and I don't know what the file naming convention of /observation names should be to bypass it pulling data from Fred. |
The warning about the THREEFYTP10 series is expected, as that series is never revised and therefore doesn't have historical vintages available through ALFRED. Unfortunately, this warning doesn't shed any light on the source of your error. Could you try calling If you wish to construct a dataset by hand in the meanwhile, take a look at the file here. This data file is for a newer, larger version of the model and as such has some slightly different series. All of the ones needed for model 990 are there with the exception of |
load_data_levels(m) produces the same error I wrote above. I don't mind creating it by hand, I just don't know what to name the file to bypass the estimate(m) function pulling the data from Fred. Like I said, nothing gets saved after I get that error, and I can't find anything in the documentation describing what the naming convention should be. Better yet.. is there another test or example script that works with a fresh v0.6.2 Julia install? I'm really just trying to learn how to use it. |
The sample data file created by running the example script should be named I've tried to replicate your issue with no success so far, unfortunately. I would suggest running |
Hi Brian, Abhi has left the NY Fed DSGE team since this issue was last bumped, so I'm assigning myself to see if we can get this resolved. We previously were not incredibly timely with updating our dependencies, so our the inability in exactly replicating your issue might be because of versioning. We currently use v0.6.0, so if you want to give this another go on Julia v0.6.0, and let me know your package versions (just screenshot your Pkg.status() output), prior to trying to run estimate() again, that'd be great! Hope we can figure this out. Best, |
Given the original Optim mentions im happy to help of its related to that package, but reading through the thread, I think the optim errors were because op checked out incompatible package versions. Reach out here, via mail or gitter if you need my input. |
Thanks Patrick! I do think that is the case. After updating all of my packages and re-running our tests, there seems to be no issue on my end. |
I'm getting errors pulling in all the data and with running the estimate(m) function. I'm trying to run the run_default.jl script on a fresh 0.6.2 Julia install.
It's not able to grab the longinflation, longrate, and tfp series. When I fill those myself manually, I'm getting the error below when I get to estimate(m).
ERROR: MethodError: no method matching Array{Optim.OptimizationState{DSGE.Csminwel,T},1} where T()
I tried different optimation_method settings, and the only one that doesn't give an error is simulated_annealing, but I don't think it's actually converging, since the gradient norm is NaN at each iteration.
I also tried different versions of the Optim package, but that's doesn't seem to be fixing the problem.
EDIT: I also couldn't install the package using the standard Pkg.add("DSGE") method. I had to clone the git repo. The error had to do with Optim, which I think might be related to the above ^
The text was updated successfully, but these errors were encountered: