2016-07-10 18 views
0

Ich bin derzeit auf der Suche nach einer Möglichkeit zur Berechnung der 5th percentile von column vector (d. H. N x 1matrix) mit Tools. Quartiles Method (Double[,] ,DoubleRange[]), und hoffe, dass Sie etwas Hilfe dabei bekommen.Accord.Net Statistics.Tools. Quartile Methode()

Bisher kommt mein Problem aus dem Argumente von TypDoubleRange[] innerhalb der Methode, wie ich weiß nicht, wie es Eingang richtig. Zur Veranschaulichung des Stück Code verwendet, bitte unten finden:

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

In Anbetracht der mehrdeutig Tools Namen zwischen Accord.Math.Tools und Accord.Statistics.Tools

I definiert haben:

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: Meine Idee besteht aus ca lculating eine 0.2 Quartile, als ein Weg, um ... So hatte ich im Sinn so etwas wie Accord.Statistics.Tools.Quartiles(PMat, 0.2)

Best,

Antwort

1

ich Perzentile brauchte nur zu bekommen und was ließ ich mich auf war:

Accord.Statistics.Distributions.Univariate.EmpiricalDistribution 

Mit dass, wenn Ihre Werte in einem double[] sind dann:

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

gibt Ihnen die 5. Perzentil.

Hinweis: Die empirische Verteilung ist nicht parametrisch. Die Perzentile sind einfach die Datenwerte an der geeigneten Position, nachdem die Daten sortiert wurden. Es gibt keine Interpolation oder Armatur wie in dem beigefügten Grundstück aus sah (die mit dem oben beschriebenen Verfahren hergestellt wurden):

InverseDistributionFunction against percentile

+0

Sicher, aber bitte beachten Sie, dass Ihr Vorschlag nur relevant sein könnte, wenn Sie wissen (oder macht eine Annahme über die "Verteilung" der zugrunde liegenden Daten (dh die CDF kennen ...). Meine Frage konzentrierte sich eher auf Fälle wie in einer 'Historischen Simulation', wo man mit einer Verteilung von' P/L' endet und sich für das '5. Perzentil' dieser Daten interessiert, ohne etwas von der empirischen Verteilung anzunehmen. –

+0

@ dark.vador, ich denke immer noch, es macht was du willst. Ich habe ein Bild bearbeitet und hinzugefügt. –

+0

ja tut es tatsächlich. Prost –