Например, если у нас есть набор данных о температуре в разные дни года, мы можем вычислить среднюю температуру и стандартное отклонение. Затем мы можем вычислить Z-оценку для каждого дня и определить, является ли температура в этот день аномальной, основываясь на пороговом значении Z-оценки.
Этот метод прост в реализации и может быть эффективным для обнаружения явных аномалий в данных, таких как выбросы. Однако он может быть менее эффективным в обнаружении более сложных или скрытых аномалий, таких как аномальные временные или пространственные шаблоны. Кроме того, выбор подходящего порога Z-оценки может быть сложной задачей и требует тщательного анализа данных и экспериментов.
Пример
Давайте рассмотрим пример использования Z-оценки для обнаружения аномалий в наборе данных о росте людей. Предположим, у нас есть данные о росте людей в определенной популяции, и мы хотим выявить аномальные значения роста.
1. Подготовка данных: Первым шагом является загрузка и предварительная обработка данных. Мы вычисляем среднее значение и стандартное отклонение роста в нашем наборе данных.
2. Вычисление Z-оценки: Для каждого индивидуального значения роста мы вычисляем Z-оценку, используя формулу Z = (X – μ) / σ, где X – это значение роста, μ – среднее значение роста, а σ – стандартное отклонение роста.
3. Установка порога: Затем мы устанавливаем пороговое значение Z-оценки. Чаще всего используется значение Z = 3, что означает, что любое значение роста, которое отклоняется от среднего более чем на 3 стандартных отклонения, считается аномальным.
4. Обнаружение аномалий: После вычисления Z-оценок мы просматриваем каждое значение роста и определяем, превышает ли его Z-оценка наш установленный порог. Если да, то это значение роста считается аномалией.
Например, если средний рост в нашем наборе данных составляет 170 см, а стандартное отклонение равно 5 см, то любое значение роста менее 155 см или более 185 см будет считаться аномальным при использовании порогового значения Z = 3.
Таким образом, метод Z-оценки может быть применен для обнаружения аномалий в различных наборах данных, включая данные о росте, весе, финансовых показателях и других.
```python
import numpy as np
# Предположим, у нас есть данные о росте людей (в сантиметрах)
heights = np.array([170, 172, 175, 168, 160, 165, 180, 185, 190, 155, 200])
# Вычисляем среднее значение и стандартное отклонение роста
mean_height = np.mean(heights)
std_dev_height = np.std(heights)
# Устанавливаем пороговое значение Z-оценки
threshold = 3
# Вычисляем Z-оценки для каждого значения роста
z_scores