机器学习、病历、搜索记录告诉我们混合药物的副作用

Ted Talk Russ Altman: What really happens when you mix medications?

Data-Driven Prediction of Drug Effects and Interactions

Learning the Structure of Biomedical Relationships from Unstructured Text

在这个工作中,作者依靠机器学习算法,在FDA严重药物反映报告、电子病历、搜索记录这些数据的基础上,提出来两种药物混合起来可能具有单一药物没有的作用(副作用),而且药物副作用的研究可以参考搜索记录。

从这个工作看出来,第一,数据研究确实是一个解决问题的好思路。第二,问题好不好最重要。第三,交叉耦合效益,无论在什么问题上,都很有意义。我们广义投入产出的两部门hem也可以做类似研究。单个都不重要,合起来才重要,必然表示一种隐含的相互作用。

文章作者识别和主题识别的参考文献整理

大量的科学学工作需要从纯粹形式数据(被引次数、作者数量、发表在什么期刊上)里面走出来,一定程度上用文章的内容信息来做深入的研究。例如文章的分类就一定程度上表现了文章的内容。于是,关于利用了文章层次的分类数据的学科进展和现状的研究就能更好地反映这个领域的现状,相比于纯粹基于期刊的分类的现状研究。再如,了解科学家的主题分类——这个需要同时用到主题分类和作者识别两者——就可以了解合作研究的更多细节。于是,没准我们可以考察什么驱动了合作(甚至“好”的合作),名人效益还是主题互补。

因此,这个领域的研究,除了基础的文章出版记录(题录和引用),还需要文章层次的主题标记(需要学科本身的一个概念网络,以及从文章内容到这个概念网络上的分布函数的一个映射)以及准确的作者标记(同一个作者可能出现不同的名字,同一个名字可能代表不同的作者,作者还可能改变单位),见科学学的新框架。尤其是,识别文章作者和作者主领域这两件事情应该可以而且需要合起来做。

现在,把相关的参考文献整理在这里。

  1. 作者识别
    1. Heterogeneous Networks and Their Applications: Scientometrics, Name Disambiguation, and Topic Modeling(综合关系网络的提出,还有多层网络上的PageRank,非常值得看看)
    2. Bibliometric fingerprints: name disambiguation based on approximate structure equivalence of cognitive maps(文献综述部分值得参考)
    3. A Boosted-Trees Method for Name Disambiguation(一个方法)
    4. Author name disambiguation in scientific collaboration and mobility cases(利用合作者信息和机构信息)
    5. Exploiting citation networks for large-scale author name disambiguation(WoS全库作者识别,利用引文信息,作者宣称效果非常好)
    6. Author Name Disambiguation for PubMed(一种cluster算法)
    7. A heuristic approach to author name disambiguation in bibliometrics databases for large-scale research assessments(一个机器学习算法)
    8. Author name disambiguation: What difference does it make in author-based citation analysis?(说最简单首字母加姓和那些复杂的之间对结构造成的差别,除了在中韩国人多的时候,其实不打)
    9. Accuracy of simple, initials-based methods for author name disambiguation(宣称最简单的首字母匹配方法很准确,但是,可能仅仅文献综述部分值得参考)
  2. 文章主题识别
    1. 已经有的系统:PACS, MeSH, MSC, JEL
    2. 韦添的论文以及参考文献

被引次数和发表等待时间与文章属性(尤其是多样性)的关系

最近不务正业,猎猎奇,在思考如下的相关分析:论文审稿等待时间、被引用次数、作者属性(h指数、文章数量、被引次数、获大奖)、 文章标题属性、图的属性(数量、是否美观等)、参考文献属性(数量、总被引次数)、文章涉及主题的多样性交叉性、文章长度、文章所发表的期刊、文章发表的地点、文章发表的时间。等待时间和被引用次数的工作已经发表“ The correlation between editorial delay and the ratio of highly cited papers in Nature, Science and Physical Review Letters”。

当然,真正促进科学学发展的工作还是我们一直开展的投入产出研究相互影响、概念网络研究文章创新性等这方面的工作。

文章多样性度量

