气宇轩分享 http://blog.sciencenet.cn/u/yufree

博文

因果革命 精选

已有 4335 次阅读 2019-10-2 04:33 |个人分类:读书笔记|系统分类:科研笔记

最近读了图灵奖得主 Juder Pearl 的科普书《为什么》,这是一本关于因果分析的科普著作,在介绍内容前,我先八卦下这个目前比较小众但未来可能引发因果革命的领域。本书作者,来自 UCLA 的 Juder Pearl 与哈佛的 Donald Rubin 算得上因果分析的两位泰斗,前者提出了因果图(PCM)且在机器学习领域建树颇深而后者则比较反对这个方法,提出了RCM来做因果分析,后来证明PCM与RCM是完全等价的。后者有个学生 Andrew Gelman,如果你做贝叶斯分析就不可能不知道 Gelman 大人与 Stan。因果分析的另一个大牛是哈佛的 James Robins,提出了G方法。看这个阵容就要知道因果分析跟贝叶斯分析与机器学习有点天然联系,我完全迷茫的结构方程模型也属于这个阵营的一个分支,也会沾边人工智能的发展。


八卦完了先整体评价下这本书:《为什么》属于比较烧脑的书,我因为学过因果分析的公开课,到了西奈山又参加过因果分析的讲座,所以虽然也是外行,但感觉用因果图来理解这本书会极大降低阅读难度。不过也得说明白因果图是很好的思维工具不假但天然在定量与表示交互作用上有劣势。此外统计之都丁鹏老师的一系列因果分析文章也是很好的辅助理解的文章,如果你打算搞明白一件事,同时服用这些会比只看一个人的书与观点要好。我不是研究因果分析的,但作为普通科研工作者也感到很有必要了解下因果分析,其中很多讨论的主题可以联系到当今的p值滥用、可重复性危机与模型可解释性的问题。


任何学科都应起源于悖论。高尔顿板常用来解释正态分布,但当年高尔顿设计这个是为了展示一个遗传悖论:如果第一代的后代会产生一个分布,那么多代之后这个分布会越来越宽。打个比方,父母身高170,孩子180,孙子185,那么如果存在长高遗传的话,总有个N代孙子身高一层楼,毕竟每一代都会产生一个均值为这一代身高的分布,你肯定找的到更高的下一代,如此反复就应该出现巨人子孙。现实则是不论哪一代,身高分布基本稳定,人群中很高的人后代也高但不会那么高,很矮的人后代也矮但不会那么矮,这就是向群体均值回归与两代人身高相关的现象。高尔顿为此迷惑不解,主要是遗传意义上讲不通,高了后还是高,但没那么高,后者暗示遗传上的因果并不完全成立。但他学生皮尔逊则很简单认为这种回归也好或相关也好就是概率的,因果关系是相关的一个特例,统计学不能也不应该讨论因果性,进而奠定了后面研究中相关不代表因果的基调,用严谨性与概率锁死了观察研究,这个表述到今天还活跃在科学研究的各个领域。


因果问题一直是统计禁区,从学统计第一天我们就知道相关不代表因果,那么问题来了:如果相关性是个逻辑死胡同,知识如何增长?打个比方,我看到人群中某个基因的高表达与某种疾病的发病率存在相关性,怎么解释?是发病导致基因突变还是基因突变导致发病?一般到这一步就需要控制实验了,也就是说我们把控制实验当成因果关系的确认而对观测数据持谨慎态度。但这实验怎么做?找一组人,用 RNAi 沉默掉他们的基因看是不是得病?现代伦理不允许。用动物模型?物种差异咋办?。仿真?我们搞清楚分子层面的构建机制了吗?目前相对公认的结果来自分析流行病学,金标是队列研究、临床实验与病例对照实验。严格意义上只有临床实验最靠谱,但那就真成了拿人做实验了,治疗目的问题不大,但研究目的就存在伦理危机。自然科学里控制实验容易些,很多时候因果性不言而喻(也因为这个缺乏了统计思维)。社会科学与医学就必须解决从观察结果中发现因果性的问题,不然永远只能讨论现象,因果分析就来源于此。


其实皮尔逊虽然从概率角度澄清了单一因素在解释现象的局限性,但他自己也发现了很多伪相关或随机相关,更麻烦的是他的学生赖特在豚鼠研究中构建了多因素路径模型来解释遗传问题。赖特在豚鼠遗传问题上假设了遗传、发育、环境与随机四种来源并用路径代数分析估计了各自影响的比重,虽然赖特自己并不认为他在用相关推导因果,但 Juder Pearl 认为这是第一次用图论来进行因果关系的探索。赖特定量算出了豚鼠子代体重增长中遗传的贡献,然而这个方法在之后的50年里被统计学界打压了。统计学家认为赖特的方法只能就事论事构建逻辑关系来进行考察,但当时的统计学主流是用“固定程序”解决问题,而大量的精力耗费在了“固定程序”的理论与细节构建。统计学家在跟别人合作时通常会让对方把数据转化为他们能处理的分布进而应用标准方法来分析,但这严重忽视了现实世界的复杂性并造成了大量统计方法的误用。现在我们知道赖特实际做的是把专业知识形成的假设因果关系进行了定量分析,而脱离专业知识的统计学正是其目前被应用导向的计算机科学超越的一个原因。在我看来,因果分析是联系统计学、专业知识与计算机科学的一个关键方法与思维工具,科研里探索的就是因果与机制,定量考察因素影响的因果分析方法是一个重要步骤。


到此我们回顾下相关,如果不能说明因果,又能说明什么?两个因素之间因果也就是一个到另一个,但相关之所以说明不了因果,其实是因为存在第三种因素或更多。但简化下三个因素之间的关系其实大概就下面这四种:

  • A导致B,B导致C A->B->C

  • A导致B跟C A->B A->C

  • A跟B共同导致C,控制C后A跟B相关 A->C B->C (C): A -> B

  • 随机相关

这里我先不画因果图,只用箭头表示因果,用括号表示控制。第一种很明显就是直接因果关系,这里因果关系是传递的,如果你控制了中间那一个,因果关系就阻断了,这是所谓的中介效应;第二种我们会观察到B与C相关,然而这种相关在控制A后会消失,A就是我们经常提到的公因或混杂因素,例如巧克力消费量与诺奖得主数相关,背后是因为他们都跟国家经济发展水平相关,当国家经济发展水平一致时,巧克力与诺奖间的相关性就会消失。这两种接受过统计学教育的都比较容易理解,第三种就不那么直观了。糖尿病会导致血糖高,吃糖多也会导致血糖高,正常我们是看不到糖尿病与吃糖多相关的,因为这是两回事,健康人吃糖多也会血糖高。然而,当我们控制一个高血糖浓度区间去看糖尿病发病率与吃糖行为时,他们就相关了,也就是高血糖的人既可能是病人也可能临时糖吃多了,如果我们只看一个时间点,很容易发现吃糖与糖尿病的相关。也许你会说吃糖就是导致糖尿病,但如果我们看的是I型糖尿病(遗传)呢?你也会发现相关。这种相关只在控制了血糖后出现,不控制两个没有相关性,这种相关是共果或对撞关系在控制后导致的。很多人做研究喜欢在模型里加上尽可能多的协变量,这个方法可以处理第二种情况,但协变量如果是第三种情况控制后会把不相关的两个因素搞成相关的,这个情况很多研究人员意识不到会导致错误结论的出现。第四种情况也存在,特别是高维数据,这就是因果分析与p值问题的连接点,多重检验里如果排除随机相关或显著性已经是当前学术界意识到的问题了。


也就是说,当我们看到两个变量相关,除了因果与公因,还存在共果与随机相关,共果是不恰当控制变量导致的而随机相关则对高维数据是一个灾难。因果分析所要做的就是区分这些并正确估计或探索变量间的关系,理清楚了这些基本关系,也就可以通过演绎法探索相关背后的因果了。


