Как генерировать шумовой макет временных рядов или сигнала (в Python). Как генерировать шумовой макет временных рядов или сигнала (в Py. Python timeseries signalprocessing
Скачать 0.51 Mb.
|
Как генерировать шумовой макет временных рядов или сигнала (в Python) python time-series signal-processing 1241просмотра 1ответ Довольно часто мне приходится работать с кучей шумных, несколько коррелированных временных рядов. Иногда мне нужны какие-то фиктивные данные, чтобы проверить мой код или предоставить пример данных для вопроса о переполнении стека. Я обычно заканчиваю тем, что загружаю некоторый подобный набор данных из другого проекта, или просто добавляю несколько синусоидальных функций и шумов и трачу некоторое время на его настройку. Какой у тебя подход? Как вы генерируете шумовые сигналы с определенными характеристиками? Я только что пропустил какой-то явно очевидный стандартный пакет, который делает именно это? Функции, которые я обычно хотел бы получить в моих макетных данных: Изменение уровня шума с течением времени Некоторая история в сигнале (как случайная прогулка?) Периодичность в сигнале Возможность создания другого временного ряда с аналогичными (но не точно такими же) функциями Может быть, куча странных провалов / пиков / плато Возможность воспроизвести его (немного семян и несколько параметров?) Я хотел бы получить временные ряды, подобные двум ниже [A]: Я обычно заканчиваю созданием временного ряда с небольшим количеством кода, подобного этому: import numpy as np n = 1000 limit_low = 0 limit_high = 0.48 my_data = np.random.normal(0, 0.5, n) \ + np.abs(np.random.normal(0, 2, n) \ * np.sin(np.linspace(0, 3*np.pi, n)) ) \ + np.sin(np.linspace(0, 5*np.pi, n))**2 \ + np.sin(np.linspace(1, 6*np.pi, n))**2 scaling = (limit_high - limit_low) / (max(my_data) - min(my_data)) my_data = my_data * scaling my_data = my_data + (limit_low - min(my_data)) Что приводит к временному ряду, как это: С чем я могу работать, но все же не совсем то, что я хочу. Проблема здесь в основном в том, что: у него нет истории / случайного блуждания это довольно много кода и настройки (это особенно проблема, если я хочу поделиться примером временных рядов) Мне нужно перенастроить значения (частоту синусов и т. Д.), Чтобы получить другой похожий, но не точно такой же временной ряд. [A]: Для тех, кто интересуется, временной ряд, изображенный на первых двух изображениях, представляет собой интенсивность движения в двух точках вдоль одной дороги в течение трех дней (с полуночи до 6 часов утра) в автомобилях в секунду (среднее значение скользящего окна Хеннинга за 2 минуты). ). Переделано до 1000 баллов. Автор: Swier ИсточникРазмещён: 14.07.2019 02:10 Ответы (1) 1плюс Решение Вы смотрели в Цимулус ? Используя Generators, вы должны иметь возможность генерировать данные с конкретными шаблонами, периодичностью и циклами. Проект TSimulus предоставляет инструменты для определения формы временного ряда (общие закономерности, циклы, важность добавленного шума и т. Д.) И для преобразования этой спецификации в значения временного ряда. В противном случае вы можете попробовать «нарисовать» данные самостоятельно и экспортировать эти точки данных с помощью Time Series Maker . |