【问题标题】:Python statsmodels: Regression summary, how to get p-value for reference dummy variable?Python statsmodels:回归摘要,如何获取参考虚拟变量的 p 值?
【发布时间】:2019-03-26 02:38:08
【问题描述】:

我正在运行MNLogit(多项逻辑回归),如下所示:

from statsmodels.formula.api import MNLogit
model=MNLogit.from_formula("y ~ x", df).fit()
model.summary()

变量 y 是分类变量,似乎是由 MNLogit 函数自动虚拟编码的。摘要输出为 y 的每个类别提供了一行,参考类别除外。

1) 如何获取参考类别的标识? (由于 y 的类别很多,手动计算很繁琐)

2) 因为没有 z 或 P>|z| (p 值)给参考类别,我如何评估参考类别的重要性?

3) 如何更改将哪个类别视为参考类别?

【问题讨论】:

    标签: python regression statsmodels


    【解决方案1】:
    1. 我相信 statmodels MNLogit 是字符串排序列表中的第一个变量,您的可能 y 变量总是用作参考。您可以在示例中使用 model.model._ynames_map 检查第一个变量。这将返回一个字典,并且带有 0 键的值应该是用于所指对象的值。

    2. This site 提供了一些如何解释所指对象的信息。我不会通过重新输入来强调这一点。它不在 python 中,但统计的租户跨语言。

    3. 由于第一个排序的响应用作所指对象,我相信您必须通过添加“AAAAA”或类似于响应的内容来将响应更改为您想要的内容,以确保它出现在列表中的第一位,但是一旦您能够知道所指对象是哪一个并根据需要调整您的结论措辞,那就没有必要了。

    【讨论】:

      【解决方案2】:
      1. 截距项是您的参考水平的结果(即“缺失”类别), 您可以通过检查变量的第一级来检查您的参考是什么
      2. 检验统计量和 p 值在参考类别的截距项中
      3. 重新调整您的分类变量,您可以选择使用不同的对比处理来设置您想要的对比类型。

      【讨论】:

      • 你能给出一个示例代码来说明如何做#1(检查变量的第一级)吗?
      • 我不能,因为我不使用 Python,但应该有一些类似于 levels() 的功能。
      猜你喜欢
      • 1970-01-01
      • 2021-03-04
      • 2020-03-02
      • 1970-01-01
      • 2018-07-26
      • 2014-02-20
      • 2018-01-20
      • 1970-01-01
      • 2020-03-11
      相关资源
      最近更新 更多