有多少工作是跨学科(也可以是跨子领域)的?这样的跨越比较大工作是否得到更多的引用,发表在更好的期刊上(或者反过来,宣称自己跨领域的期刊是否更多发表跨学科工作,还是发表来自于更多的学科的工作)?一个国家、科学领域、期刊、学校的发表的文章中的研究工作是否是学科交叉程度比较高的?多大程度上科学创新来自于学科融合?所有的这样的问题依赖于文章多样性的度量。多样性可以通过如下方式来度量。

所需要的数据基础

主题网络——一个包含主题和主题之间联系(顶点之间最好有相似性距离\(s_{ij}\))的网络,文章主题标记,文章引用网络,文章作者识别,作者主题标记。作者主题标记可以是作者主领域或者作者参与的文章的全领域。

因此,开展这个工作需要基于作者识别和作者主领域识别。

度量

文章本身的主题集合\(T^{p}\)、文章参考文献的主题集合\(T^{r}\)、文章作者的主题集合\(T^{a}\)。建议采用下面的指标来度量多样性:
\[d=Max{\frac{1}{s_{ij}}} \]
\[D=\frac{1}{\sum_{ij} s_{ij} p_{i}p_{j}}\]
\[D= \frac{1}{\sum_{ij}s_{ij}\left|p_{i}-p_{j}\right|}\]
其中,\(s_{ij}\)是领域i和领域j之间的相似性,\(s_{ii}=\infty\)。\(p_{j}\)表示主题\(i\)在这个集合\(T^{p}\)、\(T^{r}\)或者\(T^{a}\)中出现的频率。考虑到\(s_{ij}\)可能不等于\(s_{ji}\),求和要对两个指标都重复。前者反映最大跨度,后者反映平均跨度。如果(ij)两个主题在主题网络上不是直接相连,则需要按照网络距离来计算,
\begin{align}
s_{ij} = \frac{1}{\frac{1}{s_{ik}} + \frac{1}{s_{kj}}}
\end{align}
如果两者通过主题(k)相连的话。更远的距离需要做类似的计算。

作为基础的主题之间相似性矩阵\(s_{ij}\)可以考虑两种定义:1、层次性网络。这个PACS码本身就有。2、共现次数。也就是如果两个PACS码经常同时出现在一篇文章里面,那么它们的距离就小,相似性就大。具体定义可以采用
\[s_{ij} = \frac{2C_{ij}}{C_{i}+C_{j}}\]
或者
\begin{align}
s_{ij} = \frac{C_{ij}}{\sqrt{C_{i}C_{j}}}
\end{align}
其中\(C_{ij}\)表示\(ij\)同时出现的次数。
可以验证这个定义实际上就包含了一级层次性距离。但是,在我们这里,仅仅需要在所考虑的层级上做这个共现距离的计算就可以了。算到PACS的哪一层,先都试试再说。如何把两个相似性计算方式整合起来是下一步的问题。

得到多样性之后做什么

具体讨论的问题来说,可以讨论一个国家、学校、个人、期刊、领域所发表的文章的多样性交叉性。然后讨论这个多样性和其他指标的关系,例如是否被引高了,是否发表的期刊好了,是否更容易发表,是否追热点更严重等等,以及这些相关性的时间演化。

另外,写文章的时候,典型文章、典型作者、典型期刊,也需要挑选出来讨论一下。

等待时间应该也是一个可以用来讨论一下和多样性、创新性的相关性的东西。

工作计划

考虑到作者识别的问题的难度和目前的进展。现在,先完成第一个工作:仅仅考虑文章本身的主题(\(D_1\))和参考文献的主题的多样性(\(D_2\))。然后,讨论\(D_{1}D_{2}\)和其他东西的相关性,例如文章被引次数、所在期刊的IF等等等等。

目前得到了概念(其实 是主题代码)网络,计算了基于论文主题标注\(T^{p}\)的论文的多样性,并且初步计算了期刊的多样性(包含所有主题的多样性,以及平均每篇文章的多样性)。下一步计划:
1. 要计算\(T^{r}\)、\(T^{a}\)的多样性,然后考虑一个整合起来的指标。
2. 要计算作者的多样性,基于作者主领域的,基于作者所有文章的主题的\(T^{p}_{a}\),基于作者的所有文章的平均的。
3. 把这些多样性结果和其他指标做相关性分析。
4. 从相关性分析或者单纯大小比较中选择出来一些典型文章、作者、期刊,来做个体的讨论。
5. 多样性意义下的创新性度量(广度创新性?creativity in width v.s. creativity in depth):修改概念网络,每次统计到一个阶段(例如半年或者一年算一个时间节点)。然后计算这个阶段得到的概念网络的条件下,看新发表的论文的多样性,以及这个多样性和其他指标的相关性,还有典型文章、作者、期刊

和主要文献中的工作的对比

跟“Does diversity of papers affect their citations? Evidence from American Physical Society Journals”对比,我们这个工作考虑了参考文献的多样性和作者的多样性对文章的多样性的影响。也讨论了文章的多样性对作者的多样性的影响。其中第一种作者的多样性就是作者参与的文章的pacs代码的多样性,第二种就是作者参与的文章的多样性之和。其实,还可以定义作者主领域的多样性,等到将来识别出来作者和作者的主领域。这篇文章对我们有参考意义的地方在计算出来文章、期刊和作者的多样性之后,怎么样?我们可以参考里面的作图方式,来讨论多样性和其他指标的相关性。

跟“Diversity of References as an Indicator of the Interdisciplinarity of Journals: Taking Similarity Between Subject Fields Into Account”相比,我们的这个工作把文章层次的主题标注纳入考量,而不再是期刊层次的主题标注。同时,也从仅仅考虑参考文献推广到参考文献,作者和文章本身标注,一起来考虑。这篇文章对我们这个工作最有意义的地方是其中各个多样性指标的介绍,还有这个问题的背景。

##相关文献:

  1. What makes a ‘good’ title and (how) does it matter for citations? A review and general model of article title attributes in management science
  2. The advantage of short paper titles (得到Nature和Science的述评)
  3. Article title type and its relation with the number of downloads and citations
  4. Atypical combinations and scientific impact
  5. Technological novelty profile and invention’s future impact
  6. Invention as a combinatorial process: evidence from US patents
  7. Diversity of References as an Indicator of the Interdisciplinarity of Journals: Taking Similarity Between Subject Fields Into Account
  8. Heterogeneity in an undirected network: Definition and measurement
  9. Does diversity of papers affect their citations? Evidence from American Physical Society Journals
  10. Evaluating the impact of interdisciplinary research: a multilayer network approach
  11. Interdisciplinary research by the numbers(Nature news, 两种度量多样性交叉度的方法,长期和短期效益的不同)

Dyson方程用以简化投入产出计算

在我们的封闭系统投入产出分析的目标外界方法中,需要对一个矩阵A多次做删除行列以后求逆,(\left(1-A^{\left(-k\right)}\right)^{-1}),其中(k)可以是任何一个行号(也代表列号)。如果能够找到一个求解一次矩阵逆就能解决问题的方法就会使得计算简单很多。例如,求(\left(1-A\right)^{-1}),然后从(\left(1-A\right)^{-1})计算出来(\left(1-A^{\left(-k\right)}\right)^{-1})。可以看到,从前者到后者,也就相差一行一列。也就是说,我们要从一个矩阵的逆求出来另外一个相差一行一列的矩阵的逆。

这个问题,在物理学中,是通过Dyson方程来实现的。物理学的Green函数,大概相当于计算矩阵逆,例如(G=\left(E-H\right)^{-1})。Dyson说,如果(H=H_{0}+V),而且(G_{0}=\left(E-H_{0}\right)^{-1})容易计算出来,那么,我们就可以通过(G_{0})来计算(G),具体公式如下
[G=G_{0}+G_{0}VG]

Dyson方程很容易证明,左右两边乘上(E-H)就行。Dyson方程大多数之后不能精确求解,需要做近似。但是,有的问题中可以精确求解。顺便,Dyson方程的精确求解的例子,我是从我的老师Mona Berciu那里学习来的。当时是凝聚态物理II课程中的一小节的内容。

