- 新しい順
- 投票が多い順
- コメントが多い順
"Yes, but..."
I agree it sounds like all your N*Z timeseries are prediction targets: You don't know them into the future, so can't provide them as dynamic_feat
s. Creating each as a target record with a 2D cat
encoding the individual n
and the variable z
would probably be the "right" way to submit this data to SageMaker DeepAR per the algorithm docs.
But I'm not overly optimistic about the success of the DeepAR algorithm for this task... As described in the original paper, it's mainly an auto-regressive model from past target and dynamic_feat
s to output, with some global conditioning/encoding on the cat
features. It's true there's scope in there to learn correlations/interactions between series, but I'm not sure whether there'll be enough bandwidth/capacity in that coupling to learn your inter-individual interactions if those are really dominant.
To illustrate what I mean at a high level:
- If we were talking about global position of migratory birds over months, I'd guess (only a guess) that basic auto-regression over what time of year it is and where bird A usually hangs out in March could already tell you quite a lot... Maybe bird A and bird B always travel together - this also seems like a manageable pattern for a primarily forecasting-based model.
- If we were watching pigs bounce around in a small pen over seconds, I'd guess the position and direction of each pig would be tightly coupled. Lots of information about the current location of other pigs would be important for deducing where pig X goes next. Seems more like the domain of dynamic system identification to me.
Of course absolutes are pretty hard to come by in ML and DeepAR+ is pre-built - so could still be worth trying. You might even consider a custom domain model in Amazon Forecast to see if the automatic ensembling and extra algorithms it offers could help out... But might be that there are other modelling approaches out there if the forecasting angle doesn't produce the results you're looking for.
関連するコンテンツ
- AWS公式更新しました 3年前
Thanks for the thorough answer.
With some tinkering, I think have the data (well, toy data) reshaped into the right approach, and Sagemaker will ingest it and train
cat
, different for every linetarget
on each line is shape[T,]
, where T is the total timeseries lengthdynamic_feat
on each line is shape[N*Z-1, T]
as exampled here: https://gist.github.com/apullin/425cd32eb339ca5ce0d10d8aac6dcc18