Exemple #1
0
    private Variable <Vector> InitialiseWeights(
        DistributionType distributionType,
        DistributionName distributionName,
        int dimension,
        string[] hyperParameters)
    {
        switch (distributionName)
        {
        case DistributionName.GaussianDefault:
            return(Variable.Random(new VectorGaussian(
                                       Vector.Zero(dimension),
                                       PositiveDefiniteMatrix.Identity(dimension))).Named(
                       "w." + distributionType.ToString()));

        case DistributionName.GaussianInit:
            return(Variable <Vector> .Random(
                       Variable.New <VectorGaussian>().Named(
                           "w." + distributionType.ToString())));

        default:
            TraceListeners.Log(TraceEventType.Error, 0,
                               "Invalid distribution name: " + distributionName.ToString(), true, true);
            return(null);
        }
    }
Exemple #2
0
    private Variable <Vector> InferWeights(
        DistributionType distributionType,
        DistributionName distributionName,
        string[] hyperParameters)
    {
        switch (distributionName)
        {
        case DistributionName.GaussianDefault:
            VectorGaussian wObserved = _engine[distributionType].Infer <VectorGaussian>(_w[DistributionType.Prior]);
            return(Variable.Random(wObserved).Named("w." + distributionType.ToString()));

        default:
            TraceListeners.Log(TraceEventType.Error, 0,
                               "Invalid distribution name: " + distributionName.ToString(), true, true);
            return(null);
        }
    }
        public SwitchAdvancedParameterDistributionTypeCommand(IParameter parameter, IAdvancedParameterContainer advancedParameterContainer, DistributionType newDistributionType, IExecutionContext context)
        {
            _advancedParameterContainer = advancedParameterContainer;
            _newDistributionType        = newDistributionType;
            _parameter      = parameter;
            ParameterId     = parameter.Id;
            BuildingBlockId = _advancedParameterContainer.Id;
            var entityPathResolver       = context.Resolve <IEntityPathResolver>();
            var advancedParameterFactory = context.Resolve <IAdvancedParameterFactory>();

            _advancedParameter       = _advancedParameterContainer.AdvancedParameterFor(entityPathResolver, _parameter);
            _oldDistributedParameter = _advancedParameter.DistributedParameter;
            _oldDistributionType     = _advancedParameter.DistributionType;
            var newParameter = advancedParameterFactory.Create(_parameter, _newDistributionType);

            _newDistributedParameter = newParameter.DistributedParameter;
            ObjectType  = context.TypeFor(_advancedParameter);
            Description = PKSimConstants.Command.SwitchAdvancedParameterDistributionTypeDescription(_advancedParameter.ParameterPath, _oldDistributionType.ToString(), _newDistributionType.ToString());
            context.UpdateBuildingBlockPropertiesInCommand(this, _advancedParameterContainer);
        }
Exemple #4
0
 public static DistributionSeriesType?ToDistributionSeriesType(this DistributionType distributionType) =>
 distributionType.GetType().GetField(distributionType.ToString()).ToDistributionSeriesType();