这里有个概念要说清楚,那就是控制。什么是控制?控制就是让某个因素恒定,在线性模型里就是加上一个变量,此时拟合后其他变量的拟合系数就是控制了这个因素后的效果。当然,如果存在非线性关系例如交互作用,控制就会复杂些。控制的神奇之处在于我们不需要事先处理而仅仅是分析时加入考虑即可。在《为什么》里,Juder Pearl 引入了 do 演算的概念来补充概率论里条件概率对控制干预的先天不足。P(A|B)与P(A|do(B))实际计算可能是一回事,但在因果图里就很不一样了,do 表示一种单向干预而概率论里的条件概率没有方向性。举个例子:
A -> B -> C, D->A, D->C
现在我们想知道A与C的关系,目前走 ABC 路径是通的,AC路径会因为公因也是通的,那此时你就无法认定A与C之间是否是因果关系,这个时候要做的就是对D进行控制,阻断AC的公因途径;对B进行控制,阻断ABC的中介途径。这样之后看A与C间的关系就知道剩下的因果关系了。其实更严谨的方法是RCM,也就是 Donald Robin 提出的因果分析框架,不过用因果图更直观些。这个过程叫做 do 分离,用 do 的控制行为隔离掉非因果影响。当我们根据推测的变量间关系画出因果图后,do 分离就可以很直观的看出来。例如:A -> B -> C <- D -> E 这五个变量的关系中A与E间的通路被C阻断了,所以我们什么都不用做可以直接相关判断因果。然而,如果我们对C进行控制,B与D因为公果控制相关,此时路径就通了,此时我们无法直接考察A与E的因果关系,但如果我们接着控制了B或D,路径再次被阻断就又可以讨论了。也就是说,如果我们打算考察两个变量因果关系,首先要根据实际情况画出因果图,然后 do 分离掉所有两个变量间的路径,此时两者的相关就是因果。这个方法很直观,当变量间关系很复杂时,我们依然可以通过考察通路来找出控制方法。由于神奇的贝叶斯定律可以让你调转条件概率的方向,所以代数上你可以在一定条件下将控制过程转为条件概率,这也就实现了从观测数据里提取因果关系的目的,这套演算过程就是 do 演算,配合因果图使用非常方便。从图里手工推导 do 演算的公式对科研人员要求过高,不过现在软件已经可以代劳,你只要画出因果图,软件就可以告诉你两个变量间因果关系推导的条件概率公式,代入你的数据就可以看到结果了。


有了这个工具,书里面提到的历史公案就简单明了了许多。先看代际遗传,高尔顿的因果图就是 遗传 -> 身高并且认为相关系数是1,但如果身高同时被遗传与环境决定,那么相对稳定的环境贡献了回归现象而遗传则解释了相关性。科研实验中的控制变量法或随机本质上就是对所有可能的公因变量或中介变量进行控制来阻断考察变量间的非因果关系,然而此时我们也明白了如果控制的是共果变量,那么实际上我们有可能打通原来不相关变量间的通路。在这里 do 的含义一定是基于因果的而不仅仅是无条件控制,这个洞见非常有价值。


我们再来看吸烟与肺癌的案例,虽然很多人都知道我们最终是通过Cornfield不等式与希尔标准来接纳的因果关系,但用因果图来理解的话其实就是 Fisher 认为存在遗传因子即导致吸烟,也导致肺癌。Cornfield 不等式的实质就是认为如果存在这个遗传因子,那么其与吸烟的相关性应该与肺癌的相关性同步增加,然而现实数据中肺癌风险在吸烟者那边高了9倍,也就是说这个基因在吸烟者那边也得高9倍。在那个年代其实没有找到这个基因,有意思的是后来真的找到了这个促进吸烟的基因,只不过对风险贡献没那么大。一个更典型的案例出现在观察数据中,研究人员发现吸烟母亲的低出生体重婴儿存活率比不吸烟母亲的要高,好像吸烟提高了低体重婴儿的出生率。这里因果图是 吸烟 -> 出生体重 -> 婴儿死亡率,当我们控制了出生体重后,吸烟降低了婴儿死亡率,这明显反常识了。这个问题其实是五年前才解决的,研究人员提出了一个先天缺陷作为出生体重与死亡率的公因,此时吸烟与先天缺陷都会导致出生体重低,如果我们控制出生体重,相当于打通了 吸烟 -> (出生体重) <- 先天缺陷的路径,又因为先天缺陷跟婴儿死亡率相关,所以吸烟与婴儿死亡率间存在了一条控制后的非直接因果通路。具体来说,如果先天缺陷比吸烟对低体重影响更大,造成高死亡率,那么我们只看低体重婴儿的话就容易把原因归结到吸烟而不是先天缺陷之上,到此观察数据的矛盾就解决了。本质上因果图可以帮我们探索新知识,而传统统计分析则更多就事论事而导致矛盾。不过直观归直观,其实 RCM 在推导上更严谨,不过我估计外学科理解因果分析还是会收敛到因果图上,直观可视化在技术推广上总是占优。不过这个阶段工具很关键,哪个软件简单易用,其背后的模型就可能最终胜出。


接下来就是辛普森悖论了。当我们整体看两组数据时会有差异,然而当我们将数据分层后这个差异就会消失或逆转。具体到辛普森悖论就是一组新药对人群整体有益,然而当我们按性别区分时,这个药对男性也好女性也好都没了益处。现在比较流行的解释是基于一个数学事实:部分的比例之和与整体的比例之间没有必然联系。在辛普森悖论中,对照组发病率女性为1:19,男性为12:28,服药组女性为3:37,男性为8:12,这样我们看到 1:19< 3:27,12:28<8:12,然而我们不看性别时,整体是13/47>11/49。这里形成悖论的关键在于人们会理所当然认为部分比例的差异结果会传递到整体,其实 A/B<C/D, E/F<G/H,但(A+E)/(B+F)跟(C+G)/(D+H)间是不能传递这种关系的,数学上就不成立。不过这只是解释,不解决最初的问题,到底这药有用没用。这里就又牵扯到因果图了,我们得知道性别对服药与结果的影响,也就是说得知道性别的角色。首先,性别不是服药与发病结果的结果,毕竟不是变性药;其次,性别是否决定服药?经过调查发现,女性确实比男性更容易记得服药;最后,性别是不是会导致结果,调查也发现男性容易患病。OK,这样分析后性别就是服药与患病的公因,因此服药与患病间不形成 do 分离,我们需要控制性别。怎么控制呢?很简单,就是分开性别讨论然后按性别在人群中比例加权,最后的结果就是辛普森悖论中的新药对整体其实是有害无益的,悖论解决。我们回顾下这个过程会发现,悖论的解决实际上是依赖了因果图构建过程中外部信息的整合,单纯看数据不看背景知识的纯统计探索在这种场景下会陷入悖论。所以说因果图或因果分析其实就是当前数据科学三个背景中那个专业知识与统计学的重叠区工具,只是当前懂专业知识的与懂统计学的还没进行很好的学科融合。


不过性别不总是共同原因,也可能是中介。这个也比想象的常见,简单说就是下面的结构:
A -> X -> B
当我们打算估计 A 到 B 的净效应时,X也作为中介在起作用。比较经典的案例就是伯克利录取问题,整体上呈现对女性的性别歧视,然而分院系看却大都是女性占优势。这个案例经常跟辛普森悖论放到一起讨论,但因果图上是不同的。辛普森悖论里性别是共因,伯克利录取里,A是性别,B是录取结果,而院系则是作为中介存在的。性别不同的学生会选择不同的院系,而不同院系录取率本来也不同。通常关于这个现象的解释是女性会选择难录取的院系,这件事造成了整体与结果的不同。不过解法上倒是类似,因为控制了 X 之后就中断了这个路径而可以直接估计 A 与 B 的关系。但控制 X 相当于得到的是这个 X 下的录取率,要想知道全局影响,还是要加权平均。传统分析里直接效应间接效应的讨论无法区别中介与共因,因果图则可以很好区别出来进行解释。不过中介问题的复杂性不在这里,如果存在一个对中介与结果的公因,对中介进行控制就是错的。举例来说,如果居住地会影响院系与结果,例如某个州大学的甲院系就是只录取本州男性与外州女性而乙院系则只录取本州女性与外州男性,那么我们对院系的控制实际上打开了性别与居住地的后门路径而造成了错误估计:
A -> X -> B, C -> X, C -> B
这里C是居住地,此时我们控制 X 会导致 A -> (X) <- C -> B 这条路径打通,结果就是A对B的估计中还是存在混杂。这里我们也能看到悖论的魅力,如果条件发生改变,解决悖论的方法也要随之改变而不是简单控制就能搞定的。有时候完全不控制可能就是最好解决方案而过多的控制会让结论无法被理解,这点对机器学习里 $y = f(x)$ 的简单逻辑框架来说是灾难性的,更多的特征值不见得拟合效果更好,反而让你说不清楚结果与变量的关系。当然,现在主流似乎也不打算说清楚。


