Сокращение / преобразование данных - PullRequest
0 голосов
/ 09 января 2019

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

1 Ответ

0 голосов
/ 09 января 2019

Подвыборка довольно распространена.

Многие статистические свойства хорошо сохраняются при выборке. Если у вас есть 1000000 баллов, среднее значение, оцененное только из 10000, уже очень близко; и, возможно, в пределах надежности ваших данных.

Другой подход - кластеризация с помощью простого и быстрого метода, такого как k-means - и большого k, скажем sqrt (N). Это приблизит ваши данные с целью наименьших квадратов, используя k точек данных. (Вам также следует использовать веса впоследствии, поскольку результирующие векторы будут отражать разные объемы данных).

И последнее, но не менее важное: многие методы восстановления - возможно, в том числе PCA - можно использовать для матрицы транспонированных . Затем вы уменьшаете количество экземпляров, а не количество переменных. Но PCA довольно дорогой и на транспонированной матрице будет масштабироваться O (n³). Поэтому я предпочел бы рассмотреть возможность непосредственной работы с усеченным SVD.

Но, очевидно, ваши данные являются временными рядами. Я бы посоветовал обратить внимание на сокращение объема данных, которое объединяет ваши знания о том, что здесь важно.

...