2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 доверительный эллипсоид
Сообщение04.05.2019, 08:25 


27/10/09
602
Дамы и Господа!

Возник вопрос: как найти маргинальные границы доверительного эллипсоида?

Есть случайная величина $X$, подчиняющаяся $m$-мерному нормальному распределению с центром 0 и ковариационной матрицей $\Sigma$. Тогда, если случайный вектор $x$ взят из этой случайной величины, то случайная величина $y=x.\Sigma^{-1}.x$ подчиняется распределению хи-квадрат с $m$ степенями свободы. Из этого можем найти доверительный эллипсоид для доверительной вероятности $\alpha$, точнее определить, принадлежит ли некоторый вектор этому эллипсоиду.

Вопрос: в каких пределах изменяются координаты всех векторов, лежащих в пределах доверительного эллипсоида?

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 12:51 


11/07/16
825
Решение для двухмерного случая приведено в Ивченко Г.И. и др. Сборник задач по математической статистике: Учеб. пособие для втузов/Г.И. Ивченко, Ю.И. Медведев, А.В. Чистяков-М.:Высш. шк., 1989.-255 с.: ил., задача 2.132. Многомерный случай аналогичен.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 13:23 


27/10/09
602
По-моему это не совсем то, там нужно построить доверительную область (доверительный эллипсоид) для двумерной величины. Мне же нужно построить прямоугольный $m$-мерный параллелограмм с ребрами, параллельными осям координат, в который этот доверительный эллипсоид вписан.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 13:42 


11/07/16
825
Спроектируйте эллипс на оси координат. Вот как это механизировано в Математике:
Код:
Exists[x, x^2 + y^2 + x*y == 1];
Resolve[%, Reals]

$-\frac{2}{\sqrt{3}}\leq y\leq \frac{2}{\sqrt{3}}$
Код:
Exists[x, x^2 + y^2 + x*y == 1.1];
Resolve[%, Reals]
-1.46667 + 1. y^2 <= 0
Reduce[%, {y}]

$-1.21106\leq y\leq 1.21106$
В трех измерениях
Код:
Exists[{x, y}, x^2 + y^2 + x*y + 1/4*z^2 - 1/11 z == 1.1];
Resolve[%, Reals]
-4.4 - 0.363636 z + 1. z^2 <= 0
Reduce[%, {z}, Reals]

$-1.92366\leq z\leq 2.2873$
Другой подход
Код:
NMaximize[{z, x^2 + y^2 + x*y + 1/4*z^2 - 1/11 z == 1.1}, {x, y, z}]
{2.2873, {x -> -2.00224*10^-20, y -> 4.38489*10^-19, z -> 2.2873}}


Код:
NMinimize[{z, x^2 + y^2 + x*y + 1/4*z^2 - 1/11 z == 1.1}, {x, y, z}]
{-1.92366, {x -> -4.28827*10^-9, y -> -1.44005*10^-8, z -> -1.92366}}

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 15:56 


27/10/09
602
На примере все хорошо, а вот в реальной задаче не получается, почему-то
Код:
m = 3;
a = 0.95;
i = 1;

me = ConstantArray[0, m]; (*вектор средних для расширения задачи*)
cov = Covariance[RandomInteger[{-10, 10}, {m + 1, m}]]; (*ковариационная матрица на всякий случай из рациональных чисел*)
X = Array[x, m] (*вектор переменных*)

ex = Delete[X, i] (*удаляем i-ый элемент из вектора переменных для функции Exists*)
res1 = Exists[ex, (X - me).Inverse[cov].(X - me) == Quantile[ChiSquareDistribution[m], a]];
res2 = Resolve[res1, Reals]
Reduce[res2, {x[i]}]

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 16:43 


11/07/16
825
AndreyL
Первая ошибка заключается в том, что матрица cov в большинстве случаев не является неотрицательно определенной, как должно быть (см Многомерное нормальное распределение). Вот пример при выполнении Вашего кода
Код:
m = 3;a = 0.95;i = 1;
cov = Covariance[RandomInteger[{-10, 10}, {m + 1, m}]] // MatrixForm

$\left(
\begin{array}{ccc}
 \frac{74}{3} & \frac{8}{3} & -\frac{1}{3} \\
 \frac{8}{3} & \frac{41}{3} & \frac{31}{3} \\
 -\frac{1}{3} & \frac{31}{3} & \frac{38}{3} \\
\end{array}
\right)$
Код:
PositiveSemidefiniteMatrixQ[cov]
False

Пожалуйста, впредь более ответственно составляйте Ваши комментарии, иначе мне с Вами нечего будет обсуждать.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 16:58 


27/10/09
602
Markiyan Hirnyk в сообщении #1390987 писал(а):
Первая ошибка заключается в том, что матрица cov в большинстве случаев не является неотрицательно определенной, как должно быть
Действительно иногда такое бывает, хотя не часто, однако, даже в том случае, когда ковариационная матрица положительно определенная, ответ все равно не получается. Где-то наверняка есть еще и вторая, и третья ошибки.
Markiyan Hirnyk в сообщении #1390987 писал(а):
Пожалуйста, впредь более ответственно составляйте Ваши комментарии, иначе мне с Вами нечего будет обсуждать.
Извиняюсь, не понял замечания.

-- Сб май 04, 2019 4:25 pm --

Попробовал прикинуть вероятность получить не положительно определенную ковариационную матрицу
Код:
k = 0;
Table[Do[cov = Covariance[RandomInteger[{-10, 10}, {m + 1, m}]];
  If[! PositiveSemidefiniteMatrixQ[cov], k++], {10000}]; k, {10}]
