Skip to content
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

Why not get GC and prediction in one model? #4

Closed
WEIFZH opened this issue Apr 7, 2021 · 2 comments
Closed

Why not get GC and prediction in one model? #4

WEIFZH opened this issue Apr 7, 2021 · 2 comments

Comments

@WEIFZH
Copy link

WEIFZH commented Apr 7, 2021

Hi, thanks for your awesome work! I have a question about cMLP codes, there are two models including cMLP and cMLPSparse, the former aims to get GC and the second one provide the prediction, why not use only one model to do it? Is there any difference between these two models? I would appreciate it if you could answer my question! : )

@iancovert
Copy link
Owner

Hi there, thanks for checking it out!

That's a good question, this probably wasn't clear from our documentation. The cMLP model allows every feature to influence the model's predictions, but, of course, we have training algorithms that encourage the model to rely on a small number (for learning Granger causality). Oftentimes, the goal is just to discover the Granger causality graph, so you might stop here once you have the learned GC matrix.

If you also want to do forecasting afterwards, then you can do this in a couple different ways. You can use your trained cMLP, which relies on a small number of inputs; you can train a new cMLP that relies on all the features; or you can train a cMLPSparse model, which takes the learned GC matrix and ensures that only the selected features are used.

If you care about getting accurate forecasts, then training a new cMLPSparse with the desired sparsity pattern is probably best. The cMLP might make inaccurate predictions because it was focusing on sparsity, so training a new "debiased" model (something that's also done with lasso linear regression, for example) can obey the same sparsity pattern but achieve better accuracy.

Does that make sense?

@WEIFZH
Copy link
Author

WEIFZH commented Apr 9, 2021

Hi there, thanks for checking it out!

That's a good question, this probably wasn't clear from our documentation. The cMLP model allows every feature to influence the model's predictions, but, of course, we have training algorithms that encourage the model to rely on a small number (for learning Granger causality). Oftentimes, the goal is just to discover the Granger causality graph, so you might stop here once you have the learned GC matrix.

If you also want to do forecasting afterwards, then you can do this in a couple different ways. You can use your trained cMLP, which relies on a small number of inputs; you can train a new cMLP that relies on all the features; or you can train a cMLPSparse model, which takes the learned GC matrix and ensures that only the selected features are used.

If you care about getting accurate forecasts, then training a new cMLPSparse with the desired sparsity pattern is probably best. The cMLP might make inaccurate predictions because it was focusing on sparsity, so training a new "debiased" model (something that's also done with lasso linear regression, for example) can obey the same sparsity pattern but achieve better accuracy.

Does that make sense?

Pretty clear! Thanks for your kindly and fast reply!

@WEIFZH WEIFZH closed this as completed Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants