According to the docs,我可以通过在RegressionResults实例上使用scale()类方法找到回归的标准错误。
但是,我无法获得RegressionResults实例。
这就是我所做的:
y = foo; X = bar
model = sm.OLS(y, X)
results = model.fit()
查看对象类型......
print type(results)
...返回一个RegressionResultsWrapper
<class 'statsmodels.regression.linear_model.RegressionResultsWrapper'>
这个“RegressionResultsWrapper”没有记录,我找不到操纵它的方法。 results.scale()失败了,我无法获得我想要的信息。
此外,the docs声明.fit()应该返回一个RegressionResults类实例,但返回的是RegressionResultsWrapper,如上所示。
我是否知道如何获得有关此回归模型的“回归标准误差”的信息?
答案 0 :(得分:0)
这是Python的“duck typing”惯例。当文档说fit()
应该返回RegressionResults
实例时,它实际上意味着它将返回与RegressionResults
的公共接口兼容的内容。 RegressionResults
的任何记录的属性和方法都应该可以从返回的对象中访问,具体取决于文档中的描述。事实确实如此:如果你访问results.scale
,你会得到一个数字。请注意,这不是一种方法;这是一个属性。尝试将其作为方法调用时收到的错误消息告诉您,如果您在文档中错过了它。
确实,从技术上讲,他们应该说该方法返回 compatible 与RegressionResults
而不是RegressionResults
实例本身的东西,但是大多数Python程序员都知道正常情况下在这种情况下,你不应该实际检查你给出的对象的类型。