Winsorizing или winsorization — это преобразование статистики путем ограничения экстремальных значений в статистических данных для снижения эффекта возможных ложных выбросов . Он назван в честь инженера, ставшего биостатистиком Чарльза П. Винзора (1895–1951). Эффект тот же, что и усечение в обработке сигналов.
На распределение многих статистических данных могут сильно влиять выбросы, значения, которые «намного выходят за рамки» основной массы данных. Типичная стратегия учета, без полного устранения, этих выбросов заключается в «сбросе» выбросов до определенного процентиля (или верхнего и нижнего процентиля) данных. Например, 90% винсоризация будет видеть, что все данные ниже 5-го процентиля установлены на 5-й процентиль, а все данные выше 95-го процентиля установлены на 95-й процентиль. Винсоризованные оценки обычно более устойчивы к выбросам, чем их более стандартные формы, хотя есть альтернативы, такие как обрезка (см. ниже), которые позволят достичь аналогичного эффекта.
Рассмотрим простой набор данных, состоящий из:
Данные ниже 5-го процентиля лежат между −40 и −5 включительно, тогда как данные выше 95-го процентиля лежат между 101 и 1053 включительно (соответствующие значения выделены жирным шрифтом ). Winsorization эффективно сбрасывает значения выбросов до значений данных в 5-м и 95-м процентилях. Соответственно, 90% winsorization приведет к следующему набору данных:
После винзоризации среднее значение снизилось почти вдвое по сравнению с предыдущим значением и, следовательно, больше соответствует или конгруэнтно набору данных, на основе которого оно рассчитано.
Обратите внимание, что винсоризация не эквивалентна простому исключению данных, что является более простой процедурой, называемой обрезкой или усечением , а представляет собой метод цензурирования данных.
В усеченной оценке экстремальные значения отбрасываются ; в винзоризованной оценке экстремальные значения вместо этого заменяются определенными процентилями (усеченным минимумом и максимумом).
Таким образом, винсоризованное среднее не то же самое, что усеченное или обрезанное среднее . Например, 10% обрезанное среднее является средним от 5-го до 95-го процентиля данных, в то время как 90% винсоризованное среднее устанавливает нижние 5% на 5-й процентиль, верхние 5% на 95-й процентиль, а затем усредняет данные. Таким образом, винсоризация не изменяет общее количество значений в наборе данных, N. В приведенном выше примере обрезанное среднее будет получено из меньшего (усеченного) набора:
В этом случае винзоризованное среднее может быть эквивалентно выражено как средневзвешенное значение 5-го процентиля, усеченного среднего и 95-го процентиля (для этого случая 10% винзоризованного среднего: 0,05 умножить на 5-й процентиль, 0,9 умножить на 10% усеченное среднее и 0,05 умножить на 95-й процентиль). Однако, в общем, винзоризованные статистики не обязательно должны быть выражены в терминах соответствующей усеченной статистики.
Более формально, они различны, поскольку статистики заказов не являются независимыми.
Винсоризация используется в контексте методологии опроса для того, чтобы «обрезать» экстремальные веса неответов в опросе. [1] Она также используется при построении некоторых фондовых индексов при рассмотрении диапазона определенных факторов (например, роста и стоимости) для конкретных акций. [2]
Python может винсоризировать данные с помощью библиотеки SciPy :
импорт numpy как np из scipy.stats.mstats импорт winsorize winsorize ( np . array ([ 92 , 19 , 101 , 58 , 1053 , 91 , 26 , 78 , 10 , 13 , - 40 , 101 , 86 , 85 , 15 , 89 , 89 , 28 , - 5 , 41 ]), пределы = [ 0,05 , 0,05 ])
R может винсоризировать данные с помощью пакета DescTools: [3]
библиотека ( DescTools ) a <- c ( 92 , 19 , 101 , 58 , 1053 , 91 , 26 , 78 , 10 , 13 , -40 , 101 , 86 , 85 , 15 , 89 , 89 , 28 , -5 , 41 ) DescTools :: Winsorize ( a , probs = c ( 0.05 , 0.95 ))