#set document(title: "РГР №1") #set page( paper: "a4", margin: (top: 2.5cm, bottom: 2.5cm, left: 3cm, right: 2cm), numbering: "1", ) #set text(font: "New Computer Modern", size: 14pt, lang: "ru") // #set heading(numbering: "1.") #set par(justify: true, leading: 0.75em) #show math.equation: set text(size: 14pt) #show link: underline #set page(footer: context { if counter(page).get().first() > 1 [ #align(center)[ #counter(page).display("1") ] ] if counter(page).get().first() == 1 [ #align(center)[ Санкт-Петербург \ 2026 ] ] }) #set page(header: context { if counter(page).get().first() == 1 [ #align(center)[ Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики ] ] }) #show raw.where(block: false): box.with( fill: luma(240), inset: (x: 3pt, y: 0pt), outset: (y: 3pt), radius: 2pt, ) #show raw.where(block: true): block.with( fill: luma(240), inset: 10pt, radius: 4pt, ) #for _ in range(5) { linebreak() } #align(center)[Лабораторная работа №4. Postgres] #for _ in range(15) { linebreak() } #align(right)[Выполнил:] #align(right)[Дощенников Никита] #align(right)[Группа: К3221] #align(right)[Проверила:] #align(right)[Александра Валерьевна Купера] #pagebreak() #outline(title: "Содержание", indent: 1.5em) #pagebreak() = Первичное описание выборки В данном разделе выполняется первичный анализ столбцов $X_1$, $X_2$, $X_3$ из предоставленного CSV-файла объёмом $n = 200$ наблюдений. == Вариационный ряд Вариационный ряд --- упорядоченная по возрастанию последовательность наблюдений $x_1 lt.eq x_2 lt.eq dots lt.eq x_n$. #align(center)[ #figure( image("assets/variation-series-X1.png"), caption: [Вариационный ряд столбца $X_1$] ) ] #align(center)[ #figure( image("assets/variation-series-X2.png"), caption: [Вариационный ряд столбца $X_2$] ) ] #align(center)[ #figure( image("assets/variation-series-X3.png"), caption: [Вариационный ряд столбца $X_3$] ) ] #align(center)[ #figure( image("assets/variation-series-X4.png"), caption: [Вариационный ряд столбца $X_4$] ) ] == Эмпирическая функция распределения Эмпирическая функция распределения определяется как $ F_n (x) = frac(nu_n (x), n), $ где $nu_n (x)$ --- число наблюдений, строго меньших $x$. График $F_n (x)$ является ступенчатой функцией: в каждой точке $x_i$ происходит скачок на $1/n$. #align(center)[ #figure( image("assets/ecdf-X1.png"), caption: [Эмпирическая функция распределения $F_n (x)$ для ряда $X_1$] ) ] #align(center)[ #figure( image("assets/ecdf-X2.png"), caption: [Эмпирическая функция распределения $F_n (x)$ для ряда $X_2$] ) ] #align(center)[ #figure( image("assets/ecdf-X3.png"), caption: [Эмпирическая функция распределения $F_n (x)$ для ряда $X_3$] ) ] #align(center)[ #figure( image("assets/ecdf-X4.png"), caption: [Эмпирическая функция распределения $F_n (x)$ для ряда $X_4$] ) ] == Гистограммы Для выбора числа интервалов использовались три правила: - *Правило Скотта:* $h = 3.5 hat(sigma) n^(-1/3)$, откуда $k = ceil.l (x_max - x_min) / h ceil.r$. - *Правило Фридмана–Диакониса:* $h = 2 dot "IQR" dot n^(-1/3), space "IQR" = q_0.75 - q_0.25$. - *Правило Стерджеса:* $k = 1 + floor.l log_2 n floor.r$. Результаты для $n = 200$: #figure( table( columns: 4, align: horizon + center, table.header([*Правило*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [Скотт], [10], [6], [11], [Фридман–Диакон.], [12], [6], [17], [Стерджес], [8], [8], [8], ), caption: [Число интервалов $k$ по разным правилам], ) В дальнейшем используется правило Скотта как наиболее устойчивое к форме распределения. #figure( rect(width: 100%, height: 7cm, fill: luma(240), stroke: luma(180))[ #align(center + horizon)[_[Вставить гистограммы X1 (три правила рядом)]_] ], caption: [Гистограммы $X_1$ по трём правилам], ) #figure( rect(width: 100%, height: 7cm, fill: luma(240), stroke: luma(180))[ #align(center + horizon)[_[Вставить гистограммы X2 (три правила рядом)]_] ], caption: [Гистограммы $X_2$ по трём правилам], ) #figure( rect(width: 100%, height: 7cm, fill: luma(240), stroke: luma(180))[ #align(center + horizon)[_[Вставить гистограммы X3 (три правила рядом)]_] ], caption: [Гистограммы $X_3$ по трём правилам], ) // ─── 1.4 ───────────────────────────────────────────────────────────────────── == Числовые характеристики Выборочное среднее: $ macron(x) = frac(1,n) sum_(i=1)^n x_i. $ Смещённая и несмещённая дисперсии: $ S^2 = frac(1,n) sum_(i=1)^n (x_i - macron(x))^2, quad hat(sigma)^2 = frac(1,n-1) sum_(i=1)^n (x_i - macron(x))^2. $ #figure( table( columns: (2.2fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header( [*Характеристика*], [*$X_1$*], [*$X_2$*], [*$X_3$*] ), [$macron(x)$ — выборочное среднее], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$S^2$ — смещённая дисперсия], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(sigma)^2$ — несмещённая дисперсия], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$S$ — смещённое ст. откл.], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(sigma)$ — несмещённое ст. откл.],[\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$m_e$ — медиана], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$q_{0.25}$ — первый квартиль], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$q_{0.75}$ — третий квартиль], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$"IQR" = q_{0.75} - q_{0.25}$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$x_min$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$x_max$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Числовые характеристики выборок], ) // ─── 1.5 ───────────────────────────────────────────────────────────────────── == Описание формы распределений *Столбец $X_1$.* _(Заполнить после анализа: симметрия/асимметрия, наличие выбросов, естественные границы значений, характер хвостов.)_ *Столбец $X_2$.* _(Заполнить после анализа.)_ *Столбец $X_3$.* _(Заполнить после анализа.)_ // ───────────────────────────────────────────────────────────────────────────── = Гипотезы о виде закона распределения // ───────────────────────────────────────────────────────────────────────────── На основании гистограмм, ЭФР и числовых характеристик для каждого столбца выдвигается гипотеза о законе распределения из списка: нормальное $N(a, sigma^2)$, равномерное $U(a, b)$, экспоненциальное со сдвигом $"Exp"_(lambda, c)$. *Столбец $X_1$ — предполагаемый закон: \_\_\_\_\_\_\_\_\_.* _(Обоснование: форма гистограммы, симметрия, соотношение среднего и медианы, характер ЭФР и т.д. — 2–6 предложений.)_ *Столбец $X_2$ — предполагаемый закон: \_\_\_\_\_\_\_\_\_.* _(Обоснование.)_ *Столбец $X_3$ — предполагаемый закон: \_\_\_\_\_\_\_\_\_.* _(Обоснование.)_ // ───────────────────────────────────────────────────────────────────────────── = Оценивание параметров // ───────────────────────────────────────────────────────────────────────────── // ─── 3.1 ───────────────────────────────────────────────────────────────────── == Метод моментов Идея метода: приравнять теоретические моменты $E X$ и $D X$ к выборочным оценкам и решить систему уравнений. === Нормальное распределение $N(a, sigma^2)$ Теория: $E X = a$, $D X = sigma^2$. Оценки: $ hat(a) = macron(x), quad hat(sigma)^2 = S^2. $ === Равномерное распределение $U(a, b)$ Теория: $E X = (a+b)/2$, $D X = (b-a)^2 / 12$. Оценки: $ hat(a) = macron(x) - sqrt(3 S^2), quad hat(b) = macron(x) + sqrt(3 S^2). $ === Экспоненциальное распределение со сдвигом $"Exp"_(lambda,c)$ Плотность: $f(x) = lambda e^{-lambda(x-c)}$, $x gt.eq c$, $lambda > 0$. Теория: $E X = c + 1/lambda$, $D X = 1/lambda^2$. Оценки: $ hat(lambda) = 1/S, quad hat(c) = macron(x) - 1/hat(lambda). $ === Результаты метода моментов #figure( table( columns: (2fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header([*Параметр*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [Параметр 1 (\_\_\_)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [Параметр 2 (\_\_\_)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Оценки параметров методом моментов], ) // ─── 3.2 ───────────────────────────────────────────────────────────────────── == Метод максимального правдоподобия Функция правдоподобия и логарифм правдоподобия: $ L(theta) = product_(i=1)^n f(x_i | theta), quad ell(theta) = sum_(i=1)^n ln f(x_i | theta). $ Оценка ММП: $hat(theta) = arg max_theta ell(theta)$. === Нормальное распределение $ ell(a, sigma) = -n ln sigma - frac(1, 2 sigma^2) sum_(i=1)^n (x_i - a)^2 + "const". $ Из условий первого порядка: $ hat(a)_("МП") = macron(x), quad hat(sigma)^2_("МП") = S^2 = frac(1,n) sum_(i=1)^n (x_i - macron(x))^2. $ === Равномерное распределение Плотность $f(x) = 1/(b-a)$ при $x in [a,b]$. Правдоподобие максимизируется при наименьшем возможном $(b-a)$, откуда: $ hat(a)_("МП") = min{x_1, dots, x_n}, quad hat(b)_("МП") = max{x_1, dots, x_n}. $ === Экспоненциальное распределение со сдвигом $ ell(lambda, c) = n ln lambda - lambda sum_(i=1)^n (x_i - c). $ Так как $ell$ возрастает по $c$ (при $c lt.eq x_min$): $ hat(c)_("МП") = min{x_1, dots, x_n}, quad hat(lambda)_("МП") = frac(1, macron(x) - hat(c)). $ === Результаты ММП #figure( table( columns: (2fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header([*Параметр*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [Параметр 1 (\_\_\_)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [Параметр 2 (\_\_\_)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Оценки параметров методом максимального правдоподобия], ) // ─── 3.3 ───────────────────────────────────────────────────────────────────── == Сравнение оценок двух методов #figure( table( columns: (2fr, 1fr, 1fr, 1fr, 1fr, 1fr, 1fr), align: center, table.header( [], table.cell(colspan: 2)[$X_1$], table.cell(colspan: 2)[$X_2$], table.cell(colspan: 2)[$X_3$], [*Параметр*], [*ММ*], [*МП*], [*ММ*], [*МП*], [*ММ*], [*МП*], ), [Параметр 1], [\_\_], [\_\_], [\_\_], [\_\_], [\_\_], [\_\_], [Параметр 2], [\_\_], [\_\_], [\_\_], [\_\_], [\_\_], [\_\_], ), caption: [Сравнение оценок методом моментов и ММП], ) _(Комментарий: для нормального распределения оценки совпадают. Для равномерного и экспоненциального оценки различаются — пояснить почему, 2–4 предложения.)_ // ───────────────────────────────────────────────────────────────────────────── = Оценивание вероятности $P(X > x_0)$ // ───────────────────────────────────────────────────────────────────────────── В качестве порога выбирается $x_0 = macron(x) + hat(sigma)$. *Эмпирическая оценка:* $ hat(p)_("эмп") = frac(1,n) sum_(i=1)^n bold(1)[x_i > x_0]. $ *Параметрическая оценка* — подстановка найденных оценок в теоретическую формулу: - Для $N(a, sigma^2)$: $quad P(X > x_0) = 1 - Phi\( (x_0 - hat(a)) / hat(sigma) \)$. - Для $U(a,b)$: $quad P(X > x_0) = (hat(b) - x_0) / (hat(b) - hat(a))$ при $x_0 in [hat(a), hat(b)]$. - Для $"Exp"_(lambda,c)$: $quad P(X > x_0) = e^{-hat(lambda)(x_0 - hat(c))}$. #figure( table( columns: (2.5fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header([*Оценка*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [$x_0 = macron(x) + hat(sigma)$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(p)_"эмп"$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(p)_"пар"$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [Расхождение $|hat(p)_"эмп" - hat(p)_"пар"|$], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Сравнение эмпирической и параметрической оценок вероятности], ) _(Комментарий к расхождению — 2–3 предложения.)_ // ───────────────────────────────────────────────────────────────────────────── = Оценка моментов по сгруппированной выборке // ───────────────────────────────────────────────────────────────────────────── Пусть гистограмма содержит $m$ интервалов, в $k$-й интервал попало $n_k$ наблюдений, $hat(X)_k$ — середина $k$-го интервала. Тогда: $ hat(X)_g = frac(1,n) sum_(k=1)^m n_k hat(X)_k, quad hat(sigma)^2_g = frac(1,n-1) sum_(k=1)^m n_k (hat(X)_k - hat(X)_g)^2. $ #figure( table( columns: (2.5fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header([*Характеристика*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [$hat(X)_g$ (по сгруппированной)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$macron(x)$ (по исходным)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(sigma)^2_g$ (по сгруппированной)],[\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [$hat(sigma)^2$ (по исходным)], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Сравнение оценок по сгруппированной и исходной выборкам], ) _(Комментарий: потеря точности при группировке обусловлена заменой каждого наблюдения серединой интервала — 2–3 предложения.)_ // ───────────────────────────────────────────────────────────────────────────── = Доверительные интервалы // ───────────────────────────────────────────────────────────────────────────── Уровень доверия $1 - alpha = 0.95$, то есть $alpha = 0.05$. == Асимптотический доверительный интервал для $E X$ По центральной предельной теореме для всех трёх столбцов: $ E X in lr(( macron(x) - z_{1-alpha/2} frac(hat(sigma), sqrt(n)), space macron(x) + z_{1-alpha/2} frac(hat(sigma), sqrt(n)) )), $ где $z_{0.975} approx 1.960$. #figure( table( columns: (2fr, 1fr, 1fr, 1fr), align: (left, center, center, center), table.header([*Граница*], [*$X_1$*], [*$X_2$*], [*$X_3$*]), [Нижняя граница], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [Верхняя граница], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], [Ширина интервала], [\_\_\_\_], [\_\_\_\_], [\_\_\_\_], ), caption: [Асимптотические ДИ для $E X$ на уровне $0.95$], ) == Точные доверительные интервалы для нормального столбца Для столбца $X\_\_$ (отнесённого к $N(mu, sigma^2)$): *ДИ для $mu$ при неизвестной $sigma^2$* (распределение Стьюдента): $ mu in lr(( macron(x) - t_{1-alpha/2,, n-1} frac(hat(sigma), sqrt(n)), space macron(x) + t_{1-alpha/2,, n-1} frac(hat(sigma), sqrt(n)) )), $ где $t_{0.975, 199} approx \_\_\_\_$. *ДИ для $sigma^2$* (распределение $chi^2$): $ sigma^2 in lr(( frac((n-1) hat(sigma)^2, chi^2_{1-alpha/2,, n-1}), space frac((n-1) hat(sigma)^2, chi^2_{alpha/2,, n-1}) )). $ #figure( table( columns: (2.5fr, 1fr), align: (left, center), table.header([*Интервал*], [*Значение*]), [ДИ для $mu$ (асимптотический)], [(\_\_\_\_, \_\_\_\_)], [ДИ для $mu$ (точный, $t$-распределение)], [(\_\_\_\_, \_\_\_\_)], [ДИ для $sigma^2$], [(\_\_\_\_, \_\_\_\_)], ), caption: [Точные ДИ для параметров нормального распределения ($X\_\_$)], ) // ─── 6.3 ───────────────────────────────────────────────────────────────────── == Интерпретация доверительных интервалов Доверительный интервал с уровнем $1 - alpha = 0.95$ означает следующее: если бы мы многократно повторяли эксперимент и строили интервал по каждой новой выборке, то примерно 95% таких интервалов покрывали бы истинное значение параметра. Это *не* означает, что истинный параметр попадает в данный конкретный интервал с вероятностью 95% — параметр либо лежит в интервале, либо нет. Вероятностный смысл относится к процедуре построения, а не к конкретному результату. Чем уже интервал, тем точнее оценка. Ширина убывает как $O(1/sqrt(n))$, поэтому для вдвое более узкого интервала требуется вчетверо большая выборка. // ───────────────────────────────────────────────────────────────────────────── = Итоговый вывод // ───────────────────────────────────────────────────────────────────────────── _(Заполнить после получения числовых результатов — 5–12 строк.)_ По результатам анализа установлено следующее соответствие столбцов и законов распределения: - $X_1$ — \_\_\_\_\_\_\_\_ с параметрами \_\_\_\_\_\_\_\_; - $X_2$ — \_\_\_\_\_\_\_\_ с параметрами \_\_\_\_\_\_\_\_; - $X_3$ — \_\_\_\_\_\_\_\_ с параметрами \_\_\_\_\_\_\_\_. Оценки методом моментов и методом максимального правдоподобия _(совпали / незначительно расходятся)_. Доверительные интервалы для среднего имеют ширину порядка \_\_\_\_, что свидетельствует о _(высокой / умеренной)_ точности оценок при $n = 200$. Асимптотический и точный интервалы для нормального столбца практически совпадают, что подтверждает применимость ЦПТ при данном объёме выборки. // ───────────────────────────────────────────────────────────────────────────── = Бонус: анализ столбца $X_4$ // ───────────────────────────────────────────────────────────────────────────── == Первичное описание #figure( rect(width: 100%, height: 5cm, fill: luma(240), stroke: luma(180))[ #align(center + horizon)[_[Вставить гистограмму и ЭФР для X4]_] ], caption: [Гистограмма и ЭФР столбца $X_4$], ) _(Описание формы: признаки бимодальности, неоднородности, наличие двух мод.)_ == Кластеризация ($k$-средних, $k=2$) _(Описание метода и результат разбиения на два кластера.)_ #figure( table( columns: (2fr, 1fr, 1fr), align: (left, center, center), table.header([*Характеристика*], [*Кластер 1*], [*Кластер 2*]), [Объём $n_j$], [\_\_\_\_], [\_\_\_\_], [Среднее $macron(x)_j$], [\_\_\_\_], [\_\_\_\_], [Ст. откл. $hat(sigma)_j$], [\_\_\_\_], [\_\_\_\_], [Мин / Макс], [\_\_\_\_ / \_\_\_\_], [\_\_\_\_ / \_\_\_\_], ), caption: [Характеристики кластеров столбца $X_4$], ) «Общее среднее» $macron(x)$ плохо описывает смесь двух режимов, поскольку является взвешенным средним двух различных распределений и может не соответствовать ни одному из них. Например, если моды расположены на расстоянии $d$ друг от друга, общее среднее окажется между ними в области низкой плотности.