现在,上面的问题完全就转化成了Dyson方程的问题。问题就剩下,对于这个系统,Dyson方程是否可以精确求解于是我们避免再一次计算矩阵逆呢?

由于(A)有一个最大本征值就是1,因此直接求逆是发散的(G^{full}{0} = \left(1-A\right)^{-1})。那有什么办法能够用上这个可能发散的(G^{full}{0})吗?注意(G^{\left(-k\right)})只要去掉的那个部门的非对角元不全为零,是收敛的。也就是,只有(G^{full}_{0})是个问题,(G^{\left(-k\right)})不是问题。

现在,回到Dyson方程,我们发现,和物理学的Green函数一样,在这里只要引入一个虚数
[G^{\eta}_{0} = \left(1-A+i\eta\right)^{-1},]
然后让这个虚数在最后的计算中趋于零,就解决了所有的问题。于是,我们发现,完全地把Green函数和Dyson方程从物理学用到了投入产出。

下一步,去看看解析上和数值上能不能完全实现这个先搞一个虚数,求解Dyson方程,然后让这个虚数趋于零的过程。或者不让这个虚部取于零,保留着,一直到最后的计算结果得到之后,取实部,看看行不行。如果可以的话,按照如下步骤的计算会简单很多:得到包含虚部的(G^{\eta}_{0}),求解Dyson方程得到包含虚部的(G^{\left(-k, \eta\right)}),取这个(G^{\left(-k, \eta\right)})的实部。

初步的理论推导和数值实验表明,以上计算过程竟然可以。其计算过程基本上和紧束缚链模型中加上一个(\delta)势或者在某处截断一样。具体的计算这里就不写出来了,太长了。

顺便说一下这个工作的意义。这里用Dyson方程避免了多次求逆矩阵,所以纯粹是技术上的贡献,对于问题本身没有贡献,学术价值有限。但是,在第二个方法中,引入的虚部可能有独立的意义(物理里面有)。如果后续的研究发现这个意义,那么,就不再是仅仅在技术上的价值了。总结:目前没啥大意义,就是挺好玩,虚部的意义还有待挖掘。

虚部的意义在物理学中代表了态密度(Density of states)或者说束缚态(bounded states)的能量和波函数。在投入产出研究中是什么呢?海军兄推荐的关于Markov链fundamental matrix的文献中,提到了(\frac{1}{1-A}f)的计算的问题。其中,一般的逆矩阵(1-A)不存在(由于A的最大本征值是(1)),但是对于某些特殊的(f),这个合起来的(\frac{1}{1-A}f)仍然存在(实际上,就是(f)刚好没有最大本征值对应着的那个向量分量)。这个(加上我们之前在封闭系统投入产出讨论(A^{-k})本征值的问题)启发我思考一般的(\frac{1}{\omega-A^{-k}})的问题。于是,我发现,这个更一般的Green函数的虚部,实际上,代表了(A^{-k})的本征值和本征向量。于是,两个问题——矩阵求逆的简化、矩阵本征值和本征向量的简化——都可以通过这个Green函数来回答。当然,牵涉到虚部的poles的问题,我们需要做一个围道积分。

这个例子说明:学习物理真的很有用,尤其是在分析问题的思路和方法上。当然,这里主要是方法层次的,也就是更偏向数学层次的——矩阵逆的微扰精确解。可是,要注意,单纯从数学的角度来说,Dyson方程这样的东西可能不会被发展起来。其出现的根本原因是在物理中,大量的系统的(H)包含一个容易求解的部分(H_{0})以及一个不容易求解的部分(V)。于是,自然地就有人来解决这个从(G_{0})得到(G)的方法。

因此,多学点数学物理吧,多从关心实际系统的角度来体会数学吧。当然,多从数学之美的角度来体会数学也是应该的。另外,好的老师的好的课程不知道什么时候就启发你了。要好好上这样的课,难得的。

Dyson大概会高兴(还是伤心啊?)我把他的方程用来解决投入产出经济分析的技术问题。

一篇写得好的Scietometrics方面的文章

最近收到Ronald Rousseau发过来的他自己的文章,“Diversity of References as an Indicator of theInterdisciplinarity of Journals: Taking Similarity Between Subject Fields Into Account”。文章的工作属于还可以的量级(讨论了几一个文章多样性的指标——理念、差异、联系和优劣,选了几个指标在几个期刊上做了计算,得到了其中某几个更好的结论),但是文章的写作非常值得推荐。这个文章的写作完全可以当作以后在这个领域写作的范例。

首先交待了多样性描述这个是问题是什么,然后前人大约怎么做的做了什么有什么问题。然后,我们做了什么。这部分很标准,值得借鉴,但是大多数科学论文大概如此。

从第二部分开始,神奇的地方开始了:这一部分作者主要阐述了之前的多样性的指标有哪些,有什么关系,有什么问题。神奇的地方在于,第一,作者把这部分当作主要工作之一详细阐述。第二,每一个公式,几乎都有直觉上的解释——例如Variety、Balance和Disparity的解释以及它们如何进入指标,甚至有简单的可以计算的例子。然后,还有这些指标需要满足的一般性要求的讨论。这样的文章写作可以使更多的不用数学公式做为思考的语言的人能够欣赏这个工作(这个领域的文章一般不限制字数)。在科学学这个领域里面,这是有必要的。

推荐做科学学的各位,甚至所有用自然科学来做社会科学的成员,都来读一读。联系到我之前Journal of Informetrics投稿教训的帖子,这些经验很有价值。

另外,就这个问题来说,建议同时来考虑参考文献和作者的多样性。建议采用下面的指标:
[d=Max\left{d_{ij}\right} ]
[D=\sum_{ij} d_{ij} p_{i}p_{j}]
其中,(d_{ij})是领域i和领域j之间的距离,(d_{ii}=0)。前者反映最大跨度,后者反映平均跨度。另外,在这篇文章的文献综述的基础上,再看一下生物学里面多样性的指标。

具体讨论的问题来说,可以讨论一个国家、学校、个人、期刊、领域所发表的文章的多样性交叉性。然后讨论这个多样性和其他指标的关系,例如是否被引高了,是否发表的期刊好了,是否更容易发表,是否追热点更严重等等,以及这些相关性的时间演化。

当然,做这个工作需要给出来一个领域分类体系(包含距离,例如所有标有i的文章和所有标有j的文章的交集的大小除以它们的并集的大小),还要有作者的领域标注,文章的领域标注。当然文章的作者标注和文章的参考文献标注也需要,但是想对简单一些。

整体来说,在这个工作里面,我们希望运用作者、文章、主题三层网络来讨论一篇文章的多样性和一个作者的多样性。一篇文章的多样性分成三个方面:文章本身主题的多样性,文章参考文献主题的多样性,以及作者的主题的多样性。具体多样性的计算,在得到这个主题集合以后非常简单。考虑用主题之间的距离(d_{ij})关系来定义的(D)就可以。

考虑到作者识别的问题的难度和目前的进展。现在,先完成第一个工作:仅仅考虑文章本身的主题((D_1))和参考文献的主题的多样性((D_2))。然后,讨论(D_{1}D_{2})和其他东西的相关性,例如文章被引次数、所在期刊的IF等等等等。

具体计算上,需要实现:主题之间的距离矩阵(d_{ij})。采用两种距离的定义:1、层次性网络。这个PACS码本身就有。2、共现次数。也就是如果两个PACS码经常同时出现在一篇文章里面,那么它们的距离就小。具体定义可以采用
[d_{ij} = \frac{C_{i}+C_{j}}{2C_{ij}}]
或者
[d_{ij} = \frac{max\left{C_{i}, C_{j}\right}}{C_{ij}}]
其中(C_{ij})表示ij同时出现的次数。
可以验证这个定义实际上就包含了一级层次性距离。但是,在我们这里,仅仅需要在所考虑的层级上做这个共现距离的计算就可以了。算到PACS的哪一层,先都试试再说。

每篇文章的PACS标注和文章之间的引用关系,简单,已经都有。