2012-06-11 3 views
9

그냥 기본적인 질문입니다. polyfit을 사용하여 분산 점에 선을 맞추는 중입니다. 스 캐터 포인트의 X 값이 같고 라인에 맞는 polyfit 캔트가있는 경우가 있습니다. 이 상황을 처리 할 수있는 무언가가 있어야합니다. 어쨌든 그것의 다만 선은 적합하다.폴리 피트를 이용한 수직 라인 맞춤

X와 Y를 바꿔서 한 줄을 시도해 볼 수 있습니다. 모든 분산 점 집합이 있고 선을 검사하는 일반적인 방법을 원하기 때문에 더 쉬운 방법입니다.

주요 목표는 잘 맞는 선을 찾고 비선형 피쳐를 드롭하는 것입니다.

+0

답변을 위해서 X 값이 너무 적 으면 X와 Y를 바꿔 주면됩니다. – Naresh

답변

6

우선, 이것은 사용중인 피팅 방법 때문에 발생합니다. polyfit을 수행 할 때 줄에서 Y 거리에 최소 제곱 법을 사용합니다.

http://www.une.edu.au/WebStat/unit_materials/c4_descriptive_statistics/image23.gif

물론, 그것은 수직 라인에 대해 작동하지 않습니다. 그런데 수직선에 가까운 것이 있더라도 수치 적으로 불안정한 결과가 발생할 수 있습니다. 당신이 말한대로 선이 거의 수직임을 알고있는 경우,

  1. 스왑 x와 y :

    는이 개 솔루션이 있습니다. 그런 다음, 역 선형 함수를 계산하십시오.

http://mathworld.wolfram.com/images/eps-gif/LeastSquaresOffsets_1000.gif

+0

흠. matlab에 코드에 넣습니다. 일단 내가 뭔가를 가지고 게시 할 수 있습니다. – Naresh

+0

아주 좋은 해결책 :) – feelfree

+0

이미 사용할 수있는 추가 솔루션이 있습니까? Matlab polyfit은 선과의 수직 거리를 기반으로합니까? 의견을 주셔서 감사합니다. –

2

Polyfit 선형 통상 최소 제곱 근사를 사용하지 것 대신에 (아래 그림 참조), 수직 (here 자세한 설명)의 라인으로부터 수직 거리에

  • 사용하여 최소 제곱, 결과 Vandermonde 행렬이 부족한 순위가 될 때 반복 된 가로 좌표를 허용합니다. 더 많은 통계적 성격을 찾기 위해 노력할 것을 제안합니다. 당신이 Andreys의는 보통 이름으로가는 방법 총 최소 제곱 또는 직교 거리 회귀를 조회하고자하는 경우에는 동시 X 값이있을 때 는 http://en.wikipedia.org/wiki/Total_least_squares

    는 잠정적으로도 그 기원에 대한 데이터를 회전 검출 가능성을 제시 것 I , 라인을 맞추고 라인을 다시 변환하십시오. 나는 이것이 얼마나 잘 수행되지 않을지 말할 수 없었고 정확성 요구 사항에 기초한 선택인지를 결정할 수있었습니다.

  • +0

    . 나는 그것을 안다. 해결책이 필요해. 나는 '더 통계적인 성질의 것'이 필요하다. 어떠한 제안? – Naresh