我目前正在寻找一种使用5th percentile
计算column vector
N x 1
(matrix
Tools. Quartiles Method (Double[,] ,DoubleRange[])
)的方法,并希望得到一些对此有所帮助。
到目前为止,我的问题来自方法中类型 DoubleRange[]
的论点,因为我不知道如何输入它。作为使用的代码片段的说明,请在下面找到:
double[,] PMat = Matrix.ToMatrix(dat); // dat being of Type DataTable...methods works
鉴于Tools
和Accord.Math.Tools
Accord.Statistics.Tools
名称double[] Percentile = Accord.Statistics.Tools.Quartiles(PMat, xxxx)
// all attempts using xxxx has mechanically lead to:
我已定义:
Error: The best overloaded method match for Accord.Statistics.Tools.Quartiles(double[*,*], out AForge.DoubleRange[]) has some invalid arguments
0.2 Quartile
编辑:我的想法是计算一个Accord.Statistics.Tools.Quartiles(PMat, 0.2)
,作为一种解决方式......所以我想到的是{{1}}
最佳,
答案 0 :(得分:1)
我只需要获得百分位数,我所确定的是:
Accord.Statistics.Distributions.Univariate.EmpiricalDistribution
如果您的值在double[]
中,那么:
EmpiricalDistribution distribution = new EmpiricalDistribution(values);
distribution.InverseDistributionFunction(0.05);
给你第5个百分点。
注意:经验分布是非参数的。一旦数据被排序,百分位数就是数据值在适当的位置。没有插值或拟合,如附图(使用上述方法生成)中所示: