0
$\begingroup$

By "entitiy" I mean the generative source of a single series. For example, in a dataset tracking sales of various items across multiple stores, each store would be an entity. Each one can have its own idiosyncrasies - for example maybe product A has a weekly seasonality at Store 1, but the same is not true not at store B. As another example, for a streaming service, each entity could be a user; users would naturally differ in which shows they watch, and at what times they are active. A useful synthetic dataset should preserve the existence of these behavioral differences at the entity level.

I want to generate such a dataset. To then end, I have a couple questions:

  1. What architecture is useful for generating synthetic series data in the first place?
  2. How can such an architecture be modified so that entity-level behaviors are present in the output? In particular, when no exogenous data is present aside from entity ID.

Is there any literature reviewing this problem?

What I've tried so far

I'm currently experimenting with a transformer to output the series. My data has many users, each of which can be in a given state at a single time point. I train the transformer to output the next state conditioned on the previous states.

To preserve user-level behavior, I have two ideas:

  • Condition attention on some exogenous data, i.e. tack on some tabular features at the start of the series
  • Cluster the user beforehand based on their series, not exogenous data, and use the cluster as a feature in a similar manner

I can't find literature on this problem, so I'm not convinced that either method is reliable.

$\endgroup$

1 Answer 1

0
$\begingroup$

You should use some generative models to generate synthetic data.

Did you try to include transformers into a GAN-Architecture? Typically, GANs are a good start for generating data. And - if tuned correctly - they can capture the distribution of different time series.

If I understand you correctly, each "entity" is associated with one time series. So by generating time series with different characteristics (what GANs can do), you would achieve your goal.

More explicit

If this does not satisfy your needs, you could build to generators: one generates entities with some features and the second one takes an entity as input to generate a time series.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.