
一般情况下,数据自然对数转换可使变量满足线性回归的应用条件。本文从实际应用出发,介绍了在进行线性回归分析时,自变量自然对数转换、因变量自然对数转换和两者都进行自然对数转换后,不能直接用X和/或Y的改变量解释回归方程和系数的原因,并阐述了用X和/或Y的百分比改变来解释回归方程和系数的原理。最后,用三个实例演示自变量、因变量、两者都进行自然对数转换,对拟合线性回归的结果进行了详细解释。
版权归中华医学会所有。
未经授权,不得转载、摘编本刊文章,不得使用本刊的版式设计。
除非特别声明,本刊刊出的所有文章不代表中华医学会和本刊编委会的观点。
在确定研究因素与疾病结果间的关联时,如果结果变量(因变量)为连续变量,一般采用多重线性回归(multiple linear regression,MLR),如腰围、遗传因素、体重指数(body mass index,BMI)与血压的关系。MLR主要用于探讨自变量与连续因变量的关联,确定自变量的相对贡献大小和进行预测分析。MLR分析的自变量可以为连续变量,如年龄、收入和身高等;分类变量,如职业、血型和婚姻状况等;等级变量,如病情的轻、中、重。在拟合MLR时,按变量类型和专业知识,确定自变量以何种形式纳入模型:分类变量以哑变量的形式进入模型;连续变量以线性(原变量值)或分组线性引入模型;等级变量以分组线性或哑变量的形式进入模型。
MLR的模型为:Yi=α+β1Xi1+β2Xi2+…+βkXik+εi,上述公式为总体回归方程,i代表个体,α为截距项(常数项),X1, X2,…, Xk代表回归模型的k个自变量,β1, β2,…, βk为相应自变量的回归系数,εi为误差项(残差项)。用实际数据拟合MLR,其样本回归方程为:
i =a+b1Xi1+b2Xi2+…+bkXik,式中,
i,a,b1, b2,…, bk为总体回归方程相应参数的估计值。
多重线性回归要求结果变量为连续变量,如某现况调查,要探讨性别、年龄、胆固醇、BMI、腰围与血压的关联;这里自变量年龄、胆固醇、BMI、腰围与因变量血压要求为线性关系,这是拟合MLR的条件之一。简单的方法是以BMI(腰围、胆固醇或年龄)为横坐标,血压为纵坐标,作散点图,确定线性关系是否存在。当两者的线性关系不存在或不是很强时,可对自变量、因变量或两者都进行对数转换,使自变量与因变量的线性关系成立或近似成立。另外,医疗费用、死亡率、生存率、国内生产总值(gross domestic product,GDP)和住院天数的分布一般不为正态分布,可通过对数变换使之正态化。对数转换是个单调过程,它不改变x与y的方向,且原值(x)与转换后的值f(x)的大小顺序不变。在统计分析中,多采用以e为底的自然对数转换,即f(x)=loge(x)。
以总体简单线性回归(simple linear regression,SLR)为例,其公式为:Yi=α+βXi+εi,X与Y均为连续变量,这里可能有三种取自然对数形式:X取对数、Y取对数、X与Y同时取对数,分别称为linear-log转换、log-linear转换和log-log转换,对应的样本SLR方程为:
i =a+bloge(Xi);loge(
i)=a+bXi;loge(
i)=a+bloge(Xi)。
注意,这里使用的是以e为底的自然对数,e≈2.718 281 828。下面以实例说明三种变换的应用场景和条件,如何判定该对哪些变量进行自然对数的转换。
例1:我国2016年50个地级市人均地区生产总值(per capita gross regional product,PCGRP)和其城镇人口比重(urban population proportion,UPP)见表1,以人均地区生产总值为自变量,城镇人口比重为因变量,进行线性回归分析。