既然说到辛普森悖论,我就顺道聊下这个悖论的变体。最古老的变体是田忌赛马,为了保证整体上取胜,我们可以在部分作战采取放弃策略,这个在军事学发展中阵地战战术中比较常用,说白了就是在战力不占优的条件下通过兵力在防线上的掉配来取得一定效果,这个太古典了,现代战争的变体是海陆空高科技兵种配合作战,早就脱离了电视剧里对着砍的策略(但对着砍有戏剧性与视觉冲击力),当前作战形式基本都是地面小队配合空中扫荡与坦克掩护,你要是敢把几千人排到一个开阔阵地上等对砍搞决斗,就等着无人机包饺子吧。我猜测这是互相博弈的一个结果,因为双方将领如果都明白辛普森悖论原理,那么肯定会最大化自己的优势去打对方的弱势,而现代战争是科技战,人数啥也说明不了而更多是劣势,所以不超过10人的小队突击在对战中灵活性最高且容易发挥科技领先优势。现代公司发展中,很多大公司采用传统上的多级体制其实就是在搞阵地战,技术上如果信息流通顺畅,小组制应该是整体取胜策略,我们已经看到很多互联网爆款产品最初其实都是来自小组而不是靠人数,当然后期巩固成果是完全另一类可持续策略了。扯远了,我们再看下政治学里的辛普森悖论:杰利蝾螈。这个概念指的是通过划分选区来操纵选举结果的一种策略,通过把铁票仓分到对方的边缘选区可以在代议制选区民主里赢得多数票,民主的一人一票不代表整体不能被操纵,这对大杂居小聚居的西方移民国家尤其重要,如果争夺中间派不切实际,那就把极端分子渗透到中间派选区搞事情。


前面说的都是辛普森悖论的分类变量比例版,很自然,这个悖论也存在线性模型版。也就是说,一组数据做回归,变量系数是正的,但是我们把数据切成两部分,其同一变量的系数就会变成负的。这个线性版的成因除了跟前面比例版一样外还存在另一个成因,那就是噪音。当参与回归的变量只能解释数据变异中一小部分时,其回归估计参数的不确定性会被未知变异所主导,如果分割数据的方法与未知变异混杂,那么变量的方向就会不稳定。这里还是要强调下参数估计一定要包含不确定性,如果不确定性高不代表结果不靠谱而更可能是数据结构还没搞清楚或数据量不够。其实这种信噪比不够的问题更多还来连接 Gelman 大人关心的那两类错误的讨论(方向S与数量级M估计错误),也许我们花大力气估计清楚了一个微弱变量的效益,这是否值得?学术上当然值但现实意义就不好说了。辛普森悖论告诉我们存在整体收益而部分损失的可能与部分都受益但整体依旧损失,整体与部分数学上其实没关系,数据上就要看背景了,最好用因果分析来探索下究竟是什么导致的差异及加权后整体究竟怎样,当然,如何加权,用什么加权,逻辑通不通其实有时是艺术而不是科学:你把因果箭头反着来能说通也会产生一个估计,自圆其说不解决科学求真的问题。


前面我一直在说加权,感觉好像搞清楚因果关系后剩下的就是加权平均的计算,其实实际也是这样。因果分析还有种做法就是通过计算个体因果效应后计算整体平均因果效应(ACE)来做的,这个平均过程也可看出某种加权,就是做了跟不做后的净效应。不过这仅仅是计算层面,不包含因果假设。


ACE = E[Y{i,1}] −E[Y{i,0}]


因果图另一个直观应用例子是工具变量。当然工具变量在计量经济与公共卫生里有不同的表述,但本质上就是如果我观察 A -> B 时存在 C 同时影响 A 与 B,那我们就找一个不受 C 的变量 X,这个变量直接作用于 A,此时我们计算 A 与 X 的相关性与 B 与 X 的相关性,根据下面的因果图:
X -> A -> B, C -> A, C -> B
X 与 B 之间没有直接因果,在效应计算中,X 与 B 的相关只会来自于 A 的中介,也就是 A 与 X 的相关性与 A 与 B 的相关性乘积,如果我们打算估计 A 与 B 因果效应,就是用 B 与 X 的回归系数去除 A 与 X 的回归系数。这个过程中因为 C 跟 X 间没有因果通路,所以相当于跳过了混杂因素的讨论。这个路径影响等于回归系数乘积的代数技巧使得计算上非常清晰,但还是牢记工具变量的选择不是探索的而是因果的,需要背景知识。有了工具变量,研究人员就从无穷的相关与混杂中解放出来而可以通过因果图构建来求解目标因果关系。当因果图很复杂时,你需要去控制一些变量或引入工具变量实现你关心变量的 do 分离,进而估计净效应。


