Analytic Hierarchy Process (AHP) – método de apoio a decisões complexas

Analytic Hierarchy Process (AHP)
É um método de apoio a tomada de decisões complexas, baseado em procedimento abrangente e racional na estruturação do problema. Foi desenvolvido por Thomas L. Saaty em 1972, na Escola Wharton de Administração de Empresas da Universidade da Pensilvânia.

A essência AHP considera os julgamentos humanos e as informações numéricas, pois converte os julgamentos em valores numéricos. Isso permite o processamento e comparação de toda a extensão do problema.

Geralmente, utilizamos modelos de software como Expert Choice, Decision Lens, Make It Rational e Web-HIPRE para trabalhar com os dados e síntese dos resultados. Ou também o software desenvolvido pela Universidade Federal de Alfenas.

AHP

E como funciona?

  • Hierarquia: decompor o problema em subproblemas. Facilita a compreensão e permite análises independentes.
  • Elementos da hierarquia: tangível ou intangível, relaciona-se com os aspectos do problema de decisão.
  • Avaliação: avaliar as decisões sistematicamente, considerando seus elementos e comparando-os um ao outro. Os dados podem ser concretos ou com base no julgamento sobre a importância dos elementos. Um peso ou prioridade é derivado para cada elemento da hierarquia.

AHP-subcriterios.png


Aplicabilidade
Embora possa ser utilizado por indivíduos lidando com decisões simples, o AHP é mais útil quando equipes estão envolvidas em

  • Problemas complexos que necessitam de percepção humana
  • Resolução terá repercussão de longo-prazo
  • Dificuldade de quantificar ou comparar elementos da decisão
  • Problema de comunicação entre os elementos – especialidades, terminologias e perspectivas diferentes


Utilizando AHP

  • Objetivo: Comprar um carro
  • Critérios: Estilo, Confiabilidade e Consumo
  • Alternativas: Focus, Corolla, Civic, Fluence

AHP-criterios

Os dados são sintetizados de modo a determinar rankings relativos de cada alternativa. Podem ser usados métodos quantitativos e qualitativos para comparar os critérios e definir os pesos e prioridades. E baseado no julgamento humano, determinamos os critérios mais importantes:

  1. A confiabilidade é 2 x mais importante que o estilo
  2. O estilo é 3 x mais importante que o confiabilidade
  3. Confiabilidade é 4 x mais importante que o consumo

A Pairwise Comparation (comparação paritária) relaciona os pesos atribuídos aos critérios, expressando a importância de um critério relativo em relação ao outro:

pairwise

Passo 1
Converter a matriz de frações em decimais
pairwise-II

Passo 2 – Multiplicar as matrizes
Passo 3 – Somar as linhas e depois colunas. Depois normalizar, dividindo o valor de cada linha pelo o total da coluna
Passo 4 – Recomeça-se o processo. Compara-se o resultado anterior com o novo encontrado, até que uma nova interação não demonstra muita diferença

Claro, que este cálculo deve ser feito utilizando um software recomendado. O resultado então ficou:AHP-resultado

Pode-se calcular alternativas também, realizando para cada critério o mesmo processo. A medida de inconsistência entre a pairwise comparision da matriz pode ser expressa por: C.I. = λmáx – n
               n – 1

Data Mining (Mineração de dados) utilizando Weka

O Weka (Waikato Enviroment for Knowledge Analysis) é um software livre utilizado neste Post para aplicar técnicas de mineração de dados. A ferramenta Weka dispõe de algoritmos de Data Mining, tais como:

  • Classificação: Árvore de decisão, Naive Bayes, entre outras
  • Predição numérica: Regressão linear, perceptron multicamadas e outras
  • Agrupamento: SimpleKMeans, DBScan e outras
  • Associação: Apriori, FPGrowth e outras

O Data Mining está inserido no processo de KDD (Knowledge Discovery in Databases), que segundo Fayyad et al. (1996), trata-se de um processo não trivial de identificação de padrões, que tem por objetivo a descoberta de conhecimento em banco de dados, a fim de extrair informações implícitas e potencialmente úteis.

Alguns conceitos como KDD e as tarefas da Mineração de Dados são imprescindíveis para a compreensão e aplicabilidade dos recursos em seu ambiente. Na minha Dissertação do Mestrado explico em detalhes o conteúdo teórico.

A opção Explorer (tela inicial do Weka) é a principal interface para Data Mining:

weka.png

O Weka utiliza o formato ARFF e marcações como @relation, @attribute (tipo e valores) e @data (instância dos dados). As guias PreprocessClassify, Cluster Associate serão utilizadas nos exemplos deste post.

weka-tela-inicial


Regressão Linear
“A Regressão Linear é uma equação para se estimar a condicional (valor esperado) de uma variável y, dados os valores de algumas outras variáveis x”. No primeiro exemplo, utilizamos a classe weka.classifiers.LinearRegression para descobrir o custo de indisponibilidade na empresa, ocasionadas por falhas em sistemas.

weka-linear-regression

Como a equação só trabalha com valores numéricos, alguns valores foram convertidos para utilização do algoritmo. O coeficiente indica os atributos com maior peso na equação.

Classificação
O algoritmo J48 trabalha com modelos de decisão em árvore, construídas de forma hierárquica, selecionando o atributo mais apropriado para cada situação. Neste exemplo, o algoritmo trabalhou com treinamento de 70% do conjunto e 30% para testes. No final é apresentada a classificação das instâncias, utilizando o índice kappa – medida de qualidade do modelo – e apresentou 0,834 de concordância, o que indica poucas amostras classificadas erroneamente.

weka-j48

Também pode ser utilizada a opção Visualize Tree para a representação da classificação em árvore de decisão.

 

Associação
Por fim, a regra de associação é um padrão da forma X → Y (X implica em Y), em que X e Y são conjuntos disjuntos de valores (X ∩ Y ≠ φ). A força da regra pode ser medida em (TAN et al., 2009):

  • Suporte: determina a frequência da aplicação de uma regra a um determinado conjunto de dados

weka-suporte

  • Confiança: determina a frequência que os itens Y aparecem nas transações que contenham X.

weka-confianca

algoritmo Apriori (de classificação) é utilizado para descobrir relacionamentos no conjunto de dados. É necessário configurar um suporte e confiança mínima nos parâmetros do Weka – parâmetros lowerBoundMinSupport (suporte mínimo) e minMetric (confiança mínima). O resultado será as regras de associação com maior confiança, como apontado no exemplo abaixo, baseado nos atributos configurados.

  Regra de associação Confiança
1 Tipo=0 Parada=0 3052 ==> Contorno=0 3017 conf:(0.99)
2 Tipo=1 Contorno=0 3165 ==> Parada=0 3103 conf:(0.98)
3 Reincidente=1 3907 ==> Parada=0 Contorno=0 3733 conf:(0.96)
4 Tipo=1 Parada=0 4324 ==> Duracao_menor_8h=1 3921 conf:(0.91)
5 Reincidente=0 3610 ==> Duracao_menor_8h=1 Parada=0 3016 conf:(0.84)
6 Duracao_menor_8h=1 Parada=0 4252 ==> Reincidente=0 3016 conf:(0.71)