【问题标题】:How do I conduct a Multilevel Model/Regression in Python?如何在 Python 中进行多级模型/回归?
【发布时间】:2020-10-15 20:32:53
【问题描述】:

我有一段时间内的年度数据(纵向数据),对许多受试者进行了重复测量。我认为我需要多级建模/回归来处理随着时间的推移对同一个人的肯定相关的测量集群。目前每年的数据都在单独的表格中。

我想知道 scikit-learn 中是否有一种内置方法,例如 LinearRegression(),它能够进行多级回归,其中级别 1 是多年来的所有数据,级别 2 是聚集在受试者上(每个受试者随时间的测量结果的群集)。如果是这样,最好将纵向数据按长度排列(每个受试者随时间的测量都在一行中)或堆叠(每年的每个测量都是它自己的行)。

有没有办法做到这一点?

【问题讨论】:

    标签: python regression linear-regression multilevel-analysis


    【解决方案1】:

    在多级模型中估计随机效应并非易事,您通常必须求助于贝叶斯推理方法。

    我建议您查看贝叶斯推理包,例如 pymc3 或 BRMS(如果您知道 R),您可以在其中指定这样的模型。或者,查看 R 中的 lme4 包,了解多级模型的全频率实现。

    另外,我认为您可以从“睡眠剥夺”数据集中获得一些灵感,该数据集用作纵向数据分析的教科书示例 (https://cran.r-project.org/web/packages/lme4/vignettes/lmer.pdf) pg.4

    要开始使用 pymc3,请看这里:

    https://github.com/fonnesbeck/Bios8366/blob/master/notebooks/Section4_7-Multilevel-Modeling.ipynb

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 2019-09-18
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2017-11-05
      • 2016-05-13
      相关资源
      最近更新 更多