python에서 최소 제곱 피트 (scipy.optimize.leastsq)에 대한 신뢰 구간을 계산하는 방법은 무엇입니까?신뢰 간격이 최소 기호가 scipy python에 맞는지
답변
부트 스트래핑 방법을 사용합니다.
는 여기를 참조하십시오 : 시끄러운 가우스에 대한 http://phe.rockefeller.edu/LogletLab/whitepaper/node17.html
간단한 예 :
x = arange(-10, 10, 0.01)
# model function
def f(p):
mu, s = p
return exp(-(x-mu)**2/(2*s**2))
# create error function for dataset
def fff(d):
def ff(p):
return d-f(p)
return ff
# create noisy dataset from model
def noisy_data(p):
return f(p)+normal(0,0.1,len(x))
# fit dataset to model with least squares
def fit(d):
ff = fff(d)
p = leastsq(ff,[0,1])[0]
return p
# bootstrap estimation
def bootstrap(d):
p0 = fit(d)
residuals = f(p0)-d
s_residuals = std(residuals)
ps = []
for i in range(1000):
new_d = d+normal(0,s_residuals,len(d))
ps.append(fit(new_d))
ps = array(ps)
mean_params = mean(ps,0)
std_params = std(ps,0)
return mean_params, std_params
data = noisy_data([0.5, 2.1])
mean_params, std_params = bootstrap(data)
print "95% confidence interval:"
print "mu: ", mean_params[0], " +/- ", std_params[0]*1.95996
print "sigma: ", mean_params[1], " +/- ", std_params[1]*1.95996
난 당신이 신뢰 구간 무슨 뜻인지 모르겠습니다을.
일반적으로 leastsq
은 최소화하려는 기능에 대해 잘 모르기 때문에 신뢰 구간을 제공 할 수 없습니다. 그러나 그것은 헤 시안의 추정치, 다시 말해 2 차 파생물의 다차원 문제에 대한 일반화를 반환합니다.
함수의 문서 문자열에서 암시 된 것처럼, 나머지 정보 (실제 솔루션과 실제 솔루션의 차이)와 함께 해당 정보를 사용하여 매개 변수 추정치의 공분산을 계산할 수 있습니다. 이것은 매개 변수 추정의 공분산입니다 간격.
지역 정보 일 뿐이며, 객관적인 기능이 철저히 철저한 경우에만 엄격한 결론을 내릴 수 있다고 생각합니다. 그 진술에 대한 어떠한 증거 나 언급이 없습니다 :).
신뢰 구간 (CI)을 추정하는 가장 간단한 방법은 표준 오차 (표준 편차)에 상수를 곱하는 것입니다. 상수를 계산하려면 자유도 (DOF)의 수와 CI를 계산할 신뢰도를 알아야합니다. 이런 식으로 추정 된 CI를 때로는 점근 적 CI라고합니다. Motulsky & Christopoulos (google books)의 "선형 및 비선형 회귀를 사용하여 생물학적 데이터에 모델 피팅"에서 더 자세히 읽을 수 있습니다. 같은 책 (또는 매우 유사한 책)은 무료로 as a manual for author's software에 있습니다.
how to calculate CI using the C++ Boost.Math library을 읽을 수도 있습니다. 이 예에서 CI는 하나의 변수의 분포에 대해 계산됩니다. 피팅이 최소 자승 인 경우 DOF는 N -1이 아니지만 N-M입니다. 여기서 M은 매개 변수의 수입니다. 파이썬에서도 똑같이해야한다.
이것은 가장 간단한 추정치입니다. 제퍼가 제안한 부트 스트래핑 방법을 모르지만, 필자가 작성한 방법보다 더 신뢰할 수 있습니다.
- 1. 최소 신뢰 AppDomain 완전 신뢰 AppDomain
- 2. SciPy 글로벌 최소 곡선 맞춤
- 3. Python에 기여
- 4. 신뢰 매체
- 5. 회원 공급자에게 신뢰 수준이 필요합니다.
- 6. python에 변환 연산자가 있습니까?
- 7. Java를 Python에 복제하십시오.
- 8. 대 매트릭스의 SciPy 보간
- 9. Scipy 배열을 동적으로 확장
- 10. Debian 리눅스에 SciPy 설치
- 11. SciPy LeastSq Dfun 용도
- 12. fftpack의 scipy 함수가 누락되었습니다
- 13. Sproutcore with Python Scipy
- 14. nm보고 기호가 정의되었지만 ldd보고 기호가 정의되지 않았습니다.
- 15. 메뉴 탭에 간격이 있습니까?
- 16. 즉, 픽셀 간격이
- 17. AudioQueue 재생 간격이 좁음
- 18. £ 기호가 무엇입니까
- 19. Python에 객체 고유 식별자가 있습니까?
- 20. 신뢰 결과는 항상 kSecTrustResultRecoverableTrustFailure입니다.
- 21. GnuPG 신뢰 웹을 시각화하십시오
- 22. .NET 신뢰 수준 질문
- 23. 부분 신뢰 WPF 4
- 24. 애플릿으로 신뢰 얻기
- 25. 부분 신뢰 환경의 WCF
- 26. 주어진 세트의 간격이 주어지면 모든 간격에 점이 있도록 최소 배치 수를 찾으십시오.
- 27. Scipy/Numpy 통계가있는 Python의 ANCOVA
- 28. os x lion에 대한 scipy
- 29. Scipy 스파 스 삼각 행렬?
- 30. 왜 gettimeofday() 간격이 때때로 음수입니까?
아주 좋은 답변입니다. 영어로 된 두 문장을 포함하면 부트 스트랩의 의미와 작동 원리를 설명하는 것이 크게 도움이 될 것입니다. –