mpfit를 이용한 fitting관련한 질문

게시판 IDL Q&A mpfit를 이용한 fitting관련한 질문

3 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #1950 Reply
      chobo
      회원

      안녕하세요.
      mpfit을 이용하여 (x1, y1) .. (x5, y5) 지점에 대한 선형관계를 구하고자 합니다. IDL(mpfit) 결과와 엑셀 결과를 비교 했을 때 조금 차이가 나고 있습니다. 두 가지 질문이 있습니다.

      1) 제가 mpfit을 맞게 이용한 것인지…
      2) 엑셀의 R2값에 상응하는 값을 mpfit에서도 출력할 수 있는지요?
      3) 동일한 자료에 대한 IDL/엑셀의 결과가 다를 경우, 어느 결과를 더 신뢰해야하는지요?
      감사합니다.

      ; –1. IDL mpfit ————–

      IDL> x = [22, 151, 242, 349, 478]
      IDL> y = [250, 245, 239, 235, 231]
      IDL> yerr = replicate(0, 4) ; no error
      IDL> weights = replicate(1, 4) ; no weighting = same weighting
      IDL> expr=’p[0]+p[1]*x’
      IDL> result=mpfitexpr(expr, x, y, error, weights=weights)
      IDL> print, result[0], result[1]
      % MPFITEXPR: Number of parameters: 2 (initialized to zero)
      Iter 1 CHI-SQUARE = 234871.00 DOF = 2
      P(0) = 0.000000
      P(1) = 0.000000
      Iter 2 CHI-SQUARE = 125414.15 DOF = 2
      P(0) = 40.1352
      P(1) = 0.138532
      Iter 3 CHI-SQUARE = 14457.139 DOF = 2
      P(0) = 142.042
      P(1) = 0.295155
      Iter 4 CHI-SQUARE = 1.5471971 DOF = 2
      P(0) = 251.286
      P(1) = -0.0473097
      Iter 5 CHI-SQUARE = 1.5471971 DOF = 2
      P(0) = 251.286
      P(1) = -0.0473097
      251.28615 -0.047309704
      IDL>

      ; –2. 엑셀의 결과 ————–
      Y = -0.043X + 250.68
      R2 = 0.9846

      • 이 게시글은 chobo에 의해 9 years, 9 months 전에 수정됐습니다.
    • #1952 Reply
      chobo
      회원

      위 글을 삭제할 수가 없군요.. *^^*
      아래 부분에 실수가 ^^*
      이제 엑셀 결과와 거의 비슷해졌습니다…
      그런데, 엑셀의 R2값에 상응하는 값을 mpfit에서도 출력할 수 있는지요?
      yerr = replicate(0, 5) ; no error
      weights = replicate(1, 5) ; no weighting = same weighting

    • #1953 Reply
      jhlee
      Keymaster

      우선 1번째 질문은 해결이 된 것으로 판단합니다.
      2번째 질문을 보고 정말 없나? 하고 소스코드를 보니 정말 없네요 ㅎㅎ
      하지만 다행히도 mpfit에는 yfit이라는 키워드가 있습니다. yfit 키워드를 통해 획득되는 값은 y = ax+b에서 x에 정확히 1:1 매칭이 되는 y 값이 산출됩니다(정확히 표현하자면 1:1 매칭보다는 error값이 최소가 되는 방향으로의). 이렇게 획득된 값을 실제 y값과의 variance 비로 표현해주면 됩니다.
      R2 = variance(yfit)/variance(y)
      또는 regress 함수의 correlation 키워드를 사용하여 R값(상관계수)을 산출 후 제곱을 해주셔도 됩니다. R은 상관계수, R2는 결정계수를 나타냅니다.

    • #1954 Reply
      chobo
      회원

      글쿤요..
      감사합니다. *^^*

3 답변 글타래를 보이고 있습니다
'mpfit를 이용한 fitting관련한 질문'에 답변달기
글쓴이 정보: