Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Explorando o paper Machine Learning for Evaluating and Improving Theories Fudenberg e Liang 2020

0 votos
10 visitas
perguntada Out 29 em Economia por Gustavo Libório (16 pontos)  
editado Out 29 por Gustavo Libório

Reflexões sobre o artigo e replicação usando uma base de dados de valoração de loterias feita por Bruhin (2010).

Compartilhe

1 Resposta

0 votos
respondida Out 29 por Gustavo Libório (16 pontos)  
editado Nov 1 por Gustavo Libório

Usando Aprendizagem de Máquinas para melhorar teorias


A mensagem principal do artigo original está resumida na sua conclusão:

[...] a aprendizagem de máquinas e as técnicas algorítmicas associadas
podem ajudar a melhorar as teorias econômicas. Quando as teorias são
incompletas, a aprendizagem de máquinas pode ajudar os pesquisadores a identificar regularidades que não são capturadas pelos
modelos existentes e depois desenvolver novas teorias que prevejam melhor.
Inversamente, quando uma teoria é altamente completa, as técnicas
algorítmicas podem mostrar se isto se deve simplesmente à capacidade
da teoria de encaixar quaisquer dados possíveis, ou se o bom encaixe
resulta da teoria que descreve os comportamentos no mundo real

O artigo, que resume alguns outros trabalhos dos autores, propõe e exemplifica três metodologias para conduzir a avaliação e melhoria de teorias:

  1. Analisar o quão completa é sua teoria, verificando se algum modelo de aprendizagem de máquinas pode prover intuição sobre o problema
  2. Verificar se seu modelo é completo pois consegue explicar uma vasta gama de outros modelos com seus parâmetros
  3. Gerar novos instrumentos para coleta de dados

Desenvolvi códigos para parcialmente replicar os resultados apresentados no artigo, que estão disponíveis neste repositório. Além disso, lá há uma apresentação que resume alguns pontos do artigo e os dados necessários para realizar as estimações.

Alguns trechos interessantes do código são:

def expected_value(p, z1, z2):
        """
        :param p: probability of z1 happening
        :param z1: monetary prize 1
        :param z2: monetary prize 2
        :return: lottery expected value
        """
        return p * z1 + (1 - p) * z2


def CPT_utility_value(alpha, beta, gamma, delta, p, z1, z2):
    if z1 > 0 and z2 > 0:
        v1 = np.power(np.abs(z1), alpha)
        v2 = np.power(np.abs(z2), alpha)
    elif z1 <= 0 and z2 > 0:
        v1 = -np.power(np.abs(z1), beta)
        v2 = np.power(np.abs(z2), alpha)
    elif z1 > 0 and z2 <= 0:
        v1 = np.power(np.abs(z1), alpha)
        v2 = -np.power(np.abs(z2), beta)
    else:
        v1 = -np.power(np.abs(z1), beta)
        v2 = -np.power(np.abs(z2), beta)
    w = (delta * np.power(p, gamma)) / (delta * np.power(p, gamma) + np.power(1 - p, gamma))
    return w * v1 + (1 - w) * v2

Referências


Fudenberg, Drew, and Liang, Annie; 2020.
Machine Learning for Evaluating and Improving Theories. ACM SIGecom Exchanges: Vol. 18, No. 1, 4-11.

Bruhin, A., Fehr-Duda, H., and Epper, T 2010.
Risk and rationality: Uncovering heterogeneity in probability distortion. Econometrica 78, 4, 1375--1412

Fudenberg, Drew et al. 2019.
Measuring the Completeness of Theories.
PIER Working Paper.

Fudenberg, Drew; Gao, Wayne; and Liang, Annie; 2020.
How Flexible is that Functional Form? Quantifying the Restrictiveness of Theories. arXiv preprint arXiv:2007.09213

...