Образец из многомерного нормального распределения с использованием Boost
Я могу взять образец из нормального дистрибутива, используя Boost в C++.
У меня сейчас простой вопрос:
Как я могу сделать выборку из многомерного нормального распределения (n>2), используя функции Boost (нормальное распределение, мульти-массивы...)?
1 ответ
Решение
Я думаю, что вы не сможете сделать это без небольшого количества линейной алгебры. Фактически, если у вас есть ковариационная матрица C, вы можете сгенерировать верхнюю треугольную матрицу L, используя декомпозицию Холецкого, такую, что C = L*L^T. Эта матрица L может теперь использоваться для генерации выборки из распределения с ковариацией C путем применения L к вектору некоррелированного шума.