2016年50个地级市人均地区生产总值与城镇人口比重
2016年50个地级市人均地区生产总值与城镇人口比重
| 地级市 | PCGRP(千元) | lnPCGRP | UPP(%) | 地级市 | PCGRP(千元) | lnPCGRP | UPP(%) |
|---|---|---|---|---|---|---|---|
| 1 | 95.89 | 1.98 | 79.88 | 26 | 8.21 | 0.91 | 26.13 |
| 2 | 93.78 | 1.97 | 82.64 | 27 | 47.63 | 1.68 | 63.92 |
| 3 | 89.90 | 1.95 | 80.32 | 28 | 8.34 | 0.92 | 21.12 |
| 4 | 34.92 | 1.54 | 65.03 | 29 | 41.25 | 1.62 | 60.40 |
| 5 | 71.10 | 1.85 | 70.30 | 30 | 43.81 | 1.64 | 65.43 |
| 6 | 65.35 | 1.82 | 67.35 | 31 | 40.04 | 1.60 | 57.89 |
| 7 | 51.09 | 1.71 | 55.31 | 32 | 23.12 | 1.36 | 51.32 |
| 8 | 39.46 | 1.60 | 58.80 | 33 | 12.12 | 1.08 | 40.23 |
| 9 | 100.01 | 2.00 | 86.78 | 34 | 28.35 | 1.45 | 56.00 |
| 10 | 88.00 | 1.94 | 66.52 | 35 | 7.11 | 0.85 | 10.56 |
| 11 | 77.64 | 1.89 | 75.80 | 36 | 10.12 | 1.01 | 22.14 |
| 12 | 36.00 | 1.56 | 60.50 | 37 | 18.32 | 1.26 | 43.00 |
| 13 | 67.97 | 1.83 | 62.60 | 38 | 21.33 | 1.33 | 47.77 |
| 14 | 36.72 | 1.56 | 61.72 | 39 | 19.27 | 1.28 | 43.55 |
| 15 | 64.17 | 1.81 | 78.13 | 40 | 13.35 | 1.13 | 35.31 |
| 16 | 39.12 | 1.59 | 56.76 | 41 | 11.21 | 1.05 | 28.67 |
| 17 | 50.65 | 1.70 | 66.85 | 42 | 43.22 | 1.64 | 66.76 |
| 18 | 60.00 | 1.78 | 75.98 | 43 | 45.17 | 1.65 | 79.10 |
| 19 | 67.50 | 1.83 | 68.71 | 44 | 71.33 | 1.85 | 66.31 |
| 20 | 35.19 | 1.55 | 57.06 | 45 | 8.10 | 0.91 | 15.15 |
| 21 | 70.82 | 1.85 | 75.19 | 46 | 43.54 | 1.64 | 67.19 |
| 22 | 52.32 | 1.72 | 60.94 | 47 | 77.17 | 1.89 | 65.23 |
| 23 | 17.21 | 1.24 | 47.69 | 48 | 11.99 | 1.08 | 32.57 |
| 24 | 26.85 | 1.43 | 62.67 | 49 | 15.21 | 1.18 | 40.12 |
| 25 | 28.81 | 1.46 | 63.33 | 50 | 80.23 | 1.90 | 69.18 |
注:PCGRP:人均地区生产总值;lnPCGRP:人均地区生产总值的自然对数变换值;UPP:城镇人口比重
以PCGRP为横坐标,UPP为纵坐标,其散点图见图1A;以lnPCGRP为横坐标,UPP为纵坐标,其散点图见图1B。图1A可见,随着PCGRP的增加,UPP也增加,但PCGRP值低时,UPP上升的比较快,呈现一个指数上升的趋势,而非线性。将PCGRP取自然对数后,图1B可见,lnPCGRP与UPP呈现一个线性增加的趋势,即正相关关系。


PCGRP:人均地区生产总值;UPP:城镇人口比重
例2:上述例1资料,以UPP为自变量,PCGRP为因变量,进行线性回归分析。以UPP为横坐标,PCGRP为纵坐标,其散点图如图2A;以UPP为横坐标,lnPCGRP为纵坐标,其散点图如图2B。图2A可见,随着UPP的增加,PCGRP也增加,但UPP值高时,PCGRP上升的比较快,呈现一个指数上升的趋势,而非线性。将PCGRP取自然对数后,图2B可见,UPP与lnPCGRP呈现一个线性增加的趋势,即正相关关系。


PCGRP:人均地区生产总值;UPP:城镇人口比重
例3:某省肿瘤医院总结随访了10年来曾在该医院住院手术的乳腺癌患者715例,每年的生存情况见表2。试以术后生存时间(YEAR)为自变量,生存率(SURVIVAL)为因变量,进行线性回归分析。

