Масштабирование ковариационных матриц

На вопрос "Эллипс вокруг данных в MATLAB" в ответ, данный Амро, он говорит следующее:

«Если вы хотите, чтобы эллипс представлял определенный уровень стандартного отклонения, правильный способ сделать это — масштабировать ковариационную матрицу».

и код для его масштабирования был задан как

STD = 2;                     %# 2 standard deviations
conf = 2*normcdf(STD)-1;     %# covers around 95% of population
scale = chi2inv(conf,2);     %# inverse chi-squared with dof=#dimensions

Cov = cov(X0) * scale;
[V D] = eig(Cov);

Я не понимаю первые 3 строки приведенного выше фрагмента кода. Как рассчитывается шкала с помощью chi2inv(conf,2) и в чем смысл ее умножения на ковариационную матрицу?

Дополнительный вопрос:

Я также обнаружил, что если я масштабирую его с помощью 1,5 STD, то есть 86% плиток, эллипс может покрыть все точки, мой набор точек слипается почти во всех случаях. С другой стороны, если я масштабирую его с помощью 3 STD, то есть 99% тайлов, эллипс будет слишком большим. Тогда как я могу выбрать STD, чтобы просто плотно закрыть точки слипания?

Вот пример:

Внутренний эллипс соответствует 1,5 STD, а внешний 2,5 STD. почему 1.5 STD плотно закрывает слипшиеся белые точки? Есть ли какой-либо подход или причина для его определения?

введите здесь описание изображения


person Cheung    schedule 06.04.2011    source источник
comment
@Р. М. Ты опередил меня на одну секунду :)   -  person Dr. belisarius    schedule 06.04.2011
comment
+1, чтобы вы могли голосовать за ответы, которые вам нравятся.   -  person Alexandre C.    schedule 07.04.2011


Ответы (1)


Цель отображения эллипса вокруг точек данных — показать доверительный интервал или, другими словами, «сколько данных находится в пределах определенного стандартного отклонения от среднего значения».

В приведенном выше коде он решил отобразить эллипс, который покрывает 95% точек данных. Для нормального распределения ~ 67% данных составляют 1 стандартное отклонение. от среднего, ~ 95% в течение 2 sd. и ~ 99% в течение 3 с.д. (цифры не приходят мне в голову, но вы можете легко убедиться в этом, посчитав площадь под кривой). Следовательно, значение STD=2;. Вы обнаружите, что conf приблизительно равно 0.95.

Расстояние точек данных от центроида данных примерно равно (xi^2+yi^2)^0.5 без учета коэффициентов. Суммы квадратов случайных величин следуют распределению хи-квадрат, и, следовательно, чтобы получить соответствующий 95-й процентиль, он использует обратную функцию хи-квадрат со степенью свободы. 2, так как есть две переменные.

Наконец, обоснование умножения константы масштабирования следует из того факта, что для квадратной матрицы A с собственными значениями a1,...,an собственные значения матрицы kA, где k — скаляр, равны просто ka1,...,kan. Собственные значения дают соответствующие длины большой/малой осей эллипса, поэтому масштабирование эллипса или собственных значений до плитки 95% эквивалентно умножению ковариационной матрицы на коэффициент масштабирования.

ИЗМЕНИТЬ

Ченг, хотя вы, возможно, уже знаете это, я предлагаю вам также прочитать этот ответ на вопрос на случайности. Рассмотрим гауссову случайную величину с нулевым средним и единичной дисперсией. PDF набора таких случайных величин выглядит так

введите здесь описание изображения

Теперь, если бы я взял два таких набора случайных величин, возвел их в квадрат по отдельности и сложил, чтобы сформировать один набор новой случайной величины, его распределение выглядело бы следующим образом.

введите здесь описание изображения

Это распределение хи-квадрат с 2 степенями свободы (поскольку мы добавили две коллекции).

Уравнение эллипса в приведенном выше коде можно записать как x^2/a^2 +y^2/b^2=k, где x, y — две случайные величины, a и b — большая/малая оси, а k — некоторая константа масштабирования, которую нам нужно вычислить. Как видите, сказанное выше можно интерпретировать как возведение в квадрат и сложение двух наборов гауссовских случайных величин, и мы только что видели выше, как выглядит его распределение. Итак, мы можем сказать, что k — это случайная величина, распределенная по принципу хи-квадрат с двумя степенями свободы.

Теперь все, что нужно сделать, это найти такое значение для k, чтобы 95% данных находились внутри него. Так же, как 1s.d, 2s.d, 3s.d. процентили, с которыми мы знакомы с гауссианами, 95-процентная плитка для хи-квадрата с 2 степенями свободы составляет около 6,18. Это то, что Amro получает из функции chi2inv. С тем же успехом он мог написать scale=chi2inv(0.95,2), и было бы то же самое. Просто говоря в терминах n с.д. вдали от среднего интуитивно.

Просто для иллюстрации, вот приведенный выше PDF-файл распределения хи-квадрат, где 95% площади ‹ около x заштриховано красным. Это x составляет ~ 6,18.

