Коротка відповідь : Ні, це неможливо, принаймні з точки зору елементарних функцій. Однак для обчислення такої кількості існує дуже хороший (і досить швидкий!) Числовий алгоритм, і в цьому випадку їм слід віддати перевагу перед будь-якою технікою чисельної інтеграції.
Кількість відсотків у перерахунку на звичайний cdf
Кількість, яка вас цікавить, насправді тісно пов'язана із умовним середнім значенням лонормальної випадкової величини. Тобто, якщо поширюється як логічний з параметрами та , то, використовуючи ваше позначення,
Xμσ
∫baf(x)dx=∫ba1σ2π−−√e−12σ2(log(x)−μ)2dx=P(a≤X≤b)E(X∣a≤X≤b).
Щоб отримати вираз для цього інтеграла, зробіть підстановку . Спочатку це може здатися трохи немотивованим. Але зауважимо, що використовуючи цю підстановку, і шляхом простої зміни змінних, ми отримуємо
де і .z=(log(x)−(μ+σ2))/σx=eμ+σ2eσz
∫baf(x)dx=eμ+12σ2∫βα12π−−√e−12z2dz,
α=(log(a)−(μ+σ2))/σβ=(log(b)−(μ+σ2))/σ
Отже,
де - стандарт нормальна функція кумулятивного розподілу.
∫baf(x)dx=eμ+12σ2(Φ(β)−Φ(α)),
Φ(x)=∫x−∞12π√e−z2/2dz
Числове наближення
Часто зазначається, що для існує відомого виразу із закритою формою . Однак теорема Ліувілля з початку 1800-х років стверджує щось більш сильне: для цієї функції немає вираження закритої форми . (Доказ у цьому конкретному випадку див. У статті Брайана Конрада .)Φ(x)
Таким чином, нам залишається використовувати числовий алгоритм для наближення до потрібної кількості. Це можна зробити з плаваючою точкою подвійної точності IEEE за допомогою алгоритму WJ Cody's. Це стандартний алгоритм для цього завдання, і використання раціональних виразів з досить низького порядку, це досить ефективно, теж.
Ось посилання, яке обговорює наближення:
WJ Коді, Раціональне наближення Чебишева до функції помилок ,
математика. Склад. , 1969. С. 631--637.
Це також реалізація, яка використовується як в MATLAB, так і в серед інших випадків, якщо вони полегшують отримання прикладного коду.R
Ось відповідне питання, на випадок, якщо вам це цікаво.