某医院住院手术的715例乳腺癌患者生存情况
某医院住院手术的715例乳腺癌患者生存情况
| YEAR(年) | SURVIVAL(%) | lnYEAR | lnSURVIVAL |
|---|---|---|---|
| 1 | 90.75 | 0.00 | 1.96 |
| 2 | 71.92 | 0.30 | 1.86 |
| 3 | 60.11 | 0.48 | 1.78 |
| 4 | 53.21 | 0.60 | 1.73 |
| 5 | 45.23 | 0.70 | 1.66 |
| 6 | 42.12 | 0.78 | 1.62 |
| 7 | 40.41 | 0.85 | 1.61 |
| 8 | 39.19 | 0.90 | 1.59 |
| 9 | 36.55 | 0.95 | 1.56 |
| 10 | 36.21 | 1.00 | 1.56 |
注:YEAR为生存时间;SURVIVAL为生存率
根据表2中的数据,以YEAR为横坐标,SURVIVAL为纵坐标,其散点图见图3A;以lnYEAR为横坐标,lnSURVIVAL为纵坐标,其散点图见图3B。图3A可见,SURVIVAL呈指数下降,将术后YEAR和SURVIVAL都取自然对数后,lnYEAR与lnSURVIVAL呈现一个线性下降的趋势(图3B)。这种情况在生存率分析中常见,称为二次对数生存曲线图(LLS),可用来判断Cox比例风险模型的等比例假设。


