Введение

В устойчивой статистике критерий Пирса — это правило для исключения выбросов из наборов данных, разработанное Бенджамином Пирсом.

Проблема отклонений

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

Реализация Python

Для того, чтобы использовать критерий Пирса, необходимо сначала понять входные и выходные данные. Анализ регрессии (или подгонка кривых к данным) приводит к остаточным ошибкам (или разнице между подогнанной кривой и точками наблюдения). Следовательно, каждой точке наблюдения соответствует остаточная ошибка для данной кривой. Возводя остаточную ошибку в квадрат (т.е. в степень два), остаточные ошибки представляются в виде положительных значений. Если квадрат ошибки слишком велик (т.е. из-за неточного наблюдения), это может вызвать проблемы с параметрами регрессии (например, наклоном и пересечением для линейной кривой), полученными при подгонке кривой. Идея Пирса заключалась в статистическом определении того, что считать ошибкой "слишком большой" и, следовательно, идентифицировать как "выброс", который можно удалить из наблюдений для улучшения соответствия между наблюдениями и кривой. К. Томсен установил, что для выполнения расчета необходимо три параметра: количество пар наблюдений (N), количество выбросов, которые необходимо удалить (n), и количество параметров регрессии (например, коэффициентов), используемых при подгонке кривой для получения остаточных значений (m). Конечным результатом этого процесса является вычисление порогового значения (квадратной ошибки), при котором наблюдения с квадратной ошибкой меньше этого порога следует сохранять, а наблюдения с квадратной ошибкой больше этого значения следует удалять (т.е. как выбросы). Поскольку критерий Пирса не принимает наблюдения, параметры подгонки или остаточные ошибки в качестве входных данных, выходные данные необходимо соотнести с данными. Умножение среднего значения всех квадратичных ошибок (т.е. среднеквадратичной ошибки) на пороговую квадратичную ошибку (т.е. выходное значение этой функции) позволит получить пороговое значение, специфичное для данных, используемое для идентификации выбросов. Следующий код на Python возвращает значения x в квадрате для заданного (первой колонки) и (верхней строки) в таблице 1 (m = 1) и таблице 2 (m = 2) Gould 1855. Благодаря методу итераций Ньютона, таблицы поиска, такие как N в зависимости от log Q (таблица III в Gould, 1855) и x в зависимости от log R (таблица III в Peirce, 1852 и таблица IV в Gould, 1855), больше не требуются.

R внедрение

Код Томсена был успешно интегрирован в следующий вызов функции "findx" К. Дардисом и С. Мюллером в 2012 году, который возвращает максимальное отклонение ошибки. В дополнение к коду Python, представленному в предыдущем разделе, здесь также представлен эквивалент на R – "peirce dev", который возвращает квадрат максимального отклонения ошибки. Эти две функции возвращают эквивалентные значения, либо возводя в квадрат значение, возвращаемое функцией "findx", либо извлекая квадратный корень из значения, возвращаемого функцией "peirce dev". Различия возникают в обработке ошибок. Например, функция "findx" возвращает NaN для недопустимых данных, а "peirce dev" возвращает 0 (что позволяет продолжить вычисления без дополнительной обработки NA-значений). Кроме того, функция "findx" не предусматривает обработку ошибок, когда количество потенциальных выбросов приближается к количеству наблюдений (возникает ошибка отсутствующего значения и предупреждение NaN). Как и в версии на Python, квадрат ошибки (т.е. ), возвращаемый функцией "peirce dev", необходимо умножить на среднюю квадратичную ошибку подгонки модели, чтобы получить квадрат дельты (т.е. Δ2). Используйте Δ2 для сравнения квадратов ошибок подгонки модели. Любые пары наблюдений с квадратом ошибки, превышающим Δ2, считаются выбросами и могут быть удалены из модели. Необходимо разработать итератор для проверки возрастающих значений n до тех пор, пока количество идентифицированных выбросов (путем сравнения Δ2 с квадратами ошибок подгонки модели) не станет меньше предполагаемого (т.е. n Пирса).