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  След.

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



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

Сейчас этот форум просматривают: VanD


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

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