DeepSeek做统计第4期:AI 自动做混合效应模型(多水平模型)

360影视 国产动漫 2025-03-29 16:26 2

摘要:Prompt 示例:以'Blood.test'为因变量,'Age','Sex','Treatment'作为固定效应,'Hospital'作为随机效应,用lme4::lmer做线性混合效应模型DeepSeek统计学插件自动运行结果:理论上Deepseek 能够完

Prompt 示例:

以'Blood.test'为因变量,'Age','Sex','Treatment'作为固定效应,'Hospital'作为随机效应,用lme4::lmer做线性混合效应模型


DeepSeek统计学插件自动运行结果:



理论上Deepseek 能够完成任何一种统计分析。但现阶段,和Deepseek对话还是需要一些统计学常识。如果统计学较薄弱的同学,可以在www.mstata.com上使用Deepseek的统计学插件来完成分析:

Mstata Deepseek 统计学插件可以在聊天的同时同步运行 Deepseek生成的 R 代码;

直接出统计表、统计图;

下载 word 版的统计表、PDF版的统计图;

提供大量已经验证过的统计分析 prompt 示例模版


尽管DeepSeek 可以做所有的统计学分析。但是很多人不会用,因为撰写提示词 prompt需要一定的统计学知识,因此需要一些模板来指导,通过本公众号,您能学习到一些提问的技巧。

增加了 DeepSeek 统计学插件,导入自己的数据集,让大家和 DeepSeek 对话完成统计分析时,同时调用后台的 R 软件进行实时分析,并将分析结果整理输出为 word 文档。


本公众号现在分期介绍一些实用的 DeepSeek 的 prompt 模板。第4期介绍如何一句话完成各种混合效应模型(多水平模型):


, 左上角选择进入Mstata 医学统计机器人,菜单选择“数据准备”,导入数据后,选择“定义字段”, 正确定义好连续性变量和分类变量后,点击 “deepseek 自动统计分析工具” 菜单,进入页面并选择一个线性回归的prompt 模板后进行 对话分析。


模版示例,从易到难:


线性混合效应模型:


# 基础模型(单随机截距)

"以'Blood.test'为因变量,'Age','Sex','Treatment'作为固定效应,'Hospital'作为随机效应,用lme4::lmer做线性混合效应模型",


"以'Blood.test'为因变量,'Age','Sex','Treatment'作为固定效应,'1|Hospital'作为随机效应,用lme4::lmer做线性混合效应模型",


# 多随机截距

"以'Cholesterol_level'为因变量,'BMI','Smoking_status','Exercise'作为固定效应,'Hospital'和'Patient_ID'作为随机效应,用lme4::lmer做线性混合效应模型",


# 嵌套随机效应

"以'Bone_density'为因变量,'Calcium_intake','Vitamin_D','Menopause_status'作为固定效应,'Hospital/Department'作为嵌套随机效应,用lme4::lmer做线性混合效应模型",


# 随机截距+斜率

"以'Cognitive_score'为因变量,'Education_years','APOE_genotype'作为固定效应,'Education_years'在'Family_ID'内的随机斜率,用lme4::lmer做线性混合效应模型",


# 复杂随机结构

"以'Tumor_size'为因变量,'Drug_dose','Biomarker_level'作为固定效应,'(1|Research_center) + (Drug_dose|Lab)'作为跨层次随机效应,用lme4::lmer做线性混合效应模型"



Logistic混合效应模型(lme4::glmer)

# 基础模型(随机截距)

"以'Disease_status'为因变量(二分类),'Age','Genetic_risk','Pollution_exposure'作为固定效应,'Region'作为随机效应,用lme4::glmer做Logistic混合效应模型",


# 随机斜率

"以'Surgical_complication'为因变量,'Anesthesia_type','Surgery_duration'作为固定效应,'Anesthesia_type'在'Surgical_team'内的随机斜率,用lme4::glmer做Logistic混合效应模型",


# 多水平嵌套

"以'Microbiome_abnormality'为因变量,'Antibiotic_use','Diet_type'作为固定效应,'Country/City/Hospital'作为三级嵌套随机效应,用lme4::glmer做Logistic混合效应模型"

Cox混合效应模型


# 基础生存模型

