0

我想出了一个 matlab 代码来绘制概率密度和累积图。我已经使用 matlab 来计算标准偏差和平均值。我的下一个任务是找到累积图的第 15 个和第 85 个百分位。我尝试使用 'prctile (prob, 15)' 来计算第 15 个百分位数,但它似乎与我从图中观察到的值不同。

还有其他方法可以找到第 15 和 85 个百分位数吗?

4

3 回答 3

1

正如您在累积图中看到的那样,这应该为您提供 15% 和 85% 的百分位值:

15_percentile = prob(find(prob<prctile(prob,15),1));
85_percentile = prob(find(prob>prctile(prob,85),1,'last'));
于 2015-03-30T12:33:10.940 回答
0

有几种方法可以计算百分位数(参见http://en.wikipedia.org/wiki/Percentile

这里的问题是 MatLab 和 Excel 不同意(Excel 使用美国国家标准与技术研究所采用的定义......也是 R 的默认值)......如果您在 MatLab 之间交换数据和分析,值得考虑和 Excel。

于 2014-03-17T08:26:10.087 回答
0

如果你有统计工具箱(输入 help prctile),请使用 percentile 函数。
http://www.mathworks.com/help/stats/prctile.html

或者自己写!百分位数只是排序后的数据,并且值最接近您想要的百分位数(例如,如果您有 1000 个值,则您的第 15 个百分位数将是 (15/100)*1000=150th 值!确保您对数据进行排序最小到最大。

有一种特殊的方法可以处理样本之间的值,但这取决于您使用的定义。一些取最近的,另一些取两个样本之间的平均值,还有一些计算它们与样本的接近程度,并取一个与其成线性比例的值。

于 2014-01-28T05:25:55.467 回答