微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Python中进行多级模型/回归?

如何解决如何在Python中进行多级模型/回归?

我获得了随时间推移的年度数据(纵向数据),并对许多受试者进行了重复测量。我认为我需要多层次的建模/回归来处理同一个人随着时间的推移必将被关联的一系列测量。目前,每年的数据位于单独的表格中。

我想知道scikit-learn中是否有一种方法,如LinearRegression(),能够进行多级回归,其中1级是多年来的所有数据,而2级是用于聚集在主题上(随时间推移每个主题的度量值的簇)。如果是这样,最好将纵向数据纵向放置(每个主题随时间推移的度量都排成一排)或堆叠起来(每年的每个度量都是它自己的列)。

有没有办法做到这一点?

解决方法

对多级模型中的随机效应进行估计并非易事,您通常必须采用贝叶斯推断方法。

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

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

要开始使用pymc3,请在此处查看:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。