Меры изменчивости в описательной статистике

В описательной статистике меры изменчивости используются для измерения разброса или разнообразия значений в наборе данных.

Дисперсия (Variance) — это мера разброса данных, которая показывает, насколько сильно значения набора данных отклоняются от их среднего значения. Математически дисперсия определяется как средний квадрат разности между каждым значением и средним значением. Формула для расчета дисперсии σ2 для набора данных x1, x2,…, x1​, x2​,…, xn​ с средним значением ˉxˉ выглядит следующим образом:

σ2=n1​∑i=1n​(xi​−xˉ)2

где n — количество наблюдений в наборе данных, xi​ — отдельное значение, ˉxˉ — среднее значение набора данных.

Дисперсия измеряется в квадратных единицах и используется для описания того, насколько данные распределены вокруг среднего значения. Большая дисперсия указывает на то, что значения в наборе данных сильно отклоняются от среднего значения, тогда как меньшая дисперсия указывает на более плотное распределение вокруг среднего.

def variance(data):
    n = len(data)
    mean = sum(data) / n
    variance = sum((x - mean) ** 2 for x in data) / n
    return variance

# Пример использования функции для вычисления дисперсии набора данных
data = [5, 8, 7, 10, 3, 6, 9]
result = variance(data)
print("Дисперсия:", result)

Стандартное отклонение (Standard Deviation) — это мера разброса данных, которая показывает, насколько сильно значения набора данных отклоняются от их среднего значения. Оно представляет собой квадратный корень из дисперсии. Математически стандартное отклонение определяется следующим образом:

где — количество наблюдений в наборе данных, — отдельное значение, ˉ — среднее значение набора данных.

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

import math

def standard_deviation(data):
    n = len(data)
    mean = sum(data) / n
    variance = sum((x - mean) ** 2 for x in data) / n
    std_deviation = math.sqrt(variance)
    return std_deviation

# Пример использования функции для вычисления стандартного отклонения набора данных
data = [5, 8, 7, 10, 3, 6, 9]
result = standard_deviation(data)
print("Стандартное отклонение:", result)

Диапазон (Range) — это простая мера изменчивости в наборе данных, которая показывает разницу между наибольшим и наименьшим значениями в этом наборе. Математически диапазон можно выразить следующим образом:

где — набор данных, — наибольшее значение в наборе, а — наименьшее значение.

В Python можно легко вычислить диапазон с помощью встроенных функций max() и min().

def data_range(data):
    return max(data) - min(data)

# Пример использования функции для вычисления диапазона набора данных
data = [5, 8, 7, 10, 3, 6, 9]
result = data_range(data)
print("Диапазон:", result)

Межквартильный размах (Interquartile Range, IQR) — это мера изменчивости, которая используется в статистике для измерения разницы между первым (25-й процентиль) и третьим (75-й процентиль) квартилями данных. Он представляет собой разброс средних 50% значений данных и является более устойчивым к выбросам, чем диапазон.

Математически межквартильный размах вычисляется следующим образом:

где — значение первого квартиля (25-й процентиль) и — значение третьего квартиля (75-й процентиль).

Чтобы вычислить межквартильный размах в Python, можно воспользоваться библиотекой numpy или scipy, которые предоставляют удобные функции для работы с квартилями.

    import numpy as np
    
    def interquartile_range(data):
        q1 = np.percentile(data, 25)
        q3 = np.percentile(data, 75)
        iqr = q3 - q1
        return iqr
    
    # Пример использования функции для вычисления межквартильного размаха набора данных
    data = [5, 8, 7, 10, 3, 6, 9]
    result = interquartile_range(data)
    print("Межквартильный размах:", result)

    Коэффициент вариации (Coefficient of Variation, CV) — это относительная мера изменчивости данных, которая выражает стандартное отклонение как процент от среднего значения. Это позволяет сравнивать изменчивость различных наборов данных независимо от их масштаба. Математически коэффициент вариации вычисляется следующим образом:

    CV=Standard DeviationMean×100%

    где:

    • Standard Deviation — стандартное отклонение данных,
    • Mean — среднее значение данных.

    В Python можно легко вычислить коэффициент вариации, используя функцию для вычисления стандартного отклонения и среднего значения.

    def coefficient_of_variation(data):
        mean_value = sum(data) / len(data)
        std_deviation = standard_deviation(data)
        cv = (std_deviation / mean_value) * 100
        return cv
    
    # Пример использования функции для вычисления коэффициента вариации набора данных
    data = [5, 8, 7, 10, 3, 6, 9]
    result = coefficient_of_variation(data)
    print("Коэффициент вариации:", result)

    Эти меры помогают понять, насколько данные разнообразны и насколько они могут отличаться друг от друга. Каждая из них имеет свои преимущества и недостатки в различных ситуациях.