Я хочу определить емкость таблицы так, чтобы она имела остаточные шансы менее переполнить для данного , предполагая, что число записей следует закону Пуассона с заданной ожидаемой величиной .
В идеале я хочу, чтобы наименьшее целое число было C
таким, что 1-CDF[PoissonDistribution[E],C] < 2^-p
для заданного p
и E
; но я доволен C
немного выше этого. Mathematica отлично подходит для ручных вычислений, но я хотел бы вычислять C
с p
и E
во время компиляции, что ограничивает меня 64-битной целочисленной арифметикой.
Обновление: в Mathematica (версия 7) e = 1000; p = 40; c = Quantile[PoissonDistribution[e], 1 - 2^-p]
все 1231
выглядит правильно (спасибо @Procrastinator); однако результат для обоих p = 50
и p = 60
есть 1250
, что неправильно с небезопасной стороны (и имеет значение: мой эксперимент повторяется примерно в раз или более, и я хочу явно меньше, чем общих шансов отказа). Мне нужна грубая, но безопасная аппроксимация с использованием только 64-битной целочисленной арифметики , доступной в C (++) во время компиляции. 2 - 30
источник
C = Quantile[PoissonDistribution[E],1-2^p]
?p
, проблем точности, именE
иC
зарезервированных). НО мне нужно простое приближение к этому, возможно, грубое (но безопасное) использование только 64-битной целочисленной арифметики!Ответы:
Распределение Пуассона с большим средним значением приблизительно нормально, но вы должны быть осторожны, если хотите, чтобы хвост был ограничен, а нормальное приближение пропорционально менее точно вблизи хвостов.
Один из подходов, используемых в этом вопросе МО и с биномиальным распределением, состоит в том, чтобы признать, что хвост уменьшается быстрее, чем геометрический ряд, поэтому вы можете написать явную верхнюю границу в виде геометрического ряда.
Линия 2 строка 3 была связана с формулой Стирлинга. На практике я думаю, что вы хотите решить - p log 2 = log ( bound ) численно с помощью бинарного поиска. Метод Ньютона, начинающийся с начального предположения D = μ + c √→ −plog2=log(bound) также должен работать.D=μ+cμ−−√.
Например, при и µ = 1000 численное решение, которое я получаю, составляет 1384,89. Распределение Пуассона со средним значением 1000 принимает значения от 0 до 1384p=100 μ=1000 1000 0 1384 1−1/2100.06. 0 1383 1−1/299.59.
источник
источник