Предположим, у кого-то есть временной ряд, из которого можно выполнить различные измерения, такие как период, максимум, минимум, среднее и т. Д., А затем использовать их для создания модельной синусоидальной волны с такими же атрибутами. Существуют ли какие-либо статистические подходы, которые можно использовать для количественной оценки? насколько точно фактические данные соответствуют предполагаемой модели? Количество точек данных в серии будет варьироваться от 10 до 50 точек.
Первой моей очень упрощенной мыслью было приписать значение направленному движению синусоиды, то есть +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1, сделайте то же самое с фактическими данными, а затем каким-то образом определите степень сходства направленного движения.
Изменить: уделив больше внимания тому, что я действительно хочу сделать с моими данными, и в свете ответов на мой первоначальный вопрос, мне нужен алгоритм принятия решения для выбора между конкурирующими предположениями: а именно, что мои данные в основном линейны (или в тренде) с шумом, который может иметь циклические элементы; мои данные в основном циклические, без указания направления; данные по сути просто шум; или это переход между любыми из этих состояний.
Теперь я думаю о том, чтобы объединить некоторую форму байесовского анализа и евклидовой / LMS метрики. Шаги в этом подходе будут
Создание предполагаемой синусоиды из данных измерений
Подгонка прямой линии LMS к данным
Получите евклидову или LMS метрику для отклонений от исходных данных для каждого из вышеперечисленных
Создайте байесовский априор для каждого на основе этого показателя, т. Е. 60% комбинированных отклонений привязаны к одному, 40% к другому, следовательно, предпочтение составляет 40%
сдвиньте окно на одну точку данных вдоль данных и повторите вышеописанное, чтобы получить новые метрики% для этого слегка измененного набора данных - это новое доказательство - проведите байесовский анализ, чтобы создать апостериорный и изменить вероятности, которые благоприятствуют каждому предположению
повторить весь набор данных (3000+ точек данных) с этим скользящим окном (длина окна 10-50 точек данных). Надежда / намерение состоит в том, чтобы определить преобладающее / предпочтительное допущение в любой точке набора данных и как оно меняется со временем
Любые комментарии по этой потенциальной методологии будут приветствоваться, особенно о том, как я мог бы на самом деле реализовать часть анализа Байеса.
источник
Ваша «упрощенная первая мысль» о качественном представлении только направленного движения по духу похожа на алгоритм SAX Кеоха для сравнения временных рядов. Я бы порекомендовал вам взглянуть на это: Имон Кеог и Джессика Лин: SAX .
Судя по вашим изменениям, вы теперь думаете о том, чтобы решить проблему по-другому, но вы можете обнаружить, что SAX представляет собой часть головоломки.
источник
В то время как я немного опаздываю на вечеринку, если вы думаете о чем-то синусоидальном, вейвлет-преобразования - это хороший инструмент, который также может быть в вашем кармане. Теоретически, вы можете использовать вейвлет-преобразования для разложения последовательности на различные «части» (например, волны разных форм / частот, неволновые компоненты, такие как тренды и т. Д.). Конкретной формой волнового преобразования, которое используется на тонну, является преобразование Фурье, но в этой области много работы. Я бы хотел порекомендовать текущий пакет, но я давно не занимался анализом сигналов. Однако я вспоминаю некоторые пакеты Matlab, поддерживающие функциональность.
Еще одно направление, если вы только пытаетесь найти тренды в циклических данных, это что-то вроде теста Манна-Кендалла. Он часто используется для обнаружения изменений в погоде или качестве воды, что оказывает сильное сезонное влияние. В нем нет наворотов некоторых более продвинутых подходов, но, поскольку это ветеранский статистический тест, его довольно легко интерпретировать и сообщать.
источник