我已经为某些数据安装了logisitic回归模型,一切都运行良好。我需要计算wald统计量,它是模型结果的函数。
我的问题是,从文档中我不明白wald测试需要输入什么?具体是什么是R矩阵以及它是如何生成的?
我尝试简单地输入我用来训练和测试模型的数据作为R矩阵,但我不认为这是正确的。文档建议检查示例,但是没有给出该测试的示例。我也问过关于交叉验证的相同问题但被击落了。
亲切的问候
答案 0 :(得分:2)
Wald测试用于测试预测变量是否重要,形式如下:
W =(beta_hat - beta_0)/ SE(beta_hat)~N(0,1)
所以你不知何故想要将预测变量输入到测试中。从t.test
和f.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测试工作,请包含你的代码,我可以尝试帮助它运作。