У меня сложная задача решить. В настоящее время я работаю с очень высокочастотными данными временных рядов. Данные были измерены в миллисекундах/микросекундах. Они не равны друг другу.Агрегат/выборка Ультравысокочастотные временные ряды данных в Matlab?
отмечая, что
1 час = 60 минут = 3600 секунды.
1 секунда = 1000 миллисекунд = 1000000 микросекунд
Вот почему я говорю, мои данные были сверхвысокой частоты. Объект временных рядов в Matlab, насколько мне известно, поддерживает только данные второго уровня. Мне действительно нужно преобразовать мои временные ряды, такие как 10 миллисекундных данных или 100 миллисекундных данных.
Это означает, например, если я хочу, чтобы мои временные ряды в 10 миллисекундах, исходные данные имеют только точки данных на 5-м миллисекундах, 6-й миллисекунде и 12 миллисекундах.
Я возьму 6 миллисекунду как самую последнюю точку данных, рассматриваю ее как данные в 10 миллисекундах.
Несколько раз мне нужно суммировать интервал данных, но на данный момент это не очень важно.
я воспроизвожу некоторые данные в следующем:
TimeStamp=
[66846720;67567616;67567617;67567618;67567619;67567620;67567621;67633152;...
67633153;67633154;67633155;67633156;67633157;67633158;67633159;67633160;...
67633161;67633162;482410496;495583232;495583233;807206912;1422721024;...
1596325888;1766457344];
Value = [2094.75;2094.75;2094.75;2094.75;...
2094.75;2094.75;2094.75;2094.75;2094.75;...
2094.75 ;2094.75 ;2094.75;2094.75;2094.75;...
2094.75 ;2094.75 ;2094.75;2094.75;2094.5;...
2094.75 ;2094.75 ;2094.5 ;2094.5 ;2094.75;2094.5]
TimeStamp измеряется в миллисекундах и в времени UTC
так, как я делаю это, чтобы создать серию m = 10 миллисекунд, 10,20,30,40 .....
Затем я нахожу ближайшие точки данных каждые 10 миллисекунд, используя большой цикл, эффективность очень низка, и обычно у меня ушло очень много времени, чтобы бежать ...
Пожалуйста, размещать какие-либо предложения или хороший метод, ваш вид помощь будет хорошо оценили
Другие языки были бы хороши, если бы были существующие пакеты.
Вы задумывались над хранением данных в базе данных временных рядов, которая поддерживает миллисекундную точность и нерегулярные массивы временных рядов? –
@SergeiRodionov Я хочу сделать это в Matlab как одна остановка, спасибо. Любая база данных вы порекомендовали? – GeekCat
Нет конкретных рекомендаций для этого варианта использования, но есть список базы данных по wikipedia https://en.wikipedia.org/wiki/Time_series_database. Возможно, вам захочется проверить, какие из них предоставляют клиенту matlab, чтобы упростить интеграцию. –