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]))
妥当なパラメータで呼び出された場合、このパラメータを推定するために使用
データをデータフレームに格納されている期待どおりに動作するように思われます。ここで私が呼び出すために使用したコードです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'を返します –