使用 statsmodels 在 python 中计算类内相关系数

问题描述 投票:0回答:1

我正在使用 statsmodels.formula.api.mixedlm 来计算类内相关系数和其他指标。

我的数据集非常简单,它包含一个特征值、一个访问日期和一个主题 ID。

我正在使用以下代码块来拟合混合线性模型

mdf = smf.mixedlm("feature_value ~ 1+ visit", data,
    groups=data["subject_id"]
           )
mdf = mdf.fit()

ICC 定义为:between_subject_variance / (between_subject_variance + within_subject_variance)

我知道如何使用 SAS(使用 Var_bw 和 Var_wt 参数)提取这些指标,但是 我不知道如何使用 python 模型访问那些,尤其是主体内方差(我尝试了 mdf.cov_re / (mdf.cov_re + mdf.scale) 但我不相信结果)。有什么建议么?我真的不关心 ICC 我真正想要的是主体间和主体内的差异。

python linear-regression bioinformatics statsmodels mixed-models
1个回答
0
投票

拟合的

cov_re
属性返回随机效应的协方差矩阵,其中包括主体间方差。
scale
参数的平方根为您提供主体内方差

mdf_fit = mdf.fit()

between_var = mdf_fit.cov_re.diagonal().sum()

within_var = mdf_fit.scale ** 2
© www.soinside.com 2019 - 2024. All rights reserved.