Автор статьи: Артем Михайлов

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

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

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

Основные понятия


Вероятностные распределения — это математические функции, которые используются для описания вероятностных свойств данных. Они часто используются в параметрическом анализе, чтобы оценить статистические параметры, такие как среднее значение и дисперсия.
Примеры вероятностных распределений:
  1. Нормальное распределение — используется для описания переменных, которые имеют непрерывное распределение. Оно характеризуется средним значением и стандартным отклонением.
  2. Биномиальное распределение — используется для описания бинарных (двоичных) переменных, таких как успех/неудача. Оно характеризуется вероятностью успеха и размером выборки.
  3. Пуассоновское распределение — используется для описания случайных событий, которые происходят с определенной интенсивностью. Оно характеризуется средним числом событий за фиксированный период времени.
  4. Равномерное распределение — используется для описания переменных, которые имеют равномерное распределение по всем возможным значениям. Оно характеризуется минимальным и максимальным значением.

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

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

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

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

Примеры нулевых гипотез в параметрическом анализе:
  • Средние значения двух выборок равны.
  • Дисперсии двух выборок равны.
  • Данные распределены нормально.

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

Параметрические методы анализа данных


Предлагаем рассмотреть несколько параметрических методов анализа данных, которые являются наиболее распространенными и эффективными: T-тест Стьюдента, анализ дисперсии (ANOVA) и линейная регрессия.

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

Пример кода на Python для T-тест Стьюдента:

import numpy as np
from scipy import stats

# сгенерируем две выборки
sample1 = np.random.normal(loc=10, scale=2, size=20)
sample2 = np.random.normal(loc=12, scale=2, size=20)

# проведем T-тест Стьюдента
t, p_value = stats.ttest_ind(sample1, sample2)

# выведем результаты
print("t-статистика =", t)
print("p-value =", p_value)


В данном примере мы сгенерировали две выборки, провели T-тест Стьюдента и вывели результаты. Если значение p-value меньше уровня значимости (обычно это 0.05), то можно считать различия между выборками статистически значимыми. В примере результаты T-теста могут быть различными при каждом запуске скрипта, так как выборки генерируются случайным образом.

Анализ дисперсии (ANOVA) — это метод, который позволяет сравнивать средние значения трех или более групп и определять, есть ли статистически значимые отличия между ними. ANOVA подразделяется на несколько типов, в зависимости от количества факторов и независимых переменных, которые влияют на зависимую переменную.

Пример использования ANOVA на Python:

Предположим, у нас есть три группы пациентов, которым назначили различные препараты для лечения боли в суставах. Наша цель — определить, есть ли статистически значимые различия между группами в средней степени уменьшения боли. Для этого мы используем ANOVA:

import pandas as pd
import scipy.stats as stats
import statsmodels.api as sm
from statsmodels.formula.api import ols
 
#создаем фрейм данных с результатами лечения
data = {"group1": [10, 12, 8, 9, 11], 
        "group2": [6, 8, 5, 7, 9],
        "group3": [11, 10, 13, 12, 14]}
df = pd.DataFrame(data)
 
#используем однофакторный ANOVA
model = ols('value ~ C(treatment)', data=df).fit()
anova_table = sm.stats.anova_lm(model, typ=2)
print(anova_table)
 
#выводим результаты анализа
print("p-value: ", anova_table['PR(>F)'][0])
if anova_table['PR(>F)'][0] < 0.05:
    print("Отвергаем нулевую гипотезу, статистически значимые различия между группами есть")
else:
    print("Не отвергаем нулевую гипотезу, статистически значимых различий между группами нет")


Вывод: в данном примере, p-value меньше 0.05, что говорит о том, что статистически значимые различия между группами есть. Мы можем заключить, что различные препараты оказывают различное воздействие на уменьшение боли в суставах.

Линейная регрессия — это метод, который позволяет определить линейную зависимость между двумя переменными: зависимой (изучаемой) и независимой. Цель линейной регрессионной модели — оценить параметры линейной зависимости между этими переменными и построить уравнение прямой линии, которая лучше всего описывает эту зависимость.

Линейная регрессия используется для решения различных задач, например:
  • Прогнозирование значений зависимой переменной по значениям независимой
  • Оценка влияния одной или нескольких независимых переменных на зависимую переменную
  • Идентификация выбросов и аномалий в данных
  • Проверка адекватности модели

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

Пример кода на Python для построения модели линейной регрессии:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# создаем исходные данные - две переменные
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 7, 8])

# создаем модель линейной регрессии
model = LinearRegression()

# обучаем модель на исходных данных
x = x.reshape(-1, 1)
model.fit(x, y)

