Skip to content

Библиотека для работы с доверительными интервалами

License

Notifications You must be signed in to change notification settings

lenjjiv/RatingStats

Repository files navigation

Библиотека для работы с доверительными интервалами

Библиотека предоставляет инструменты для:

  • Расчета доверительных интервалов для оценок и среднего значения.
  • Сравнения интервалов, в том числе составных, с использованием различных метрик сходства.

Примеры работы приведены в examples/.

Доверительные интервалы

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

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

Вероятность считается с помощью нормировки каждой оценки на max_rating.

Основные функции:

  • calculate_ci_from_ratings: Рассчитывает доверительные интервалы для среднего на основе списка оценок.
  • calculate_ci_from_counts: Рассчитывает доверительные интервалы для среднего на основе гистограммы оценок.

Метод Вальда

Метод Вальда — это классический доверительный интервал, основанный на нормальном распределении.

$$\hat{p} \pm Z \cdot \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}$$

Здесь:

  • $\hat{p}$ — выборочная вероятность успеха.
  • $Z$ — квантиль стандартного нормального распределения, соответствующий заданному уровню доверия (например, 1.96 для 95% доверительной вероятности).
  • $n$ — размер выборки.

Недостаток метода Вальда в том, что он может дать ненадежные результаты, особенно на малых выборках или когда $p$ близка к краям интервала (0 или 1).

Метод Вильсона

Метод Вильсона корректирует оценку по методу Вальда, улучшая точность на краях, близких к 0 или 1. Он более устойчив к крайним значениям и обеспечивает более точное покрытие.

$$\frac{ \hat{p} + \frac{Z^2}{2n} \pm Z \sqrt{ \frac{\hat{p}(1 - \hat{p}) + \frac{Z^2}{4n}}{n} } }{ 1 + \frac{Z^2}{n} }$$

Обозначения те же:

  • $\hat{p}$ — выборочная вероятность успеха.
  • $Z$ — квантиль стандартного нормального распределения, соответствующий заданному уровню доверия (например, 1.96 для 95% доверительной вероятности).
  • $n$ — размер выборки.

Оценки по методу Вильсона не выходят за пределы $[0, 1]$ и служат более точной оценкой доверительных интервалов. Доверительный интервал здесь не всегда симметричный.

Сравнение интервалов

Модуль для работы с интервалами и вычисления метрик между ними.

Основные классы:

  • Interval: Простой интервал с началом и концом.
  • CompositeInterval: Составной интервал, состоящий из объединения нескольких простых.
  • IntervalSimilarityMethod: Базовый класс для сравнения интервалов.
  • SimilarityRegistry: Реестр алгоритмов сравнения интервалов.

Основные функции:

  • calculate_similarity: Вычисляет сходство между двумя интервалами, используя заданный метод.
  • calculate_similarity_matrix: Вычисляет матрицу сходства для каждой пары интервалов из списка.

Метрики между интервалами:

  • jaccard: Коэффициент Жаккара.
  • overlap: Коэффициент перекрытия.
  • hausdorff: Расстояние Хаусдорфа.

1. Метод Жаккара (Jaccard Similarity)

Формула:

$$ \text{Jaccard}(I_1, I_2) = \frac{|I_1 \cap I_2|}{|I_1 \cup I_2|} $$

где:

  • $I_1$ и $I_2$ — два интервала,
  • $|I_1 \cap I_2|$ — длина пересечения интервалов $I_1$ и $I_2$,
  • $|I_1 \cup I_2|$ — длина объединения интервалов $I_1$ и $I_2$.

Логика:

Показывает долю пересечения двух интервалов относительно их объединения. Если пересечение пустое – равна 0. Равна 1 только если интервалы полностью совпадают.


2. Метод перекрытия (Overlap Similarity)

Формула:

$$ \text{Overlap}(I_1, I_2) = \frac{|I_1 \cap I_2|}{\min(|I_1|, |I_2|)} $$

где:

  • $|I_1 \cap I_2|$ — длина пересечения интервалов $I_1$ и $I_2$,
  • $|I_1|$ и $|I_2|$ — длины интервалов $I_1$ и $I_2$, соответственно.

Логика:

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


3. Метод Хаусдорфа (Hausdorff Similarity)

Формула:

$$ \text{Hausdorff}(I_1, I_2) = 1 - \frac{d_{\min}(I_1, I_2)}{d_{\max}(I_1, I_2)} $$

где:

  • $d_{\min}(I_1, I_2)$ — минимальное расстояние между точками интервала $I_1$ и точками интервала $I_2$,
  • $d_{\max}(I_1, I_2)$ — максимальное расстояние между точками интервала $I_1$ и точками интервала $I_2$.

Логика:

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

Если интервалы пересекаются хотя бы в одной точке – равна 1. Если не пересекаются, меняется от того как далеко разошлись границы.


4. Смесь метрик (Mixed Method)

Формула:

$$ \text{Mixed}(I_1, I_2) = \frac{1}{\sum w_i} \sum_{i=1}^{n} w_i \cdot \text{Method}_i(I_1, I_2) $$

где:

  • $n$ - количество методов, которые мы комбинируем
  • $\text{Method}_i(I_1, I_2)$ - значение $i$-й метрики для интервалов $I_1$ и $I_2$ (например, Жаккара, Перекрытия или Хаусдорфа)
  • $w_i$ - вес $i$-й метрики (должны быть неотрицательными и в сумме давать 1)

Логика:

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

Дополнительные возможности

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

About

Библиотека для работы с доверительными интервалами

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages