tf.contrib.distributions.auto_correlation
Автокорреляция по одной оси.
tf.contrib.distributions.auto_correlation(
x, axis=-1, max_lags=None, center=True, normalize=True, name='auto_correlation'
)
Дана 1-D стационарная во временном смысле (WSS) последовательность X, автокорреляция RXX может быть определена как (при E ожидании и Conj комплексно-сопряженном)
RXX[m] := E{ W[m] Conj(W[0]) } = E{ W[0] Conj(W[-m]) },
W[n] := (X[n] - MU) / S,
MU := E{ X[0] },
S**2 := E{ (X[0] - MU) Conj(X[0] - MU) }.
Эта функция рассматривает x как (по одной оси) конечную подпоследовательность реализации (WSS) X, и затем использует x для получения оценки RXX[m] следующим образом:
После расширения x с длины L до inf с помощью нулевого заполнения, оценка автокорреляции rxx[m] вычисляется для m = 0, 1, ..., max_lags как
rxx[m] := (L - m)**-1 sum_n w[n + m] Conj(w[n]), w[n] := (x[n] - mu) / s, mu := L**-1 sum_n x[n], s**2 := L**-1 sum_n (x[n] - mu) Conj(x[n] - mu)
Ошибка в этой оценке пропорциональна 1 / sqrt(len(x) - m), поэтому пользователи часто устанавливают max_lags достаточно малым, чтобы весь вывод был осмысленным.
Обратите внимание, что поскольку mu является несовершенной оценкой E{ X[0] }, и мы делим на len(x) - m вместо len(x) - m - 1, наша оценка автокорреляции содержит небольшой систематическую ошибку, которая стремится к нулю, когда len(x) - m --> infinity.
| Аргументы | |
|---|---|
x | float32 или complex64 Tensor. |
axis | Python int. Номер оси, по которой вычисляется корреляция. Другие размеры индексируют различные члены пакета. |
max_lags | Положительное int тензор. Максимальное значение m для рассмотрения (в уравнении выше). Если max_lags >= x.shape[axis], мы фактически переустанавливаем max_lags в x.shape[axis] - 1. |
center | Python bool. Если False, не вычитается оценочная средняя mu из x[n] при формировании w[n]. |
normalize | Python bool. Если False, не делится на оценочную дисперсию s**2 при формировании w[n]. |
name | String имя для добавления к созданным операциям. |
| Возвращаемое значение | |
|---|---|
rxx: Tensor того же dtype что и x. rxx.shape[i] = x.shape[i] для i != axis, и rxx.shape[axis] = max_lags + 1. |
| Исключения | |
|---|---|
TypeError | Если x не является поддерживаемым типом. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/distributions/auto_correlation