Skip to content

Conversation

@spolisar
Copy link
Collaborator

sktime support

Added an adapter in timecopilot/models that can be used to work with sktime models using TimeCopilot.

Adding an SKTime forecaster currently requires the adapter be wrapped around a BaseForecaster (the abstract class sktime forecasters inherit from) by the user before passing it in a model list to a TimeCopilot agent. Setup for sktime models is currently being left to users as those arguments may vary according to the model and data. BaseForecaster can be added as a type hint if sktime is added to the requirements.

adapted_model = SKTimeAdapter(
    model=TrendForecaster() ,
    alias="TrendForecaster",
)

tc = timecopilot.TimeCopilot(
    llm="openai:gpt-4o",
    forecasters=[
        adapted_model,
    ],
)

Alias currently defaults to "SKTimeAdapter", should it be a required argument?

There currently is not support for levels and quantiles via the sktime adapter. It doesn't look like those are available for every sktime forecaster, so a decision on how to handle those cases should be made before supporting those features.

Exogenous data could be supported, and would also be a next step to take for sktime support. Exogenous data may have similar constraints to quantiles/levels.

Where should the sktime notebook be placed in the list of example notebooks?

@spolisar
Copy link
Collaborator Author

spolisar commented Dec 15, 2025

This should be moved over to a full PR once the notebook finds its place in the examples list.

Are more substantial doc strings also necessary?

Quantile support can be added after deciding how to handle the mixed support for that within sktime forecasters.

Exogenous data can also be a future feature, it may have similar support constraints to quantiles.

@spolisar spolisar force-pushed the feat-sktime-support branch from 950b192 to 45eb145 Compare December 17, 2025 16:14
@spolisar spolisar force-pushed the feat-sktime-support branch from f404d37 to f3d5498 Compare December 19, 2025 21:58
@spolisar spolisar marked this pull request as ready for review December 22, 2025 18:13
@AzulGarza AzulGarza self-requested a review January 5, 2026 15:23
Copy link
Member

@AzulGarza AzulGarza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @spolisar! it looks good to me. the only thing we need to review is why the tests are taking too long and failing. i intuit it is related to the new release of utilsforecast but i'm not completely sure. do you have any ideas?

@spolisar
Copy link
Collaborator Author

spolisar commented Jan 5, 2026

@AzulGarza I took a look at the last run, and found this message.

The hosted runner lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error.

It seems like resources are running out while running, causing a crash, which leads to the connection with the action runner dying.

The two solutions coming to mind are finding a way to optimize resource use or throwing more resources at the problem.

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.

3 participants