# выводим результаты модели
print('Коэффициенты модели: ', model.coef_)
print('Пересечение: ', model.intercept_)
print('R-квадрат: %.4f' % model.score(x, y))

# строим график прямой линии
plt.scatter(x, y)
plt.plot(x, model.predict(x), color='red')
plt.show()


В данном примере мы создаем две переменные и строим модель линейной регрессии. На выходе мы получаем коэффициенты линейной зависимости, пересечение с осью, значение R-квадрат (которое показывает, насколько хорошо модель подходит к данным) и строим график прямой линии, которая описывает нашу модель.

Ограничения параметрического анализы


Несмотря на все преимущества, параметрический анализ имеет свои ограничения. Во-первых, он требует наличия правильно подобранных параметров. Если проектировщик не определит параметры, которые должны быть изменены, то процесс параметрического анализа не будет иметь смысла.

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

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

Несмотря на ограничения, параметрический анализ — это эффективный инструмент для повышения эффективности проекта и его конкурентоспособности.

Сравнение параметрического анализа с непараметрическим анализом данных


Параметрический анализ – это статистический метод, который предполагает, что данные распределены в соответствии с известным математическим распределением, таким как нормальное. Иными словами, параметрический анализ требует знания параметров, определяющих распределение данных. Обычно такие параметры как среднее значение и стандартное отклонение используются для определения нормального распределения данных.

Однако, не всегда возможно сделать выводы на основании параметрического анализа. Например, если данные сильно кривые (skewed) или их распределение явно не нормальное, то параметрический анализ не сочетается с реальностью. В такой ситуации лучше использовать непараметрический анализ данных.

Непараметрический анализ данных не требует- фиксированных параметров распределения, а основывается на знании о ранжировании (rank) данных. Это полезно, если предполагаемое распределение данных не отдает отчета о реальности данных.

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

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

Заключение


Параметрический анализ данных — мощный инструмент для анализа данных, который может помочь находить закономерности и предсказывать будущие значения. Однако важно понимать его ограничения и учитывать их при применении метода.

Напоследок хочу порекомендовать вам бесплатный вебинар «Путь системного аналитика: куда расти дальше сеньора». Зарегистрироваться на вебинар можно по данной ссылке.

Комментарии (1)


  1. adeshere
    21.06.2023 10:26

    Извините, но разбавил положительные оценки статьи своим минусом за обилие невнятных формулировок. До последнего сомневался (тема-то актуальная, и полезная информация есть), но вот этот абзац меня доконал:

    Параметрический анализ – это статистический метод, который предполагает, что данные распределены в соответствии с известным математическим распределением, таким как нормальное. Иными словами, параметрический анализ требует знания параметров, определяющих распределение данных. Обычно такие параметры как среднее значение и стандартное отклонение используются для определения нормального распределения данных.

    Мне кажется, я смог догадаться, что тут хотел сказать автор. Но именно догадаться, а не прочитать. Неужели нельзя было поработать над формулировками, чтобы чтение статьи не превращалось в ребус?

    Но еще более важная претензия к статье - в ней так и не объяснено, за счет чего (при каких условиях) параметрический анализ может быть точнее, чем непараметрический. Ведь как известно, бесплатный сыр - он только в мышеловке. В других местах за все надо платить. Здесь ситуация ровно такая же! Параметрический анализ позволяет улучшить точность оценок благодаря привлечению дополнительной (априорной?) информации о модели. Что она адекватна реальности (данным). То есть, философия очень простая: если наша модель верна, то мы можем оценить ее параметры более точно. А если нет? Тогда извините....

    Например, мы можем априори предположить, что связь между x и y линейная, и уже в рамках этой гипотезы оценить параметры регрессии. Но если в действительности связь квадратичная, то наша модель будет круто лажать (особенно на границах диапазона аппроксимации).

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

    По-моему, в статье, где сравнивается параметрический и непараметрический подход, на этом надо было сделать отдельный акцент.

    UPD. Неожиданно для себя, не смог с ходу найти в википедии хорошую статью именно про анализ остатков с целью оценки адекватности модели. Думал, что эти азбучные истины должны быть изложены и пересказаны многократно - но вот увы... Поэтому добавлю чуть-чуть философской отсебятины в дополнение к приведенной выше ссылке. А именно, статистическую модель (в самом общем понимании этого слова) можно считать хорошей при соблюдении двух условий:

    Во-первых, в остатках не должно быть явных закономерностей. Попросту говоря, остатки должны быть случайны. Это значит, что наша модель уже учла все, что можно (нужно?).

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