我尝试使用 Aaron Clauset、Cosma Rohilla Shalizi 和 MEJ Newman 在他们的论文“经验数据中的幂律分布”中概述的方法将幂律分布拟合到数据集。
我找到了可以与我自己的代码进行比较的代码,但我有点困惑其中一些来自哪里,到目前为止的故事是,
为了确定适合幂律拟合的 xmin,我们将每个可能的 xmin 拟合到该数据的幂律,然后计算相应的指数 (a),然后计算拟合的 KS 统计量 (D) 和观察到的数据,然后找到 xmin对应于 D 的最小值。如果计算如下,则 KS 统计量,
cx <- c(0:(n-1))/n # n is the sample size for the data >= xmin
cf <- 1-(xmin/z)^a # the cdf for a powerlaw z = x[x>=xmin]
D <- max(abs(cf-cx))
我不明白 cx 的来源,当然我们应该比较经验分布和计算分布之间的距离。类似于:
cx = ecdf(sort(z))
cf <- 1-(xmin/z)^a
D <- max(abs(cf-cx(z)))
我想我只是错过了一些非常基本的东西,但请纠正我!