YEAR:生存时间;SURVIVAL:生存率
简单线性回归方程为:Yi=α+βXi+εi,α为截距,表示当自变量X为0时,因变量Y的平均估计值;回归系数β表示当X增加或减少1个单位时,Y的平均估计值改变量。
当自变量取自然对数时,这种对β的直观解释依然可行,表示当X增加或减少1个自然对数单位时,Y的平均估计值(
)改变量;当因变量取自然对数时,β表示当X增加或减少1个单位时,
自然对数改变量;当自变量和因变量都取自然对数时,β表示当X增加或减少1个自然对数单位时,
自然对数改变量。
将回归系数β直接解释为自然对数改变量固然可以,但有时我们在对自变量和/或因变量进行对数转化后,仍需要用原X和Y来解释回归方程和回归系数,而非用对数单位的形式。这时不能简单地将X和Y取反对数,而是用百分比改变(percentage changes)来解释。下面结合实例1~3,分别对linear-log转换、log-linear转换和log-log转换(ln=loge)进行详尽的阐述。
回归方程为
i=a+bloge(Xi),b可直接解释为loge(X)增加或减少1个单位时,
的改变量。例1资料拟合方程,SAS语句为:
PROC REG DATA=example1;MODEL UPP=lnPCGRP;RUN;
拟合的方程为:UPP=-23.341+52.277lnPCGRP,R2=0.891,R2adj=0.889。
回归方程的方差分析,P<0.001,自变量lnPCGRP回归系数的显著性检验,P<0.001。
截距项为-23.341,是指lnPCGRP=0时,即PCGRP=1,城镇人口比重UPP的平均估计值;实际上,与大部分线性回归一样,截距项无实际意义。回归系数b为正值,解释为:人均地区生产总值自然对数每增加1个单位,城镇人口比重将平均增加52.277%。
现在来看如何根据PCGRP的改变,而不是loge(PCGRP)的改变来解释回归方程。将loge(PCGRP)加上1,即loge(PCGRP)增加1个单位,loge(PCGRP)+1=loge(PCGRP)+loge(e)=loge(PCGRP×e),loge(PCGRP)增加1个单位意味着PCGRP乘以e(e=2.718 28)。用百分比改变表示为:
×100%=(2.718 28-1) × 100%=171.828%,即PCGRP增加171.828%。根据PCGRP的改变可以解释为:当PCGRP乘以e或PCGRP增加171.828%时,UPP的平均估计值改变量为b,b为正值,即增加52.277%。可以推导如下:
当X取X1时,loge(X1);当X取X2时,loge(X2);当loge(X)增加1个单位时,记为loge(X2)- loge(X1)=1,则loge(X2)-loge(X1)=loge(e),或loge(
)=loge(e),可知X2=e×X1,
=e, X2是X1的2.718 28倍。X2和X1的关系,可以用百分比改变表示:
×100%=
×100%=(2.71828-1)×100%=171.828%。即当loge(X)增加1个单位时,X不能直接表示出其增加量,改用百分比改变表示,则X增加171.828%。
一般情况下,当X增加p%时,Y的平均估计值改变量,可写为:
,式中当X增加10%时(X乘以1.1),Y的平均估计值改变量为b×loge
=b×loge
=0.095 31b;当X增加1%时(X×1.01),Y的平均估计值改变量为
。
例1资料,当PCGRP增加10%时,UPP的平均估计值改变量为:0.095 31×52.277%=4.982 52%;当PCGRP增加1%时,UPP的平均估计值改变量为:0.009 95×52.277%=0.52016%。注意:这里b为正值,表示UPP的平均估计值增加0.520 16%;如果b为负值,表示UPP的平均估计值减少0.520 16%。
当p很小时,如p≤1,loge
/100, b×
≈b×p/100。本例,当PCGRP增加1%时,b×
52.277%×0.01=0.522 77%,与前面计算的0.520 16%非常接近。
对于log-linear转换,loge(
i)=a+bXi,b解释为:X增加1个单位时,loge (Y)的平均估计值改变量。如用Y来解释,X增加1个单位,意味着Y的平均估计值为
×eb;X增加d个单位,意味着Y的平均估计值为
×edb。可推导如下:
当X取X1时,loge(
1)=a+bX1;当X取X2时,loge(
2)=a+bX2;当X增加1个单位时,即X2-X1=1;当X增加d个单位时,X2-X1=d。假设X增加1个单位,则loge(
2)-loge(
1)=(a+bX1)=b,可得:b=loge(
2)-loge(
1)=loge(
),
=eb,则
2=
1×eb。
2和
1的关系可用百分比改变表示:
×100%=
×100%=(eb-1)×100%,因此,当X增加1个Y1单位时,Y的平均估计值百分比改变为:(eb-1)×100%。例2资料,拟合式(5),SAS语句为:
PROC REG DATA=example2;MODEL lnPCGRP=UPP;RUN;拟合的方程为:lnPCGRP=0.566+0.017UPP,R2=0.891,R2adj=0.889。
回归方程的方差分析,P<0.001,自变量UPP回归系数的显著性检验,P<0.001。
截距项为0.566,是指UPP=0时,lnPCGRP的平均估计值,求得PCGRP=1761.208(元)。回归系数b为正值,可直接解释为城镇人口比重(%)增加1个单位(1%),lnPCGRP的平均估计值增加0.017。
本例如用前述式(8)百分比改变来表示,UPP增加1个单位(1%),PCGRP的百分比改变(e0.017-1)×100%=1.714 532%,即PCGRP增加了1.714 532%;UPP增加3个单位(3%),PCGRP的百分比改变(e3×0.017-1)×100%=5.232 289%,即PCGRP增加了5.232 289%。如果b为负值,(e-0.017-1)×100%=-1.685 631 5%,UPP增加1个单位(1%),PCGRP的百分比改变为-1.685 631 5%,即PCGRP减少了1.685 631 5%。
近似计算,对于很小的b值,eb≈1+b,b×100%就是X增加1个单位,
的百分比改变。例2资料,b=0.017,0.017×100%=1.7%,即UPP增加1个单位(1%),PCGRP的百分比改变为1.7%,即PCGRP增加了1.7%,与前面的计算近似。
对于自变量和因变量都取自然对数的log-log转换,loge(
i)=a+bloge(Xi),b可直接解释为:loge(X)一个单位的增加,loge(Y)的平均估计值改变量。如果用X和Y来表达,其实就是linear-log转换和log-linear转换的结合,X和Y都只能用百分比改变解释,即当X以某百分比增加时,Y的平均估计值百分比改变(增加或减少)。当X增加p%时,按式(7),Y的平均估计值改变量为:
;因变量取自然对数时,按式(8),Y的平均估计值百分比改变为(ea-1)×100%。X和Y均用百分比改变表示,一般公式:
。
例3资料,SAS语句为:
PROC REG DATA=example3;MODEL lnSURVIVAL=lnYEAR;RUN;
拟合的方程为:lnSURVIVAL=1.973-0.427lnYEAR,R2=0.991,R2adj=0.990。
回归方程的方差分析,P<0.001,自变量lnYEAR回归系数的显著性检验,P<0.001。
截距项为1.973,是指ln_YEAR=0时,生存率自然对数的平均估计值。b为负值,可直接解释为术后生存时间的自然对数增加1个单位,生存率的自然对数平均估计值减少0.427。
如用X和Y百分比改变来解释,例3资料,当X增加10%时:按linear-log转换,loge(Y)的平均估计值改变为b×
=-0.427×0.09531=-0.040697;按log-linear转换,
,Y的平均估计值百分比改变(0.960 120-1)×100%=-3.988%,即术后生存时间(YEAR)增加10%,生存率(SURVIVAL)百分比改变-3.988%,即生存率降低了3.988%。
当X增加1%时,按linear-log转换,Y的平均估计值改变量为
=-0.427 × 0.009 95 = -0.004 248 65;按log-linear转换,
,Y的平均估计值百分比改变(0.995 760 363-1)×100%=-0.423 963 7%,即术后活满的年数(YEAR)增加1%,生存率(SURVIVAL)百分比改变为-0.423 963 7%,即生存率降低了0.423 963 7%。
注意:如果b为正值,术后生存时间(YEAR)增加1%,按式(9),Y的平均估计值百分比改变(e0.00424865-1)×100%=0.425 768 8%,即生存率提高了0.425 768 8%。
在进行线性回归时,如果数据不满足线性、独立、正态和方差齐的条件,可对数据进行转换,如对数转换、倒数转换、平方根转换等,使数据满足或近似符合线性条件,或改用其他统计分析方法[3]。对数转换是常用的数据转换方法,可对自变量取对数、因变量取对数或两者都取对数,构建的分别是linear-log转换、log-linear转换和log-log转换,以e为底的自然对数转化是常见的对数转化方法。
拟合对数转换的回归方程后,回归系数的解释依次为:linear-log转换的回归系数表示X的自然对数每增加1个单位,Y的平均估计值改变量;log-linear转换的回归系数表示X每增加一个单位,Y的平均估计值的自然对数改变量;log-log转换的回归系数表示X的自然对数每增加1个单位,Y的平均估计值的自然对数改变量。当要用X和/或Y,而不是X和/或Y的自然对数值来解释回归方程和系数时,不能简单地取X和/或Y的反对数,需要一些变换,用X和/或Y的百分比改变来表示。
对于linear-log转换,当X取自然对数时,实际为X增加171.828%时,其回归系数为Y的平均估计值(
)改变量;若取X增加固定百分比(p%)时,
的改变量(即回归系数)为
。对于log-linear转换,当Y取自然对数时,回归系数表示X增加1个单位时,
的百分比改变(eb-1)×100%。对于log-log转换,其实就是linear-log转换和log-linear转换的结合,X和Y都只能用百分比改变解释,即当X增加p%时,回归系数可解释为Y的平均估计值(
)百分比改变。在实际应用中,用X和/或Y自然对数值还是X和/或Y值来解释回归方程和系数,要根据专业特点和解释的合理性来确定。
本文资料拟合的是简单线性回归,自变量只有一个,实际中,应用更多的是多重线性回归,自变量有多个,如地区平均受教育程度、人均可支配收入、地区医务人员数量等,对MLR的回归系数的解释:在调整了地区平均受教育程度、人均可支配收入和地区医务人员数量后,即这些协变量保持恒定值不变,感兴趣的研究变量与因变量的回归关系,此时的回归系数是控制了一些协变量的结果。变量取对数后,对X和Y的解释与简单线性回归相同,只是在模型中控制了协变量。
另外,在进行线性回归分析时,如果对连续的自变量进行标准化,可计算标准化回归系数,比较其相对重要性;如果对标准化值(标准正态离差)再取自然对数,用X和/或Y标准正态离差单位改变或标准正态离差对数单位改变来解释回归方程和系数,此时的回归系数可比。
总之,在自变量和/或因变量取自然对数后,仍然用X和/或Y来解释回归方程和系数,需要用其百分比改变;模型拟合步骤、自变量纳入模型方法及模型拟合策略遵循多重线性回归的拟合方法[2]。
所有作者均声明不存在利益冲突
1.下面的对数运算正确的是:
A. loge(e)=1
B. loge(1)=0
C. loge(eA)=A
D. loge(AB)=logeA+logeB
E.以上都正确
2.下面的指数运算正确的是:
A. eAB=(eA)B
B. eA+B=eAeB
C. eA-B=eA/eB
D. eloge(A)=A
E.以上都正确
3.linear-log转换
A.自变量取以10为底的对数
B.因变量取以10为底的对数
C.自变量和因变量都取以10为底的对数
D.自变量取以e为底的自然对数
E.因变量取以e为底的自然对数
4.log-linear转换
A.自变量取以10为底的对数
B.因变量取以10为底的对数
C.自变量和因变量都取以e为底的对数
D.自变量取以e为底的自然对数
E.因变量取以e为底的自然对数
5.log-log转换
A.自变量取以10为底的对数
B.因变量取以10为底的对数
C.自变量和因变量都取以e为底的对数
D.自变量取以e为底的自然对数
E.因变量取以e为底的自然对数





















