Skip to content

Suggestions for PR #1088#1092

Merged
mloning merged 2 commits intoforecasting-refactor-removing-superfluous-classesfrom
forecast-refactor-suggestions
Jul 6, 2021
Merged

Suggestions for PR #1088#1092
mloning merged 2 commits intoforecasting-refactor-removing-superfluous-classesfrom
forecast-refactor-suggestions

Conversation

@mloning
Copy link
Copy Markdown
Contributor

@mloning mloning commented Jul 1, 2021

Reference Issues/PRs

PR #1088

@fkiraly
Copy link
Copy Markdown
Collaborator

fkiraly commented Jul 1, 2021

Suppose, under this approach, we would tune an estimator that requires their forecasting horizon in fit.

What would happen?

@mloning
Copy link
Copy Markdown
Contributor Author

mloning commented Jul 2, 2021

The wrapped forecaster would complain that it needs the fh in fit.

@fkiraly
Copy link
Copy Markdown
Collaborator

fkiraly commented Jul 2, 2021

are you sure? The complaining happens in fit, but we directly delegate to _fit which skips the wrapped forecaster's complaining.

@mloning
Copy link
Copy Markdown
Contributor Author

mloning commented Jul 2, 2021

Inside _fit we call the fit of the wrapped forecaster, so it would complain there, I think.

EDIT: Just checked, we actually call evaluate which calls fit from the passed forecaster. So it should complain.

@fkiraly
Copy link
Copy Markdown
Collaborator

fkiraly commented Jul 3, 2021

Happy to approve this and to be merged, if in turn you are happy with #1099.

My proposed way forward would be:

  • merge this using your suggestion, @mloning, to "get the refactor done"
  • get the BaseObject refactor done too, but with basic machinery for dynamic tags in there.
  • have the next release; don't use the dynamic tags anywhere in that, but have the base functionality in (in BaseObject). Note that we have already decided that we want this, see June 23 dev days discussion notes. It also follows your get_tag suggestion in the very PR, so I would hope this is uncontroversial.
  • have discussions on tags, by estimator type - after the next release.

@mloning
Copy link
Copy Markdown
Contributor Author

mloning commented Jul 3, 2021

@fkiraly I haven't looked at #1099 yet. Is it okay to merge this to finish the refactor and then release and then work on tags for the new release?

@fkiraly
Copy link
Copy Markdown
Collaborator

fkiraly commented Jul 3, 2021

Is it okay to merge this to finish the refactor and then release and then work on tags for the new release?

I'd prefer to have the refactor finished all up the inheritance tree in the release, i.e., including BaseObject.
Could you take some time to look at #1099 hence? It passes tests and would nicely wrap up @RNKuhns' work.

Otherwise, I'd have to ask for more time to think about the consequences of the refactor end state, perhaps have a discussion next week.
As said in the discussion on #1088, I think your solution adds broken behaviour regarding tags, without an obvious way out of it. I wouldn't have these concerns if the BaseObject is also in there.

Regarding working on tags, I agree to do work on them after the new release. That's precisely the point of my suggestions in #1099 - we would be ready for that in the new release if we have BaseObject sorted out. Note that my suggestion to BaseObject does not change any tag related logic in any concrete class. It simply implements the decision we took on June 23 (see above).

@mloning
Copy link
Copy Markdown
Contributor Author

mloning commented Jul 5, 2021

@fkiraly so can we merge this without merging the dynamic tags before the next release?

@fkiraly
Copy link
Copy Markdown
Collaborator

fkiraly commented Jul 5, 2021

fine with me, but please do the merge(s) then yourself, in the way you prefer

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

Successfully merging this pull request may close these issues.

2 participants