Почему результат numpy .random.normal (0,1, N) не складывается до 0? - PullRequest
0 голосов
/ 11 апреля 2020

Почему результат numpy .random.normal (0,1, N) не складывается в 0? Фактическое среднее значение сгенерированного распределения не равно 0. Я думаю, что это не связано с дискретизацией, потому что смещение среднего значения от 0, по-видимому, не уменьшается с ростом N. Я попробовал Ns, которые действительно бросают вызов моей машине. Чего мне не хватает?

Я использую его для генерации случайного шума для добавления к моделируемому сигналу. Я полагаюсь на тот факт, что сумма всех шумовых сигналов будет приближаться к сумме только сигнала, потому что все случайные значения должны складываться до 0. Вместо этого я получаю сумму сигнала плюс смещение в среднем, умноженном на количество точек.

Ответы [ 3 ]

3 голосов
/ 11 апреля 2020

Среднее значение выборки не всегда совпадает с теоретическим. Но когда размер выборки становится большим, тогда разница будет небольшой.

См. Код.

import numpy as np
print(np.random.normal(0, 1, 100).mean()) # 0.08
print(np.random.normal(0, 1, 1000).mean()) # -0.03
print(np.random.normal(0, 1, 10000).mean()) # -0.004
print(np.random.normal(0, 1, 100000).mean()) # 0.0014
1 голос
/ 11 апреля 2020

Представьте себе несколько простых случаев:

  • N = 1: практически нет шансов получить ровно ноль, время от времени вы будете близки к нулю.
  • N = 2: Что бы вы ни получили за первое число, лучше надеяться, что вы получите точно обратное значение для второго числа. Обычно это не происходит, не было бы случайным, если бы это произошло.
  • N = 3: как только вы получите первые два, теперь вам нужно указать значение c для третьего числа, чтобы отменить первое два. Удачи с этим!

Я думаю, вы видите, куда это идет. Если вам нужна конкретная c сумма, вам нужно применить ее, уменьшив случайность хотя бы одного из значений.

0 голосов
/ 11 апреля 2020

Теория говорит, что стандартное отклонение среднего значения нормальной выборки равно сигма / sqrt (n), где n - размер выборки, а сигма - стандартное отклонение нормального распределения. Так как @Gilseung сказал, что его ответ означает, что среднее значение становится ближе к 0, когда размер выборки увеличивается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...