Статистический отчет при создании моделей
Материал из MachineLearning.
(→Описание решения) |
|||
(38 промежуточных версий не показаны.) | |||
Строка 21: | Строка 21: | ||
<tex>\varepsilon(x)</tex> — случайная величина, | <tex>\varepsilon(x)</tex> — случайная величина, | ||
с нулевым [[Математическое ожидание|математически ожиданием]]. | с нулевым [[Математическое ожидание|математически ожиданием]]. | ||
- | В моделях | + | В моделях предполагается, что неслучайная составляющая имеет вид: |
- | <tex> f(x) = <w, \ x> </tex>. | + | * <tex> f(x) = <w, \ x> </tex> — в [[Многомерная линейная регрессия|многомерной линейной регрессии]]; |
+ | |||
+ | * <tex> f(x) = \sigma(<w, \ x>), \; \sigma(z) = \frac{1}{1 + \exp(-z)} </tex> и <tex>\mathbb{Y} = [0,1]</tex> — в [[Логистическая регрессия|логистической регрессии]]. | ||
Требуется численно оценить качество модели при заданном векторе параметров <tex> w</tex>. | Требуется численно оценить качество модели при заданном векторе параметров <tex> w</tex>. | ||
Строка 32: | Строка 34: | ||
что матрица ковариации вектора ошибки <tex>\varepsilon = \(\varepsilon_1 <br> \ \vdots\ <br> \varepsilon_l\) </tex> имеет вид | что матрица ковариации вектора ошибки <tex>\varepsilon = \(\varepsilon_1 <br> \ \vdots\ <br> \varepsilon_l\) </tex> имеет вид | ||
<tex>\sigma^2 V </tex>, | <tex>\sigma^2 V </tex>, | ||
- | где <tex> V = diag (v_1, \dots, v_l) </tex>, | + | где <tex> V = diag (v_1, \dots, v_l) </tex> |
+ | (<tex>V</tex> может быть задана пользователем, иначе выбирается единичная матрица), | ||
получаем выражение для оценки параметров <tex>w</tex> | получаем выражение для оценки параметров <tex>w</tex> | ||
[[Метод наименьших квадратов| взвешенным методом наименьших квадратов]]: | [[Метод наименьших квадратов| взвешенным методом наименьших квадратов]]: | ||
Строка 47: | Строка 50: | ||
* расстояния Кука (мера изменения прогноза при удалении одного объекта); | * расстояния Кука (мера изменения прогноза при удалении одного объекта); | ||
* [[Доверительный интервал|доверительных интервалов]] для предсказанных значений. | * [[Доверительный интервал|доверительных интервалов]] для предсказанных значений. | ||
+ | |||
+ | Для оценки качества модели линейной регрессии в работе рассматривается | ||
+ | |||
+ | * анализ регрессионных остатков, включающий в себя: | ||
+ | ** вычисление среднеквадратичной ошибки: | ||
+ | <tex>\mathbb{MSE} = \sum_{i=1}^l \left(y_i - f\left(x_i\right)\right)^2;</tex> | ||
+ | ** вычисление коэффициента детерминации: | ||
+ | <tex>\mathbb{R}^2 = 1 - \frac{\sum_{i=1}^l \left(y_i - f\left(x_i\right)\right)^2}{\sum_{i=1}^l \left(y_i - \bar y\right)^2}, </tex> | ||
+ | где <tex>\bar y = \frac{1}{l} \sum_{i=1}^l y_i;</tex> | ||
+ | ** проверку гипотезы о равенстве нулю математического ожидания регрессионных остатков на основе [[Критерий знаков|критерия знаков]]; | ||
+ | ** проверку гипотезы о равенстве дисперсий (пропорциональности с заданными коэффициентами) регрессионных остатков на основе критерия [http://www.mathworks.com/help/toolbox/stats/ansaribradley.html Ансари-Брэдли]; | ||
+ | ** проверку гипотезы о нормальности распределения регрессионных остатков на основе критерия хи-квадрат и критерия [http://en.wikipedia.org/wiki/Jarque%E2%80%93Bera_test Жарка-Бера]; | ||
+ | * вычисление расстояния [http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%9C%D0%B0%D1%85%D0%B0%D0%BB%D0%B0%D0%BD%D0%BE%D0%B1%D0%B8%D1%81%D0%B0 Махаланобиса] и [http://en.wikipedia.org/wiki/Cook's_distance Кука]; | ||
+ | * вычисление корреляций признаков, корреляций признаков и значений моделируемой функции и коэффициента множественной регрессии. | ||
+ | |||
+ | Для оценки качества модели логистической регрессии в работе рассматриваются оценки | ||
+ | |||
+ | * дисперсии шума модели; | ||
+ | * корреляции и ковариации коэффициентов регрессии; | ||
+ | * значимости компонент пространства объектов для восстановления ответов; | ||
== Вычислительный эксперимент == | == Вычислительный эксперимент == | ||
+ | |||
+ | В данном отчете представлены результаты применения созданного инструмента для анализа модели. | ||
+ | Отчет состоит из пяти экспериментов, демонстрирующих работу инструмента на различных по качеству моделях. | ||
+ | Модели 1-3 приведены для линейной регрессии, 4-5 — для логистической. | ||
+ | |||
+ | === Модель №1 === | ||
+ | |||
+ | Неизвестная зависимость: | ||
+ | <tex> y(x) = x - 10 \sin(x) + \exp(x / 100)</tex>. | ||
+ | |||
+ | Для построения модели использовалось <tex>100</tex> объектов независимо равномерно распределительных на отрезке <tex>[0, 100].</tex> | ||
+ | В качестве шума использовались независимые случайные величины из распределения <tex>N(0, \; 0,1).</tex> | ||
+ | В качестве признаков использовались <tex>x, \; \sin(x), \;\exp(x / 100)</tex>. | ||
+ | Параметры модели подбирались с помощью метода наименьших квадратов. | ||
+ | |||
+ | [[image:statModelAnalisys01.png]] | ||
+ | |||
+ | Отчет, построенный программой: | ||
+ | |||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Yanovich2011StatModel/simpleExampleGoodModel.txt отчет №1.] | ||
+ | |||
+ | === Модель №2 === | ||
+ | |||
+ | Неизвестная зависимость: | ||
+ | <tex> y(x) = x - 10 \sin(x) + \exp(x / 100)</tex>. | ||
+ | |||
+ | Для построения модели использовалось <tex>100</tex> объектов независимо равномерно распределительных на отрезке <tex>[0, 100].</tex> | ||
+ | В качестве шума использовались независимые случайные величины из распределения <tex>N(0, \; 0,1).</tex> | ||
+ | В качестве признаков использовались <tex>x, \;\exp(x / 100)</tex>. | ||
+ | Параметры модели подбирались с помощью метода наименьших квадратов. | ||
+ | |||
+ | [[image:statModelAnalisys02.png]] | ||
+ | |||
+ | Отчет, построенный программой: | ||
+ | |||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Yanovich2011StatModel/simpleExampleBadModel.txt отчет №2.] | ||
+ | |||
+ | === Модель №3 === | ||
+ | |||
+ | Неизвестная зависимость: | ||
+ | <tex> y(x) = x - 10 \sin(x) + \exp(x / 100)</tex>. | ||
+ | |||
+ | Для построения модели использовалось <tex>100</tex> объектов независимо равномерно распределительных на отрезке <tex>[0, 100].</tex> | ||
+ | В качестве шума использовались независимые случайные величины из распределения <tex>N(0, \; x).</tex> | ||
+ | В качестве признаков использовались <tex> y(x) = x - 10 \sin(x) + \exp(x / 100)</tex>. | ||
+ | Параметры модели подбирались с помощью метода наименьших квадратов. | ||
+ | |||
+ | === Модель №4 === | ||
+ | |||
+ | Неизвестная зависимость: | ||
+ | <tex> y(x) = I(x > 0), </tex>. | ||
+ | где <tex> I(A) </tex> — индикаторная функция множества <tex> A </tex>. | ||
+ | |||
+ | Для построения модели использовалось <tex>20</tex> объектов из равномерной сетки. | ||
+ | Значение в одной из обучающих точек сильно зашумлено. | ||
+ | В качестве признаков использовались константа, <tex> x </tex>. | ||
+ | |||
+ | [[image:statModelAnalisys04.png]] | ||
+ | |||
+ | Отчет, построенный программой: | ||
+ | |||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Yanovich2011StatModel/logisticGoodModel.txt отчет №4.] | ||
+ | |||
+ | === Модель №5 === | ||
+ | |||
+ | Неизвестная зависимость: | ||
+ | <tex> y(x) = I(x > 0), </tex>. | ||
+ | где <tex> I(A) </tex> — индикаторная функция множества <tex> A </tex>. | ||
+ | |||
+ | Для построения модели использовалось <tex>20</tex> объектов из равномерной сетки. | ||
+ | Значение в одной из обучающих точек сильно зашумлено. | ||
+ | В качестве признаков использовались константа, <tex> x </tex> и шумовой признак (порожден стандартным нормальным распределением). | ||
+ | |||
+ | [[image:statModelAnalisys05.png]] | ||
+ | |||
+ | Отчет, построенный программой: | ||
+ | |||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Yanovich2011StatModel/logisticBadModel.txt отчет №5.] | ||
== Исходный код и полный текст работы == | == Исходный код и полный текст работы == | ||
- | + | ||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Yanovich2011StatModel Функция, строящая отчет, и примеры.] | ||
== Смотри также == | == Смотри также == | ||
* [[Многомерная случайная величина]] | * [[Многомерная случайная величина]] | ||
+ | * [[Анализ регрессионных остатков (пример)]] | ||
== Литература == | == Литература == | ||
- | + | # [http://ya.ru Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.] | |
- | {{ | + | # ''Кобзарь А. И.'' Прикладная математическая статистика. — М.: Физматлит, 2006. |
+ | # ''Лагутин М. Б.'' Наглядная математическая статистика. В двух томах. — М.: П-центр, 2003. | ||
+ | # ''Hosmer W. D. , Lemeshow S.'' Applied logistic regression - New York: John Wiley & Sons, 2000. | ||
+ | |||
+ | {{ЗаданиеВыполнено|Юрий Янович|В.В. Стрижов|28 мая 2009|Aurelius|Strijov}} | ||
[[Категория:Практика и вычислительные эксперименты]] | [[Категория:Практика и вычислительные эксперименты]] | ||
[[Категория:Регрессионный анализ]] | [[Категория:Регрессионный анализ]] |
Текущая версия
|
В данной работе приведен обзор статистических методов оценивания качества регрессионных моделей, используемых популярными программами машинного обучения и статистической обработки данных. Приведены примеры вычисления и анализа полученных оценок.
Постановка задачи
Имеется пространство объектов-строк и пространство ответов . Задана выборка . Обозначеним:
- матрица информации или матрица плана;
- вектор параметров;
- целевой вектор.
Будем считать, что зависимость имеет вид
,
где некоторая неслучайная функция, случайная величина, с нулевым математически ожиданием. В моделях предполагается, что неслучайная составляющая имеет вид:
- и в логистической регрессии.
Требуется численно оценить качество модели при заданном векторе параметров .
Описание решения
Предполагая, что матрица ковариации вектора ошибки имеет вид , где ( может быть задана пользователем, иначе выбирается единичная матрица), получаем выражение для оценки параметров взвешенным методом наименьших квадратов:
Основными инструментами оценки качества линейной модели является анализ:
- регрессионных остатков;
- матрицы частных и получастных корреляций (условные корреляции);
- корреляции и ковариации коэффициентов регрессии;
- статистики Дарбина-Уотсона;
- расстояния Махаланобиса между исходной и модельной зависимостями;
- расстояния Кука (мера изменения прогноза при удалении одного объекта);
- доверительных интервалов для предсказанных значений.
Для оценки качества модели линейной регрессии в работе рассматривается
- анализ регрессионных остатков, включающий в себя:
- вычисление среднеквадратичной ошибки:
- вычисление коэффициента детерминации:
где
- проверку гипотезы о равенстве нулю математического ожидания регрессионных остатков на основе критерия знаков;
- проверку гипотезы о равенстве дисперсий (пропорциональности с заданными коэффициентами) регрессионных остатков на основе критерия Ансари-Брэдли;
- проверку гипотезы о нормальности распределения регрессионных остатков на основе критерия хи-квадрат и критерия Жарка-Бера;
- вычисление расстояния Махаланобиса и Кука;
- вычисление корреляций признаков, корреляций признаков и значений моделируемой функции и коэффициента множественной регрессии.
Для оценки качества модели логистической регрессии в работе рассматриваются оценки
- дисперсии шума модели;
- корреляции и ковариации коэффициентов регрессии;
- значимости компонент пространства объектов для восстановления ответов;
Вычислительный эксперимент
В данном отчете представлены результаты применения созданного инструмента для анализа модели. Отчет состоит из пяти экспериментов, демонстрирующих работу инструмента на различных по качеству моделях. Модели 1-3 приведены для линейной регрессии, 4-5 для логистической.
Модель №1
Неизвестная зависимость: .
Для построения модели использовалось объектов независимо равномерно распределительных на отрезке В качестве шума использовались независимые случайные величины из распределения В качестве признаков использовались . Параметры модели подбирались с помощью метода наименьших квадратов.
Отчет, построенный программой:
Модель №2
Неизвестная зависимость: .
Для построения модели использовалось объектов независимо равномерно распределительных на отрезке В качестве шума использовались независимые случайные величины из распределения В качестве признаков использовались . Параметры модели подбирались с помощью метода наименьших квадратов.
Отчет, построенный программой:
Модель №3
Неизвестная зависимость: .
Для построения модели использовалось объектов независимо равномерно распределительных на отрезке В качестве шума использовались независимые случайные величины из распределения В качестве признаков использовались . Параметры модели подбирались с помощью метода наименьших квадратов.
Модель №4
Неизвестная зависимость: . где индикаторная функция множества .
Для построения модели использовалось объектов из равномерной сетки. Значение в одной из обучающих точек сильно зашумлено. В качестве признаков использовались константа, .
Отчет, построенный программой:
Модель №5
Неизвестная зависимость: . где индикаторная функция множества .
Для построения модели использовалось объектов из равномерной сетки. Значение в одной из обучающих точек сильно зашумлено. В качестве признаков использовались константа, и шумовой признак (порожден стандартным нормальным распределением).
Отчет, построенный программой:
Исходный код и полный текст работы
Функция, строящая отчет, и примеры.
Смотри также
Литература
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.
- Кобзарь А. И. Прикладная математическая статистика. — М.: Физматлит, 2006.
- Лагутин М. Б. Наглядная математическая статистика. В двух томах. — М.: П-центр, 2003.
- Hosmer W. D. , Lemeshow S. Applied logistic regression - New York: John Wiley & Sons, 2000.
Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |