从statsmodels WLS获取可用值

时间:2014-05-07 16:33:09

标签: python regression linear-regression statsmodels weighted

我正在使用statsmodels的加权最小二乘回归,但得到一些非常大的值。

这是我的代码:

X = np.array([[1,2,3],[1,2,3],[4,5,6],[1,2,3],[4,5,6],[1,2,3],[1,2,3],[4,5,6],[4,5,6],[1,2,3]])
y = np.array([1, 1, 0, 1, 0, 1, 1, 0, 0, 1])
w = np.array([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])

temp_g = sm.WLS(y, X, w).fit()

现在,我理解的是,在WLS回归中,就像在任何线性回归问题中一样,我们提供了endog向量和exog向量,函数可以找到最佳拟合线并告诉我们系数/回归每个观察的参数应该是。例如,在我的数据中,每个观察包含3个特征,我希望有3个参数。

所以我这样取了它们:

parameters = temp_g.params # I'm hoping I've got this right! Or do I need to use "fittedvalues" instead?

问题在于我得到了如此巨大的价值观:

temp g params : 
[ -7.66645036e+198  -9.01935337e+197   5.86257969e+198]

或者这个:

temp g params : 
[-2.77777778 -0.44444444  1.88888889]

在进一步使用这些参数时会出现问题,特别是因为我也有一些指数可以使用,我需要将e提升到一些回归参数的功能,这是不可能的,鉴于这么大的数字。因为在使用exp()时我不断出现溢出错误。

这是正常的吗?难道我做错了什么?或者是否有一种特定的方法使它们有用?

0 个答案:

没有答案