According to the docs,我可以通过在RegressionResults实例上使用scale()类方法来找到回归的标准错误。在
但是,我无法获得RegressionResults实例。在
我就是这么做的:
y = foo; X = bar
model = sm.OLS(y, X)
results = model.fit()
正在查看对象类型。。。在
^{pr2}$…返回RegressionResultsWrapper
<class 'statsmodels.regression.linear_model.RegressionResultsWrapper'>
这个“RegressionResultsWrapper”是没有文档记录的,我无法找到操作它的方法。结果.刻度()失败,无法获取所需的信息。在
此外,the docs声明.fit()应该返回一个RegressionResults类实例,但是返回的是上面所示的RegressionResultsWrapper。在
你知道我怎样才能得到这个回归模型的“回归标准误差”的信息吗?在
这是Python的“duck typing”约定。当文档说
fit()
应该返回一个RegressionResults
实例时,这实际上意味着它将返回与RegressionResults
的公共接口兼容的内容。RegressionResults
的任何文档化属性和方法都应该可以从返回的对象访问,这与文档中对它们的描述方式一致。事实似乎是这样的:如果您访问results.scale
,您将得到一个数字。注意,它不是一个方法,而是一个属性。当您试图将它作为方法调用时得到的错误消息会告诉您,如果您在文档中遗漏了它。在从技术上讲,他们应该说该方法返回与
RegressionResults
兼容的而不是RegressionResults
实例本身,但大多数Python程序员都明白,在正常情况下,不应该实际检查给定对象的类型。在相关问题 更多 >
编程相关推荐