【问题标题】:Python statsmodels logit wald test inputPython statsmodels logit wald 测试输入
【发布时间】:2016-12-20 11:37:46
【问题描述】:

我已经为一些数据拟合了一个逻辑回归模型,一切都很好。我需要计算作为模型结果函数的 wald 统计量。

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

我尝试将用于训练和测试模型的数据简单地输入为 R 矩阵,但我认为这不正确。文档建议检查示例,但没有给出此测试的示例。我也在 crossvalidated 上问了同样的问题,但被击落了。

亲切的问候

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

【问题讨论】:

    标签: python logistic-regression statsmodels


    【解决方案1】:

    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 测试正常工作,请包含您的代码,我可以帮助您使其正常工作。

    【讨论】:

      猜你喜欢
      • 2012-07-01
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 2016-12-14
      • 2016-02-13
      • 2019-10-13
      • 2017-07-01
      相关资源
      最近更新 更多