0
수정 된 음의 지수 함수의 매개 변수를 추정하기 위해 scipy의 curves_fit
함수를 얻으려고합니다. curve_fit
으로 전화하면 오류가 발생하며 그 이유는 알 수 없습니다.문제 scipy의 curve_fit을 사용하여 음의 지수 매개 변수 추정
def negative_exponential(x, carryover, asymptote, speed):
return x[0] * carryover + asymptote * (1 - np.exp(-speed * x[1]))
이 합리적인 매개 변수
dataframe에 저장되어있는 매개 변수를 추정하는 데 사용되는 데이터를 호출 할 때 예상대로 작동하는 것 같다 :
기능
는 다음과 같이 정의된다. 여기에 내가 전화를 사용했던 코드의curve_fit
x = df[["Sales_2015", "Calls_2016"]]
y = df["Sales_2016"]
popt, pcov = curve_fit(negative_exponential, x.values, y.values)
print (popt)
curve_fit
기능은 나는 또한 x.values 및 y.values를 전달하여 curve_fit
를 호출 시도이 오류를
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
C:\Users\steve\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance)
2133 try:
-> 2134 return self._engine.get_loc(key)
2135 except KeyError:
을 제공합니다. 이것은 또한 오류를 주었다.
또한이 데이터를 사용하여 OLS 모델을 추정하는 데 문제가 없습니다. 내가 curve_fit
모든 제안에 전달하기 전에 x
및 y
뭔가를 할 필요가 의미
model = sm.OLS(y, x).fit()
model.summary()
?
일부 데이터를 제공 할 수 있습니까? "합리적인 매개 변수와 함께 작동하는 것"은 무엇을 의미합니까? – Cleb
예 - 여기에 일부 [테스트 데이터] (http://czmx.co/qqO7/IHTefLEg)가 있습니다. 시리즈 이름은 설명과 일치합니다. –
합리적인 매개 변수로, 나는 직접 호출했을 때 예상 결과를 얻는다는 것을 의미한다. 예'negative_exponential ([10, 5], 0.6, 100, 0.2)''69.21'을 준다 –