diff --git a/04-big-data-analysis-information-systems-developing-technologies.tex b/04-big-data-analysis-information-systems-developing-technologies.tex index c61ede8..605f67f 100644 --- a/04-big-data-analysis-information-systems-developing-technologies.tex +++ b/04-big-data-analysis-information-systems-developing-technologies.tex @@ -3,7 +3,7 @@ \input{settings/common-preamble} \input{settings/bmstu-preamble} \input{settings/fancy-listings-preamble} -\author{Гребенюк Елена Алексеевна} +\author{Гребенюк Елена Алексеевна (lgrebenuk12@yandex.ru)} \title{Технологии разработки информационных систем для анализа больших объёмов информации} \date{2023-02-08} @@ -558,7 +558,7 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$ По результатам наблюдений признаков требуется найти значения $w$, которые лучше всего объясняли бы $y_i$, т.е отклонение $\sum^l_{i=1}(y_i-a(x_i))^2$ было бы минимальными для всех возможных значений $(x_i, y_i), i=1, 2, ..., l$. -\subsection{Теорема Гаусса -Маркова} +\subsection{Теорема Гаусса-Маркова} При выполнении предположений 1-3 для модели \[y_i=\sum^r_{j=1}(w_jx_{ij}+w_0)+\xi_i,\] оценки $w_j$ полученные методом наименьших квадратов, имеют наименьшую дисперсию в классе всех линейных несмещенных оценок. Формула МНК: $W=(X^TX)^{-1}X^TY$. Сложность обращения матрицы $r^3$. Если столбцы линейно зависимы, то определитель матрицы $X$ равен 0. @@ -637,15 +637,17 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$ \item Исправленный коэффициент детерминации растет при включении переменной \item Другие коэффициенты испытывают значительное смещение при включении новой переменной \end{enumerate} - \subsection {Пример решения задачи регрессии с ис} +% \subsection {Пример решения задачи регрессии с ис} \section{Линейная регрессия} - $g(X_i,w)=\sum^r_{j=1}(w_jx_{ij}+w_0)\rightarrow Y_i$ , модель прогнозирования, $X_i-r$–мерный вектор - Функция потерь алгоритма: $L(a,y)=(g(X_i,w)-Y_i)^2$ - Методы обучения: наименьших квадратов; градиентного спуска: - $$L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\rightarrow min \underset{w}{min}$$ - Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2$ -% lgrebenuk12@yandex.ru +$g(X_i,w)=\sum^r_{j=1}(w_jx_{ij}+w_0)\rightarrow Y_i$ , модель прогнозирования, $X_i-r$–мерный вектор. Функция потерь алгоритма: $L(a,y)=(g(X_i,w)-Y_i)^2$. Методы обучения: +\begin{itemize} +\item наименьших квадратов; +\item градиентного спуска: + \[L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\to \underset{w}{\min}\] +\end{itemize} +Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,\omega)-Y_i)^2$ + \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}\\ @@ -653,7 +655,7 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$ MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r \end{gathered} \end{equation*} -числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца). +числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель -- где ошибка классификатора минимальна. В модель нежелательно включать лишние регрессоры (штрафы по критериям Aкаике и Iварца). Критерии для включения переменной \begin{enumerate} @@ -675,21 +677,160 @@ $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$ \subsubsection {Нелинейная регрессия. Базисные функции.} \[g(X,w)\sum^p_{j=1}w_j\varphi_j(X)+w_0=\sum^p_{j=0}w_j\varphi_j(X),\varphi_0(X)=1'\] Число базисных функций может отличаться от числа признаков $j$. - + +\section{Метод опорных векторов} + +\includegraphics[width=0.5\textwidth]{pics/04-bdaisdt-ROC-11.png} + +\begin{itemize} +\item Решает задачу бинарной классификации $Y=\left\{1,-1\right\}$ +\item Классификатор линейный -- $\langle X_i, w \rangle $, +\item Функция потерь $L(\mathcal{L},a(x))=\sum^N_{i=1}(0,1-Y_i\langle X_i,w\rangle)\rightarrow \underset{w}{\min}$ +\item Алгоритм максимизирует отступ классификатора (расстояние до ближайшего объекта), при условии минимизации числа ошибок. +\end{itemize} + \subsection{Линейно разделимый случай} Мы можем найти такие параметры, при которых классификатор не допускает ни одной ошибки -Отступ классификатора +Пусть существуют такие параметры $w^*$ и $b^*$, что классификатор $a(X_i,w)=sign(\langle w^*, X_i\rangle+b^*)$ не допускает ни одной ошибки на обучающей выборке, т.е. выборка является линейно разделимой. Тогда строим алгоритм такой, что +\begin{enumerate} +\item $Y_i(\langle X_i, w\rangle+w_0)>0, i=1,2,...,N;$ +\item Отступ классификатора -- расстояние от границы до ближайшего объекта максимальное. +\end{enumerate} -... +\includegraphics[width=0.25\textwidth]{pics/04-bdaisdt-ROC-12.png} -Вычисление ширины разделяющей полосы классификатора +Величина отступа или функция потерь алгоритма на обучающей выборке : -... +\[D(x,a)=\frac{1}{l}\sum^l_{i=1}[sign(w, x_i)*y_i<0]\] -Метод опорных векторов +где $sign(w, x_i)*y_i$ называется отступом. Положительный знак отступа соответствует правильному ответу, отрицательный -- неправильному, величина отступа -- среднее расстояние от разделяющей гиперплоскости до объектов. Метод обучения -- минимизация эмпирического риска. Функционал -\section{Домашнее задание} +\[D(x,a)=\frac{1}{l}\sum^l_{i=1}[sign(w, x_i)*y_i<0]\to \underset{w}{min}\] + +не допускает использование градиентных методов поиска экстремума. + +\subsection{Отступ классификатора} + +Пусть $(sign\langle \hat{w},X_i \rangle+\hat{b})$ -- построенный линейный классификатор. Тогда расстояние от любой точки $X_i\in{X_t,Y_t},t=1,2,...,N$ обучающей выборки до гиперплоскости, определяемой уравнением,$\hat{w}X+\hat{b}=0$ равно: + +\[ \rho_0(x,a)=\frac{|\hat{w}X_i+\hat{b}|}{||\hat{w}||}\] + +оно совпадает с отступом объекта $X_i$, следовательно, отступ классификатора равен + +\[\underbrace{\min}_{i=1,2,...,N}\frac{|\hat{w}X_i+\hat{b}|}{||\hat{w}||}\] + +\textbf{Вычисление ширины разделяющей полосы классификатора} + +Ищем $\alpha$ такое, что для $w^*=\alpha\hat{w}$ и $b^*=\alpha\hat{b}$ + +\[\underbrace{\min}_{i=1,2,...,N}|w^*X_i+b^*|=1\] + +Тогда расстояние от гиперплоскости до ближайшего объекта обучающей выборки равно $\underbrace{\min}_{i=1,2,...,N}\frac{w^*X_i+b^*}{||w*||}=\frac{1}{||w^*||}$, т.е. ширина разделяющей полосы (отступ классификатора) равна $\frac{2}{||w^*||}$ + +Строим классификатор, без ошибок разделяющий обучающую выборку и имеющий максимальный отступ. +\[ \begin{cases} +\begin{gathered} +y_i(\langle w^*,X_i\rangle + b^*)\geq 1, i = 1, 2, ..., l\\ +||w^*||^2/2 \to \underbrace{\min}_{b^*,w^*} +\end{gathered} +\end{cases}\] + +Первое условие означает отсутствие ошибок классификации для линейно разделимой выборки. + +\textbf{Неразделимый случай.} Если в выборке есть $X_i$, такие что при любых $w^*$ и $b^*$, не существует решения задачи, то для них рассматриваются ограничения +\[y_i(\langle w^*,X_i\rangle+b^*)\geq 1-\xi_i\] +где $\xi_i>0$ -- штраф за нарушение ограничений. Если отступ объекта лежит между 0 и 1, то объект верно классифицируется, но штрафуется за попадание внутрь разделяющей полосы. + +\subsection{Метод опорных векторов для линейно неразделимой выборки} +Найти такие $w,b,\xi_i$, для которых задача +\[ \begin{cases} +\begin{gathered} +||\hat{w}||^2/2+C\sum^l_{i=1}\xi_i\to \underbrace{min}_{b,w,\xi}\\ +y_i(\langle \hat{w},X_i\rangle + \hat{b})\geq 1-\xi_i, i = 1, 2, ..., l\\ +\xi_i \geq 0, i = 1, 2, ..., l\\ +\end{gathered} +\end{cases}\] +Имеет допустимое решение, где $С>0$ -- гипер-параметр + +\textbf{Замена задачи условной оптимизации задачей безусловной оптимизации} +Задача условной оптимизации + +\[ \begin{cases} +\begin{gathered} +||\hat{w}||^2/2+C\sum^l_{i=1}\xi_i\to \underbrace{min}_{b,w,\xi}\\ +y_i(\langle \hat{w},X_i\rangle + \hat{b})\geq 1-\xi_i, i = 1, 2, ..., l\\ +\xi_i \geq 0, i = 1, 2, ..., l\\ +\end{gathered} +\end{cases}\] + +Перепишем второе и третье условия в виде: +\[ \begin{cases} +\begin{gathered} + \xi_i\gg 1 - y_i(\langle \hat{w},X_i\rangle + \hat{b})\\ +\xi_i \geq 0 +\end{gathered} + \to \xi_i \geq max(0,1-y_i(\langle \hat{w},X_i\rangle + \hat{b})) +\end{cases}\] + +Отступ $М$ по определению равен $M=y_i(\langle \hat{w},X_i \rangle+\hat{b})$, тогда $\max(0,1-(\langle \hat{w},X_i \rangle+\hat{b}))=\max(0,1-M)$. И задача безусловной оптимизации имеет вид + +\[||\hat{w}||^2/2+С\sum^l_{i=1}max(0,1-M)\rightarrow \underbrace{\min}_{\hat{w},M}\] + +\subsection{Сравнение логистической регрессии и SVM} +Логистическая регрессия требует, чтобы отступ уходил в $+\infty$ на каждом объекте -- важно для формирования корректных вероятностей, SVM достаточно отступа равного 1. + +\includegraphics[width=0.5\textwidth]{pics/04-bdaisdt-ROC-13.png} + +\subsection{Логистическая регрессия -- задание параметров} + +\begin{verbatim} +LogisticRegression (penalty='l2', *, dual=False, tol=0.0001, C=1.0, +fit_intercept=True, intercept_scaling=1, class_weight=None, +random_state=None, solver='lbfgs', max_iter=100, multi_class='auto', +verbose=0, warm_start=False, n_jobs=None, l1_ratio=None) [source] +\end{verbatim} + +Регуляризация применяется по умолчанию, Solver -- \code{liblinear, bfgs, newton-cg, sag} -- алгоритмы минимизации эмпирического риска. + +\begin{enumerate} +\item Алгоритм Бройдена-Флетчера-Голдфарба-Шанно -- \code{bfgs} +\item Алгоритм сопряженных градиентов (Ньютона) -- \code{newton-cg} +\item Стохастический алгоритм усредненного градиента -- \code{sag} +\end{enumerate} + +Решатели «newton-cg», «sag» и «lbfgs» поддерживают только регуляризацию L2. По умолчанию классификатор содержит константу. \code{Liblinear} для небольших размерностей данных, \code{sag} -- для больших. С -- гиперпараметр, не может определяться по обучающей выборке. + +\code{class_weight}: \code{dict} or \code{‘balanced’} (default=\code{None}) -- веса классов по умолчанию -1, \code{’balanced’} -- веса устанавливаются обратно пропорционально частотам класса во входных данных. + +\code{max_iter}: int(default=100) -- используется только для \code{newton-cg}, \code{sag} и \code{lbfgs}. + +\subsection{svm.LinearSVC} + +\begin{verbatim} +svm.LinearSVC (penalty='l2', loss='squared_hinge',*, dual=True, +tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, +intercept_scaling=1, class_weight=None, verbose=0, +random_state=None, max_iter=1000) +\end{verbatim} + +использование \code{penalty=‘l1'}, и функции потерь \code{loss='squared_hinge’} не поддерживается, $С >0$ -- гиперпараметр. + +\begin{verbatim} +svm.SVC (*, C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, +shrinking=True, probability=False, tol=0.001, cache_size=200, +class_weight=None, verbose=False, max_iter=- 1, +decision_function_shape='ovr', break_ties=False, random_state=None) +\end{verbatim} + +\subsection{Оценка качества решения задачи. Режимы тестирования} +\begin{itemize} +\item \textbf{Отложенная выборка:} выделение обучающей, валидационной, и тестовой выборок, оценка качества работы алгоритма на обеих выборках. +\item \textbf{Полная кросс-валидация}. Выбирается значение $t$, затем выборка разбивается всеми возможными способами на две части: $T^l=T^t\cup T_{l-t}$, вычисляется средняя оценка качества по всем разбиениям. +\item \textbf{K-fold кросс-валидация}. Обучающая выборка разбивается на $k$ непересекающихся одинаковых по объему частей. Выполняется $k$ итераций. На каждой итерации из выборки удаляется одна из частей и модель обучается по оставшимся частям выборки. Модель тестируется на части обучающей выборки, которая не участвовала в обучении. Вычисляется средняя оценка качества по всем разбиениям +\end{itemize} + +% \section{Домашнее задание} \section{Задания на РК} В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей. \begin{table}[H] diff --git a/04-time-series-analysis-forecasting.tex b/04-time-series-analysis-forecasting.tex index 29453aa..3c86444 100644 --- a/04-time-series-analysis-forecasting.tex +++ b/04-time-series-analysis-forecasting.tex @@ -17,7 +17,7 @@ \href{https://jino.cloud/s/GGZgntaAqMRQbK2}{Вентцель -- Теория вероятностей} -\href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Ьеория вероятностей и математическая статистика} +\href{https://jino.cloud/s/8qNSXycHpkmmmZb}{Гмурман -- Теория вероятностей и математическая статистика} \subsection{Содержание курса} \begin{enumerate} @@ -491,7 +491,7 @@ $ARIMA(p, d, q);$ Если ряд -- стационарный, то строим Условие стационарности $|\alpha_1| < 1$. пишем характеристическое уравнение \begin{equation*} \begin{gathered} -(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t, \xi_t\simN(0, \sigma^2)\\ +(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t, \xi_t\sim N(0, \sigma^2)\\ 1-\alpha_1K=0\\ k=\frac{1}{\alpha_1}\\ |k| = |\frac{1}{\alpha_1}| > 1, \alpha_1 < 1. diff --git a/04-tsaf-01-hw.tex b/04-tsaf-01-hw.tex new file mode 100644 index 0000000..7219444 --- /dev/null +++ b/04-tsaf-01-hw.tex @@ -0,0 +1,69 @@ +\documentclass[a4paper,fontsize=14bp]{article} + +\input{settings/common-preamble} +\input{settings/fancy-listings-preamble} +\input{settings/bmstu-preamble} +\numerationTop + +\begin{document} +\thispagestyle{empty} +\makeBMSTUHeader + +\makeReportTitle{домашней}{№ 1}{Введение}{Анализ и прогнозирование временн\'{ы}х рядов}{а}{Е.А.Гребенюк} +\newpage +\sloppy +\pagestyle{fancy} +\section{Задание} +Рассмотрим процесс +\[y_t = \xi_t - 2.5\xi_{t-1}+\xi_{t-2}, \xi_t \sim N(0,1)\] +\begin{enumerate} +\item Является ли процесс $y_t$ обратимым и стационарным? +\item Найти автоковариационную функцию процесса $y_t$. +\item Вычислить дисперсию процесса $y_t$. +\item Рассматривается процесс ARMA(1, 1): + + $1-\alpha L y_t = (1-0.5L)\xi_t$, где $\alpha$ -- некоторое действительное число и $\xi_t = N(0,\sigma_\xi^2)$. Найти + \begin{itemize} + \item все $\alpha \in \mathbb{R}$ для которых процесс является стационарным; + \item все $\alpha \in \mathbb{R}$ для которых процесс является обратимым + \end{itemize} +\end{enumerate} + +\section{Выполнение} +\subsection{Обратимость и стационарность} +Для процесса возможно построить характеристическое уравнение. Если корни характеристического уравнения авторегрессии по модулю больше 1, то процесс стационарен. Опишем в с помощью оператора сдвига +\[y_t = 1-2.5L+1L^2\] +и решим квадратное уравнение +\begin{equation*} + \begin{gathered} +1-2.5z+z^2=0\\ +z = \frac{-b\pm\sqrt{b^2-4ac}}{2a}\\ +z_1 = \frac{-2.5-\sqrt{-2.5^2-4}}{2}\\ +z_1 = 1.25 + \sqrt{1.5625-1} \approx 2\\ +z_2 = \frac{-2.5+\sqrt{-2.5^2-4}}{2}\\ +z_2 = 1.25 - \sqrt{1.5625-1} \approx 0.5 + \end{gathered} +\end{equation*} +Только один корень уравнения по модулю больше, поэтому процесс \textbf{не является стационарным}. + +Процесс является обратимым если корни характеристического уравнения скользящего среднего процесса больше 1. +\[1-1.5\lambda = 0\] +Корень характеристического уравнения $\lambda = \frac{1}{1.5} = 0.6(6)$ -- процесс \textbf{не обратим}. + +\subsection{Автоковариационная функция} + +\subsection{Дисперсия процесса} +\begin{equation*} + \begin{gathered} +M[x] = \sum x_i p_i\\ +M[x] = 0*1+1*(-2.5)+2*1 = -0.5\\ +D[Y] = \sum x^2_i p_i - \left(\sum x_i p_i \right)^2\\ +D = 0^2*1+1^2+-2.5+2^2*1-(0*1+1*(-2.5)+2*1)^2=1.25 + \end{gathered} +\end{equation*} + + +\subsection{Процесс ARMA(1, 1)} + + +\end{document} diff --git a/pics/04-bdaisdt-ROC-11.png b/pics/04-bdaisdt-ROC-11.png new file mode 100644 index 0000000..6bca099 Binary files /dev/null and b/pics/04-bdaisdt-ROC-11.png differ diff --git a/pics/04-bdaisdt-ROC-12.png b/pics/04-bdaisdt-ROC-12.png new file mode 100644 index 0000000..9ecc6e2 Binary files /dev/null and b/pics/04-bdaisdt-ROC-12.png differ diff --git a/pics/04-bdaisdt-ROC-13.png b/pics/04-bdaisdt-ROC-13.png new file mode 100644 index 0000000..3b24586 Binary files /dev/null and b/pics/04-bdaisdt-ROC-13.png differ diff --git a/pics/04-bdaisdt-ROC-14.png b/pics/04-bdaisdt-ROC-14.png new file mode 100644 index 0000000..f2e6321 Binary files /dev/null and b/pics/04-bdaisdt-ROC-14.png differ diff --git a/pics/04-bdaisdt-ROC-15.png b/pics/04-bdaisdt-ROC-15.png new file mode 100644 index 0000000..3deab3f Binary files /dev/null and b/pics/04-bdaisdt-ROC-15.png differ diff --git a/pics/04-bdaisdt-ROC-16.png b/pics/04-bdaisdt-ROC-16.png new file mode 100644 index 0000000..2790681 Binary files /dev/null and b/pics/04-bdaisdt-ROC-16.png differ