因果图天然与贝叶斯分析有联系,且不论条件概率的转化,因果图跟贝叶斯网络就存在内生联系。构建因果图需要的背景知识可以类比成贝叶斯预设的网络层级,因此在求解上类似。复杂因果图实际也常常跟结构方程模型放在一起讨论,因为这两个解决的问题基本就是一回事,不过结构方程模型里并不存在控制而更多侧重参数求解,因果图除了可以玩控制变量 do 分离外,也可以接纳非线性关系。在有明确定义的结构因果模型(也就是复杂因果图)里,可解释性被放在了第一位,也就是说数据驱动的假设被模型驱动所取代,这放在机器学习领域里看起来像是开倒车了。不过因果图很难直观表示交互作用而更多用在线性模型里,所以看起来结构方程模型似乎是目前因果图用的最多的地方。


聊完因果图,这本书的术部分就算完成了,但其实 Juder Pearl 从一开始就是打算从哲学层面也就是道的角度来推动因果分析的。在他看来,当前的机器学习也好,人工智能也好,都卡在了因果分析的第一层,也就是关联这一层,到处都是相关且多数人似乎放弃了模型的解释性而一味追求预测与关联。他进而提出了因果关系的第二层(干预层)与第三层(反事实层)。其实这有点类似科学哲学的发展,第一层类似归纳分析与观察的实证主义,第二层则可以对应实验主义,第三层则是则类似证伪的思路,进而构想出一个不同于现实世界的客观知识的世界(波普的世界三)。不同于主流对模型可解释性的放弃,因果分析从一开始就构建在因果关系之中,解释起来相对容易(自然要加持因果图),不同数据间存在自己的数据逻辑结构,高层级的算法要能通过干预与反事实假设来发现结构,只有这样的算法才能实现强人工智能,因为人的思考就是因果的。 Juder Pearl 的哲学观里因果不是相关的特例而是反过来,相关里浸润着不同的因果,因果分析就是对这些东西的关系加以区分。


这个观点确实像是开历史倒车,但也可能是一次对当前科研的矫正。太多研究人员在大数据浪潮下放弃了可解释性而追求预测精度,且因为算力的加强,原来很多理论求解几乎全变成了数值求解。同时深度学习等神经网络的应用也让解释模型越来越变成一个笑话,不过如果我们真的不研究认识问题,那人类是否还能发现新理论与新机制?另外这真的靠谱吗?以极端天气为例,现在这个领域有两个派别,一个是走物理模型预测,另一派则是统计模型,前者被偏微分方程推导搞得痛苦不堪,后者则在忽略地形信息时经常搞出在两条河流隔大山的情况下预测出两条河在台风过境时贯通的结果。从来都没有单纯的数据驱动的研究,所有的数据驱动背后都有对问题的建模,当模型假设错了以后,数据再多也是缘木求鱼。不过是不是物理或化学模型就没问题了?也不是,理化生的知识大都是构建在还原论上的,理论会被设定在理想环境之下,这也对现实脱了节。自下而上与自上而下不存在哪个是真理的问题而仅仅就是个历史问题,因果分析可能是相互连接的一个工具。不过目前因果分析更多是应用在偏软科学与观察数据优先的学科里,理论优先的学科从一开始就是在讨论因果,但因为使用的是统计工具,所以内在的相关不能定因果的观念事实上是被学科自己的理论给压制了,但这也造成了对统计工具的滥用与误用。因果革命可能在两方面实现突破:一是统计学家对实际问题背景知识的接纳与考量而不是研究纯理论细节;另一方面是科学家对统计工具的重新理解,从因果图角度探索自己科学问题的解决方案。但无论如何,因果革命都是很有前景的,因为这个工具是为思考服务的,现代人缺的就是这一块。




http://blog.sciencenet.cn/blog-430956-1200351.html

上一篇:暴露研究的范式

17 周忠浩 郑永军 吕洪波 檀成龙 晏成和 王安良 李红雨 王卫 杨正瓴 郭新磊 冷永刚 黄永义 李毅伟 聂广 吴晔 孙颉 王满喜

该博文允许注册用户评论 请点击登录 评论 (9 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的其他最新博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-11-15 01:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部