Я заинтересован в создании случайной функции из гауссовского процесса с квадратом экспоненциального ядра. Это фактически эквивалентно выполнению следующих действий:
Если я хочу, чтобы у моего процесса было N точек данных, я генерирую многомерное распределение Гаусса с N измерениями с ковариацией, заданной полосатой матрицей K (m, n) = a * exp (- (mn) ^ 2 / s) ^ 2), для некоторых а и с. Если я добавлю некоторую отсечку, моя ковариационная матрица будет фактически полосовой матрицей с элементами только по диагонали и полосой длины, может быть, около 50-100. Это довольно разреженная матрица.
Есть ли способ эффективно сгенерировать этот гауссовский процесс для большого N (я бы хотел N ~ 10 ^ 5)? Сейчас я делаю это в Python, генерируя ковариационную матрицу и делая многомерное гауссовское распределение, но это довольно неэффективно для больших N из-за необходимости хранить большую ковариационную матрицу.
Есть ли эффективный способ сделать все это?
Полагаю, это фактически эквивалентно тому, чтобы спрашивать, как сэмплировать из гауссовского процесса с данным ядром. Есть ли пакеты для этого?
Спасибо!
(я перекрестно опубликовал вопрос, который по сути эквивалентен перекрестному утверждению здесь )