Metodologia de Construção e Avaliação de Modelos Preditivos

Mineração de Dados - 2019


Danilo S. Carvalho

Índice

  • Construindo um modelo preditivo
  • Amostragem de dados
  • Treinamento (fit) do modelo
    • Condição de parada
  • Validação do modelo
  • Avaliação

Construindo um modelo preditivo

O que é um modelo preditivo?

  • Um modelo preditivo é um artefato matemático que nos permite prever o comportamento de uma ou mais variáveis, condicionado à observação de um conjunto de dados pertinente ao problema em análise.

Construindo um modelo preditivo

O que é um modelo preditivo?

  • Geralmente obtido a partir do ajuste de
    • A) Probabilidade condicional das variáveis dependentes, dadas as variáveis explicativas: $P(Y | X = x)$. (modelo discriminativo)
    • B) Probabilidade condicional das variáveis explicativas, dadas as variáveis dependentes: $P(X | Y = y)$, ou a probabilidade conjunta $P(X, Y)$. (modelo gerador)

Construindo um modelo preditivo

Construindo um modelo preditivo

  • Para construir um bom modelo, precisamos então
    1. Selecionar um conjunto de dados que represente bem o domínio do problema sendo analisado. Amostragem
    2. Ajustar o modelo o suficiente para que possa generalizar seu comportamento para dados não conhecidos, sem "decorar" os dados. Treinamento
    3. Verificar se o modelo está corretamente ajustado e estimar o seu desempenho. Validação
    4. Testar e avaliar o desempenho do modelo. Teste ou Avaliação

Amostragem de dados

Amostragem de dados

  • Os exemplos conhecidos para um problema no mundo real apresenta uma distribuição D para suas variáveis, determinada pelo domínio do problema.
  • D é desconhecida.
  • Ao selecionar exemplos, obtemos uma distribuição D', a qual gostariamos que fosse similar a D.

Amostragem de dados

Estratégias de amostragem

  • As estratégias de amostragem determinam como serão feitos os próximos passos da construção do modelo: treinamento, validação, e avaliação.
  • Cada estratégia possui vantagens e desvantagens, sendo usadas em diferentes situações.

Resubstituição

  • Todo o conjunto de exemplos conhecido é utilizado para treinar e avaliar o modelo.
  • Estimativa otimista do desempenho.
  • Aumenta tendência a "decorar" os dados.
  • Útil no caso de falta de exemplos úteis.

Holdout

  • Uma fração $q \lt 1.0$ do conjunto de exemplos é separada para treinamento e $(1 - q)$ para teste/validação.
  • Dados de teste não fazem parte do treinamento.
  • Menos otimista.
  • Problemático em conjuntos muito pequenos pois parte dos exemplos são ignorados.

Validação Cruzada

  • Realiza $K$ amostragens holdout (folds) mutualmente exclusivos.
Ex: 5-fold CV
  • A cada iteração, $K - 1$ folds são usados para treinamento e 1 para teste/validação.
  • Este processo é repetido $K$ vezes.
  • A avaliação do modelo é feita sobre a média dos resultados dos folds.

Validação Cruzada

  • Realiza $K$ amostragens holdout (folds) mutualmente exclusivos.
Ex: 5-fold CV
  • Diminui viés de amostragem.

  • Mais custoso.

Bootstrap

  • Seleciona $N$ amostras aleatórias (com reposição) a partir do conjunto de exemplos.
  • Ex: Bootstrap e0:
    $N = $ tamanho do conjunto de exemplos.
  • Exemplos não sorteados são usados para teste/validação.
  • Vantagens e desvantagens similares à Validação Cruzada.

Treinamento (fit) do modelo

Treinamento

  • Os exemplos selecionados para treinamento são apresentados uma ou mais vezes para o algoritmo que vai construir o modelo.
  • Dependendo do algoritmo e do problema, pode ser necessário a reordenação dos exemplos, para evitar a ocorrência de viés temporal.

Condição de parada

  • Decidir quando o treinamento deve parar envolve geralmente um ou mais dos seguintes critérios:
    • Convergência
      • Aguarda a condição de convergência do algoritmo.
    • Número de iterações (early stopping)
      • Interrompe o algoritmo após um número determinado de iterações.

Condição de parada

  • Decidir quando o treinamento deve parar envolve geralmente um ou mais dos seguintes critérios:
    • Desempenho sobre o conjunto de treinamento
      • Treina até que o modelo consiga um desempenho desejado no conjunto de treinamento.
    • Desempenho sobre o conjunto de validação
      • Separa um conjunto de validação para ajuste do modelo e treina até alcançar o desempenho desejado neste.

Validação do modelo

Validação

  • Consiste em avaliar o desempenho do modelo em um conjunto de exemplos separado do de treinamento, mas diferente do de teste.
  • Usado para ajustar os parâmetros do modelo e fazer o retreinamento conforme necessário.
    • Nota de terminologia:
      • Parâmetros: variáveis internas ao modelo (e.g., coeficientes)
      • Hiperparâmetros: variáveis do algoritmo de construção do modelo (e.g., num. iterações, função objetivo)
  • Muitas vezes "teste" é usado quando queremos nos referir à validação.

Ajuste de parâmetros

  • O ajuste de parâmetros é feito de acordo com o algoritmo utilizado.
  • Alguns métodos comuns são:
    • Aleatório / Eliminação
    • Busca binária
    • Fator de confiança
      • Elimina elementos do modelo baseado em um fator de confiança calculado para cada exemplo.

Avaliação

Avaliação

  • Consiste em obter uma medida do desempenho final do modelo.
  • Realizada usando os dados separados para teste.
  • Dependente do tipo de problema, mas métricas comuns são bastante utilizadas.

Métricas

Algumas métricas comuns são:

  • Erro Quadrático Médio (MSE)
  • Precisão
  • Cobertura (Recall)
  • F1-score

Métricas

  • Erro Quadrático Médio (MSE)

    • $$MSE = \frac{1}{n}\sum_{i=1}^{n}(Y_i - \hat{Y}_i)^2$$


  • onde $Y_i$ é o valor do exemplo de teste conhecido e $\hat{Y}_i$ é o valor estimado.

Matriz de Confusão

  • Apresenta os resultados do teste de forma sumarizada.
  • As linhas representam os valores esperados (verdadeiros).
  • As colunas representam os valores obtidos (estimados).

Matriz de Confusão

  • Apresenta os resultados do teste de forma sumarizada.
  • Os erros, em uma classificação binária, são divididos em
    • Falsos positivos: classificados como positivos, mas são negativos
    • Falsos negativos: classificados como negativos, mas são positivos

Métricas

  • Precisão

    • $P = \frac{verdadeiros\_positivos}{verdadeiros\_positivos + falsos\_positivos}$

  • Cobertura (Recall)

    • $R = \frac{verdadeiros\_positivos}{verdadeiros\_positivos + falsos\_negativos}$

Precisão & Cobertura

Métricas

  • F1-score

    • $F1 = 2 * \frac{Precisão * Recall}{Precisão + Recall}$


  • Média harmônica da precisão e cobertura.
  • Oferece um bom balanço entre as duas medidas.