Кіріспе
Уақыт тізбектерін талдау кезінде динамикалық уақыт бүгілуі (DTW) – жылдамдығы әртүрлі екі уақыт тізбектерінің ұқсастығын өлшейтін алгоритм. Мысалы, DTW-ны қолдану арқылы жүрудегі ұқсастықтарды анықтауға болады, тіпті егер бір адам екіншісінен жылдам жүрсе немесе бақылау барысында үдеу және тежеу болса да. DTW бейне, аудио және графикалық деректердің уақыт тізбектеріне қолданылды – шын мәнінде, бір өлшемді тізбекке айналдырылатын кез келген дерек DTW арқылы талдануы мүмкін. Белгілі бір қолданысы – әртүрлі сөйлеу жылдамдықтарымен автоматты сөзді тану. Басқа қолданыстарға спикерді тану және онлайн қолтаңбаны тану жатады. Ол жартылай пішінге сәйкес келу қолданбаларында да қолданылуы мүмкін. Жалпы, DTW – бұл екі берілген тізбек (мысалы, уақыт тізбегі) арасындағы оңтайлы сәйкестікті есептейтін әдіс, белгілі бір шектеулер мен ережелерге бағынып: бірінші тізбектегі әрбір индекс екінші тізбектегі бір немесе бірнеше индекспен сәйкес келуі керек, және керісінше; бірінші тізбектегі бірінші индекс екінші тізбектегі бірінші индекспен сәйкес келуі керек (бірақ ол оның жалғыз сәйкестігі болуы міндетті емес); бірінші тізбектегі соңғы индекс екінші тізбектегі соңғы индекспен сәйкес келуі керек (бірақ ол оның жалғыз сәйкестігі болуы міндетті емес); бірінші тізбектегі индекстердің екінші тізбектегі индекске сәйкестігі монотонды түрде өсуі керек, және керісінше, яғни егер бірінші тізбектегі индекстер болса, онда екінші тізбектегі екі индекс мұндай болмауы керек, яғни индексі индекске сәйкес келсе және индексі индекске сәйкес келсе, және керісінше. Тізбектер және арасындағы әрбір сәйкестікті матрицасындағы -дан -ға дейінгі жол ретінде көрсетуге болады, мұнда әр қадам -қа тең. Бұл жағдайда, мүмкін болатын сәйкестіктер саны Делануай санына тең. Оңтайлы сәйкестік – бұл барлық шектеулер мен ережелерді қанағаттандыратын және ең төмен шығынға ие сәйкестік, мұнда шығын олардың мәндері арасындағы әрбір сәйкестендірілген индекс жұбы үшін абсолюттік айырмашылықтардың қосындысы ретінде есептеледі. Тізбектер уақыт өлшеміндегі белгілі бір сызықтық емес өзгерістерге тәуелсіз ұқсастығын анықтау үшін уақыт өлшемінде сызықтық емес түрде "бүгіліп" (warped) жатады. Бұл тізбек сәйкестендіру әдісі уақыт тізбектерін жіктеуде жиі қолданылады. DTW екі тізбек арасындағы арақашықтық сияқты шаманы өлшесе де, үшбұрышты теңсіздік принципінің орындалуын кепілдемейді. Екі тізбек арасындағы ұқсастық өлшемімен қатар, "бүгілу жолы" (warping path) деп аталатын жол да жасалады. Осы жол бойынша бүгілу арқылы екі сигнал уақыт бойынша туралануы мүмкін. Сигналдың бастапқы нүктелер жиынтығы X(original), Y(original) X(warped), Y(warped) болып түрлендіріледі. Бұл генетикалық тізбектерді және аудиосинхронизацияны анықтауда қолданылады. Байланысты техникада әртүрлі жылдамдықтағы тізбектерді осы техниканы қолдану арқылы орташалауға болады. Бұл тұжырымдамалық тұрғыдан Идлмен-Вунш алгоритміне өте ұқсас.
In time series analysis, dynamic time warping (DTW) is an algorithm for measuring similarity between two temporal sequences, which may vary in speed. For instance, similarities in walking could be detected using DTW, even if one person was walking faster than the other, or if there were accelerations and decelerations during the course of an observation. DTW has been applied to temporal sequences of video, audio, and graphics data — indeed, any data that can be turned into a one dimensional sequence can be analyzed with DTW. A well known application has been automatic speech recognition, to cope with different speaking speeds. Other applications include speaker recognition and online signature recognition. It can also be used in partial shape matching applications. In general, DTW is a method that calculates an optimal match between two given sequences (e. g. time series) with certain restriction and rules:
Every index from the first sequence must be matched with one or more indices from the other sequence, and vice versa
The first index from the first sequence must be matched with the first index from the other sequence (but it does not have to be its only match)
The last index from the first sequence must be matched with the last index from the other sequence (but it does not have to be its only match)
The mapping of the indices from the first sequence to indices from the other sequence must be monotonically increasing, and vice versa, i. e. if are indices from the first sequence, then there must not be two indices in the other sequence, such that index is matched with index and index is matched with index , and vice versa
We can plot each match between the sequences and as a path in a matrix from to , such that each step is one of In this formulation, we see that the number of possible matches is the Delannoy number. The optimal match is the match that satisfies all the restrictions and the rules and that has the minimal cost, where the cost is computed as the sum of absolute differences, for each matched pair of indices, between their values. The sequences are "warped" non linearly in the time dimension to determine a measure of their similarity independent of certain non linear variations in the time dimension. This sequence alignment method is often used in time series classification. Although DTW measures a distance like quantity between two given sequences, it doesn't guarantee the triangle inequality to hold. In addition to a similarity measure between the two sequences, a so called "warping path" is produced. By warping according to this path the two signals may be aligned in time. The signal with an original set of points X(original), Y(original) is transformed to X(warped), Y(warped). This finds applications in genetic sequence and audio synchronisation. In a related technique sequences of varying speed may be averaged using this technique see the average sequence section. This is conceptually very similar to the Needleman–Wunsch algorithm.
Бұрау қасиеттері
DTW алгоритмі бір серияның қолданыстағы элементтерін екінші сериямен дискретті сәйкестендіруді қамтамасыз етеді. Яғни, ол тізбектегі сегменттердің уақыт бойынша өзгертілуіне жол бермейді. Басқа әдістер үздіксіз деформациялауға мүмкіндік береді. Мысалы, Корреляциялық оңтайландырылған деформациялау (COW) тізбекті сызықтық интерполяцияны қолдана отырып, уақыт бойынша масштабталатын теңдей сегменттерге бөледі, осылайша ең жақсы сәйкес деформациялауды жасайды. Сегменттерді масштабтау уақыт бойынша сегменттерді кеңейту немесе қысқарту арқылы жаңа элементтердің пайда болуына әкелуі мүмкін, сондықтан DTW-нің қолданыстағы элементтерді дискретті сәйкестендіруіне қарағанда сезімтал деформациялауды қамтамасыз етеді.
Күрделілігі
DTW алгоритмінің уақыт күрделілігі O(n*m) болып табылады, мұндағы n және m – екі кіріс тізбегінің ұзындығы. 50 жылдық квадраттық уақыт шектеуі 2016 жылы бұзылды: Голд пен Шарирдің алгоритмі екі кіріс тізбегінің ұзындығы n үшін O(n) уақытта және кеңістікте DTW есептеуге мүмкіндік береді. Бұл алгоритм әртүрлі ұзындығы бар тізбектерге де бейімделуі мүмкін. Осы жақсартуға қарамастан, кейбір α мәні үшін O(n^(1+α)) формасындағы күшті субквадратикалық орындалу уақыты Стронг экспоненциалдық уақыт гипотезасы сәтсіз болмаса, болуы мүмкін емес екені көрсетілді. DTW үшін динамикалық бағдарламалау алгоритмі қарапайым іске асыруда O(n*m) кеңістік қажет етеді, бірақ Хиршберг алгоритмін қолдану арқылы кеңістік тұтынуын O(n) дейін азайтуға болады.
This algorithm can also be adapted to sequences of different lengths. Despite this improvement, it was shown that a strongly subquadratic running time of the form for some cannot exist unless the Strong exponential time hypothesis fails. While the dynamic programming algorithm for DTW requires space in a naive implementation, the space consumption can be reduced to using Hirschberg's algorithm.
Жедел есептеу
DTW есептеудің жылдам әдістеріне ерте тоқтату және кесу DTW, кесу DTW, SparseDTW, FastDTW және көп масштабты DTW жатады. Ұқсас уақыт қатарларын іздеу сияқты жиі кездесетін міндетті LB Keogh, LB Improved, LB Enhanced, LB Webb немесе LB Petitjean сияқты төменгі шектерді қолдану арқылы үдетуге болады. Осы шолудан кейін LB Enhanced шегі жасалды, ол әрқашан LB Keogh-тан қатаңрақ, сонымен қатар есептеуге тиімдірек. DTW арқылы екі қатарды орташалаудың нақты әдісі бар. Екінен артық қатар үшін мәселе көп рет сәйкестендіру мәселесімен байланысты және эвристика талап етеді. DBA қазіргі уақытта DTW-мен үйлесімді қатарлар жиынтығын орташалау үшін стандартты әдіс болып табылады. COMASA DBA-ны жергілікті оңтайландыру процесі ретінде пайдалана отырып, орташа қатарды іздеуді тиімді түрде кездейсоқтандырады.
Бақылаумен оқытатын оқу
Ең жақын көрші жіктегіші динамикалық уақыт бұрмалануын қашықтық өлшемі ретінде қолданғанда, ең жақсы нәтижелерге жете алады.
Динамикалық уақыт бүктелуі
Amerced Dynamic Time Warping (ADTW) – DTW-нің, оның рұқсат ететін сәйкестендірулерде DTW-нің кеңдігін жақсырақ бақылауға арналған түрі. Классикалық DTW-де тізбектеуді шектеу үшін қолданылатын терезелер қадамдық функцияны енгізеді. Жолдың кез келген қисылуы терезенің ішінде рұқсат етіледі, ал сыртында – жоқ. Керісінше, ADTW жол қисылған сайын салынатын қосымша айып төлемін пайдаланады. Кез келген деңгейде қисылуға рұқсат етіледі, бірақ әр қисылу амалы тікелей айып төлеуге алып келеді. ADTW, уақыт қатарларын жіктеу міндеттерінің жиынтығында жақын көрші классификаторы ретінде қолданылғанда, терезелеумен DTW-ден айтарлықтай жақсы нәтижелер көрсетеді. DTW арқылы бірнеше жұптарды тәуелсіз сәйкестендірумен салыстырғанда, GTW әрбір тізбек жұбының сәйкестендіру дәлдігін (DTW сияқты) және жұптар арасындағы ұқсастықты (деректер құрылымы бойынша немесе пайдаланушы белгілегендей) ескереді. Бұл жұптар арасындағы ұқсастық болған жағдайда, сәйкестендірудің жақсы нәтижелерін беруі мүмкін.
Қашықтық функциялары
DTW екі тізбектегі мәндер жұптарының сәйкестігін бағалау үшін қолданылатын қашықтық функциясына сезімтал. Уақыт қатарларын жіктеуде қолданылатын DTW-дің бастапқы анықтамасы кең таралды. Жақындағы зерттеулер осы қашықтық өлшемін реттеу DTW өнімділігін жақсартуға көмектесетінін көрсетті. Атап айтқанда, формасындағы қашықтық функциялары отбасындағы γ параметрін реттеу, γ кішкентай болғанда DTW төмен амплитудалы өзгерістерге, ал γ үлкен болғанда жоғары амплитудалы өзгерістерге көбірек назар аударуын қамтамасыз етеді.
Жоғалған мәндерді өңдеу
DTW уақыт серияларындағы жоғалған мәндерді өңдеуге қабілетсіз. Жоғалған мәндерді жою немесе интерполяциялау сияқты қарапайым алдын ала өңдеу әдістері DTW қашықтығының дұрыс бағасын беруге мүмкіндік бермейді. DTW AROW (DTW with Additional Restrictions on Warping) – жоғалған мәндерді өңдеуге арналған DTW-нің жалпыланған түрі. Уақыт бүгілу функцияларының тегістігі мен біртектілігі, мысалы, уақыт бойынша өзгеретін радиалдық негіз функциясын интеграциялау арқылы қамтамасыз етілуі мүмкін, бұл бір өлшемді диффеоморфизмді құрайды. Оптималды сызықтық емес уақыт бүгілу функциялары функциялар жинағының өзгертілген орташасына дейінгі арақашықтық өлшемін азайту арқылы есептеледі. Бүгілу функцияларына дөңгелектеу шарттарын қосуға болады, мысалы, олардың қисықтығының шамасын шектеу арқылы. Нәтижесінде алынған бүгілу функциялары тегіс болады, бұл одан әрі өңдеуді жеңілдетеді. Бұл тәсіл сөйлеу қозғалыстарының үлгілерін және өзгермелілігін талдау үшін сәтті қолданылған. Тағы бір ұқсас тәсіл – жасырын Марков моделі (ХММ), және HMM арқылы ең мүмкін жолды табу үшін қолданылатын Витерби алгоритмінің стохастикалық DTW-ге балама екендігі көрсетілді. DTW және оған байланысты бүгілу әдістері әдетте деректерді талдауда алдын ала немесе кейін өңдеу қадамдары ретінде қолданылады. Егер екі байқалатын тізбекте де олардың мәндерінде кездейсоқ өзгерістер, байқалатын тізбектердің пішіні және уақытша дұрыс емес орналасуы болса, бүгілу шуға артық сәйкес келіп, бұрмаланған нәтижелерге әкелуі мүмкін. Мәннің (тік) және уақыт параметрінің (көлденең) кездейсоқ өзгеруін ескеретін бір мезгілдегі модельдеу, сызықтық емес аралас эффекттер моделінің мысалы болып табылады. Адам қозғалысын талдау кезінде, бір мезгілдегі сызықтық емес аралас эффекттерді модельдеу DTW-мен салыстырғанда жоғары нәтижелер беретіндігі дәлелденді.
Ашық бастапқы кодты бағдарламалық қамтамасыз ету
Python байланыстары бар Tempo C++ кітапханасы Early Abandoned және Pruned DTW, сондай-ақ Early Abandoned және Pruned ADTW және DTW төменгі шектері LB Keogh, LB Enhanced және LB Webb-ті жүзеге асырады. UltraFastMPSearch Java кітапханасы жылдам бүгілген терезелерді баптау үшін UltraFastWWSearch алгоритмін жүзеге асырады. lbimproved C++ кітапханасы GNU General Public License (GPL) лицензиясы бойынша Fast Nearest Neighbor Retrieval алгоритмдерін жүзеге асырады. Ол сондай-ақ C++-да динамикалық уақыт бүлінуін, сондай-ақ әртүрлі төменгі шектерді жүзеге асырады. FastDTW кітапханасы – DTW-нің Java-дегі іске асырылуы және стандартты DTW алгоритміне қарағанда O(N) уақыт және жад күрделілігімен оптималды немесе оптималдыға жақын сәйкестіктерді қамтамасыз ететін FastDTW-нің іске асырылуы. FastDTW көп деңгейлі әдісті қолданады, ол рекурсивті түрде қарапайым шешімнен шешімді жобалайды және жобаланған шешімді жетілдіреді. FastDTW fork (Java) Maven Central-де жарияланған. Уақыт қатарларын жіктеу (Java) – Weka-да DTW-ды пайдалана отырып уақыт қатарларын жіктеуге арналған пакет. DTW жиынтығы Python (dtw python) және R (dtw) пакеттерін DTW алгоритмдері отбасының мүшелерінің жан-жақты қамтуымен қамтамасыз етеді, оның ішінде рекурсиялық ережелердің (баспа үлгілері деп те аталады), шектеулер және ішкі тізбектерді сәйкестендіру. Python-ның mlpy кітапханасы DTW-ны жүзеге асырады. Pydtw Python кітапханасы Манхэттен және Евклидтік түрдегі DTW өлшемдерін, соның ішінде LB Keogh төменгі шектерін жүзеге асырады. Cudadtw C++/CUDA кітапханасы Евклидтік түрдегі DTW және z нормаланған Евклидтік қашықтықты кезегімен сәйкестендіруді жүзеге асырады. Бұл CUDA-ға қосылған жеделдеткіштерде танымал UCR Suite-ке ұқсас. JavaML машиналық оқыту кітапханасы DTW-ны жүзеге асырады. ndtw C# кітапханасы DTW-ны әртүрлі опциялармен жүзеге асырады. Sketch a Char LaTeX символдарды жіктеу бағдарламасының бөлігі ретінде Greedy DTW (JavaScript-те жүзеге асырылған) қолданады. MatchBox аудио сигналдардың мель жиіліктік cepstral коэффициенттерін сәйкестендіру үшін DTW-ны жүзеге асырады. Тізбектерді орташалау: GPL Java-да DBA-ны жүзеге асыру. DP сәйкестілігі – уақытты нормалау әсерін пайдаланатын динамикалық бағдарламалауға (DP) негізделген үлгіні сәйкестендіру алгоритмі, онда уақыт осьіндегі ауытқулар сызықтық емес уақыт бүліну функциясы арқылы модельделеді. Кез келген екі сөйлеу үлгісін қарастыра отырып, олардың уақыт айырмашылығынан бірінің уақыт осьін қисайту арқылы құтылуға болады, осылайша екіншісімен ең көп сәйкес келуге болады. Сонымен қатар, егер деформация функциясына кез келген мәнді қабылдауға рұқсат етілсе, әртүрлі санатқа жататын сөздерді ажыратуға болады. Сондықтан әртүрлі санаттарға жататын сөздерді ажыратуды жақсарту үшін бүгілу функциясының еңістігіне шектеулер енгізілді.
Корреляциялық қуаттылық талдауы
Тұрақсыз сағаттар қарапайым қуат талдауын күшсіздендіру үшін қолданылады. Осы қорғанысқа қарсы бірнеше техникалар қолданылады, соның бірі – динамикалық уақыт бұрмалау.
Қаржы және эконометрия
Динамикалық уақыт бүлінуі қаржы және эконометрияда болжамның нақты деректерге сәйкестігін бағалау үшін қолданылады.