コード例 #1
0
'''
Created on Mar 15, 2012

.. codeauthor:: jhkwakkel <j.h.kwakkel (at) tudelft (dot) nl>
'''

from analysis import clusterer
from util import ema_logging

from core import ModelEnsemble
from test.scarcity_example import ScarcityModel

if __name__ == "__main__":
    ema_logging.log_to_stderr(ema_logging.INFO)
    model = ScarcityModel(r'..\..\src\test', "fluCase")

    ensemble = ModelEnsemble()
    ensemble.set_model_structure(model)
    ensemble.parallel = True

    results = ensemble.perform_experiments(200)

    clusterer.cluster(data=results,
                      outcome='relative market price',
                      distance='gonenc',
                      cMethod='maxclust',
                      cValue=5,
                      plotDendrogram=False)
コード例 #2
0
    '''
    This class represents a simple example of how one can extent the basic
    ModelStructureInterface in order to do EMA on a simple model coded in
    Python directly
    '''

    #specify uncertainties
    uncertainties = [
        ParameterUncertainty((0.1, 10), "x1"),
        ParameterUncertainty((-0.01, 0.01), "x2"),
        ParameterUncertainty((-0.01, 0.01), "x3")
    ]

    #specify outcomes
    outcomes = [Outcome('y')]

    def model_init(self, policy, kwargs):
        pass

    def run_model(self, case):
        """Method for running an instantiated model structure """
        self.output[
            self.outcomes[0].name] = case['x1'] * case['x2'] + case['x3']


if __name__ == '__main__':
    model = SimplePythonModel(None, 'simpleModel')  #instantiate the model
    ensemble = ModelEnsemble()  #instantiate an ensemble
    #     ensemble.parallel = True
    ensemble.set_model_structure(model)  #set the model on the ensemble
    results = ensemble.perform_experiments(1000)  #run 1000 experiments