I used this example code to create my own time series forecasting example. All seems to work just fine but I do feel uneasy when "item_id" is used in training but not allowed in prediction. After creating an endpoint, if I create an input template I need to create the request like
"start": str(fcstDate),
> "target": group["target_value"].fillna("NaN").tolist()[:-prediction_length],
> "dynamic_feat": [
> group[feature_name].tolist()
> for feature_name in dynamic_feat_list
> ],
> "cat": [int(group.iloc[0]["static_feature_1"])],
which in sample code given as:
{'instances': [{'target': [33.1595, 30.1788, 28.5022, 27.5708, 27.7571], 'start': '2014-05-30 01:00:00', 'dynamic_feat': [[1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 5.0], [1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 5.0], [1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 5.0]], 'cat': [0, 1]}]}
where item_id is not present. If I add item_id which I believe necessary, I get an error. This becomes a bigger issue when I use TimeSeriesDataConfig for explainability (TSX) work as specified in the sample code. item_id issue is back again. To construct TimeSeriesDataConfig, you must specify item_id, How does the endpoint accept item_id in SageMakerClarifyProcessor but not in sagemaker.predictor.Predictor. This is a bit confusing. Any guidance here would be greatly appreciated.