Профиль матрицы: Введение в профили матрицы
Содержание
Введение в профили матрицы
Дата публикации Oct 11, 2019
В анализе временных рядов обычно интересуются две вещи; аномалии и тенденции. Например, врач проверяет ЭКГ (электрокардиограмма — чтение сердцебиения) на наличие аномальных событий, которые указывают на пациентов из группы риска. Человек, работающий в розничной торговле, должен понимать, что и когда он продает (сезонность), чтобы увеличить прибыль. Один из способов найти аномалии и тренды во временном ряду — это выполнитьсходство присоединиться, По сути, вы сравниваете фрагменты временного ряда с самим собой, вычисляя расстояние между каждой парой фрагментов. Хотя для реализации наивного алгоритма, использующего вложенные циклы, требуются минимальные усилия, могут потребоваться месяцы или годы, чтобы получить ответ для умеренных временных рядов с использованием этого подхода. Использование преимуществ алгоритмов Matrix Profile значительно сокращает время вычислений.
Matrix Profile — это относительно новая, введенная в 2016 году, структура данных для анализа временных рядов, разработаннаяИмон Кеогв Университете Калифорнии Риверсайд иАбдулла Муэнв университете Нью-Мексико. Некоторые из преимуществ использования Matrix Profile заключаются в том, что он не зависит от предметной области, быстр, обеспечивает точное решение (приблизительное при желании) и требует только одного параметра.
Основная цель этой статьи — познакомить вас с некоторыми из этих преимуществ, чтобы вы могли ими воспользоваться. Поскольку профиль матрицы в основном визуальный, мы используем это в статье, избегая математических обозначений, когда это возможно, и фокусируемся на визуализации. Если вы хотите академическое описание, пожалуйста, прочитайте научные публикации, найденные наВеб-страница доктора Кео,
Эта вводная статья будет охватывать следующее:
- Из чего состоит профиль Matrix?
- Что такое раздор?
- Какой мотив?
- Какие алгоритмы используются для вычисления профиля матрицы?
- В чем разница между этими алгоритмами?
- Где я могу получить эти алгоритмы?
- Краткий, но практический пример открытия раздора.
Профиль Matrix имеет два основных компонента;профиль расстоянияа такжеиндекс профиля, Профиль расстояния является векторомминимальные Z-нормированные евклидовы расстояния, Индекс профиля содержит индекс егопервый ближайший сосед, Другими словами, это местоположение его наиболее похожей подпоследовательности.
Алгоритмы, которые вычисляют профиль матрицы, используютраздвижное окноподходить. С размером окнамАлгоритм:
- Вычисляет расстояния для оконной подпоследовательности по всему временному ряду
- Устанавливает зону исключения, чтобы игнорировать тривиальные совпадения
- Обновляет профиль расстояния с минимальными значениями
- Устанавливает первый индекс ближайшего соседа
Вычисления расстояния, изложенные выше, происходятн-м + 1раз; гдеNдлина временного ряда имэто размер окна. Поскольку подпоследовательности извлекаются из самого временного ряда,зона отчуждениятребуется, чтобы предотвратитьтривиальные матчи, Например, фрагмент, соответствующий самому себе, или фрагмент, расположенный очень близко к себе, считается тривиальным соответствием. Зона отчуждения — это просто половина размера окна (м) как до, так и после текущего индекса окна. Значения этих индексов игнорируются при расчете минимального расстояния и индекса ближайшего соседа. Визуализация, показывающая вычисление профиля расстояния, начиная со второго окна, показана ниже.
Второе окно значений, от X2 до X5, скользит по временным рядам, вычисляя скалярное произведение для каждой подпоследовательности. Как только все точечные произведения вычислены, зона исключения применяется к расстояниям, а минимальное расстояние сохраняется в профиле матрицы. Отбрасывание дополнительных расстояний и сохранение только минимального расстояния уменьшает сложность пространства до 0 (n).
Проще говоря,мотив повторяетсяво временном ряду ираздор — это аномалия, С вычисленным профилем матрицы легко найти число мотивов или разногласий в топ-К. Матричный профиль хранит расстояния в евклидовом пространстве, что означает, что расстояние, близкое к 0, наиболее похоже на другую подпоследовательность во временном ряду, а расстояние, удаленное от 0, скажем, 100, отличается от любой другой подпоследовательности. Извлечение самых низких расстояний дает мотивы, а самые большие расстояния дает диссонанс.
Существует несколько алгоритмов для вычисления профиля матрицы. В приведенной ниже таблице представлен неполный список алгоритмов и краткое описание их.
График ниже иллюстрирует явное преимущество использования STAMP, STOMP или SCRIMP ++ по сравнению с наивным подходом При длине временного ряда 1024 и размере окна 32 наивному алгоритму требуется более 50 секунд! С другой стороны, другим алгоритмам требуется лишь доля секунды для завершения.
После вычисления профиля матрицы необходимо использовать дополнительные алгоритмы для извлечения информации из них. Я кратко упомянул об этом при обсуждении мотивов и разногласий. Вот неисчерпывающий список алгоритмов, запускаемых поверх Matrix Profile.
В качестве нашего практического примера мы рассмотрим «Количество пассажиров желтого такси в Нью-Йорке» на 2018 год. Нью-Йорк открыто публикует множество наборов данных, чтобы каждый мог их изучить. Исходный набор данных поставляется со многими другими атрибутами и предоставляет подробности каждую минуту. Я собрал и очистил данные, чтобы получить почасовое количество пассажиров. Чтобы этот пример был кратким, я избавляю вас от деталей агрегирования данных. Я также избегаю представления кода на протяжении всего примера. Для тех, кто заинтересован, естьПубличный код базы для этой статьи.
Необработанные данные показаны выше, чтобы дать некоторый контекст тому, с чем мы имеем дело. Вы уже можете визуально увидеть некоторые закономерности в данных, но представьте, если это были данные за несколько лет или мы смотрели на количество пассажиров в минуту. Было бы довольно сложно визуально увидеть, что происходит без какого-либо преобразования. Мы будем вычислять профили матрицы по разным размерам окон, чтобы увидеть, если что-нибудь интересное выделяется.
Различные размеры окон, использованные выше, иллюстрируют важность выбора подходящего значения. Я не понимаю сложных деталей системы такси Нью-Йорка в течение 4, 8 или даже 12-часового цикла. Тем не менее, я могу исследовать события ежедневно или даже еженедельно с помощью поисковой системы. Поскольку в пределах 24-часового и 7-дневного периодов есть некоторые очевидные разногласия (пики на графике), мы сосредоточимся на этих матричных профилях. Для извлечения разногласий мы используем алгоритм «top K discords».
Сюжет выше показывает 5 лучших диссонансов в красном. Я провел некоторое время, исследуя, с чем они могут быть связаны, и комментировал их в сюжете. Для ежедневного профиля Matrix кажется, что летнее время оказывает огромное влияние на количество пассажиров. В летнее время мы теряем или набираем час в 2 часа ночи. Количество пассажиров зависит от двойного счета или учитывается очень мало пассажиров. Например, при переходе на летнее время мы теряем 2 часа ночи, но некоторым системам все еще удается подсчитывать пассажиров в это время. В этом конкретном наборе данных, 3 пассажира все еще были учтены.
Глядя на временные ряды с 7-дневным профилем матрицы, мы получаем несколько иные результаты. День независимости и Рождество имеют разные колебания в течение 7 дней. В этом нет ничего необычного, так как большинство людей проводят время на открытом воздухе во время Дня независимости и вместе с семьей на Рождество.
В этой статье вы познакомились с профилем матрицы и его использованием для анализа данных временных рядов. Это менее известный подход, поскольку он все еще новый, но это быстрый и независимый от предмета метод. Если у вас есть профиль матрицы, тривиально извлечь общие шаблоны (мотивы) и аномалии (разногласия). В нашем кратком примере такси Нью-Йорка я проиллюстрировал извлечение аномалий с помощью визуализации.
Имейте в виду, что я представил только Матричный профиль и несколько понятий. Это обеспечивает намного больше возможностей. Инкрементный режим для потокового анализа данных, семантической сегментации и обнаружения фрагментов — это еще несколько возможностей. Я настоятельно рекомендую всем, кто интересуется профилем матрицы или анализом временных рядов, ознакомиться с дополнительным разделом.
Спасибо Тоуни Маррс, Эндрю Ван Бенсхотену, Франсиско Бишоффу и Джексону Грину за то, что они нашли время, чтобы прочитать эту статью. Больше всего я хотел бы поблагодарить Имонна Кеога, Абдуллу Муэна и их сотрудников. Эта статья не существовала бы без их исследовательских усилий.
- Исходный код этой статьи:
https://github.com/matrix-profile-foundation/article-matrix-profile-intro
2. Исследовательские работы о профиле Матрицы находятся на веб-странице Имонн Кеог:
https://www.cs.ucr.edu/~eamonn/MatrixProfile.html
3. Добровольная организация Matrix Profile Foundation, ссылку можно найти здесь:
https://matrixprofile. org/
4. Реализацию алгоритмов Matrix Profile на Python можно найти здесь:
https://github.com/target/matrixprofile-ts
5. Реализация R алгоритмов Matrix Profile находится здесь:
https://github.com/franzbischoff/tsmp
6. Реализация алгоритмов Matrix Profile на Golang находится здесь:
https://github.com/matrix-profile-foundation/go-matrixprofile
Оригинальная статья
Профиль — матрица — Большая Энциклопедия Нефти и Газа, статья, страница 3
Cтраница 3
Прием шлифования пуан сона сложной формы.| Приспособление для шлифования внутренней замкнутой поверхности по копиру.
[31] |
На рис. 26, а показано приспособление для шлифования внутренней замкнутой поверхности. Деталь 1 с помощью струбцины 3 крепят сверху к шаблону-копиру 4 так, чтобы оси профилей матрицы и копира совпали.
[32]
Вытяжка полой детали.
[33] |
На рис. 176, а показана простейшая конструкция вытяжного штампа, состоящего из нижней плиты 1, на которой установлена и закреплена винтами 3 матрица 4 с куполообразной ступенчатой оформляющей полостью. Верхняя часть пуансона 6 имеет цилиндрическую форму и хвостовик, а нижняя его часть имеет такой же профиль, как и профиль матрицы, разница состоит лишь только в том, что профиль выполнен с учетом толщины выдавливаемой заготовки.
[34]
Затем матрица 7 сгибает край корпуса элемента по своему профилю, прижимая его к резиновому кольцу и образуя галтель. Так происходит завальцовка корпуса элемента. Профиль матрицы изготовляется в соответствии с профилем за-вальцовки элемента.
[35]
Матрица 7 легко — заменяется на матрицу другого профиля рабочей части в зависимости от того, какую из операций завальцовки требуется производить. Матрица для первой операции имеет профиль рабочей части в виде усеченного конуса. Профиль матрицы для второй операции соответствует профилю бортика готового элемента.
[36]
При припиливании поверхности матрицы движение напильника должно быть строго горизонтальным, а нажим рук на рукоятку и носок напильника должен быть равномерным. При рабочем движении напильника нажим левой руки нужно постепенно уменьшать, чтобы получить ровную обработанную поверхность. В процессе обработки профиля матрицы необходимо периодически проверять прямолинейность плоскостей и угол наклона лекальной линейкой и угольником, а сопряжение наклонных линий с выпуклыми проверяют радиусомером или на микроскопе.
[37]
К квалификации слесаря, особенно слесаря-инструментальщика и слесаря-лекальщика, предъявляют высокие требования. Во многих случаях выполняемая ими работа сложна и требует большой точности. В некоторых случаях он занимается слесарной обработкой профилей матриц и пуансонов сложных штампов, прессформ, измерительных приборов, контрольных приспособлений, а также окончательной отделкой наиболее точных поверхностей ответственных деталей.
[38]
Система уравнений (7.60) решается в [50] прямо с использованием ЬОЬт-факторизации матрицы в левой части. При ее решении возникают некоторые трудности. Во-вторых, меняются как размер, так и профиль матрицы [49] в левой части (7.60) вследствие того, что величина NEQC может меняться на итерациях.
[39]
В качестве технологической базы при изготовлении детали обычно принимают цилиндрические или торцовые поверхности детали или три взаимно перпендикулярные плоскости. При изготовлении штампов иногда приходится нарушать принцип постоянства баз и при дальнейшей обработке переходить на новые базовые поверхности. Такая необходимость возникает, например, при обработке профиля матрицы или съемника по оттиску с пуансона. Тогда базы для первых операций матрицы заменяют новыми, так как после обработки профиля по оттиску его контур может оказаться не параллельным ранее обработанным установочным поверхностям этой детали. Поэтому при дальнейшей обработке положение установочных поверхностей или размещение других отверстий должно быть согласовано с поверхностями профиля, принимаемого в качестве новых установочных баз.
[40]
Направления течения металла и движения деформируемых элементов штампа противоположны. Устраняют указанные явления оптимизацией режима предварительной термической обработки и профиля матрицы. Производство заготовок ступенчатых валов, болтов и других ступенчатых деталей, шестерен, деталей со шлицами и канавками ( см. пп.
[41]
В пуансон-матрицу 8 пинцетом вставляется элемент. Затем матрица 7 сгибает край корпуса элемента по своему профилю, прижимая его к резиновому кольцу и образуя галтель. Так происходит за-вальцовка корпуса элемента. Профиль матрицы изготавливается в соответствии с профилем завальцовки элемента.
[42]
Если деталь имеет полку длиной Ln ( рис. 56), то при гибке в матрице с симметричным V-образным профилем, с углом 2а ее конец 2 поднимается на значительную высоту Лп с большой скоростью. Последнее может привести к травмированию рабочего. Кроме того, в результате возникновения при этом сил инерции часто искажается полка, занимающая положение 1, изгибаясь в направлении, противоположном ее подъему. В этих случаях профиль матрицы следует размещать несимметрично ( Р Y), что обеспечивает уменьшение высоты подъема конца полки, снижение скорости ее движения и соответственно исключает травмирование рабочего и искажение полки.
[43]
Матрицы из твердого сплава изготовляют двух видов: цельные и разъемные. Цельные матрицы используют для вырубки и зачистки деталей простой геометрической формы. Разъемные матрицы применяют для деталей сложного профиля, затруднительного для обработки рабочей части матрицы. Линии разъема двух половинок должны проходить либо через центр профиля матрицы, либо под углом к осевой, но не в точке сопряжения радиуса с углом. При этом они должны быть расположены так, чтобы при посадке в оправку произошло заклинивание секторов, составляющих рабочий профиль.
[44]
В результате первой операции ( гибки) длина меньшей образующей а-б ( см. рис. 3.25) сокращается, а большей — увеличивается. Деформация происходит неравно-мернр и достигает максимального значения в средней части гиба. Вследствие трения между поверхностями ручья штампа и заготовкой, а также вследствие сопротивления материала заготовки изгибу, что ведет к торможению заготовки в ручье, происходит некоторое изменение толщины стенки. На рис. 3.25 показано, что радиус изгиба заготовки по меньшей образующей несколько отстает от профиля пуансона ( сечение Б — Б), а по большей образующей не достигает Профиля матрицы. Периметр поперечного сечения заготовки при гибке уменьшается.
[45]
Страницы:
1
2
3
4
Фундамент Matrix Profile
Фундамент Matrix Profile
Pydata Global 2020 Presentation
Проверьте наши короткие разговоры, охватывающие варианты использования высокого уровня матричных профилей на Pydata Global 2020.
ConferencePresentationPydatavideo
Продолжение чтения …
Yue Lu Lu
3
Yue Lu Lu
3 000
Предварительная обработка временных рядов
Обработка отсутствующих данных и единичных непрерывных значений
Использовали ли вы алгоритмы Matrix Profile в прошлом, чтобы понять, что ваши данные довольно грязные? Узнайте о нашем новом модуле предварительной обработки, который помогает вводить отсутствующие данные и обрабатывать случаи единичных непрерывных значений.
вменениеmatrixprofilepythontutorial
Продолжить чтение …
Юэ Лу
Что такое фрагменты временных рядов?
Узнайте, как использовать фрагменты временных рядов для обобщения данных на высоком уровне.
Краткое руководство, демонстрирующее, как использовать фрагменты временных рядов для обобщения данных на высоком уровне.
matrixprofilepythonsnippetstutorial
Продолжить чтение …
Юэ Лу
Что такое разногласия временных рядов?
Узнайте, как использовать Matrix Profile Discords для обнаружения аномалий.
Краткое руководство, демонстрирующее, как использовать Matrix Profile Discords для обнаружения аномалий.
аномалииdiscordsmatrixprofilepythontutorial
Продолжить чтение . ..
Matrix Profile Foundation
Познакомьтесь с Юэ Лу
Узнайте о Юэ Лу, нашем летнем стажере в MPF.
знакомство с командой
Продолжить чтение…
Тайлер Маррс
Кластеризация: вычисление матрицы парных расстояний
Узнайте, как вычислить матрицу попарных расстояний на основе MPDist для кластеризации.
Краткое и полезное руководство по коду, иллюстрирующее, как можно вычислить матрицу попарных расстояний MPDist для кластеризации.
clusteringmatrixprofilepythontutorial
Продолжить чтение…
Тайлер Маррс
Кластеризация HDBScan с MPDist
Узнайте, как использовать метрику MPDist с алгоритмом кластеризации HDBScan.
Краткое руководство, демонстрирующее, как использовать MPDist с HDBScan для кластеризации.
clusteringhdbscanmatrixprofilepythontutorial
Продолжить чтение …
Matrix Profile Foundation
Познакомьтесь с Джексоном Грином
В этом эпизоде «Знакомство с командой» мы познакомимся с Джексоном Грином, CDO Matrix Profile Foundation.
знакомство с командой
Читать далее…
Никита Смирнов
Анализ сердцебиения ЭКГ (Python)
Обнаружение мотивов с помощью матричных профилей и векторов аннотаций
Практический пример использования векторов аннотаций для подавления нежелательных сигналов и поиска интересных мотивов.
вектора аннотацийmatrixprofilemotifspythontutorial
Продолжить чтение …
Фундамент Matrix Profile
Познакомьтесь с Франсиско Бишоффом
Найдите минутку, чтобы узнать о Франсиско Бишоффе.
знакомство с командой
Продолжить чтение …
О нас | Фонд Matrix Profile
Матричный профиль — это недавно разработанный алгоритм, который может революционизировать временные ряды.
анализ. Чтобы облегчить осведомленность сообщества и принятие, мы разрабатываем и поддерживаем несколько
реализации алгоритмов Matrix Profile с открытым исходным кодом. Весь код размещен на нашем GitHub
репозиториев, а дополнительная поддержка предоставляется через выделенный
Канал Discord, переписка по электронной почте и отслеживание проблем на GitHub. Мы стремимся упростить техническую
взаимодействия через логические стандартизированные API на всех языках. Мы также считаем, что ключевым
Ценность Matrix Profile заключается в постоянном обучении и экспертной помощи,
особенно для нетехнической аудитории. Мы предоставляем интерактивные ресурсы и учебные пособия на нашем
сайт (ui.matrixprofile.org),
а также сообщения в блогах и статьи, содержащие реальные примеры использования.
Франсиско Бишофф
Франциско является основным разработчиком библиотеки профилей R-матрицы tsmp.
Он имеет степень магистра медицинской информатики Университета Порту в Португалии.
Фрэнки Канчино
Фрэнки Кансино — старший инженер Target в Миннеаполисе. Работая в Target, он
также аспирант Университета Миннесоты, получив степень магистра наук в области
Бизнес-аналитик и основатель группы Data Science Minneapolis.
Джексон Грин
Джексон — дизайнер веб-сайта и логотипа MPF. Он имеет степень бакалавра в области компьютерных наук и степень бакалавра в области
Театр из Университета Святого Амвросия.
Тайлер Маррс
Тайлер является соразработчиком matrixprofile и создателем mass-ts.
Он специалист по данным в Айова-Сити, штат Айова, имеет степень магистра в области разработки программного обеспечения.
Остин Оуян
Остин является основным разработчиком библиотеки профилей матриц Golang go-matrixprofile.
Он имеет степень бакалавра электротехники Университета Иллинойса в Урбане Шампейн.
Эндрю Ван Беншотен
Эндрю является основателем и со-разработчиком matrixprofile.
Он имеет докторскую степень по биофизике Калифорнийского университета в Сан-Франциско.
Благодарности
Алгоритм профиля матрицы был
инициированы профессором Имонном Кио из Калифорнийского университета в Риверсайде и профессором Абдуллой Муином из Университета Нью-Мексико в 2015 году.