Кіріспе

Уақыт тізбектерін талдау кезінде динамикалық уақыт бүгілуі (DTW) – жылдамдығы әртүрлі екі уақыт тізбектерінің ұқсастығын өлшейтін алгоритм. Мысалы, DTW-ны қолдану арқылы жүрудегі ұқсастықтарды анықтауға болады, тіпті егер бір адам екіншісінен жылдам жүрсе немесе бақылау барысында үдеу және тежеу болса да. DTW бейне, аудио және графикалық деректердің уақыт тізбектеріне қолданылды – шын мәнінде, бір өлшемді тізбекке айналдырылатын кез келген дерек DTW арқылы талдануы мүмкін. Белгілі бір қолданысы – әртүрлі сөйлеу жылдамдықтарымен автоматты сөзді тану. Басқа қолданыстарға спикерді тану және онлайн қолтаңбаны тану жатады. Ол жартылай пішінге сәйкес келу қолданбаларында да қолданылуы мүмкін. Жалпы, DTW – бұл екі берілген тізбек (мысалы, уақыт тізбегі) арасындағы оңтайлы сәйкестікті есептейтін әдіс, белгілі бір шектеулер мен ережелерге бағынып: бірінші тізбектегі әрбір индекс екінші тізбектегі бір немесе бірнеше индекспен сәйкес келуі керек, және керісінше; бірінші тізбектегі бірінші индекс екінші тізбектегі бірінші индекспен сәйкес келуі керек (бірақ ол оның жалғыз сәйкестігі болуы міндетті емес); бірінші тізбектегі соңғы индекс екінші тізбектегі соңғы индекспен сәйкес келуі керек (бірақ ол оның жалғыз сәйкестігі болуы міндетті емес); бірінші тізбектегі индекстердің екінші тізбектегі индекске сәйкестігі монотонды түрде өсуі керек, және керісінше, яғни егер бірінші тізбектегі индекстер болса, онда екінші тізбектегі екі индекс мұндай болмауы керек, яғни индексі индекске сәйкес келсе және индексі индекске сәйкес келсе, және керісінше. Тізбектер және арасындағы әрбір сәйкестікті матрицасындағы -дан -ға дейінгі жол ретінде көрсетуге болады, мұнда әр қадам -қа тең. Бұл жағдайда, мүмкін болатын сәйкестіктер саны Делануай санына тең. Оңтайлы сәйкестік – бұл барлық шектеулер мен ережелерді қанағаттандыратын және ең төмен шығынға ие сәйкестік, мұнда шығын олардың мәндері арасындағы әрбір сәйкестендірілген индекс жұбы үшін абсолюттік айырмашылықтардың қосындысы ретінде есептеледі. Тізбектер уақыт өлшеміндегі белгілі бір сызықтық емес өзгерістерге тәуелсіз ұқсастығын анықтау үшін уақыт өлшемінде сызықтық емес түрде "бүгіліп" (warped) жатады. Бұл тізбек сәйкестендіру әдісі уақыт тізбектерін жіктеуде жиі қолданылады. DTW екі тізбек арасындағы арақашықтық сияқты шаманы өлшесе де, үшбұрышты теңсіздік принципінің орындалуын кепілдемейді. Екі тізбек арасындағы ұқсастық өлшемімен қатар, "бүгілу жолы" (warping path) деп аталатын жол да жасалады. Осы жол бойынша бүгілу арқылы екі сигнал уақыт бойынша туралануы мүмкін. Сигналдың бастапқы нүктелер жиынтығы X(original), Y(original) X(warped), Y(warped) болып түрлендіріледі. Бұл генетикалық тізбектерді және аудиосинхронизацияны анықтауда қолданылады. Байланысты техникада әртүрлі жылдамдықтағы тізбектерді осы техниканы қолдану арқылы орташалауға болады. Бұл тұжырымдамалық тұрғыдан Идлмен-Вунш алгоритміне өте ұқсас.

Бұрау қасиеттері

DTW алгоритмі бір серияның қолданыстағы элементтерін екінші сериямен дискретті сәйкестендіруді қамтамасыз етеді. Яғни, ол тізбектегі сегменттердің уақыт бойынша өзгертілуіне жол бермейді. Басқа әдістер үздіксіз деформациялауға мүмкіндік береді. Мысалы, Корреляциялық оңтайландырылған деформациялау (COW) тізбекті сызықтық интерполяцияны қолдана отырып, уақыт бойынша масштабталатын теңдей сегменттерге бөледі, осылайша ең жақсы сәйкес деформациялауды жасайды. Сегменттерді масштабтау уақыт бойынша сегменттерді кеңейту немесе қысқарту арқылы жаңа элементтердің пайда болуына әкелуі мүмкін, сондықтан DTW-нің қолданыстағы элементтерді дискретті сәйкестендіруіне қарағанда сезімтал деформациялауды қамтамасыз етеді.

Күрделілігі

DTW алгоритмінің уақыт күрделілігі O(n*m) болып табылады, мұндағы n және m – екі кіріс тізбегінің ұзындығы. 50 жылдық квадраттық уақыт шектеуі 2016 жылы бұзылды: Голд пен Шарирдің алгоритмі екі кіріс тізбегінің ұзындығы n үшін O(n) уақытта және кеңістікте DTW есептеуге мүмкіндік береді. Бұл алгоритм әртүрлі ұзындығы бар тізбектерге де бейімделуі мүмкін. Осы жақсартуға қарамастан, кейбір α мәні үшін O(n^(1+α)) формасындағы күшті субквадратикалық орындалу уақыты Стронг экспоненциалдық уақыт гипотезасы сәтсіз болмаса, болуы мүмкін емес екені көрсетілді. DTW үшін динамикалық бағдарламалау алгоритмі қарапайым іске асыруда O(n*m) кеңістік қажет етеді, бірақ Хиршберг алгоритмін қолдану арқылы кеңістік тұтынуын O(n) дейін азайтуға болады.

Жедел есептеу

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) негізделген үлгіні сәйкестендіру алгоритмі, онда уақыт осьіндегі ауытқулар сызықтық емес уақыт бүліну функциясы арқылы модельделеді. Кез келген екі сөйлеу үлгісін қарастыра отырып, олардың уақыт айырмашылығынан бірінің уақыт осьін қисайту арқылы құтылуға болады, осылайша екіншісімен ең көп сәйкес келуге болады. Сонымен қатар, егер деформация функциясына кез келген мәнді қабылдауға рұқсат етілсе, әртүрлі санатқа жататын сөздерді ажыратуға болады. Сондықтан әртүрлі санаттарға жататын сөздерді ажыратуды жақсарту үшін бүгілу функциясының еңістігіне шектеулер енгізілді.

Корреляциялық қуаттылық талдауы

Тұрақсыз сағаттар қарапайым қуат талдауын күшсіздендіру үшін қолданылады. Осы қорғанысқа қарсы бірнеше техникалар қолданылады, соның бірі – динамикалық уақыт бұрмалау.

Қаржы және эконометрия

Динамикалық уақыт бүлінуі қаржы және эконометрияда болжамның нақты деректерге сәйкестігін бағалау үшін қолданылады.