【发布时间】:2013-02-06 18:18:47
【问题描述】:
我确信这很容易,但我一直在努力寻找如何在 R 中做到这一点。
我有一些数据正在尝试拟合幂律分布。为此,您需要在对数累积概率图上绘制数据。 y 轴是数据频率的 LOG(或对数概率,如果您愿意),x 轴是值的对数。如果是直线,则符合幂律分布,梯度决定幂律参数。
如果我想要数据的频率,我可以使用 ecdf() 函数:
我的数据集称为 Profits.negative,它只是一长串小于零的交易利润(我名义上将它们全部转换为正数以避免以后出现记录问题)。
所以我可以打字
plot(ecdf(Profits.negative))
我得到了一个方便的经验 CDF 函数。我需要做的就是将两个轴都转换为对数刻度。我可以做x轴:
Profits.negative.logs <- log(Profits.negative)
plot(ecdf(Profits.negative.logs))
快到了!我只需要弄清楚如何记录 y 轴!但我似乎做不到,我不知道如何从 ecdf 对象中提取数字。有人可以帮忙吗?
我知道有一个 power.law.fit 函数,但它只是估计参数 - 我想绘制数据并查看它是否对齐。
【问题讨论】:
-
通过包含您正在使用的数据,您可能会获得更多帮助。这篇文章在这方面很有帮助:stackoverflow.com/a/5963610/495372