APP下载

提高回归模型拟合优度的策略(Ⅲ)
——校正均值变换与其他变量变换

2019-03-29胡良平

四川精神卫生 2019年1期
关键词:因变量名义校正

胡良平

(1.军事医学科学院研究生院,北京 100850;2.世界中医药学会联合会临床科研统计学专业委员会,北京 100029

1 问题的提出

1.1 “算术均值变换”有改进的余地

本期科研方法专题的《提高回归模型拟合优度的策略(Ⅱ)——算术均值变换与其他变量变换》一文(以下简称“前文”)提出了对“多值名义自变量(包括多值有序自变量)”进行“算术均值变换”的处理方法,配合其他变量变换方法(指对定量自变量与因变量的多种变量变换方法),较好地提高了回归模型的拟合优度。然而,“算术均值变换”有改进的余地。因为在计算多值名义自变量各水平组中定量因变量的均值时,其“隐含前提条件”是“没有其他自变量”或“其他自变量的影响完全相同”。事实上,在具有多自变量的回归分析资料中,除了“多值名义自变量或多值有序自变量或二值自变量”外,还有多个“定量自变量”,而且,没有理由认为这些“定量自变量”满足前面述及的“隐含前提条件”。需要借助“协方差分析”的计算方法消除“其他定量自变量”对定量因变量的影响。此时,求出的“多值名义自变量”各水平下“定量因变量的均值”被称为“校正均值”。采用“校正均值”取代“算术均值”的方法被称为“校正均值变换”法。

1.2 用“校正均值变换”取代”哑变量变换”

1.2.1 何为“校正均值变换”

求“校正均值”的具体方法是借助“协方差分析”,在方差分析模型中,分组变量为“多值名义自变量”,它是一个“定性影响因素”,再将其他的定量自变量一同写入“一般线性模型”,以“定量因变量”为协方差分析的“因变量”。在获得“协方差分析”结果之前,需要计算出“消除了其他定量自变量影响”条件下“定性影响因素”各水平下“定量结果变量”的均值,它们被称为“校正均值”。

1.2.2用“校正均值变换”取代“哑变量变换”的合理性

前文已用了较大篇幅陈述了用“算术均值变换”取代“哑变量变换”的合理性。由上面的内容可知,“校正均值”比未校正的“算术均值”更合理。故用“校正均值变换”取代“哑变量变换”的合理性,也就不言而喻了。

1.3 实际问题与数据结构

沿用本期科研方法专题第一篇文章《提高回归模型拟合优度的策略(Ⅰ)——哑变量变换与其他变量变换》中的“实际问题与数据结构”[1],此处不再赘述。

2 解决问题的思路和做法

2.1 对自变量和因变量的处置方法

2.1.1对“燃油种类(fuel)”这个“6值名义自变量”进行”校正均值变换”

求出“燃油种类(fuel)”各水平下“氧化氮释放量(nox)”的校正均值所需要的SAS程序如下:

/*下面的SAS程序计算出多值名义变量各水平下定量因变量的校正均值*/

data aa;

set sashelp.gas;

proc glm data=aa;

class fuel;

model nox=fuel cpratio eqratio;

lsmeans fuel;

run;

【说明】上面的“lsmeans语句”就是希望输出“多值名义自变量(fuel)”各水平下的“校正均值”。

【SAS输出结果】

校正均值Fuelnox LSMEAN82rongas3.5185295994%Eth2.11619735Ethanol1.95691843Gasohol3.32335605Indolene3.54233497Methanol1.54554003

将“燃油种类(fuel)”的各水平变换成与定量因变量相应的“算术均值”所需要的SAS程序如下:

/*下面的SAS程序将多值名义变量各水平变换成与定量因变量相应的校正均值*/

data a1;

set sashelp.gas;

if fuel=' 82rongas' then mfuel=3.51853;

else if fuel=' 94%Eth' then mfuel=2.11620;

else if fuel=' Gasohol' then mfuel=3.32336;

else if fuel=' Indolene' then mfuel=3.54233;

else if fuel=' Methanol' then mfuel=1.545540;

else if fuel=' Ethanol' then mfuel=1.95692;

run;

通过运行上面的SAS程序,在原数据集sashelp.gas中就增加了一个定量自变量mfuel,将用它取代多值名义自变量“燃油种类(fuel)”。

2.1.2 对定量因变量和自变量的处置方法

“对定量因变量和自变量不做任何变换”“仅对定量自变量做变换”“仅对定量因变量做变换”和“同时对定量自变量和因变量做变换”,这几种情况的“具体含义”参见“前文”“第2.1.2节至第2.1.5节”,此处从略。

2.2 对定量自变量和因变量进行变量变换的方法

2.2.1对定量自变量进行多种变量变换,以产生派生变量

所需要的SAS程序如下:

/*在数据集a1的基础上增加定量自变量的各种派生变量18个,形成数据集a2*/

data a2;

set a1;

x1=log(cpration);x2=sqrt(cpration);x3=exp(cpration);

x4=cpratio**2;x5=x4*cpratio;

w1=log(eqration);w2=sqrt(eqration);w3=exp(eqration);

w4=eqratio**2;w5=w4*eqratio;

z1=log(mfuel);z2=sqrt(mfuel);z3=exp(mfuel);

z4=mfuel**2;z5=z4*mfuel;

m1=cpration*eqration;m2=cpration*mfuel;

m3=eqration*mfuel;

run;

运行以上SAS程序后,就创建了数据集a2,它在数据集a1基础上增加了由三个定量自变量“cpratio”“eqratio”和“mfuel”派生出来的18个新自变量,它们分别是每个定量自变量的自然对数变换、平方根变换、指数变换、平方变换和立方变换的结果;还有三个定量自变量两两交叉乘积变换的结果。

2.2.2 对定量因变量进行5种变量变换

所需要的SAS程序如下:

/*在数据集a2的基础上增加定量因变量的5种变量变换结果,形成数据集a3*/

data a3;

set a2;

y1=log(nox);y2=sqrt(nox);y3=exp(nox);

y4=1/nox;y5=exp(nox)/(1+exp(nox));

run;

运行以上SAS程序后,就创建了数据集a3,它在数据集a2基础上增加了由定量因变量(nox)派生出来的5个新因变量,它们分别是自然对数变换(y1)、平方根变换(y2)、指数变换(y3)、倒数变换(y4)和Logistic变换(y5)的结果。

2.3 基于“校正均值变换”的建模策略

【说明】在以下的建模策略中,先对多值名义自变量进行“校正均值变换”;然后在以下每种情形中都将分别在“包含截距项”与“不含截距项”的条件下,分别采取“前进法”“后退法”和“逐步法”筛选自变量。

建模策略将由以下六部分组成:①以“氧化氮释放量(nox)”为定量因变量;②以“氧化氮释放量的自然对数变换结果(y1)”为定量因变量;③以“氧化氮释放量的平方根变换结果(y2)”为定量因变量;④以“氧化氮释放量的指数变换结果(y3)”为定量因变量;⑤以“氧化氮释放量的倒数变换结果(y4)”为定量因变量;⑥以“氧化氮释放量的Logistic变换结果(y5)”为定量因变量。以上6种建模策略的具体内容与“前文第2.3.1节至第2.3.6节”完全相同,此处从略。

3 基于“校正均值变换与其他变量变换”的回归建模结果与评价

3.1 各种回归建模策略下所得主要结果的汇总

以摘要形式呈现选出的24个拟合较好的回归模型见表1。

3.2 基于“校正均值变换与其他变量变换”回归建模效果的分组评价

这部分有六个小标题,其内容与“前文”中相应部分完全相同,详见“前文第3.2.1节至第3.2.6节”,此处从略。

3.3 对各组模型中挑选出来的最优模型再进行拟合优度的总评价

从以上的“评价结果”可知:模型4、模型8、模型12、模型16、模型20和模型24分别是从6组模型中挑选出来的“最优模型”,现将它们从表1中摘录出来,以便直观比较和判断。见表2。

表1 反映24个多重回归模型拟合优度的计算结果

注:第1组模型对应的因变量为“氧化氮释放量(nox)”;第2组模型对应的因变量为“氧化氮释放量的自然对数变换结果(y1)”;第3组模型对应的因变量为“氧化氮释放量的平方根变换结果(y2)”;第4组模型对应的因变量为“氧化氮释放量的指数变换结果(y3)”;第5组模型对应的因变量为”“氧化氮释放量的倒数变换结果(y4)”;第6组模型对应的因变量为”氧化氮释放量的Logistic变换结果(y5)”

表2 各组挑选出来的6个“最优”多重回归模型拟合优度的计算结果

由表2可知:模型24是6个“最优”模型中“最佳”的。该模型的因变量为“氧化氮释放量的Logistic变换结果(y5)”,从全部(3+18=21个)自变量中筛选出了12个具有统计学意义的自变量,模型中不含截距项。具体计算结果如下:

变量参数估计值标准误差II 型 SSFPr > FCpRatio-0.305280.151010.002474.090.0449EqRatio-294.7077832.775120.0489080.85<0.0001x21.516950.692470.002904.800.0300x40.004580.002060.003004.970.0273w187.098569.411430.0518085.65<0.0001w2-349.8387438.958570.0487780.64<0.0001w3284.6897431.703120.0487780.64<0.0001w5-130.5704714.465230.0492881.48<0.0001z20.342150.078430.0115119.03<0.0001z50.002360.000988630.003465.710.0180m1-0.024140.002950.0403766.74<0.0001m3-0.132250.018390.0312951.72<0.0001

输出以上结果的“SAS过程步程序”如下:

/*模型24:R2=0.9992,调整R2=0.9992,MSE=0.00060486,Cp=14.9351,niv=12,无截距项*/

Proc reg data=a3;

model y5=cpratio eqratio mfuel x1-x5 w1-w5

z1-z5 m1-m3/noint selection=backward sls=0.05 r;

/*模型24*/

run;

3.4 小结

在对定量因变量构建多重回归模型的过程中,摒弃了传统统计思维下的理论和方法(对定量因变量和定量自变量保持一次方形式,即不做任何变量变换,也不产生派生变量;对多值名义自变量进行哑变量变换,构建所谓的“多重线性回归模型”),而引入了动态统计思维下的理论和方法(对定量因变量分别采取不做变量变换和做5种变量变换,即对数变换、平方根变换、指数变换、倒数变换和Logistic变换);淘汰了对“定量自变量不做任何变换”和“永远固定为一次方形式”的僵化思维,不仅对其做“对数变换、平方根变换和指数变换”,还引入了“平方项、立方项和交叉乘积项”;本文提出了一种新的变量变换方法,即对“多值名义自变量”进行“校正均值变换”,不仅将其变换成“定量自变量”,还产生出多项派生变量。

由表1和表2可知:基于传统统计思维创建的回归模型的拟合效果非常差(模型编号分别为1、5、9、13、17、21),而基于动态统计思维创建的回归模型的拟合效果很好(表2中除模型16之外)。其中,“校正均值变换”“引入派生变量”“假定回归模型中不含截距项”和“找到定量因变量合适的变量变换方法(就本文实例而言,除了‘指数变换’外,其他4种变量变换方法的拟合效果都相当好,其中最佳的是Logistic变换)”是动态统计思维“建模策略”中的核心。

有兴趣的读者可以运用文献[2-4]中“机器学习”算法,实现本文资料的回归建模,并将其拟合结果与本文进行比较,从而发现不同分析方法的优缺点。

猜你喜欢

因变量名义校正
调整有限因变量混合模型在药物经济学健康效用量表映射中的运用
劉光第《南旋記》校正
基于MR衰减校正出现的PET/MR常见伪影类型
以二胎的名义,享受生活
以法律的名义,捍卫英烈荣光
在Lightroom中校正镜头与透视畸变
机内校正
偏最小二乘回归方法
谈谈如何讲解多元复合函数的求导法则
以创新的名义宣誓发展