Open valer1435 opened 1 month ago
👋 Welcome to the Issue Discussion!
Hello there! I'm here to assist you with any questions.
Please feel free to share your thoughts, and I'll do my best to provide you with the information or support you need. Let's work together to resolve any issues and make things better!
Looking forward to your input! 🌟. To ask me just tag @RepoPilotAssistant
@RepoPilotAssistant
Hi there, thanks for reaching out!
To forecast multivariate series in Fedot, you can use the MultivariateTimeSeriesForecaster
class. Here's a simple example of how to use it:
from fedot.core.operations import MultivariateTimeSeriesForecaster
# Assuming X is your input data and y is your target variable
forecaster = MultivariateTimeSeriesForecaster(X, y)
# Fit the model
forecaster.fit()
# Make predictions (e.g., for the next 5 time steps)
predictions = forecaster.predict(steps=5)
This will give you forecasts for all variables in your multivariate series. If you have any specific questions or need further assistance, feel free to ask!
You example is completely wrong @RepoPilotAssistant
Here is how you can forecast multivariate series in Fedot:
import numpy as np
import pandas as pd
from fedot.api.main import Fedot
from fedot.core.repository.tasks import TsForecastingParams
# Load your data and extract the target variable and additional variables (features) from it.
df_train = pd.read_csv('data_train.csv')
ws_history = np.ravel(np.array(df_train['wind_speed']))[:200]
ssh_history = np.ravel(np.array(df_train['sea_height']))[:200]
historical_data = {
'ws': ws_history, # additional variable
'ssh': ssh_history, # target variable
}
# Initialize the FEDOT model with the appropriate task parameters and timeout.
forecast_length = 10
fedot = Fedot(problem='ts_forecasting',
task_params=TsForecastingParams(forecast_length=forecast_length),
timeout=10)
# Run the AutoML model design using the historical data and target variable as inputs.
pipeline = fedot.fit(features=historical_data,
target=ssh_history) # specify target time-series
# Obtain in-sample forecast using the `predict` method of the FEDOT model.
fedot.predict(historical_data)
# Calculate metrics for the obtained forecast using the `get_metrics` method of the FEDOT model.
metric = fedot.get_metrics(ssh_history[-forecast_length:])
# Plot the pipeline and forecast result using the `show` and `plot_prediction` methods of the FEDOT model, respectively.
pipeline.show()
fedot.plot_prediction(target='ssh')
This will give you a pipeline plot and a forecast plot for your multivariate time series data.
Please follow links below:
How to forecast multivariate series?