ec.mestrado.problem
Class ReplicatePortfolio

java.lang.Object
  extended by ec.Problem
      extended by ec.gp.GPProblem
          extended by ec.gp.database.DatabaseProblem
              extended by ec.mestrado.problem.ReplicatePortfolio
All Implemented Interfaces:
Prototype, Setup, SimpleProblemForm, Serializable, Cloneable

public class ReplicatePortfolio
extends DatabaseProblem

Esta classe representa o problema de replicação de uma carteira. Dado uma série com os valores diários de uma carteira, um conjunto de nós terminais que representam os ativos, e um conjunto de nós terminais que representam as funções que serão aplicadas aos ativos, o problema procura encontrar qual é a combinação desses ativos que mais se aproxima do comportamento diário do valor da carteira

Author:
Rafael Inhasz
See Also:
Serialized Form

Field Summary
 int numDerivatives
           
static String P_MEAN_SIGMA_SHOCK
           
static String P_REGULARIZATION
           
 
Fields inherited from class ec.gp.database.DatabaseProblem
enumElements, fatorRegularizacao, historyDatabase, i, input, P_HISTORY_DATA_CLASS, P_TEST, P_TRAINING, testSetSize, trainingSetSize
 
Fields inherited from class ec.gp.GPProblem
data, P_DATA, P_GPPROBLEM, P_STACK, stack
 
Fields inherited from class ec.Problem
P_PROBLEM
 
Constructor Summary
ReplicatePortfolio()
           
 
Method Summary
 void evaluate(EvolutionState state, Individual ind, int subpopulation, int threadnum)
          Método a avaliação do indivíduo.
 double getMDLIndividualFunction(DatabaseProblemData yAjustado)
          Método para o cálculo da função MDL (minimum-description length).
 String getMetaControleMethod()
           
 double getRegularizationFactor(GPNode node)
          Método para o cálculo do fator de penalização, que também deverá ser implementado na subclasse
 double getTargetVariable()
          Método para o retorno da variável-objeto do processo.
 void setup(EvolutionState state, Parameter base)
          Método para a configuração do objeto
 
Methods inherited from class ec.gp.database.DatabaseProblem
ARV, clone, compareIndividual, getLagMax, getVariables, prepareToEvaluate, prepareToTest, testElements, trainingElements
 
Methods inherited from class ec.gp.GPProblem
defaultBase, describe
 
Methods inherited from class ec.Problem
canEvaluate, closeContacts, finishEvaluating, initializeContacts, reinitializeContacts
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ec.simple.SimpleProblemForm
describe
 

Field Detail

P_MEAN_SIGMA_SHOCK

public static final String P_MEAN_SIGMA_SHOCK
See Also:
Constant Field Values

P_REGULARIZATION

public static final String P_REGULARIZATION
See Also:
Constant Field Values

numDerivatives

public int numDerivatives
Constructor Detail

ReplicatePortfolio

public ReplicatePortfolio()
Method Detail

getMetaControleMethod

public String getMetaControleMethod()

setup

public void setup(EvolutionState state,
                  Parameter base)
Método para a configuração do objeto

Specified by:
setup in interface Prototype
Specified by:
setup in interface Setup
Overrides:
setup in class DatabaseProblem
Parameters:
state - Objeto EvolutionState que guarda as informações sobre a evolução do processo
base - Base de parametrização auxiliar. Se esse parâmetro for enviado com valor "database" por exemplo, qualquer parâmetro desta classe poderá ser obtida no arquivo de parâmetros através da keyword "database.". Por exemplo, para obter o tamanho da base de treinamento, a keyword seria "database.training".

getTargetVariable

public double getTargetVariable()
Método para o retorno da variável-objeto do processo. O tipo de problema que esta classe objetiva resolver consiste em reproduzir o valor da variável-objeto através das variáveis explicativas da base de treinamento

Specified by:
getTargetVariable in class DatabaseProblem
Returns:
Retorna o valor do fator de regularização

getMDLIndividualFunction

public double getMDLIndividualFunction(DatabaseProblemData yAjustado)
Método para o cálculo da função MDL (minimum-description length).

Specified by:
getMDLIndividualFunction in class DatabaseProblem
Parameters:
yAjustado - valor da variável target
Returns:
Retorna o valor da função MDL. Como este método é abstrato, o cálculo da função será implementado nas subclasses. Essa função combinará uma função de precisão (como o erro quadrático médio, por exemplo) com um fator de penalização, que será dado pela função getRegularizationFactor
See Also:
getRegularizationFactor

getRegularizationFactor

public double getRegularizationFactor(GPNode node)
Método para o cálculo do fator de penalização, que também deverá ser implementado na subclasse

Specified by:
getRegularizationFactor in class DatabaseProblem
Parameters:
node - este parâmetro deverá conter o nó raiz do indivíduo em avaliação
Returns:
Retorna o valor do fator de regularização

evaluate

public void evaluate(EvolutionState state,
                     Individual ind,
                     int subpopulation,
                     int threadnum)
Método a avaliação do indivíduo. Não contém implementação neste método, devendo ser codificado nas subclasses

Specified by:
evaluate in interface SimpleProblemForm
Overrides:
evaluate in class DatabaseProblem
Parameters:
state - objeto Evolution state que resume o estado do processo
ind - Indivíduo a avaliar
subpopulation - subpopulação a qual pertence o indivíduo a ser avaliado
threadnum - número da thread de processamento. Em caso de monoprocessamento, será enviado o valor zero e o parâmetro não terá utilidade