生物医药领域构建模型,根据研究目的的不同,可以有三种模型:①风险因素发现模型,其目的是探索某疾病或某健康事件发生的可能风险因素,研究重点放在可能的多个影响因素 X ;②风险因素验证模型,其目的是验证某因素在某疾病或健康事件发生中的作用大小,研究重点放在某个需要证明其作用大小的某个 X ;③临床预测模型,其目的是通过构建一个多因素模型,预测某疾病发生或某预后结局发生的概率,研究重点放在 Y ,放在模型的预测效果,希望构建一个预测更加准确有效的模型。三种模型的目的不同,因此,构建模型时的建模策略也不尽相同。
风险因素发现模型 常采用的是“先单后多策略”,即对专业上认为可能有意义的风险因素进行单因素分析,对单因素分析有统计学意义的风险因素,再进行多因素分析,最终以 P <0.05为判断标准,确定某疾病最终的风险因素。先单后多有两种方法:一是单因素分析采用差异性分析的假设检验,如图1-1所示,差异性分析发现7个可能的风险因素,然后将7个可能的风险因素一起纳入模型进行多因素分析PK,如图1-2所示;二是直接采用单因素回归分析,选择有意义的因素,再一起纳入多因素回归分析,如图1-3所示。国内文章以第一种居多,近年有向第二种转变的趋势,而SCI论文往往以第二种居多。
图1-1 单因素分析(差异性检验)
图1-2 差异性分析后多因素分析
图1-3 单因素回归与多因素回归分析
验证风险模型 建模常采用“抽丝剥茧策略”或“层层加码策略”。其建模首先进行该因素 X 与 Y 的单因素回归,其次逐渐往模型中添加不同的控制因素,以期发现在控制了若干可能的混杂因素之后,最后证明该因素 X 是否是 Y 的风险因素,并确定其风险大小。
如图1-4所示,该作者为了验证serum sphingomyelin与CHD发病的关系,先构建了Model1,单独研究serum sphingomyelin与CHD发病关系得到HR(常称为crude HR或unadjusted HR),结果发现serum sphingomyelin每改变1个单位,CHD发生风险增加44%( P <0.001);然后在Model1的基础上构建Model2,在serum sphingomyelin基础上,模型增加了性别、糖尿病发病年龄、糖尿病病程与吸烟,结果发现serum sphingomyelin依旧与CHD发病有关,HR=1.24( P =0.038);然后继续在Model2基础上增加变量构建Model3,如此反复直至Model8,最终在Model8中发现,serum sphingomyelin与CHD发病风险并无关系,虽然HR=1.16,但 P =0.18已经无统计学意义,所以最终证明serum sphingomyelin可以“无罪释放”。
图1-4 serum sphingomyelin与CHD发病风险验证
通过这种在要验证的核心 X 基础上“逐层加码”,对 X 与 Y 之间的关系进行“抽丝剥茧”,最终对 X 是否是导致 Y 发生的风险因素进行验证,从某种程度上,松哥认为比风险因素发现模型要更具价值,因为这类模型可以对某 X 进行“最终审判”;图1-5也展示了这种验证风险模型的构建策略。
图1-5 验证性风险因素建模展示
临床预测模型 是指利用多因素模型估算患有某病的概率或将来某结局的发生概率,主要分为诊断模型(diagnostic model)和预后模型(prognostic model)。
诊断模型主要基于研究对象的临床特征,预测当前患有某种疾病的概率,多见于横断面研究,病例对照研究;预后模型则是针对患有某种疾病的研究对象,预测将来疾病复发、死亡、伤残等转归的概率,多见于纵向研究。
临床预测模型建模策略依旧采用的是“先单后多策略”,但是其重点在于对 Y 预测的准确性,即不再对模型中每一个 X 是否 P <0.05纠结,只要模型整体预测效果好,可以包容 P >0.05的 X 在模型内的存在,此时模型优劣判定往往按照AIC准则进行,图1-6和图1-7反映了预测模型先单后多的建模策略。
图1-6 临床预测模型先单后多Logistic回归建模策略展示
图1-7 临床预测模型先单后多COX回归建模策略展示
临床预测模型的建模,有一个“门当户对”原则,这个虽然统计教材中没有说,但确实是数据处理的经验累积。“门当户对”是指,我们研究的变量从性质而论,有定量与定性两类,建模时尽量满足因变量与自变量的定量对定量,定性对定性。这就是“门当户对”原则。
临床预测模型中Logistic回归的因变量为二分类变量(注意临床预测模型中的Logistic回归只是Binary Logistic regression,其他多项和有序资料的临床预测模型方法尚不成熟);COX回归的因变量是二分类+时间;所以构建模型时的自变量(风险因素或预测因子)如果是定性则会较好,因为满足“门当户对”的原则,如果Logistic或COX回归中,纳入的是定量变量,也许统计上有意义,也能解释,但是专业上可能不太容易解释。
比如说年龄,如果直接代入,那结果解释则为年龄每增加1岁,发生某种疾病或结局的风险增加多少,统计上没问题,但是试问大家,哪种疾病只要增加1岁,就会增加专业上有意义的风险呢?所以,为什么大家经常看到,很多文章会把年龄进行分组,如小于60岁和大于等于60岁等。
故而,您再看上面的图1-6和图1-7,其中的那么多原本是定量的指标,均根据专业进行了变量降维,从定量降维为定性,如图1-7中的年龄,分为大于等于69岁和小于69岁。看到这您也许会心存困惑,为什么年龄降维分组,在不同文献中往往不一样呢?是的,年龄的降维分组,文献中不下10种方法,没有固定的套路,需要您根据自己的专业或者数据的特征进行降维,具体的请看本书相关章节。