Перейти к основному содержанию
CalcMax

Калькулятор функции ошибок

Диапазон: -6 – 6

Результат

0,842701

erf(x)

erfc(x)
0,157299

Калькулятор функции ошибок возвращает erf(x) и её дополнение erfc(x) для одного и того же аргумента, поэтому два значения всегда дают в сумме единицу. Функция ошибок — это интеграл колоколообразной кривой от нуля до x, и именно поэтому она всплывает всюду, где приходится измерять нормальное распределение: erf(1) равен 0,842701, а поскольку erfc(1) равен 0,157299, дополнительная функция ошибок — это просто единица минус первое значение. Страница считает значения по определению через ряд, так как в языке, на котором она написана, встроенной функции ошибок нет, и принимает как положительные аргументы, так и отрицательные. Аргумент ограничен шестью в обе стороны, и это та граница, за которой кривой уже нечего различать.

Функция ошибок и её дополнение при значениях, которые ищут чаще всего

xerf(x)erfc(x)
001
0.250.2763260.7236736
0.50.52050.4795001
0.750.7111560.2888444
10.8427010.1572992
1.50.9661050.03389485
20.9953220.004677735
2.50.9995930.000406952
30.9999780.0000220905

Каждая строка даёт в сумме единицу по двум последним столбцам — это и есть определение дополнения и самый быстрый способ проверить на глаз любую цифру отсюда. Редеет как раз верхняя половина таблицы: при x = 2 дополнение ещё несёт семь значащих цифр (0.004677735), а при x = 3 первая значащая цифра появляется только на пятом знаке после запятой (0.0000220905). Если читать средний столбец сверху вниз, видно, как кривая выравнивается: уже к x = 0,5 набрана половина всего диапазона, а всё, что после 2, — последние полпроцента. Числа в ячейках печатаются без локализации, поэтому десятичный разделитель в таблице остаётся точкой, тогда как в тексте те же величины записаны с запятой: это одно и то же число в двух записях, а не ошибка.

Формула

erf x = (2 ÷ √π) ∫₀ˣ e^(−t²) dt erfc x = 1 − erf x

x
Измеряемая величина, обычное число без единиц измерения. Оно может быть отрицательным, и тогда функция ошибок ведёт себя как нечётная и возвращает значение с обратным знаком: erf(−1) равен −0,842701. Практический диапазон — от −6 до 6; за его пределами кривая выравнивается настолько, что число с плавающей точкой перестаёт отличать значение от единицы.
e^(−t²)
Кривая Гаусса — колокол, который здесь интегрируют. Именно её форма делает функцию ошибок нужной: площадь под ней между двумя значениями и есть вероятность, поэтому один и тот же интеграл всплывает в любой задаче о нормальном распределении, а естественный спутник этой страницы — калькулятор нормального распределения.
√π
Нормирующий множитель перед интегралом, приблизительно 1,772454. Без него вся кривая дала бы в интеграле √π вместо единицы, и функция ошибок не пробегала бы от −1 до 1. Здесь это константа, а не переменная, и сказать об этом стоит потому, что выглядит она как переменная.
erf x
Собственно функция ошибок, напечатанная с шестью знаками после запятой. Она пробегает от −1 до 1, пересекая ноль в начале координат, и достигает 0,842701 при x = 1. Это настоящая площадь, а не вероятность: чтобы получить вероятность, к значению прибавляют единицу и делят пополам — так из неё и строится функция стандартного нормального распределения.
erfc x
Дополнительная функция ошибок, единица минус erf; при больших по модулю отрицательных аргументах она начинается с единицы и убывает к нулю. Она выводится в научной записи, потому что охватывает огромный диапазон. Это не второе измерение, а то же самое, прочитанное с другого конца: erfc — это площадь хвоста, а хвост нужен как раз тогда, когда x далеко от нуля.

Обращайтесь к этой странице, когда нужен именно ответ функции ошибок или её дополнения в том виде, в каком они записаны. Если на самом деле нужна вероятность того, что нормальная величина окажется ниже заданного значения, калькулятор нормального распределения принимает среднее и стандартное отклонение и возвращает эту вероятность напрямую — то же число, но более коротким путём. Функция ошибок — та первооснова, из которой эта вероятность получается, и здесь можно прочитать саму первооснову.