Получил 10 нулей.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 20:57 


11/07/16
825
1. Вы правы относительно неотрицательной определенности. Действительно, в большинстве случаев получается неотрицательно определенная матрица. Виноват, я поспешил с выводами, испытав два случая (в обоих получил False).
2. Что-то нехорошо с
Код:
(X - me).Inverse[cov].(X - me)
{(114 x[1])/289 - (1896 x[2])/3757 - (141 x[3])/
    221, -((1896 x[1])/3757) + (38652 x[2])/48841 + (2694 x[3])/
    2873, -((141 x[1])/221) + (2694 x[2])/2873 + (198 x[3])/
    169}.{{x[1], x[2], x[3]}} == 7.81473

Нет квадратической формы.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 21:44 


27/10/09
602
Markiyan Hirnyk в сообщении #1391036 писал(а):
первый вектор следует транспонировать.
Для МатЛаба это действительно была бы ошибка, а Математика сама все понимает. Нашел ошибку (это и не ошибка вовсе) - на список переменных в функции Exists нужно еще Evaluate поставить. Вот как в цикле для всех координат получается
Код:
m = 3;
a = 0.95;

me = ConstantArray[0, m];
cov = Covariance[RandomInteger[{-10, 10}, {m + 1, m}]];
PositiveDefiniteMatrixQ[cov]
X = Array[x, m];

tabb=Table[ex = Delete[X, i];
eq = (X - me).Inverse[cov].(X - me) // Simplify;
res1 = Exists[ex // Evaluate, eq < Quantile[ChiSquareDistribution[m], a]];
res2 = Resolve[res1, Reals];
Reduce[res2, {x[i]}], {i, m}]

tabb[[;; , 5]]/Sqrt[Diagonal[cov]]
Только Reduce почему-то постоянно ругается.
Последняя строка в коде - проверка. Оказалось, что границы по координатам пропорциональны своим стандартным отклонениям, коэффициент пропорциональности зависит только от размерности случайной величины.

СПАСИБО!!!

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение04.05.2019, 22:10 
Заслуженный участник


27/04/09
28128
AndreyL в сообщении #1391051 писал(а):
Только Reduce почему-то постоянно ругается.
А с какой ошибкой? Если это
    Цитата:
    Reduce::ratnz: Reduce was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result
то можно обернуть тот вызов Reduce в Quiet[..., {Reduce::ratnz}]. (Или подавать ей на вход выражения без inexact coefficients, что, как понимаю, здесь невозможно/бессмысленно.)

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение05.05.2019, 05:53 


27/10/09
602
Это не фатально. При практических расчетах конечно лучше использовать Quiet.
Интереснее то, что диапазон по осям не зависит от корреляционной матрицы, а коэффициент при стандартном отклонении зависит только от доверительной вероятности и размерности случайной величины, т.е. зная размерность случайной величины и задав вероятность доверительного интервала можно узнать коэффициент, который будет справедлив для любой ковариационной матрицы заданного размера, его не нужно считать в типовых практических задачах - просто узнать один раз, и потом использовать.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение05.05.2019, 06:58 


11/07/16
825
AndreyL
Утверждение
Цитата:
Интереснее то, что диапазон по осям не зависит от корреляционной матрицы

не соответствует действительности. Вот результаты для двух выполнений Вашего кода:
Код:
{{194/3, 19, 79/3}, {19, 859/12, 43/12}, {79/3, 43/12, 73/4}}
{-22.48 < x[1] < 22.48, -23.6517 < x[2] < 23.6517, -11.9423 < x[3] <  11.9423}

и
Код:
{{835/12, -(193/6), -(91/6)}, {-(193/6), 77/3, -(10/3)}, {-(91/6), -(10/3), 19}}
{-23.319 < x[1] < 23.319, -14.1626 < x[2] < 14.1626, -12.1852 < x[3] < 12.1852}.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение05.05.2019, 11:32 


27/10/09
602
Первый пример
Код:
cov = {{194/3, 19, 79/3}, {19, 859/12, 43/12}, {79/3, 43/12, 73/4}};
res1 = {-22.48 < x[1] < 22.48, -23.6517 < x[2] < 23.6517, -11.9423 <  x[3] < 11.9423};
res1[[;; , 3]]/Sqrt[Diagonal[cov]]

результат
Код:
{2.79548, 2.79548, 2.79548}

Второй пример
Код:
cov = {{835/12, -(193/6), -(91/6)}, {-(193/6),  77/3, -(10/3)}, {-(91/6), -(10/3), 19}};
res2 = {-23.319 < x[1] < 23.319, -14.1626 < x[2] < 14.1626, -12.1852 <  x[3] < 12.1852};
res2[[;; , 3]]/Sqrt[Diagonal[cov]]

результат
Код:
{2.79549, 2.79549, 2.79548}

т.е. множитель при стандартных отклонениях всегда одинаковый (с точностью до погрешности округления). Да, при разборе неравенства на Математике 11 максимальное значение стоит на 5-ом месте (учитываются знаки), а на Математике 9 на 3-ем (знаки не учитываются).

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение05.05.2019, 13:06 


11/07/16
825
AndreyL
Извините, мне с Вами нечего обсуждать в таком стиле. Всего хорошего.

 Профиль  
                  
 
 Re: доверительный эллипсоид
Сообщение05.05.2019, 13:16 


27/10/09
602
Markiyan Hirnyk
Я не очень понимаю, чем я Вас обидел, все равно извиняюсь. Еще раз СПАСИБО!!! Задача решена только благодаря Вашей подсказке и примерам.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group