Я пытаюсь создать трехмерное многомерное нормальное распределение, значения которого будут варьироваться от приблизительно 0 до 100 в каждом измерении.Какова эквивалентная матрица ковариации для дисперсии в случае 1D?
Когда я генерировать 1D нормальное распределение со средним и дисперсией 50 16:
data = random.normal(50, 16, 1000)
результирующее распределение имеет значения в диапазоне примерно от 0 до 100. Но когда я распространяется на многомерном случае, только то, что значения диапазон от 35 до 65:
covar = [[16, 0, 0], [0, 16, 0], [0, 0, 16]]
data = random.multivariate_normal([50, 50, 50], covar, 1000)
При использовании random.normal
для трех измерений я получаю ожидаемый результат, значения в диапазоне от 0 до 100.
data = random.normal(50, 16, size=(3,1000))
Откуда это несоответствие? Для того, чтобы получить диапазон значений, я хочу в каждом измерении в многомерном случае я должен сделать матрицу ковариации так:
covar = [[300, 0, 0], [0, 300, 0], [0, 0, 300]]
, который кажется совершенно необоснованным для нормального распределения со средним 50.
Любая помощь высоко ценится!
Это имеет смысл сейчас! Я думал, что 'np.random.multivariate_normal' также использует стандартное отклонение, но явно нет. Спасибо за вашу помощь! – mirelio
Это называется матрицей co * дисперсии * по причине ... –
Я думаю, вы имеете в виду «(т. Е. Квадратный корень дисперсии)» вместо «(т. Е. Квадрат отклонения)» – ayhan