2013-11-02 9 views
1

저는 파이썬에 처음 접했고 선형 적합 함수의 근간을 포함하는 오류를 찾고 싶습니다. 적합한 함수의 근사와 추정 오차 찾기

는 내가 아무 문제가 없었다
def root(x): 
    return lin_fit(x, *popt) 

return op.fsolve(root, 0) 

으로 루트를 발견 그런

import numpy as np 
import scipy.optimize as op 

def lin_fit(x, a, b): 
    return a * x + b 

... 

popt, pconv = op.curve_fit(lin_fit, U, sqrt_I) 
x = np.linspace(np.min(U), np.max(U), 100) 
y = lin_fit(x, *popt) 

과 기능을 장착,하지만 난 방법이 뿌리의 오류를 찾기 위해, 지금은하지 않습니다.

아무도 도와 줄 수 있습니까?

+0

이 단지 예는 다음 MathWorld 상관 계수 착용감의 전반적인 품질을 측정 r 가입일

같이 계산 될 수 있는가? 다른 기능에 대해 동일한 접근법을 사용할 계획입니까? – Jblasco

+0

이 종류의 선형 함수에 사용하고 싶습니다. –

+0

그 경우, 적합 계수 : -b/a = root, 맞습니까? op.fsolve를 호출 할 필요가 없습니다. – Jblasco

답변

0

오차는 pconv에 포함되어 있습니다. 대각선은 예상 계수 각각에 대한 분산을 포함합니다. 여기서는 ab입니다.

sxy = pconv[0,1]*x.shape[0] 
sxx = pconv[0,0] 
syy = pconv[1,1] 
r = (sxy**2/(sxx*syy))**0.5 
+0

그래서'pconv [0,0]'는'a'와'pconv [1,1]'의 에러를 포함하고'b'의 에러를 포함하고 있습니까? 루트에 대한 에러는'((pconv [0,0] * b/a ** 2) ** 2+ (pconv [1,1]/a) ** 2) ** 0.5' (불확실성의 가우시안 전파)? 그리고 그렇다면 'a'와 b '의 값을 어떻게 구합니까? –

+0

@LinoschArtox 예 ...하지만 제발, 그냥 오류 전파에 대한이 방정식을 확인하십시오. 왜냐하면 ... –

+0

미안 해요, 약간의 편견에 대한, 어떻게'a'와'b'에 대한 값을 얻을 수 있습니까? –