복붙노트

[PYTHON] 여러 독립 변수가있는 Python curve_fit

PYTHON

여러 독립 변수가있는 Python curve_fit

파이썬의 curve_fit은 하나의 독립 변수로 함수에 가장 잘 맞는 매개 변수를 계산하지만, 여러 독립적 인 변수가있는 함수에 맞게 curve_fit 또는 다른 것을 사용하는 방법이 있습니까? 예 :

def func(x, y, a, b, c):
    return log(a) + b*log(x) + c*log(y)

여기서 x와 y는 독립 변수이고 a, b, c에 적합합니다.

해결법

  1. ==============================

    1.독립 변수에 대해 curve_fit에 다차원 배열을 전달할 수 있지만 func은 동일한 것을 허용해야합니다. 예를 들어,이 배열 X를 호출하고 명확성을 위해 x, y로 압축을 푸십시오.

    독립 변수에 대해 curve_fit에 다차원 배열을 전달할 수 있지만 func은 동일한 것을 허용해야합니다. 예를 들어,이 배열 X를 호출하고 명확성을 위해 x, y로 압축을 푸십시오.

    import numpy as np
    from scipy.optimize import curve_fit
    
    def func(X, a, b, c):
        x,y = X
        return np.log(a) + b*np.log(x) + c*np.log(y)
    
    # some artificially noisy data to fit
    x = np.linspace(0.1,1.1,101)
    y = np.linspace(1.,2., 101)
    a, b, c = 10., 4., 6.
    z = func((x,y), a, b, c) * 1 + np.random.random(101) / 100
    
    # initial guesses for a,b,c:
    p0 = 8., 2., 7.
    print curve_fit(func, (x,y), z, p0)
    

    적합성 제공 :

    (array([ 9.99933937,  3.99710083,  6.00875164]), array([[  1.75295644e-03,   9.34724308e-05,  -2.90150983e-04],
       [  9.34724308e-05,   5.09079478e-06,  -1.53939905e-05],
       [ -2.90150983e-04,  -1.53939905e-05,   4.84935731e-05]]))
    
  2. ==============================

    2.예, 있습니다 : xData에 대해 다차원 배열로 curve_fit을 지정하기 만하면됩니다.

    예, 있습니다 : xData에 대해 다차원 배열로 curve_fit을 지정하기 만하면됩니다.

  3. from https://stackoverflow.com/questions/28372597/python-curve-fit-with-multiple-independent-variables by cc-by-sa and MIT license