Как мне найти диапазоны данных временных рядов, похожие на предоставленные мне диапазоны? - PullRequest
0 голосов
/ 16 июня 2020

В настоящее время я работаю над проектом, в котором у меня есть 10 миллионов точек данных временных рядов, записанных для 20 переменных. Мне дается пара (2-5) отдельных "кадров" данных временного ряда (~ 30-5000 точек для каждой из 20 переменных) произошедшего значительного события (например, урагана, торнадо и т. Д. c .), и цель состоит в том, чтобы определить другие случаи, когда событие произошло в наборе данных из 10 миллионов точек, путем поиска аналогичных кадров данных временных рядов. Не все 20 переменных могут иметь значение для идентификации других случаев значительного события.

Я думал разделить проблему на 2 компонента: (1) определение закономерности среди данных кадров, и (2) поиск этого шаблона в наборе данных из 10 миллионов точек. Я думал о первом компоненте в течение нескольких дней и думаю, что могу создать набор предопределенных «шаблонов» (например, наклон линейной регрессии = 3, каждая точка данных положительна, каждая точка данных отрицательна и т. Д. c ). Затем я проверял, имеет ли выбранная переменная этот шаблон для каждого заданного кадра. Если да, то я бы добавил шаблон в список критериев поиска для выбранной переменной (например, если для переменной x3 каждый заданный кадр имел линейную регрессию r ^ 2> 0,93, где x3 = (0,6) t + 0,2, тогда Я бы поискал кадры, в которых линейная регрессия переменной x3 имеет r ^ 2> 0,93 с уравнением x3 = (0,6) t + 0,2). Если бы ни один из шаблонов не соответствовал переменной в данных кадрах, я бы предположил, что переменная не имеет значения, и проигнорирую ее при поиске.

Однако я решил не использовать эту систему. Я хочу, чтобы система была надежной; Поиск набора предопределенных шаблонов имеет 0 приспособляемости к новым шаблонам. Я также знаю, что в данных могут существовать многомерные отношения, с которыми моя система проверки шаблонов каждой переменной по отдельности не будет работать (например, событие происходит только в том случае, если x1 = x2 + x3 в течение 30 минут). Я не знаком с данными и не знаю, насколько глубокими могут быть многомерные отношения go или существуют ли вообще многомерные отношения

Последняя проблема, о которой я подумал, заключалась в том, автоматический c шаблонный идентификатор может "перебрать" данные. Я знаю, что существует намного больше переменных и точек данных, чем заданные кадры, поэтому он может случайно идентифицировать многовариантную связь, которая слишком c специфична для данных кадров, и тогда мой алгоритм поиска не сможет найти никаких подходящих случаев.

Мой вопрос: есть ли лучший подход к выявлению похожих диапазонов данных временных рядов? Есть ли способ идентифицировать неопределенные многовариантные шаблоны? Я также хотел посмотреть, может ли машинное обучение помочь с этой задачей, но я отказался от этого, потому что 2-5 кадров данных обучения было недостаточно. Есть ли какое-нибудь приложение машинного обучения, которое я мог бы использовать для этой задачи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...