我正在尝试使用Azure AutoML进行时间序列预测。我有一个简单的两列训练数据集,每隔一小时包含两年的数据。第一列是日期/时间,第二列是我要预测的变量。我已经运行了几次Azure AutoML,它似乎成功完成了。然而,当我做预测并将其绘制成图表时,显然有些地方是错误的。看起来预测正在以某种方式被量化。下图是训练集结束后的7天。蓝色是实际的,红色是预测。这显然是不正确的。

下面是我的训练配置(python):
lags = [1,24,168]
forecast_horizon = 7 * 24 # 7 days of hourly data
forecasting_parameters = ForecastingParameters(
time_column_name="DateTime",
forecast_horizon=forecast_horizon,
target_lags=lags,
country_or_region_for_holidays='NZ',
freq='H',
use_stl='season',
seasonality='auto'
)
automl_config = AutoMLConfig(task='forecasting',
debug_log='automl_forecasting_function.log',
primary_metric='normalized_root_mean_squared_error',
experiment_timeout_hours=1,
experiment_exit_score=0.05,
enable_early_stopping=True,
training_data=train_df,
compute_target=compute,
n_cross_validations=10,
verbosity = logging.INFO,
max_concurrent_iterations=19,
max_cores_per_iteration=19,
label_column_name="Output",
forecasting_parameters=forecasting_parameters,
featurization="auto",
enable_dnn=False)运行中最好的模型是VotingEnsemble:
ForecastingPipelineWrapper(pipeline=Pipeline(
memory=None,
steps=[('timeseriestransformer',
TimeSeriesTransformer(
featurization_config=None,
pipeline_type=<TimeSeriesPipelineType.FULL: 1>)),
('prefittedsoftvotingregressor',
PreFittedSoftVotingRegressor(estimators=[('7',
Pipeline(memory=None,
steps=[('minmaxscaler',
MinMaxScaler(copy=True,
feature_range=(0,
1))...
DecisionTreeRegressor(ccp_alpha=0.0,
criterion='mse',
max_depth=None,
max_features=0.5,
max_leaf_nodes=None,
min_impurity_decrease=0.0,
min_impurity_split=None,
min_samples_leaf=0.00218714609400816,
min_samples_split=0.00630957344480193,
min_weight_fraction_leaf=0.0,
presort='deprecated',
random_state=None,
splitter='best'))],
verbose=False))],
weights=[0.5,
0.5]))],
verbose=False),
stddev=None)发布于 2020-11-27 04:40:45
看起来我并没有做任何根本错误的事情。我关闭了提前停止,让它运行了两个小时,然后得到了这个...

https://stackoverflow.com/questions/65014471
复制相似问题