在python statsmodels中,找到回归的标准误差

时间:2016-12-24 11:40:56

标签: python

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,如上所示。

我是否知道如何获得有关此回归模型的“回归标准误差”的信息?

1 个答案:

答案 0 :(得分:0)

这是Python的“duck typing”惯例。当文档说fit()应该返回RegressionResults实例时,它实际上意味着它将返回与RegressionResults的公共接口兼容的内容。 RegressionResults的任何记录的属性和方法都应该可以从返回的对象中访问,具体取决于文档中的描述。事实确实如此:如果你访问results.scale,你会得到一个数字。请注意,这不是一种方法;这是一个属性。尝试将其作为方法调用时收到的错误消息告诉您,如果您在文档中错过了它。

确实,从技术上讲,他们应该说该方法返回 compatible RegressionResults而不是RegressionResults实例本身的东西,但是大多数Python程序员都知道正常情况下在这种情况下,你不应该实际检查你给出的对象的类型。

相关问题