2016-07-10 21 views
0

我目前正在尋找一種方法來計算使用Tools. Quartiles Method (Double[,] ,DoubleRange[])column vector(即N x 1matrix)的5th percentile,並希望在此獲得一些幫助。Accord.Net Statistics.Tools。 Quartiles方法()

到目前爲止,我的問題來自於類型DoubleRange[]的方法中的說法,因爲我不知道如何正確輸入它。由於使用了一段代碼的說明,請在下面找到:

double[,] PMat = Matrix.ToMatrix(dat); // dat being of Type DataTable...methods works 

鑑於Accord.Math.ToolsAccord.Statistics.Tools

之間的ambigous 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

編輯:我的想法包括ca lculating一個0.2 Quartile,周圍的方式......所以,我腦子裏想的是這樣Accord.Statistics.Tools.Quartiles(PMat, 0.2)

最佳,

回答

1

我只是需要得到百分什麼,我就解決了:

Accord.Statistics.Distributions.Univariate.EmpiricalDistribution 

隨着如果你的價值觀是在一個double[]則:

EmpiricalDistribution distribution = new EmpiricalDistribution(values); 
distribution.InverseDistributionFunction(0.05); 

爲您提供了第5百分位。

注:經驗分佈是非參數的。數據排序後,百分位數就是適當位置的數據值。有沒有插或裝配件,可以在連接曲線中可以看到(這與上述的方法制作):

InverseDistributionFunction against percentile

+0

當然,但是請注意,您的建議可能僅僅是相關的,如果你知道(或作假設)基礎數據的「分佈」(即知道「CDF」......)。我的問題更多地集中在'歷史模擬'這樣的案例中,其中一個以'P/L'的分佈結束,並且對這個數據的第5個百分點感興趣,而沒有假設經驗分佈上的任何東西。 –

+0

@ dark.vador,我仍然認爲它是做你想做的。我編輯並添加了一張圖片。 –

+0

是的,它的確如此。乾杯 –

相關問題