Этот вопрос может быть слишком основным. Для временной тенденции данных я бы хотел выяснить, где происходит «резкое» изменение. Например, на первом рисунке, показанном ниже, я хотел бы узнать точку изменения, используя какой-либо статистический метод. И я хотел бы применить такой метод в некоторых других данных, для которых точка изменения не очевидна (как на 2-м рисунке). Так есть ли общий метод для этой цели?
time-series
trend
change-point
user2230101
источник
источник
Ответы:
Если наблюдения ваших данных временного ряда коррелируют с непосредственно предыдущими наблюдениями, статья Чена и Лю (1993) [ 1 ] может вас заинтересовать. В нем описан метод обнаружения сдвигов уровня и временных изменений в рамках моделей временных рядов авторегрессии скользящего среднего.[ 1 ]
[1]: Чен К. и Лю Л.М. (1993),
«Совместная оценка параметров модели и выбросов в динамических рядах »,
журнал Американской статистической ассоциации , 88 : 421, 284-297.
источник
Эта проблема в статистике называется (одномерным) обнаружением временных событий. Самая простая идея - использовать скользящее среднее и стандартное отклонение. Любое чтение, которое «из» трех стандартных отклонений (эмпирическое правило), считается «событием». Конечно, есть более продвинутые модели, которые используют HMM или регрессию. Вот вводный обзор области .
источник
источник
Существует связанная проблема разделения ряда или последовательности на заклинания с идеально постоянными значениями. См. Как я могу сгруппировать числовые данные в естественные «скобки»? (например, доход)
Это не совсем та же проблема, поскольку вопрос не исключает заклинания с медленным дрейфом во всех или во всех направлениях, но без резких изменений.
Более прямой ответ - сказать, что мы ищем большие прыжки, поэтому единственная реальная проблема - определить прыжок. Тогда первая идея - просто посмотреть на первые различия между соседними значениями. Даже не ясно, что вам нужно уточнить это, сначала удаляя шум, как будто скачки не могут быть отличены от различий в шуме, они, конечно, не могут быть резкими. С другой стороны, спрашивающий, очевидно, хочет, чтобы резкое изменение включало в себя как ступенчатое, так и ступенчатое изменение, поэтому, кажется, необходим некоторый критерий, такой как дисперсия или диапазон в пределах окон фиксированной длины.
источник
Область статистики, которую вы ищете, - это анализ точек изменения. Существует сайт здесь , что даст вам обзор области , а также есть страница для программного обеспечения.
Если вы
R
пользователь, то я бы порекомендовалchangepoint
пакет для изменений в среднем иstrucchange
пакет для изменений в регрессии. Если вы хотите быть байесовским, тоbcp
пакет тоже хорош.В общем, вы должны выбрать порог, который указывает на силу изменений, которые вы ищете. Конечно, есть пороговый выбор, который люди отстаивают в определенных ситуациях, и вы можете использовать асимптотические уровни уверенности или самозагрузку, чтобы получить уверенность.
источник
Эта проблема логического вывода имеет много названий, включая точки изменения, точки переключения, точки разрыва, регрессию ломаной линии, регрессию ломаной палочки, билинейную регрессию, кусочно-линейную регрессию, локальную линейную регрессию, сегментированную регрессию и модели разрыва.
Вот обзор пакетов точек изменения с плюсами / минусами и проработанными примерами. Если вы знаете количество точек изменения априори, ознакомьтесь с
mcp
пакетом. Во-первых, давайте смоделируем данные:Для вашей первой проблемы это три сегмента только для перехвата:
Мы можем построить результирующее соответствие:
Здесь точки изменения очень хорошо определены (узкие). Давайте подведем итоги подгонки, чтобы увидеть их предполагаемые местоположения (
cp_1
иcp_2
):Вы можете создавать гораздо более сложные модели
mcp
, включая моделирование авторегрессии N-го порядка (полезно для временных рядов) и т. Д. Отказ от ответственности: я разработчикmcp
.источник