Skip to content

Add default params_to_tune for decomposition transforms #1227

Closed
Mr-Geekman opened this issue Apr 14, 2023 · 1 comment
Closed

Add default params_to_tune for decomposition transforms #1227

Mr-Geekman opened this issue Apr 14, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Mr-Geekman
Copy link
Contributor

Mr-Geekman commented Apr 14, 2023

🚀 Feature Request

Add default params_to_tune for decomposition transforms

Proposal

Suggested grid for STLTransform:

{
    "model": CategoricalDistribution(["arima", "holt"]),
    "robust": CategoricalDistribution([False, True]),
}

It is expected that period is set by the user.

Suggested grid for LinearTrendTransform:

{
    "poly_degree": IntUniformDistribution(low=1, high=2),
}

Suggested grid for TheilSenTrendTransform:

{
    "poly_degree": IntUniformDistribution(low=1, high=2),
}

Suggested grid for ChangePointsSegmentationTransform. We should set default value for change_points_model like in ChangePointsTrendTransform. We tune parameters only if default values for change_points_model and per_interval_model are set:

{
    "change_points_model.change_points_model.model": CategoricalDistribution(["l1", "l2", "normal", "rbf", "cosine", "linear", "clinear", "ar", "mahlanobis", "rank"]),
    "change_points_model.n_bkps": IntUniformDistribution(low=5, high=30),
}

Suggested grid for ChangePointsTrendTransform. We tune parameters only if default values for change_points_model and per_interval_model are set:

{
    "change_points_model.change_points_model.model": CategoricalDistribution(["l1", "l2", "normal", "rbf", "cosine", "linear", "clinear", "ar", "mahlanobis", "rank"]),
    "change_points_model.n_bkps": IntUniformDistribution(low=5, high=30)
}

Suggested grid for ChangePointsLevelTransform. We tune parameters only if default values for change_points_model and per_interval_model are set:

{
    "change_points_model.change_points_model.model": CategoricalDistribution(["l1", "l2", "normal", "rbf", "cosine", "linear", "clinear", "ar", "mahlanobis", "rank"]),
    "change_points_model.n_bkps": IntUniformDistribution(low=5, high=30),
}

We can't tune per_interval_model here, because possible values are classes instead of serializable types.

Suggested grid for TrendTransform. We should set default value for change_points_model like in ChangePointsTrendTransform. We tune parameters only if default values for change_points_model and per_interval_model are set:

{
    "change_points_model.change_points_model.model": CategoricalDistribution(["l1", "l2", "normal", "rbf", "cosine", "linear", "clinear", "ar", "mahlanobis", "rank"]),
    "change_points_model.n_bkps": IntUniformDistribution(low=5, high=30),
}

To discuss:

  • Do we want to tune more parameters of LinearTrendTransform and TheilSenTrendTransform that are related to the model itself?
    • It was decided not to.
  • What should we do with change_points_model and per_interval_model? It look that there are a lot of problems with them.
  • Do we want to try MeanPerIntervalModel and MedianPerIntervalModel for TrendTransform?

Test cases

Look at #1221. Check empty grid as well.

Additional context

No response

@Mr-Geekman Mr-Geekman added the enhancement New feature or request label Apr 14, 2023
@Mr-Geekman Mr-Geekman added this to the AutoML 2.0 milestone Apr 14, 2023
@Mr-Geekman Mr-Geekman self-assigned this Apr 25, 2023
@Mr-Geekman
Copy link
Contributor Author

Closed by #1243.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

1 participant