Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Evgenij Masherov                     2:5020/175.2   09 Nov 2001  10:56:43
 To : Serge Kanilo
 Subject : Re: Массив точек и пpямая на плоскости
 -------------------------------------------------------------------------------- 
 
 Fri Nov 09 2001 06:00, Serge Kanilo wrote to Evgenij Masherov:
 
 >>  SS> Есть массив точек на плоскости. Как yзнать пpинадлежат ли они одной
  >>  SS> пpямой? Пpичем алгоpитм должен быть не совсем стpогий, я имею в видy
 
  SK> что
 
  >>  SS> допyстимо напpимеp максимальное отклонение точек напpимеp на тpи
 
  SK> пиксела
 
  >>  SS> от этой пpямой и напpимеp допyстимо 2% точек не попадающих в этy
 
  SK> пpямyю
 
  >>  SS> вообще - в этом слyчае считается что точки пpинадлежат одной пpямой.
  >>  SS> Естественно желательно также попyтно полyчить ypавнение пpямой - я
 
  SK> имею в
 
  >>  SS> видy коэфициенты а и b в ypавнении пpямой. Речь идет о pастpовой
  >>  SS> каpтинке...
  >> 
  >> Я бы вычислил регрессию У на Х. И в качестве меры принадлежности к линии
  >> принял бы коэффициент корреляции
  >> y=ax+b
  >> y_=SUM(y)/N
  >> x_=SUM(x)/N
  >> a'=SUM((y-y_)*(x-x_))/SUM((x-x_)^2)
  >> b'=y_-a'x_
  >> R=SUM((y-y_)*(x-x_))/sqrt(SUM((x-x_)^2)*SUM((y-y_)^2))
  >> Чем ближе R к единице (по абс. величине) - тем точнее точки лежат на
 
  SK> линии.
 
  SK> Для практики вполне подойдет, но здесь есть
  SK> несимметричность между использованием x и у.
  SK> И наверное лучше выбрать приоритетное направление
  SK> и считать либо y=ax+b, либо x=сy+d.
 
  SK> Или построить матрицу
 
  SK> SUM((x-x_)*(x-x_))          SUM((y-y_)*(x-x_))
  SK> SUM((x-x_)*(y-y_))          SUM((y-y_)*(y-y_))
 
  SK> Ее собственые вектора дадут главные направления,
  SK> минимальное собственное значение и будет отражать
  SK> отдаленность точек от прямой (хотя лучше провести
  SK> простой анализ отклонений по точкам)
  SK> а соответствующий вектор v_min - содержать
  SK> коэффициенты для этой прямой, заданной в виде
 
  SK> v_min_1*(x-x_) + v_min_2*(y-y_) =0.
 
  SK> ИМХО и исходный вариант, и предложенный мной не совсем
  SK> решают данную задачу, как она поставлена (но может постановка
  SK> была не совсем осознана :), поскольку в принципе минимизируют
  SK> среднее расстояние до прямой, а не максимальное отклонение.
 
 Hу, это очень древная проблема - какая из двух регрессионных кривых истинная 
 (задача - дама, желающая узнать, стоит ли ей худеть, строит регрессию роста
 кинозвезд на вес, подставляет свои значения, и обнаруживает, что вес ея
 избыточен, затем веса на рост - и обнаруживает, что ей стоит поправиться:).
 
 Полагаю, что в поставленных условиях и регрессия у на х, и х на у ответят на
 вопрос - лежат ли точки на одной прямой (ввиду того, что в этом случае к-т
 корреляции будет близок к единице, и различия между моделями будут малы), в
 общем же случае придется вводит дополнительную информацию (скажем, о
 дисперсиях ошибок у и х или о их, дисперсий, соотношении) и собственные
 значения - пригодятся...
 
 С уважением
 
 Евгений Машеров АКА СанитарЖеня
 
 --- ifmail v.2.15
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Массив точек и пpямая на плоскости   Sergey Skorodinsky   07 Nov 2001 23:32:58 
 Массив точек и пpямая на плоскости   Evgenij Masherov   08 Nov 2001 15:00:48 
 Массив точек и пpямая на плоскости   Sergey Skorodinsky   08 Nov 2001 20:01:31 
 Массив точек и пpямая на плоскости   Evgenij Masherov   09 Nov 2001 10:51:36 
 Re: Массив точек и пpямая на плоскости   Serge Kanilo   09 Nov 2001 07:00:35 
 Re: Массив точек и пpямая на плоскости   Evgenij Masherov   09 Nov 2001 10:56:43 
Архивное /ru.algorithms/3300fadf8adb.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional