一篇写得好的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标注和文章之间的引用关系,简单,已经都有。

从汉语的词汇到思维方式

今天看到孩子的按拼音写词语作业上有大量的不是词语而是词组(短语),例如扑到、跨在、沿路 、趴在。我相信如果不是读过课文,这几个词,我自己是写不出来的。中文语法本来就不好说清楚,还增加这个混乱是不对的。不知道这里是水平问题还是逻辑问题?但是,这个会影响学生对词的概念准确把握,会影响学生的思考。

“趴”,“扑”,什么什么的,当做一个词,然后,“到”(或者“在”)什么什么东西上,当做另外一个短语,这样的分解要好得多,通用得多。这样来分解,省力气,可以互通,意义的理解也准确得多。例如,“趴在桌子上”,如果这样分解“趴在 桌子 上”,“上”就没意义了。难道把桌子上再当做一个词,分解成“趴在 桌子上”。将来还有站在桌子上,趴在肩头上等等等等,难道那些都是词?“走 在路上”,表示在路上走,而不是“走在 路上”。

这是一个大问题。这样教出来将来做自然语言处理,机器翻译等,都会出问题。当然,更多的问题在思考问题的方式上。思维要尽量准确、简单、通用。

解剖一只麻雀来看科学思维

最近微信上一个不要用加碘盐的帖子很多人信。其主要论据是这样的:国际标准是加碘化钠,中国是加典酸钠。然后,接着说很多食用碘酸钠得病的例子。这么简单的谣言,暴露了中国人的科学素养。我分享一下,供大家思考。学到什么具体东西不重要。学会思考,独立,批判性地思考,比什么都重要。

个案举例的论据就算了,懒得驳斥。

论据关于两种加碘方式的差别很简单,检索一下国外的情况就可以。需要懂得一点点英文,查到碘化钾和碘酸钾的词,然后需要找一个相对权威的网页。

其实,中文材料也有,说,主要原因是碘酸钾更稳定一些,所以中国用后者。就算这个不可靠吧。

美国盐业协会,说两种他们都用。

好了,第一个论据是扯淡。

接着说结论,原帖子的结论,从中国加碘酸钾不好,跳到不要买碘盐,要买不加碘的。

这个逻辑有问题。首先,加碘为什么应该先去看看。如果加碘很重要,那么结论应该是买国外的碘盐。换句话说,如果加碘不重要,不用任何理由,就应该不买碘盐啊。所以原作者必须大力攻击这个必要性才对。否则,还是要买碘盐,最多不买中国的。

因此,强烈怀疑这个帖子是有屁股的。

好了,主要论据不成立(非常好验证),主要结论不能从论据(就算正确)得到,这还是什么东西呢?

解剖一只麻雀,希望大家学会科学家思考问题的方式:怀疑,自己动手验证,考查过程逻辑,有时候还顺着作者的思路往前推演。

希望人人都有点都有科学素养会点点科学思维,而且学会多少科学知识不重要,重要的是思考问题的方式。

pdflatex 包含字体

转自http://www.boekenenproefschriften.nl/proefschriften/sites/default/files/EmbedLaTeXfonts.pdf

To ensure that pdflatex embeds the fonts in your document, edit the updmap config file by locating updmap.cfg (for MikTeX it’s in MikTeX_install_dir/miktex/config) and editing it. On Linux systems you can also enter the command
updmap –edit
to edit the config file. Find the lines
#

pdftexDownloadBase14

#

Should pdftex download the base 14 pdf fonts? Since some configurations

(ps / pdf tools / printers) use bad default fonts, it is safer to download

the fonts. The pdf files will get bigger, though.

Valid settings are true (download the fonts) or false (don’t download

the fonts).

pdftexDownloadBase14 true

Make sure pdftexDownloadBase14 is set to true. If it is not, change it, and run updmap once. That’s it!

文件和www服务器配置

需要运行www服务(systemsci.org——wordpress平台, learnm.org——汉字学习网站和wiki, bigphysics.org——研究小组静态网页, gndt.org, learningm.org, meaningfullearning.org, revdi.org, sciedu.org),云盘服务(owncloud.systemsci.org),概念地图服务(cmap.systemsci.org)和博弈实验服务(games.systemsci.org),版本控制服务(git.systemsci.org),配置一个服务器。

首先安装ubuntu server,安装和配置ssh server,Apache server(php, mysql),以及virtual hosts。每一个步骤的细节可以参考server world。一个简单的方法就是安装好ubuntu server之后选择自动安装openssh server, LAMP server以及PostgreSQL server。安装完成Apache Server之后,需要配置成功能够显示CGI, php和静态主页。

为了在本地服务器上先测试,需要通过域名而且是多个域名来访问本地服务器。这个可以通过安装自己的dns解析来完成,也可以通过修改服务器的hostname文件以及局域网测试访问的机器的hosts来实现。前者能够给每一个局域网机器一个稳定的名字,方便以后使用。甚至通过dhcp更换了局域网IP都不是问题。后者只能在服务器和这个测试登陆机器之间完成解析。但是,后者方便,这里就先用后者。dns或者dnsmasq的方法,以后有需求再实现。

为了给以后安装机器保留数据方便,单独建立www的分区,用来保存服务器数据。单独建立git、owncloud、game账号用来管理相应服务器。

然后安装和配置git server。其中,用户控制选择通过ssh来访问共同的账号git@git.systemsci.org来实现(例如 git remote add origin ssh://git@git.systemsci.org/~/oTreeApp.git)。git的用户目录直接用来存放所有的repositories(例如oTreeApp.git,Coherent.git等)。需要使用git的用户,请自行上传一个ssh公钥到服务器上(参考如下帖子,需要git用户密码,请跟我联系)。关于git使用,请自行学习(参考ProGit)。新建远程库也需要git密码,请跟我联系。建立远程库的方法建议采用先在服务器上建立一个文件夹(然后git init –bare),然后通过git clone来建立本地目录,接着修改本地文件的方式来实现。

详细安装过程和使用方法如下:

  1. 在服务器端安装git: sudo apt-get install git-core,并添加git用户(sudo adduser git,注意密码)
  2. 在服务器端建立一个项目:mkdir IO.git。在这里,整个git目录只用于存储项目。因此,所有的项目直接放在~/git/下面。
  3. 在项目目录下面,初始化项目目录结构:git init –bare。这时候指有目录结构,什么具体内容都还没有呢。
  4. 回到本地机器准备加入内容
    1. 生成和上传一个ssh公钥到服务器上(需要git用户密码,请跟我联系):ssh-keygen -t rsa,cat ~/.ssh/id_rsa.pub | ssh git@git.systemsci.org “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys” 。完成这两步之后试试是否能够免密码访问服务器了。
    2. 已经存在的IO项目目录:把这个目录变成存储项目内容的本地目录(git init )。然后把远程项目拉过来同步到本地目录(git remote add origin ssh://git@git.systemsci.org/home/git/IO.git, git pull origin master)。接着把本地目录的内容加入到需要同步的列表(git add., git commit -m “massage” -a),然后把本地目录的内容推送到远程(git push origin master)
    3. 或者如果还没有这个项目的话,到预期存储IO项目的上一级目录(运行完成下面的目录会产生一个名字叫做IO的子目录)。然后运行:git clone git@git.systemsci.org:/home/git/IO.git,就会把整个服务器上的这个项目的内容完整地复制下来。
    4. 在本机这个项目目录下面编辑文档,并且用git add, commit, push之类的命令同步到服务器上。也可以安装图形客户端。
  5. 注意:最好只把文本文件当作git管理的对象,否则,由于要检查和跟踪变化,git会非常慢

注意有的系统在把公钥上传到服务器以后仍然需要git@git.systemsci.org的账号,这个时候,请在local(你自己的机器上)运行一下ssh-add。

接着,安装和配置wordpress服务器。安装目录为/var/www/wordpress。

接着,安装和配置owncloud服务器。安装目录为 /var/www/owncloud。

接着,安装和配置oTree服务器。安装目录为 /var/www/owncloud。

安装和配置cmapserver。这个server不能运行在apache下面,只能用它自己带的服务器,由于80端口已经被其他网站使用,给它单独的端口8088。

最后,把各个网站内容放到相应的/var/www/“DomainName”下面。

顺便整理一下其他做为一个大物理学的研究者的工具箱里面应该有的工具:

  1. 把问题模型化数学化的能力(抽象的过程)
  2. 建立所思考的各种问题之间的联系的能力(系联性思考、概念地图)
  3. 阅读、思考、批判和总结整理文献的能力(批判性思考、系联性思考)
  4. 物理学数学经济学是什么,少量的基本概念,以及不太多的分析技术(例如平均场理论、动力学方程稳定性分析)
  5. 编程语言:C,Python
  6. 基本数值运算(积分、插值等):gsl
  7. 线性代数:lapack(ATLAS, IntelMKL, AMDCML),BLAS,Petsc和Slepc(并行),ARPACK
  8. Monte Carlo:随机数生成器,通常不要用语言自带的,使用专门的包,并行的时候要特别注意。
  9. FFT: FFTW,或者IntelMKL, AMDCML
  10. 网络分析:iGraph(C、R和Python有接口),NetworkX(R和Python有接口)
  11. 统计学:R
  12. 做图:Python,R,gnuplot,grace
  13. 写作:LaTeX,bibtex文献管理,LaTeX beamer报告以及poster
  14. 微分方程数值解:Runge-Kutta, XMDS2