Как включить многие функции в структурный временной ряд вероятности TensorFlow - PullRequest
1 голос
/ 08 апреля 2020

Я новичок в Tensorflow и Bayesian Structural Time Series, и мне действительно может помочь некоторая помощь в выяснении, как обучить многовариантную модель BSTS, которая автоматически выполняет выборку функций для сотен входных временных рядов.

В блоге TF-Probability BSTS показано, как включить сезонные эффекты вместе с одной функцией ввода:

  ...
  temp_effect = sts.LinearRegression(
      design_matrix=tf.reshape(temp - np.mean(temp),
                               (-1, 1)), name='temp_effect')
  ...
  model = sts.Sum([..., temp_effect,...],
                   observed_time_series=observed_time_series)

Но как быть, когда имеется несколько временных рядов ввода?

При чтении документации создается впечатление, что при многих входах SparseLinearRegression предпочтительнее, что имеет смысл, но как мне адаптировать мой код?

В документации как для метода LinearRegression, так и для метода SparseLinearRegression предлагается использовать design_matrix=tf.stack([series1, series2], axis=-1), weights_prior_scale=0.1), но поскольку это отличается от того, как его использует собственный пост в блоге TF-Probability, я не уверен, что это лучший способ для go.

Должен ли я добавить все (несколько сотен) входных объектов в design_matrix одной SparseLinearRegression или мне нужно добавить отдельную LinearRegression для каждой функции и затем использовать sts.Sum() для объединения их всех в модель? Хотя мне бы хотелось, чтобы функциональность визуализировала влияние каждой функции, меня больше всего интересует, чтобы модель автоматически выполняла выбор объектов и генерировала веса для оставшихся функций, к которым я могу иметь доступ.

Любая помощь или предложения будут с благодарностью.

...