"以'OS_time'作为时间,'OS_status'作为生存状态,'Chemo_regimen','Tumor_marker'作为固定效应,'Clinical_site'作为随机效应,用coxme::coxme做Cox混合效应模型"


# 多水平随机风险

"以'DFS_time'作为时间,'Recurrence_status'作为生存状态,'Immunotherapy','Staging'作为固定效应,'(1|Country) + (1|Hospital) + (Immunotherapy|Oncologist)'作为多层次随机效应,用coxme::coxme做Cox混合效应模型"



提问技巧


一般用如下格式:

以XXX作用因变量,XXX,XXX 作为固定效应,XXX,XXX作为随机效应,做线性/Logsitic/Poisson/Cox 混合效应模型


其中XXX为变量名称。


下面用通俗的话解释固定效应和随机效应,不使用任何专业的统计学语言,仅为了让临床医生容易理解:


我们通常做普通回归模型的自变量,也就是影响因素,可以认为就是固定效应;

那为什么还要做随机效应呢?

人群在某个维度聚集(cluster), 比如来自多家医院。同一家医院的患者可能有其相似性,例如接受同种医疗水平的治疗等。而普通回归要求每个个体独立,同一家医院的患者因为在医院水平有聚集性,所以可能不独立,因此采用混合效应模型,将医院设为随机效应;

影响因素为分类变量时,普通回归通常将分类变量拆分成哑变量,其中一个作为参照组,其他亚组分别和参照组比较,得到回归系数,OR值、HR值、P值等;但如果分类的亚组太多,例如临床试验中几十上百家医院,那么如果设置为哑变量,其中一家医院作为参照组,其他医院分别和它比较的话,没有太多意义,反而不能正确的对回归系数进行无偏估计。因为我们对医院之间的比较并没有兴趣,不是这个临床试验研究的重点,因此通常将医院设置为随机效应,做混合效应模型。

同一个患者多次测量结局指标,也就是数据库结构中,同一个患者有多行数据,每次检测指标在患者这个维度不独立,有聚集性,此时可以将患者ID号设置为随机效应,做混合效应模型,也就是重复测量分析;

聚集呈现层级结构,例如一个患者有多次检测,而患者来自不同医院,而医院来自不同省份,那么 患者-医院-省份 就呈现嵌套的层级结构,此时可以将 患者-医院-省份 设置为嵌套的随机效应。也就是多水平模型


数据集的转换


如果您的数据集结构是这样的:


ID Age test(time1) test(time2) test(time3)

1 45 34 44 35

2 35 45 89 33


患者在三个时间点分别测量某指标,作为研究结局,如果想研究年龄对

某次测量的影响,普通回归就用上面这样的数据结构,一个患者一行。


但是如果视为重复测量的话,一个患者多次测量,则需要将数据结构转换成下面这样:


ID Age time test

1 45 1 34

1 45 2 44

1 45 3 35

2 35 1 45

2 35 2 89

2 35 3 33


之前的表格,数据叫做宽表,而现在的表格,术语叫做长表,二者的转换,术语叫做长宽转换。


如果要做重复测量,将患者ID号作为随机效应,则必须转换成长表。这样就可以用混合效应模型,探索Age 和 time 对 test 的影响。


如果导入这个数据集,就可以给DeepSeek 下命令:

用'test' 作为因变量,Age和time作为固定效应,ID作为随机效应,做线性混合效应模型。



下面来看例子:



我们来看一下输出的表格,表格上半部分显示的是固定效应 Age Sex 和 Treatment,和线性回归没什么两样,下班部分显示了随机效应的结局和残差的标准差。


更复杂的模型(省份和医院二级嵌套):


以'Effectiveness'为因变量,'Age','Sex', 'Treatment'作为固定效应,'Province/Hospital'作为二级嵌套随机效应,用lme4::glmer做Logistic混合效应模型


示例:


可以看到,使用 DeepSeek 统计学插件进行嵌套层级结构的混合效应模型,非常简单和方便,比自己编程写代码,要便利太多,这就是科技的力量。

总结:


Deepseek 能够完成任何一种统计分析。但现阶段,和Deepseek对话还是需要一些统计学常识。如果统计学较薄弱的同学,需要访问www.mstata.com,套用一些prompt模板,并在mstata软件中的DeepSeek统计学插件上直接运行 DeepSeek 生成的 R 代码。



来源:真实世界研究

相关推荐