Вычислить ln(normcdf(x)) для любых x

biblioteka


Сойдёт предложение и по частям, т.е. для каких то abs(x)<a просто считать ln(normcdf(x
а для abs(x)>=a некоторая аппроксимация.
Главная задача не иметь на выходе NaN-ы при численных вычислениях. Точность тоже в общем
нужна, но не запредельная для больших abs(x)

griz_a

Ф(x) = 1-e^{-x^2/2}(1+O(1/x^2/(x\sqrt{2pi}) при больших х и e^{-x^2/2}(1+O(1/x^2/(|x|\sqrt{2pi}) при больших по модулю отрицательных.
Соответственно, ln Ф(x) =- e^{-x^2/2}/x\sqrt{2pi} + O(x^{-2} e^{-x^2/2}) при больших х, -x^2/2-\ln(|x|\sqrt{2pi})+O(1/x^2) при маленьких.

seregaohota

Upd Frau ответил уже. Асимптотику не проверял, иногда эта версия Maple глючит, иногда мои знания ее/статистики тоже глючат :)
и это x к плюс бесконечности походу

tester1

Frau ответил уже.
Учитывая то, по какой тематике Фрау защищал диссер, я бы ему верил.

griz_a

Эм, по тематике "большие уклонения для максимума и статистики Шеппа случайного блуждания", а причем здесь ф.р. нормального закона? :D
Да вообще это довольно банальный факт-то, в бесконечности по правилу Лопиталя выводится в строчку, а в минус бесконечности из симметрии. Так что я не призываю мне верить, можно просто посчитать. Ну или там в википедии открыть статью "функция ошибок", там наверняка есть :)

tester1

Ну, я подумал, что большие уклонения где-то там рядом живут с асимптотикой ф.р. нормального распределения на бесконечности. Типа, изучая первое, вряд ли можно не разобраться во втором на достаточном уровне. Поверхностно сужу?

Lene81

Ф(x) = 1-e^{-x^2/2}(1+O(1/x^2/(x\sqrt{2pi}) при больших х и e^{-x^2/2}(1+O(1/x^2/(|x|\sqrt{2pi}) при больших по модулю отрицательных.
Соответственно, ln Ф(x) =- e^{-x^2/2}/x\sqrt{2pi} + O(x^{-2} e^{-x^2/2}) при больших х, -x^2/2-\ln(|x|\sqrt{2pi})+O(1/x^2) при маленьких.
Аааа, ну почините уже латех на форуме наконец! :crazy:

tester1

Ф(x) = 1-e^{-x^2/2}(1+O(1/x^2/(x\sqrt{2pi}) при больших х и e^{-x^2/2}(1+O(1/x^2/(|x|\sqrt{2pi}) при больших по модулю отрицательных.
Соответственно, ln Ф(x) =- e^{-x^2/2}/x\sqrt{2pi} + O(x^{-2} e^{-x^2/2}) при больших х, -x^2/2-\ln(|x|\sqrt{2pi})+O(1/x^2) при маленьких.
у меня работает:
[math]$\Phi(x)=1-e^{\frac{-x^2}{2}}\frac{1+O(1/x^2)}{x\sqrt{2\pi}}$[/math] при больших х
 [math]$\Phi(x)=1-e^{\frac{-x^2}{2}}\frac{1+O(1/x^2)}{x\sqrt{2\pi}}$[/math] при больших х 
Оставить комментарий
Имя или ник:
Комментарий: