透析证候研究中变量聚类结果

时间:2022-05-16 05:53:00

透析证候研究中变量聚类结果

近年来,有不少学者利用系统变量聚类方法对西医病种中中医症状的分布情况进行研究。例如,麻氏等[1]通过对739例胆病病案进行分析,得到9个类,并把它们分别诠释为肝胆湿热证、肝胆郁热证、肝胆蕴热证、肝胆气郁证、血瘀证、脾失健运证、阳虚寒湿证、阴虚内热证和热毒亡阳证。笔者剖析系统变量聚类结果的统计学含义,并基于此讨论把它们诠释为证候的合理性。我们的结论是,变量聚类的结果不能诠释为证候。

1变量聚类结果的统计学含义

在麻氏等[2]分析的胆病数据中,症状变量全部是二值的。分析所得的变量类之一如下。

类1:发热寒战、右上腹压痛拒按、黄疸、恶心呕吐、右上腹疼痛、大便秘结、小便色黄、苔黄、苔腻、脉滑、脉弦、口苦。

本节以这个类为例,剖析系统变量聚类结果的含义。要准确把握这个类的含义,需要考虑3个因素,即“变量”与“事件”这两个概念的区别、变量间相似系数的定义以及变量类间相似系数的定义。下面逐一讨论这3个因素。

1.1变量与事件

变量是刻画事物某方面特征的指标,它的每一个取值对应一个事件。先拿概率论中常用的抛掷硬币试验为例来解释这两概念。抛掷硬币试验可以从多个方面来看:使用的硬币是否质地均匀、抛掷方式如何、抛掷结果是什么等等。“抛掷结果”这个指标刻画试验一个方面的特征,因此它是一个变量。这个变量有两个可能的取值,即“正面朝上”和“反面朝上”。于是有两个事件,即“抛掷结果正面朝上”和“抛掷结果反面朝上”。

接下来看一个中医的例子。“有无口苦”是反映患者身体一个方面特征的指标,因此它是一个变量,称为症状变量。它有两个可能的取值,即“有”和“无”。于是有两个症状事件,即“(患者)有口苦”和“(患者)无口苦”。如果要考虑不同轻重程度,相应的变量是“口苦程度”。一般情况下,程度变量有4个可能的取值,即“无”、“轻”、“中”和“重”。于是有4个症状事件,即“无口苦”、“有轻度口苦”、“有中度口苦”和“有重度口苦”。为了统一二值和多值情况下症状变量的称谓,可以用“口苦情况”来替代“有无口苦”和“口苦程度”。

“有口苦”这个词通常被简化为“口苦”。同时,“口苦情况”也被简化为“口苦”。这样,“口苦”时而指“口苦情况”这个变量,时而又指“有口苦”这个事件。在下一节读者将会看到,这种歧义性造成了对变量聚类结果之含义的误解。

顾名思义,变量聚类的对象是变量而不是事件,其结果是变量的类而不是事件的类。所以,类1的成员是“口苦情况”等症状变量,而不是“有口苦”等症状事件。为了避免误解,我们把类1的定义改写如下。

类1:发热寒战情况、右上腹压痛拒按情况、黄疸情况、右上腹疼痛情况、恶心呕吐情况、大便秘结情况、小便色黄情况、苔黄情况、苔腻情况、脉滑情况、脉弦情况、口苦情况。

1.2变量类相似系数

“口苦情况”等12个症状变量为什么会被聚成一类呢?它们被聚成一类这件事的含义是什么?一个粗略的回答是,这意味着“口苦情况”等12个症状变量之间的相似度高。如果要准确回答这个问题,则需要考虑如何基于变量之间的相似系数定义类之间的相似系数。

常用的方法有最大相似系数法、最小相似系数法和平均相似系数法。在计算两个类A和B间的相似系数时,考虑A中变量与B中变量间的相似系数。最大相似系数法取其最大者,最小相似系数法取其最小者,而平均相似系数法取平均数[2]。

如果类1是用最大相似系数法获得的,那么对类中任意一个变量V,类中有另外一个变量U使得V和U间的相似系数不低于某个阈值。如果类1是用最小相似系数法获得的,那么类中任意两个变量间的相似系数不低于某个阈值。如果类1是用平均相似系数法获得的,那么类中变量间的相似系数的平均值不低于某个阈值[2]。

上面提到阈值是怎样决定的呢?在获得类1的过程中,需要合并多对变量类,而每对类之间都有一个相似系数。这些相似系数的最小者就是上面说的阈值。一般说,最大相似系数法的阈值最大,平均相似系数法的阈值次之,最小相似系数法的阈值最小。

1.3变量相似系数

变量间相似系数的高低的直观含义是什么?这个问题的答案依赖所选用的相似系数是什么。相似系数有各种各样的类型[2]。作为例子,这里只讨论Jaccard相似度和相关系数。

Jaccard相似度只适用于二值变量。下面用一个例子来说明它的定义和直观含义。用d记脉弦和口苦同时出现的样本数,b记脉弦出现而口苦不出现的样本数,c记脉弦不出现而口苦出现的样本数。“脉弦情况”和“口苦情况”这两个变量的Jaccard相似度定义为d/(b+c+d)。Jaccard相似度的取值在0~1之间,可以视为是症状出现的“同步率”。它的值越高,脉弦和口苦出现时的“同步率”就越高,即脉弦和口苦的出现更接近如下情况:要么两者都不出现,要么两者都出现。

相关系数是统计学中用来度量数字变量间关联程度的一个指标。如果把症状的出现表示为1,不出现表示为0,那么就可以定义“脉弦情况”和“口苦情况”间的相关系数。相关系数的取值在0~1之间。当两个变量的可能取值相同时,它们之间的相关系数也可视为是一种“同步率”。“脉弦情况”和“口苦情况”间的相关系数越高,脉弦和口苦同时出现或同时不出现的次数也就越多,反之亦然。

1.4类1的含义

在分析数据时,麻氏等[1]用的是SAS软件。由于他们未提及软件设置,所使用的变量相似系数应该是SAS默认的Jaccard相似度,而所使用的变量类相似系数应该是SAS默认的平均相似系数。所以,类1是一个由口苦情况等12个症状变量组成的集合,其含义是这12变量两两之间的Jaccard相似度平均不低于某个阈值,即口苦等12个症状两两同步出现的频率平均不低于某个阈值。

2证候的含义

证候是一个具争议性的概念。但是,在诠释变量聚类结果时人们所使用的证候其意义基本是统一的、清楚的。例如,在把类1诠释为肝胆湿热证时,“肝胆湿热证”对应由口苦等12个症状(事件)组成的症状群,其意义如下:①如果这些症状全部(或其大多数)在某患者身上同时出现,那么该患者有肝胆湿热证;②如果这些症状中许多不在一患者身上出现,那么该患者无肝胆湿热证。

3变量聚类结果的诠释

现在我们以类1为例来讨论变量聚类的诠释问题。在文献[1]中,类1被诠释为肝胆湿热证。这是由于类1被认为是由“有口苦”等12个症状事件组成的集合,进而其意义被理解为口苦等12个症状同时出现。在把类1诠释为肝胆湿热之后,进一步得出结论:肝胆湿热证是肝胆病中的中医证候之一。这就是说,肝胆湿热证存在于研究涉及的739个样本中,即有一部分样本同时包含口苦等12个症状或其大多数。为方便讨论,我们将这一段文字涉及的几件事按逻辑顺序整理如下:①把类1认为是由“有口苦”等12个症状事件组成的集合;②把类1的意义理解为口苦等12个症状同时出现,从而把它诠释为肝胆湿热证。③在②的基础上,得出肝胆病中有肝胆湿热证的结论,即有一部分样本同时包含“口苦”等12个症状或其大多数。

根据第2节的结论,类1是症状变量的集合而不是症状事件的集合。所以,上述第1步是不正确的。再根据第2节的结论,类1的意义不是口苦等12个症状同时出现。实际上,句子“口苦等12个症状同时出现”本身是一个病句。显然,口苦等12症状不可能在每一个样本中都同时出现。那么它们究竟在哪些样本中出现呢?句子没有指明,因此意义不清。所以,第2步也是错误的。最后,第3步从“口苦等12个症状同时出现”这个含义不清的命题推出“有一部分样本同时包含口苦等12个症状或其大多数”。这是不合逻辑的。

上述三步都有问题。那么有没有可能不通过它们,而直接从类1的含义出发得出“有一部分样本同时包含口苦等12个症状或其大多数”这个结论呢?回答是否定。类1的含义只是说口苦等12个症状两两以一定频率在样本中同时出现。这并不意味12个症状同时出现在某些样本中。在逻辑上,从两两双边关系是无法推出多边关系的。打一个比方:青年A与一对好朋友B和C谈三角恋爱,A和B常常一起出现,A和C常常一起出现,B和C常常一起出现,但这些并不意味着他们三人会同时出现。

上面的讨论以文献[1]为例。但是,所指出的问题是其它用变量聚类研究证候分布工作共有的。问题的根源在于研究目的与研究方法不匹配。这些工作是要通过分析一组关于西医某病种的样本,揭示该病种中中医证候的分布规律,这其实是揭示该组样本中中医证候的分布情况。简而言之,这就是要揭示样本某方面的特征和性质。变量聚类方法只考虑变量间的关系,完全不分析样本的特征和性质。既然如此,它又怎么能揭示样本中中医证候的分布规律呢?

4结束语

变量聚类所得到的不是症状事件的类,而是症状变量的类,其含义不是一些症状同时出现于一些患者,从而不能诠释为证候。变量聚类不分析样本的特征和性质,从而不可能揭示证候在样本中的分布规律。

参考文献:

[1]麻晓慧,王弘午,何裕民,胆病症状学聚类研究[J].中国中医基础医学杂志,2000,6(12):59-61.

[2]张尧庭,方开泰.多元统计引论[M].北京:科学出版社,1999.32-35.