From c55842b43a19f0d56c34205f5e94a795b4da5694 Mon Sep 17 00:00:00 2001 From: "Ivan I. Ovchinnikov" Date: Mon, 27 Feb 2023 17:37:31 +0300 Subject: [PATCH] last feb wed --- ...mation-systems-developing-technologies.tex | 42 +++++ 04-time-series-analysis-forecasting.tex | 146 +++++++++++++++++- ...bject-parameter-recognition-algorithms.tex | 23 +++ 3 files changed, 205 insertions(+), 6 deletions(-) diff --git a/04-big-data-analysis-information-systems-developing-technologies.tex b/04-big-data-analysis-information-systems-developing-technologies.tex index 40485f4..a213443 100644 --- a/04-big-data-analysis-information-systems-developing-technologies.tex +++ b/04-big-data-analysis-information-systems-developing-technologies.tex @@ -316,4 +316,46 @@ $a(x_i)$ -- алгоритм обучения. Если применить ал если линейно-зависимые столбцы мы не можем регрессировать. разность между модельным У и реальным У называется разностью. можно построить график разностей. если они примерно однородны - это линейные остатки. если остатки не переходят в другие области такого графика -- это называется гомоскедастичность. +\section{Линейная регрессия} +% lgrebenuk12@yandex.ru +\begin{equation*} + \begin{gathered} + R^2 = 1-\frac{\sum_{i=1}^l(a(x_i)-y_i)}{\sum_{i=1}^l(y_i-\overline{y})^2}\\ + \overline{y} = \frac{1}{n}\sum y_i\\ + MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r + \end{gathered} +\end{equation*} +числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца). + +Критерии для включения переменной +\begin{enumerate} +\item Роль переменной в уравнении опирается на прочные теоретические основания +\item высокие значения t-статистики $t_{stat} = \frac{\omega-\overline{\omega}}{\sigma_\omega\sqrt{l}}$ +\item исправленный коэффициент детерминации растёт при включении лишней переменной +\item другие коэффициенты испытывают значительное смещение при включении лишней новой переменной +\end{enumerate} + +\begin{equation*} + \begin{gathered} + y = \omega x + \omega_0 = \tilde{\omega{x}} \to \frac{1}{1-e^{-\omega x}} = \sigma\\ + x = (x_1, ..., x_K 1) + \end{gathered} +\end{equation*} + +регрессия выдаёт вероятности. Алгоритм максимизирует отступ классификатора (расстояние до ближайшего объекта). + +\subsection{Линейно разделимый случай} +Мы можем найти такие параметры, при которых классификатор не допускает ни одной ошибки + +Отступ классификатора + +... + +Вычисление ширины разделяющей полосы классификатора + +... + +Метод опорных векторов + +\section{Домашнее задание} \end{document} \ No newline at end of file diff --git a/04-time-series-analysis-forecasting.tex b/04-time-series-analysis-forecasting.tex index 8aae797..61dd228 100644 --- a/04-time-series-analysis-forecasting.tex +++ b/04-time-series-analysis-forecasting.tex @@ -290,15 +290,149 @@ $\sigma$ -алгебра F - набор подмножеств (подмноже \[ \rho_\tau = \rho(\tau) = \frac{\gamma(\tau)}{\gamma(0)} \] \subsection{Модель авторегрессии} -\[ y_t = \alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_Py_{t-p}+\xi_t AR{K}\] - -\[ y_t = \xi_t +\beta_1\xi_{t-1}+ ...+\beta_q\xi_{t-q}; MA(q)\] - -\[ y_t = \alpha_1y_{t-1}+...+\alpha_ky_{t-k} = \beta_1\xi_{t-1}; ARMA(p,q)\] +\begin{equation} + \begin{gathered} + y_t = \alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_Py_{t-p}+\xi_t AR\{K\}\\ + y_t = \xi_t +\beta_1\xi_{t-1}+ ...+\beta_q\xi_{t-q}; MA(q)\\ + y_t = \alpha_1y_{t-1}+...+\alpha_ky_{t-k} = \beta_1\xi_{t-1}; ARMA(p,q) + \end{gathered} + \label{eq:arima-models} +\end{equation} $ARIMA(p, d, q);$ Если ряд -- стационарный, то строим модель по $d=0$ если нет то строим модель по разности. -Основной инструмент для выбора границ порядков -- автокорреляционная и частная автокорреляционная функция временного ряда. Tckb d fdnjhtuhtccbb ldf pyfxbvs[ xktyf nj d vjltkb crjkmpzotuj chtlytuj yt vj;tn m,snm ,jkmit lde[ xktyjd/ +Основной инструмент для выбора границ порядков -- автокорреляционная и частная автокорреляционная функция временного ряда. Если в авторегрессии для значения члена то в модели скользящего среднего не может быть больше двух членов. +\newpage + +\section{АКФ процесса} +процесс + +\begin{equation*} + \begin{gathered} + y_t = 0,6y_{t-1} + 0,2y_{t-2 + \xi_t}, \xi\approx(0,1)\\ + cov(y_t, y_{t-1}) = cov(0,6y_{t-1}, y_{t-1}) = cov(0,2y_{t-2}, y_{t-2}) + cov(\xi_{t}, y_{t-1})\\ + \gamma(1) = 0,6\gamma(0) + 0,2\gamma(1)\\ + \gamma(0) = 0,6\gamma(1) + 0,2\gamma(2) + 1; cov(\xi_t, y_t) = cov(\xi_t, \xi_t-1)\\ + \gamma(2) = 0,6\gamma(1) + 0,2\gamma(0)\\ + \gamma(3) = 0,6\gamma(2) + 0,2 \gamma(1)\\ + \gamma(K) = 0,6\gamma(k-1) + 0,2\gamma(k-2)\\ + \gamma(1) = cov(y_t, y_{t-1}) = cov(y_{t-k}, y_{t-k-1}) + \end{gathered} +\end{equation*} + +\begin{equation*} + \begin{gathered} + y_t = 0,7 + 0,5y_{t-1} + \xi_t \sim N(0,1)\\ + var y = 0,5 \\ + var(y_t) = var(0,7 + 0,5 y_{t-1} + \xi_t) = var(0,5y_{t-1} + \xi_t)\\ + 1 = 0,5\lambda\\ + 1-0,5\lambda = 0\\ + \lambda = 2>1 (\text{стационарный})\\ + var(y_t) = var(0,5y_{t-1}) + var(\xi_t)\\ + var(y_t) = 0,25 var(y_t) + var(\xi_t)\\ + 0,5 = 0,25 * 0,5 = var(\xi_t)\\ + var(\xi_t) = 0,5 - 0,125\\ + var(\xi_t) = 0,375. + \end{gathered} +\end{equation*} + +\begin{equation*} + \begin{gathered} + y_t = 0,5 + 0,4\xi_{t-1} - 0,05\xi_{t-2} + \xi_t, \xi_t\sim N(0, \sigma^2)\\ + var(y_t) = var(0,4\xi_{t-1} - 0,05\xi_{t-1}+\xi_t)\\ %раскрываем скобки + var(y_t) = var(0,4\xi_{t-1}) + var(-0,05\xi_{t-1}) + var(\xi_t)\\ % выносим константы в квадрате + var(y_t) = (0,16 + 0,0025 + 1)var(\xi_t) = 1,1625\sigma^2\\ %далее ищем ковариацию + cov(y_t, y_{t-1}) = E[(y_t - E y_t)(y_{t-1}- E y_{t-1})]\\ + E[0,5 + 0,4\xi_{t-1}...] \\ % E от \xi всегда == 0 + E((0,4\xi_{t-1} - 0,05 \xi_{t-1} + \xi_t)(0,4\xi_{t-2} - 0,05 \xi_{t-1} + \xi_t)) =\\ + =(0,4\sigma^2 - 0,02\sigma^2) = 0,38\sigma^2 = \gamma(1)\\ + E((0,4\xi_{t-1} - 0,05\xi_{t-2} + \xi_t)(0,4\xi_{t-3} - 0,05 \xi_{t-4} + \xi_{t-2})) = \\ + = -0,05 \sigma^2 + \end{gathered} +\end{equation*} + +\begin{equation*} + \begin{gathered} + y_t = 2\xi_{t-3} - \xi_{t-2} + 3\xi_{t-1} + \xi_t; \xi_t \sim N(0, \sigma^2)\\ + var(y_t) = var(2\xi_{t-3}) + var(-\xi_{t-2}) + var(3\xi_{t-1}) + var(\xi_t)\\ + var(y_t) = (4+1+9)\sigma^2 = 15\sigma^2\\ + cov(y_t, y_{t-1}) = E[(y_t - E y_t)(y_{t-1}- E y_{t-1})]\\ + E(y_t) = 0;\\ + cov(y_t, y_{t-1}) = E[(2\xi_{t-3}- \xi_{t-2} + 3\xi_{t-1} + \xi_t)(2\xi_{t-4}- \xi_{t-3} + 3\xi_{t-2} + \xi_{t-1})]=\\ + = E[(-2\xi_{t-3}^2 - 3\xi_{t-2}^2 + 3\xi_{t-1}^2)] = \\ + = -2\sigma^2\\ + \gamma(1) = -2\sigma^2\\ + \gamma(2) = 5\sigma^2\\ + \gamma(3) = 2\sigma^2\\ + \gamma(4) = 0 + \end{gathered} +\end{equation*} + + + +\appendix +\setcounter{secnumdepth}{0} +\section*{Приложения} +\addcontentsline{toc}{section}{Приложения} +\renewcommand{\thesubsection}{\Asbuk{subsection}} + +\subsection{Лабораторная работа 1} +Проверка гипотез + +Есть процесс, есть модель. Надо проверить, соответствует ли какое-то следующее значение модели. + +\begin{equation*} + \begin{gathered} + H_0: \alpha \neq 0;\\ + H_1: \alpha = 0;\\ + y_t = \alpha; y_{t+1} + \xi + \end{gathered} +\end{equation*} + +Нам машина посчитала альфу, но на реальной выборке не получится посчитать 0. значение отклонения делим на дисперсию и получаем p-value, если оно $\geq 0,05$ нулевая гипотеза неверна. то есть это уровень доверия. Если выборка маленькая - можно взять больший коэффициент. + +Стационарный процесс. Чтобы его проверить нужно построить автокорреляционную функцию +\begin{equation*} + \begin{gathered} +\rho(K) = \frac{Cov(y_t, t_{t-K})}{\sqrt{Var(y) + Var(y+k)}}\\ +\frac{cov(y_t, t_{t-K})}{Var(y)}, cov(y_t, t_{t-K}) = \gamma(k) + \end{gathered} +\end{equation*} + +Например, функция получится + +(1) + +видно, что первые три значения (лаги) отличаются (нулевой равен единице, это белый шум, там н е может быть корелляций), а все последующие незначительно отличаются от нуля. Получим одну из моделей \hrf{eq:arima-models} котороые возможно считать по АРИМА с нужными параметрами. По автокорреляции мы видим, какие варианты моделей возможны. для каждой модели строим распечатки и делаем диагностику. + +Проверка стационарности процесса. Размер выборки должен быть треть от числа лагов. корреляционная и автокорреляционная функция участвуют в выборе правильной модели. по АКФ мы видим, что может быть самое больше -- два лага. + +\[MSE = \tilde{\sigma}^2 = \frac{1}{K}\sum_{i=3}^n(y_i-y_i^M)^2\] + +Вычислили на обучающей выборке, затем вычисляем на контрольной выборке. По автокорреляции мы считаем не порядок авторегрессии, а порядок скользящего среднего. А для того чтобы примерно прикинуть порядок p -- нужно вычислить частный коэффициент автокорреляции. +\[ 0\leq q \leq 2, 0\leq p\leq 1\] + +\[y_t = \alpha_0 y_{t-1} + ... + \alpha_{K-1} y_{t-k+1} \] + +влияние игреков уменьшается чем дальше мы отходим от $\alpha_0$. частный коэффициент показывает влияние предыдущих значений на последующие. + +Криетрий Акаике + +\begin{equation*} + \begin{gathered} + AIC = \tilde{\sigma}^2 + \frac{r}{N};\\ + SIC = \tilde{\sigma}^2 + \frac{r\ln r}{N}; + \end{gathered} +\end{equation*} + +r = число параметров модели, N - объём выборки. добавляет штраф за переобучение. Шваарц более сильно штрфует, Хеннана-куина штрафует ещё сильнее. Нужно выбрать лучшую модель по критерию Акаике. + +Люнг-Бокс говорит о том, насколько мы ошибёмся, если отвергнем нулевую гипотезу (остатки не коррелированы). Если остатки коррелированы - модель плохая, мы не смоделировали зависимость. Критерий гетероскедастичности -- если остатки неоднородны лучше не брать такую модель. + +Вероятность ошибиться отвергнув нулевую гипотезу должна быть меньше 0,05. + +SARIMA(p,d,q)(P,D,Q,S) -- учёт сезонности. \end{document} + \ No newline at end of file diff --git a/04-videostream-object-parameter-recognition-algorithms.tex b/04-videostream-object-parameter-recognition-algorithms.tex index e5553db..0307004 100644 --- a/04-videostream-object-parameter-recognition-algorithms.tex +++ b/04-videostream-object-parameter-recognition-algorithms.tex @@ -224,5 +224,28 @@ $A$ -- не чёткое изображение, на рисунке -- гран \[ H = \begin{pmatrix} h_{11}&h_{12}&h_{13}\\h_{21}&h_{22}&h_{23}\\h_{31}&h_{32}&h_{33} \end{pmatrix} \] Основная задача -- поиск точек, подверженных гомографии. Такой поиск называется схема RANSAC. + +\section{Стереозрение} +эпиполярная геометрия + +берём две камеры, смотрим их углы обзора. +(1) +d -- стереобаза + +\[ r = \frac{f(x_1-x_2)}{d} \] + +Преимущество в лёгкости, недостаток в сложности настройки подобной системы (две абсолютно идентичные камеры будут всё равно иметь свои искажения, углы зрения и так далее). Частоты камер могут не совпадать. Оси камер должны быть параллельны друг другу (соосны). + +(2) + +В результате получаем стереопару. Библиотека \code{calib3d}. Получив стереопару возможно строить карту глубин изображения (depth map). \code{cvStereoBMState} block matching. ищем пиксель с одной камеры в полосе другой камеры. Есть другой вид функций -- \code{...GC...} -- graph cut, вычислительно более сложны, остаются только ветки с наименьшими ошибками сопоставления. \footnote{Bradski - Learning OpenCV, Multiple View Geometry in Computer Vision - Hartley, Zisserman} + +\subsection{Ректификация} +(3) + +Для определения объекта далее берутся характерные точки и признаки на одном изображении и ищутся на другом изображении. + +\section{Анализ размытия изображения} + \end{document}