Разобранные примеры

  1. Значение, с которым встречаются первым: x = 1

    1. Ряд вычисляется при x = 1 и сходится за несколько десятков членов
    2. erf(1) получается равным 0,842701
    3. Дополнение — это единица минус полученное: 1 − 0,842701 = 0,157299
    4. Сумма двух значений даёт 1,000000 — это и есть проверка, которую стоит проделывать для любой строки на этой странице

    То, что два значения дают в сумме единицу, — не совпадение округления, а определение слова «дополнительная». Если читать их как площади, это означает, что всё под колоколом лежит либо в пределах одной единицы от центра, либо дальше. Эта же строка ближе всего к знакомой цифре: примерно 68 процентов попадают в пределы одного стандартного отклонения.

  2. Два, где хвост уже тонкий

    1. erf(2) равен 0,995322, то есть кривая почти закончила подъём
    2. Дополнение равно 1 − 0,995322 = 0,0046777 — это уже меньше половины процента
    3. В научной записи этот хвост выглядит как 4,677735 × 10⁻³
    4. Оба значения по-прежнему дают в сумме единицу, и у дополнения осталось семь значащих цифр

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

  3. Четыре, где дополнение начинает иссякать

    1. Истинное значение erf(4) равно единице минус примерно 1,54 × 10⁻⁸
    2. Как число с плавающей точкой это неотличимо от 1, поэтому столбец функции ошибок печатает ровно 1
    3. Дополнение тогда вычисляется как 1 − erf и даёт 1,541726 × 10⁻⁸
    4. Точность теряется именно на вычитании: у ответа остаётся лишь несколько верных цифр

    Это честный предел страницы и причина, по которой диапазон аргумента кончается на шести. Здешнее дополнение — разность двух чисел, совпадающих до восьмого знака, то есть малый остаток взаимного уничтожения; истинное значение равно 1,5417 × 10⁻⁸, и несколько старших цифр в нём верны. При x = 6 два числа с плавающей точкой становятся равны, и вычитание возвращает ровно ноль там, где истина около 2 × 10⁻¹⁷.

Ограничения

Аргумент ограничен шестью в обе стороны. Это ограничение точности, а не производительности: за этой границей функция ошибок настолько близка к единице, что число с плавающей точкой не представляет разность, и страница печатала бы шум. Внутри диапазона тоже есть предел, о котором стоит знать: дополнение вычисляется вычитанием, и как только x переходит примерно за 4,5, это вычитание уничтожает большинство значащих цифр, поэтому значения erfc там содержат лишь несколько верных цифр. Здесь это не исправлено, и исправление означало бы вторую реализацию дополнения, а не правку этой. Что до самой функции ошибок, то на отрезке от −4 до 4 она верна в пределах одной-двух единиц последнего разряда, а при x = 5 погрешность вырастает примерно до четырёх с половиной таких единиц. Приводятся только эти два значения: функции стандартного нормального распределения среди выходов нет, потому что это та же информация другим путём, а калькулятор нормального распределения выдаёт её как вероятность, с которой можно работать через среднее и стандартное отклонение. Никаких единиц измерения на этой странице нет, аргумент — чистое число. Значения считаются рядом, написанным для этой страницы, а не библиотекой платформы, потому что в языке такой функции нет.

Частые вопросы

Для чего нужна функция ошибок?
Чтобы измерить, какая часть кривой Гаусса лежит между центром и заданной точкой, — это то же самое, что вероятность в стандартном нормальном распределении. Значение при x = 1 равно 0,842701; если прибавить единицу и разделить пополам, получится 0,921351 — вероятность того, что стандартная нормальная величина отклонится от среднего не больше чем на одно стандартное отклонение в обе стороны.
Что такое erfc и как оно связано с erf?
Это дополнительная функция ошибок, определяемая как единица минус функция ошибок, поэтому два значения на этой странице всегда дают в сумме ровно 1. Она существует отдельной функцией не для полноты: именно она нужна при больших аргументах — при x = 4 функция ошибок уже легла на единицу, и только дополнение ещё несёт информацию.
Почему нельзя ввести значение больше шести?
Потому что за шестью измерять уже нечего. Истинное значение при x = 6 равно единице минус примерно 2 × 10⁻¹⁷, а число с плавающей точкой не отличает это от единицы, поэтому столбец функции ошибок напечатал бы 1, а дополнение — ровно ноль. Ограничение говорит о представимости чисел, а не о сложности вычисления: ряд там сходится примерно за двести членов.
Почему дополнение теряет точность при больших аргументах?
Потому что оно получается вычитанием. Когда функция ошибок равна 0,99999999999846256, после вычитания её из единицы остаётся всего несколько значащих цифр, а всё, что перед ними, — шум взаимного уничтожения. Истинное дополнение при x = 5 равно 1,5374598 × 10⁻¹², а страница возвращает 1,5364 × 10⁻¹². Сама функция ошибок от этого не страдает, и именно поэтому она здесь главное значение.
Можно ли получить здесь вероятность нормального распределения?
Напрямую нет, и страница намеренно этого не предлагает. Функция стандартного нормального распределения строится из функции ошибок прибавлением единицы и делением пополам, но калькулятор нормального распределения принимает, кроме значения, ещё среднее и стандартное отклонение и сообщает вероятность сразу — а это лучший ответ на такой вопрос, чем стандартизованное число.

Источники

Похожие калькуляторы