Как ограничить ширину окна взаимной корреляции в Numpy?

Я изучаю Numpy / Scipy, исходя из опыта MATLAB.функция xcorr в Matlab имеет необязательный аргумент "maxlag", который ограничивает диапазон задержки от –maxlag до maxlag. Это очень полезно, если вы смотрите на взаимную корреляцию между двумя очень длинными временными рядами, но интересуетесь только корреляцией в пределах определенного временного диапазона. Увеличение производительности огромно, учитывая, что кросс-корреляция невероятно дорога для вычисления.

В numpy / scipy кажется, что есть несколько вариантов вычисления взаимной корреляции.numpy.correlate, numpy.convolve, scipy.signal.fftconvolve, Если кто-то захочет объяснить разницу между ними, я был бы рад услышать, но в основном меня беспокоит то, что ни у кого из них нет функции maxlag. Это означает, что, даже если я хочу видеть только корреляции между двумя временными рядами, например, с задержками от -100 до +100 мс, он все равно будет вычислять корреляцию для каждой задержки от -20000 до +20000 мс (что составляет длину временной ряд). Это дает 200-кратный успех! Нужно ли вручную перекодировать функцию взаимной корреляции, чтобы включить эту функцию?

Ответы на вопрос(6)

Ваш ответ на вопрос