【问题标题】:How to add control variable in regression using statsmodels and sklearn?如何使用 statsmodels 和 sklearn 在回归中添加控制变量?
【发布时间】:2020-01-10 08:08:36
【问题描述】:

我正在尝试使用 statsmodels 和 sklearn 执行多元线性回归,同时控制社会经济地位(年龄、性别、种族)等协变量。 我已经在SPSS中完成了,这很容易,因为我可以点击我想要控制的变量,但是我必须切换到python,并且不知道是否有任何函数可以让我这样做? 非常感谢!

【问题讨论】:

    标签: python scikit-learn linear-regression statsmodels


    【解决方案1】:

    如果我对您的问题的理解正确,那么您是在尝试弄清楚如何编写多元回归代码?

    你想做的事:

    import statsmodels.formula.api as smf
    results = smf.ols('y ~ x1 + age', data=df).fit()
    print(results.summary())
    

    这会将 y 回归到您的 x1 和年龄。

    如果您想包含性别或种族等内容,则需要引入虚拟变量。 Statsmodels 可以通过在虚拟变量周围编写 C() 来快速做到这一点。这使变量成为类别变量(请记住,数据中的第一个种族或性别将是省略的变量)。

    results_2 = smf.ols('y ~ x1 + age + C(ethnicity) + C(gender)', data=df).fit()
    print(results_2.summary())
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 2022-01-25
      • 1970-01-01
      • 2021-12-26
      • 2016-11-21
      • 2021-09-06
      • 2014-11-29
      • 2023-03-15
      相关资源
      最近更新 更多