2016-07-26 7 views
-1

Wir haben die Extreme Numerics Bibliothek von Extreme Optimization (http://www.extremeoptimization.com) für unseren Rechenkern verwendet.Inverse normale kumulative Verteilungsfunktion Umrechnung

// portfolio risk is inverse normal cumulative distribution function 
double risk = NormalDistribution.InverseDistributionFunction(
    _riskProbabilityLevel, 
    mean, 
    stdev); 

Das Problem ist jetzt, die wir von C# Java bewegen, und ich weiß nicht wirklich wissen, dass alle viel über Java, sondern haben mit Umschreiben diese spezielle Funktion beauftragt worden.

Ich habe Werte gegen testen:

RiskProbabilityLevel = 0.02 
Mean     = 0.06618 
Standard Dev   = 0.057196166520267355 

Risk     = 0.051286461995869864 

aber durch die verschiedenen Funktionen in math3.distribution.NormalDistribution Bibliotheken in der Suche Ich kann nicht finden, was äquivalent sein könnte.

Jede Richtung oder Hilfe würde geschätzt werden. danke.

+0

Entschuldigung für die Leute, die dachten, das sei nicht im Thema, wenn man bedenkt, wie es wirklich nur einen Weg gab, 'x' in 'y' umzuwandeln. Ich bin mir nicht sicher, wie es zu weit gefasst ist. Trotzdem hat der Mensch meine Arbeit gerettet. –

Antwort

6

Ich denke, Sie können this Bibliothek verwenden. Es heißt apache commons.math3. Es ist sehr beliebt. Aus den von http://www.extremeoptimization.com geliefert docs ich glaube, Sie den folgenden Code verwenden:

import org.apache.commons.math3.distribution.NormalDistribution; 

public class TestProbabilites { 

    public static void main(String[] args) { 
     double riskProbabilityLevel = 0.02D; 
     double mean = 0.06618D; 
     double standardDev = 0.057196166520267355D; 
     double expectedRisk = 0.051286461995869864D; 

     NormalDistribution distribution = new NormalDistribution(mean, standardDev); 
     double outcomeRisk = distribution.inverseCumulativeProbability(riskProbabilityLevel); 
    } 
} 

Aber Sie die apache.commons.math3 Bibliothek an Ihr Projekt Maven oder Gradle oder eine andere Abhängigkeiten-Manager hinzugefügt, um hinzuzufügen haben zu erinnern.

Hoffnungen das hilft.

+0

Danke für Ihre Antwort, Lebensretter! –