Можно ли применять PCA для данных временных рядов?

22

Я понимаю, что анализ главных компонентов (PCA) может применяться в основном для данных поперечного сечения. Можно ли эффективно использовать PCA для данных временных рядов, указав год в качестве переменной временного ряда и нормально запустить PCA? Я обнаружил, что динамический PCA работает для данных панели, а кодирование в Stata предназначено для данных панели, а не для временных рядов. Существует ли какой-либо конкретный тип PCA, который работает с данными временных рядов?

Обновить. Позвольте мне объяснить подробно.

В настоящее время я строю индекс инфраструктуры в Индии с такими переменными, как длина дороги, длина железнодорожного маршрута, мощность выработки электроэнергии, количество абонентов телефонной связи и т. Д. У меня 12 переменных на 22 года для одной страны. Хотя я рассмотрел статьи, в которых применяется PCA к временным рядам и даже к групповым данным, PCA предназначен для данных поперечного сечения, которые предполагают наличие предположений. Данные панели и поперечного сечения нарушают их, и PCA не учитывает измерение временных рядов в них. Я видел динамический PCA, применяемый только к данным панели. Я хочу знать, будет ли работать конкретный PCA, который применяется к временным рядам или работает статический PCA с годом, определенным как переменная временного ряда?

Ниша симон
источник
2
Анализ сингулярного спектра (SSA) часто называют PCA для временных рядов. en.wikipedia.org/wiki/Singular_spectrum_analysis
Владислав Довгальец
1
Пожалуйста, просмотрите некоторые посты на боковой панели справа (->), которые касаются как PCA, так и временных рядов. Если кто-нибудь ответит на ваш вопрос, пожалуйста, дайте ссылку на него в комментариях здесь, но если никто не ответит, вы могли бы объяснить, чем конкретно ваша проблема отличается от любой из них.
Glen_b
Никто из них не отвечает на вопрос о времени на временных рядах. Конкретные вопросы по теме либо относятся к науке, либо остаются без ответа.
Ниша Симон,
5
PCA, как инструмент преобразования данных, уменьшения размерности, исследования и визуализации, не делает никаких предположений. Вы можете запустить его на любых данных, включая данные временных рядов. Фактически, PCA очень часто применяется для данных временных рядов (иногда это называется «функциональным PCA», иногда нет). Я даже не знаю, что должны означать «динамический PCA» и «статический PCA»; не волнуйтесь и используйте стандартный PCA.
говорит амеба: восстанови Монику
Вы можете рассмотреть возможность использования Функционального PCA, который специально разработан для временных рядов. Пакет FDA в R реализован fPCA. Вы сможете найти многовариантный fPCA.
Энн

Ответы:

8

Один из подходов может заключаться в том, чтобы в первый раз использовать временные различия ваших 12 переменных для обеспечения стационарности. Затем рассчитайте ковариационную матрицу и проведите PCA на ней. Это будет своего рода средний PCA за весь промежуток времени, и он ничего не скажет о том, как различные временные лаги влияют друг на друга. Но это может быть хорошей отправной точкой.12×12

Если вы заинтересованы в разложении временной области, я бы проверил SSA, как это предлагается в комментариях.

Когда ряды (предположительно) являются стационарными, имеет смысл использовать одну ковариационную матрицу. Если ваши данные интегрированы порядка 1 или выше, как я подозреваю, это может быть, оценка одной ковариационной матрицы не даст последовательных результатов. Случайное блуждание, например, интегрировано с порядком 1, и предполагаемая ковариация двух случайных блужданий ничего не говорит об их совместном движении, здесь необходим анализ совместной интеграции .

Как предлагается в комментариях, PCA сам по себе не заботится о стационарности, поэтому вы можете кормить PCA любой положительной полуопределенной матрицей, и разложение PC будет в порядке в смысле PCA.

Но если ваша предполагаемая ковариационная матрица не представляет ничего значащего в данных, то PCA, конечно, тоже не будет.

Duffau
источник
1
+1. Что вы имеете в виду под «первыми различиями»?
говорит амеба: восстанови Монику
Я имею в виду первое различие, поэтому для каждого из двенадцати х я бы сделал x_t - x_t-1.
Duffau
Таким образом, вы предлагаете делать PCA по временным производным каждого временного ряда, в отличие от самих временных рядов. Это интересно; почему это будет ваше первое предложение?
говорит амеба: восстанови Монику
По двум причинам: 1) для того, чтобы оценка ковариации была согласованной, нормальные предположения о поперечном сечении состоят в том, что две случайные переменные должны быть независимыми и одинаково распределенными (iid). Это обеспечивает сходимость выборочного среднего значения к ожидаемому значению, так называемый закон больших чисел (LLN). При анализе временных рядов предположение о том, что два случайных процесса являются идентифицированными, является ограничительным. Таким образом, оно заменяется понятием стационарности (разных видов). Для сохранения LLN и оценки ковариантности две серии должны иметь совместно стационарное распределение.
Duffau
Если каждый стохастический процесс является стационарным, то (я абсолютно уверен, что) они совместно являются стационарными, поэтому оценка ковариации имеет смысл. Первые отличия - это стандартная методика эконометрики, которая делает временные ряды «более стационарными». И отсюда оценка и PCA прямо вперед. Короче говоря, потому что это легко :-) .... хорошо не было второй причины ..
Duffau
2

Да, PCA на временных рядах выполняется все время в финансовой инженерии (количественные финансы) и неврологии.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tковариационная матрица для дней с активами в строках, чтобы свести дни, которые соотносятся друг с другом, в один ПК, поскольку общая идея заключается в том, что дни могут быть избыточными - и при подаче данных, например, в нейронную сеть, вы не хотите строки данных должны быть избыточными или функции должны быть коррелированы (вы хотите, чтобы они были ортогональными), так как нейронная сеть будет тратить время на изучение корреляции. Однако этот подход не фокусируется на автокорреляции.

γ=t/nXλ+Y=FnβX^=YY^Y=f1β

В неврологии PCA выполняется на временных рядах для потенциалов действия в различных диапазонах длин волн, полученных из ЭЭГ. Преобразование потенциалов действия в ортогональные (некоррелированные) оценочные векторы ПК и ввод ПК в другие анализы является основным средством, с помощью которого статистическая мощность была увеличена в статистическом генетическом моделировании сложных признаков поведенческой генетики (поскольку фенотипы, например, биполярные, новизна- ищущий, шизотипный, шозефрения часто пересекается). Большие австралийские исследования генетических близнецов сыграли важную роль в анализе этих частично совпадающих черт в поведенческой генетике, потому что, если существуют различия в заболеваниях среди идентичных близнецов, которые воспитываются вместе (растут в одном домохозяйстве), причинно-следственная связь может указывать на воздействие в разных средах, когда они были старше, чем их идентичная генетика.

JoleT
источник