2016-07-10 13 views
0

Tools. Quartiles Method (Double[,] ,DoubleRange[])を使用してcolumn vector5th percentile(つまりN x 1matrix)を計算する方法を現在探しています。私が正しく入力それをする方法がわからないようAccord.Net Statistics.Tools。

は、これまでのところ、私の問題は、メソッド内タイプDoubleRange[]の引数から来ています。使用されるコードの一部の例として、以下の見つけてください:

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

を私が定義したAccord.Math.ToolsAccord.Statistics.Tools

間の不明瞭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

EDIT:私の考えは、ca回避する方法として、0.2 Quartileをlculating私はちょうどパーセンタイルを取得するために必要な

答えて

1

...だから私は、Accord.Statistics.Tools.Quartiles(PMat, 0.2)

ベストのような心の何かに持っていたし、私が上で定住していた:

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

はい、それは確かです。乾杯 –

関連する問題