本文充斥臆测内容,并非科学研究,请在教授陪同下阅读。
研究背景
最近要申请一个奖,少不了要看自己的发表论文情况。我已经把自己的论文整理到谷歌学术了,直接去那里看就可以。
呀!我的引用数已经超过一百了!前几天我看的时候它还停留在90多就停滞不前了,没想到这么快就突破了100,立即进入无限自我陶醉的状态。

盯着自己的数据,突然发现这数据还是挺有规律的,立马想到一个问题:能否预测未来的引用数呢?

研究方法
这里我用一段JavaScript代码获取每年的引用数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| var get_years = document.querySelectorAll("span.gsc_g_t"); var get_citations = document.querySelectorAll("span.gsc_g_al");
var years = []; var citations = [];
for (var i = 0; i < get_years.length; ++i) { years.push(get_years[i].textContent); }
for (var i = 0; i < get_citations.length; ++i) { citations.push(get_citations[i].textContent); }
var out_years = "";
out_years += "["
years.forEach(function (v) { out_years += v; out_years += " "; });
out_years += "]"
var out_citations = "";
out_citations += "["
citations.forEach(function (v) { out_citations += v; out_citations += " "; });
out_citations += "]"
console.log(out_years); console.log(out_citations);
|
用法是在形如https://scholar.google.com/citations?hl=en&user=换成你的&view_op=citations_histogram
的页面执行这段代码,数据复制粘贴到Octave里分析。
我还找来Lorenzo Stella的引用数进行分析。虽然他做的工作和我不一样,但我看过他的很多篇文献,觉得以他为样本进行分析是合理的。
统计分析
我觉得我的引用情况可以用$y = ax^2 + bx +c$来描述。对于这种多项式Octave可以很简单的用polyfit
进行拟合:
1 2 3 4 5 6
| # 手动删掉最后一年的。 years = [2011 2012 2013 2014 2015]; citations = [1 8 12 15 37];
my = polyfit(years, citations, 2); display(my); # -> >> 2.0714e+000 -8.3317e+003 8.3779e+006
|
就是说,在$y$年时我的引用数$C = 2.0714 y^2 - 8.3317 \times 10^3 y + 8.3779 \times 10^6$。Octave里可以直接根据这一公式来求后面的值,也就是预测之后的引用数。根据这一公式,2016年和2017年我的引用数分别为:
1 2
| prediction = polyval(my, [2016 2017]); display(prediction); # -> 52.800 75.200
|
就是说今年和明年我的引用数应该是53和75。让我们看看理论预测的结果是否可靠罢。
2017-1-6 Update: 2016年的被引数是54,超过了预期,和预测相符的非常好。
等等,其实我们完全可以用其他研究者的例子来研究。这里我把上面的过程写成了一个函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 删掉了两年的数据。 years = [1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014]; citations = [7 11 19 30 35 55 44 54 89 119 129 195 222 182 277 303 295];
function [p, s, mu] = pred_citations(years, citations, n, pred_years) [p, s, mu] = polyfit(years, citations, n); printf("\n"); printf("C = "); polyout(p, "y"); printf("%i ", pred_years); printf("-> "); printf("%i ", polyval(p, pred_years, s, mu)); printf("\n"); endfunction
pred_citations(years, citations, 2, [2015 2016]); # C = 27.345*y^2 + 99.745*y^1 + 95.793 # 2015 2016 -> 360.426 400.554
|
就是说2015和2016年的引用数是360和401,仅从2015年的数据看还是挺准的(他2015年实际的数值是353!)。
结论
- 可以预测。
- 预测性有赖研究者的「发育」情况。
- 期待对更多人进行测试。
- 我想把这东西做成个网页供其他人使用。
本文标题:论文引用数:预知未来
文章作者:Chris
发布时间:2016-06-21
最后更新:2019-05-29
原始链接:https://chriszheng.science/2016/06/21/Citations-cast-ourselves-into-the-future/
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!