Python statsmodels logit wald测试输入

时间:2016-12-20 11:37:47

标签: python logistic-regression statsmodels

我已经为某些数据安装了logisitic回归模型,一切都运行良好。我需要计算wald统计量,它是模型结果的函数。

我的问题是,从文档中我不明白wald测试需要输入什么?具体是什么是R矩阵以及它是如何生成的?

我尝试简单地输入我用来训练和测试模型的数据作为R矩阵,但我不认为这是正确的。文档建议检查示例,但是没有给出该测试的示例。我也问过关于交叉验证的相同问题但被击落了。

亲切的问候

http://statsmodels.sourceforge.net/0.6.0/generated/statsmodels.discrete.discrete_model.LogitResults.wald_test.html#statsmodels.discrete.discrete_model.LogitResults.wald_test

1 个答案:

答案 0 :(得分:2)

Wald测试用于测试预测变量是否重要,形式如下:

W =(beta_hat - beta_0)/ SE(beta_hat)~N(0,1)

所以你不知何故想要将预测变量输入到测试中。从t.testf.test的示例来看,输入字符串或元组以指示您正在测试的内容可能更简单。

以下是使用f.test的字符串的示例:

from statsmodels.datasets import longley
from statsmodels.formula.api import ols
dta = longley.load_pandas().data
formula = 'TOTEMP ~ GNPDEFL + GNP + UNEMP + ARMED + POP + YEAR'
results = ols(formula, dta).fit()
hypotheses = '(GNPDEFL = GNP), (UNEMP = 2), (YEAR/1829 = 1)'
f_test = results.f_test(hypotheses)
print(f_test)

这是他们使用元组的example

import numpy as np
import statsmodels.api as sm
data = sm.datasets.longley.load()
data.exog = sm.add_constant(data.exog)
results = sm.OLS(data.endog, data.exog).fit()
r = np.zeros_like(results.params)
r[5:] = [1,-1]
T_test = results.t_test(r)

如果你仍然在努力让wald测试工作,请包含你的代码,我可以尝试帮助它运作。