введите здесь описание изображения

Надеюсь, это помогло.

person abcd    schedule 06.04.2011
comment
Большое Вам спасибо. Вы мне очень помогаете. - person Cheung; 07.04.2011
comment
Я хочу проголосовать за ваш ответ, но я здесь новенький и у меня нет такой репутации. Я проголосую за него позже, когда у меня будет достаточно репутации. Еще раз спасибо. - person Cheung; 07.04.2011
comment
Привет, Р. М., я до сих пор не понимаю, почему выход обратной функции хи-квадрат может быть коэффициентом масштабирования. Выход обратной функции хи-квадрат равен 6,1801 для STD=2. Мне любопытно, что стоит за этим 6.1801. Я думаю, мы можем позвонить. затем исходные собственные значения масштабируются путем умножения sqrt (6,1801). Я знаю, что мы должны масштабировать собственные значения, но я действительно хочу знать, как определить коэффициент масштабирования. И почему мы можем решить это таким образом. Спасибо. - person Cheung; 07.04.2011
comment
Спасибо Р.М. Вы, должно быть, государственник и хороший педагог, я в этом слаб. Ваш ответ потрясающий. - person Cheung; 07.04.2011
comment
Извините, я не понимаю вашего вопроса... вы имели в виду, можете ли вы нарисовать эллипс без масштабирования? Если так, то да. Это то, что вы получаете, когда рисуете исходный ответ Амро без масштабирования. - person abcd; 07.04.2011
comment
Извините, у меня есть дополнительный вопрос, который нужно уточнить. Означает ли это, что если мы не учитываем константу масштабирования k, то напрямую подгоняем эллипс так, как он есть: Cov = cov(X0); [V D] = eig(Cov); тогда процентиль, который мы можем покрыть эллипсом, составляет всего 39,35% плитки, потому что 0,3935 = chi2cdf (1,2) с k = 1 без масштабирования? Спасибо. - person Cheung; 07.04.2011
comment
Привет Р.М. Я снова отредактировал вопрос, может быть, вы можете понять это прямо сейчас. Я также обнаружил, что если я масштабирую его с помощью 1,5 STD, то есть 86% плиток, эллипс может покрыть все точки, мой набор точек слипается почти во всех случаях. Ожидаю ли я, что он покроет только 86% точек? Или я неправильно понимаю 86% тайлов? С другой стороны, если я масштабирую его с помощью 3 STD, то есть 99% тайлов, эллипс будет слишком большим. Спасибо. - person Cheung; 07.04.2011
comment
@Cheng: Это не значит, что он покрывает 86% точек ... Это означает, что он покрывает все точки от центра наружу до того места, где площадь составляет 86% от общей суммы. Посмотрите на это так... если у вас есть одна точка, которая находится далеко за пределами облака, ваш эллипс будет соответственно расширяться, чтобы вместить выброс. Чтобы увидеть это, введите X(end,1)=15;X(end,2)=5; X(end-1,1)=1 ;X(end-1,2)=6; после генерации X в коде и установите STD=1. Вы обнаружите, что в этом случае для второго облака (голубого), даже несмотря на то, что уровень установлен на 67% плитки, покрыто примерно 95% точек. Выбросы имеют значение. - person abcd; 07.04.2011
comment
Спасибо. Я совершенно неправильно это понимаю. Я думаю, мне нужно больше узнать об этих обозначениях. - person Cheung; 07.04.2011
comment
Я тоже фанат великого статиста! ;) - person Benjamin; 07.04.2011
comment
Дополнительные вопросы редактируются и добавляется новая фигура. Тогда дополнительные вопросы заключаются в том, как я могу выбрать ЗППП, чтобы просто плотно покрыть точки слипания? Спасибо. - person Cheung; 07.04.2011
comment
@Cheng: Ваши данные соответствуют Гауссу? В противном случае использование хи-квадрата не даст вам правильного результата. Я предполагаю, что это то, что происходит. Знаете ли вы распределение ваших данных? - person abcd; 07.04.2011
comment
Извините, Р.М. Я не знаю распространения моих данных. Я просто знаю, что им нравятся маленькие камешки, слипшиеся вместе, как на рисунке показано, что все белые точки составляют твердый объект. Может быть, проблема в этом~~~ Есть ли способ узнать распределение моих данных? Могу ли я предположить, что они гауссовые? - person Cheung; 07.04.2011
comment
Ну, вы не можете предположить, что они являются гауссовыми, не зная статистики процесса, создавшего эти точки. Для меня это выглядит так, как будто вы просто пытаетесь подогнать эллипс вокруг объекта, подобно тому, как ранее сегодня задавался вопрос о размещении прямоугольников вокруг объектов. Это подпадает под обработку и обнаружение изображений, и я считаю, что вы используете для этого неправильный подход. Я рекомендую начать новый вопрос с конкретного вопроса, который у вас есть, и пометить его как обработка изображений, чтобы люди, более осведомленные в этих областях, увидели ваш вопрос и, возможно, ответили на него. - person abcd; 08.04.2011