잘 모르겠 음 curve_fit
은 매개 변수의 공분산을 예측할 수 없으므로 아래의 OptimizeWarning
을 발생시킵니다.매개 변수가 정확히 맞는 경우 'curve_fit'가 매개 변수의 공분산을 추정 할 수없는 이유는 무엇입니까?
MCVE 파이썬 조각
from scipy.optimize import curve_fit
func = lambda x, a: a * x
popt, pcov = curve_fit(f = func, xdata = [1], ydata = [1])
print(popt, pcov)
기능이 정확히 xdata
및 ydata
에 맞는
\python-3.4.4\lib\site-packages\scipy\optimize\minpack.py:715:
OptimizeWarning: Covariance of the parameters could not be estimated
category=OptimizeWarning)
[ 1.] [[ inf]]
a = 1
를 들어 출력 : 다음 MCVE 내 문제에 대해 설명합니다. 왜 오류/차이가 0
이거나 그 이상이 0
이지만 inf
에 가깝습니까? curve_fit
SciPy Reference Guide에서이 인용이
: 솔루션에서 코비안 행렬은 전체 순위가없는 경우
후 'LM'방법은 다른 한편으로, np.inf 가득 행렬을 반환 손 'trf'와 'dogbox'방법은 Moore-Penrose pseudoinverse를 사용하여 공분산 행렬을 계산합니다.
그럼 근본적인 문제가 무엇인가요? 왜 솔루션의 Jacobian 행렬이 완전한 계급을 가지고 있지 않습니까?