Розглянемо простий часовий ряд:
> tp <- seq_len(10)
> tp
[1] 1 2 3 4 5 6 7 8 9 10
ми можемо обчислити матрицю суміжності для цього часового ряду, що представляє часові зв’язки між зразками. Обчислюючи цю матрицю, ми додаємо уявний сайт у момент часу 0, а зв'язок між цим спостереженням та першим фактичним спостереженням у часі 1 відомий як посилання 0. Між часом 1 та часом 2 посилання є посиланням 1 тощо. Оскільки час - це спрямований процес, веб-сайти підключаються до (постраждалих від) посилань, які є "вище" за течією. Отже, кожен сайт підключений до посилання 0, але посилання 9 підключено лише до сайту 10; це відбувається тимчасово після кожного сайту, за винятком сайту 10. Визначена таким чином матриця примикання створюється наступним чином:
> adjmat <- matrix(0, ncol = length(tp), nrow = length(tp))
> adjmat[lower.tri(adjmat, diag = TRUE)] <- 1
> rownames(adjmat) <- paste("Site", seq_along(tp))
> colnames(adjmat) <- paste("Link", seq_along(tp)-1)
> adjmat
Link 0 Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 Link 7
Site 1 1 0 0 0 0 0 0 0
Site 2 1 1 0 0 0 0 0 0
Site 3 1 1 1 0 0 0 0 0
Site 4 1 1 1 1 0 0 0 0
Site 5 1 1 1 1 1 0 0 0
Site 6 1 1 1 1 1 1 0 0
Site 7 1 1 1 1 1 1 1 0
Site 8 1 1 1 1 1 1 1 1
Site 9 1 1 1 1 1 1 1 1
Site 10 1 1 1 1 1 1 1 1
Link 8 Link 9
Site 1 0 0
Site 2 0 0
Site 3 0 0
Site 4 0 0
Site 5 0 0
Site 6 0 0
Site 7 0 0
Site 8 0 0
Site 9 1 0
Site 10 1 1
SVD забезпечує декомпозицію цієї матриці на власні функції варіації як різні часові шкали. На малюнку нижче показані витягнуті функції (з SVD$u
)
> SVD <- svd(adjmat, nu = length(tp), nv = 0)
Власні функції є періодичними компонентами в різних часових масштабах. Спроба tp <- seq_len(25)
(або довше) показує це краще, ніж коротший приклад, який я показав вище.
Чи такий тип аналізу має належну назву в статистиці? Це схоже на сингулярний аналіз спектра, але це декомпозиція вбудованого часового ряду (матриці, стовпці якої є відсталими версіями часового ряду).
Передумови: Я придумав цю ідею, модифікувавши ідею з просторової екології під назвою "Асиметричні карти власного вектора" (AEM), яка розглядає просторовий процес із відомим напрямком та формує матрицю суміжності між просторовим масивом зразків, що містить 1s, де вибірку можна з'єднати до посилання та 0, де він не може, за умови обмеження, що посилання можуть бути підключені лише "вниз за течією" - отже, асиметричний характер аналізу. Те, що я описав вище, - це одновимірна версія методу AEM. Перевидання методу AEM можна знайти тут, якщо ви зацікавлені.
Фігура була виготовлена за допомогою:
layout(matrix(1:12, ncol = 3, nrow = 4))
op <- par(mar = c(3,4,1,1))
apply(SVD$u, 2, function(x, t) plot(t, x, type = "l", xlab = "", ylab = ""),
t = tp)
par(op)
layout(1)