是否可以在SciPy中使用实例方法作为可调用函数,例如scipy.optimize.minimize?在
我有几个状态空间模型的变体,它们是在不同的类中定义的,它们都是从父类“KalmanFilterModel”派生出来的。每个子类都定义自己的filter()实例方法(KalmanFilterModel,但此处未显示)。在
我要做的是编写一个实例方法,用最大似然法估计模型的参数。在
下面是我的代码片段:
class KalmanFilterModel:
def estimate_parameters(self, obs, x0=None):
self._obs = obs
if x0 is None:
x0 = np.array([0.5, 0.7, 1.0])
result = minimize(fun=self._minimization, x0=x0,
options={'maxiter': 300})
return result
def _minimization(self, x):
# Function to minimize when estimating parameters.
self.eta = x[0]
self.mu = x[1]
self.inverse_beta = x[2]
return -self.filter(self._obs)
但是,当我尝试运行它时,我得到了以下错误:
^{pr2}$在这种情况下,是否可以使用实例方法?如果可以,最好的方法是什么?在
是的。在
相关问题 更多 >
编程相关推荐