▷ Inteligência Artificial aplicado ao Excel – Técnica de Conjuntos Difusos – Fuzzy

Quando ouvimos falar de Inteligência Artificial ficamos curiosos para saber o que é, mas cientificamente ela é um conjunto de técnicas (algoritmos) onde o Fuzzy (conjuntos difusos) é uma das técnicas deste grande "guarda chuva" das técnicas chamadas de Inteligência Artificial, assim como as Técnicas de Otimização Linear, Mineração de Dados, Análise Multivariadas, Series Temporais Univariadas e assim sucessivamente.

Essa técnica foi criada por Lotfali Askar-Zadeh em 1965, chamado de conjuntos difusos, vou resumir aqui pois caso queiram ver o artigo original segue o link abaixo.

https://www.sciencedirect.com/science/article/pii/S001999586590241X

Resumindo, iremos trabalhar com uma lógica não binária de 0 ou 1 mas sim "difusa" o exemplo mais comum utilizado é a temperatura, o que é quente para mim é quente para você? Teoricamente cada pessoa tem um "intervalo" do que é quente e do que é frio, por isso temos este "intervalo" de quente e frio para cada pessoa. Mas vamos ao conceito do cálculo abaixo:

É possível utilizar dois ou mais conjuntos de variáveis, mas neste exemplo iremos utilizar duas grandes variáveis e vamos demonstrar aqui uma aplicação na Bolsa de Valores, o que seria um "robô" de compra e venda de ações.

Vamos utilizar como primeiro grande "variável" a Ação da Petrobrás PETR4 e como segunda grande "variável" a cotação do Dólar e iremos separar em 5 intervalos, Muito Barato, Barato, Neutro, Caro e Muito Caro, conforme os exemplos abaixo

Fuzzy no Excel

Iremos utilizar neste exemplo bases triangulares para exemplificar e facilitar os nossos cálculos para achar os "graus de pertinência" (já entraremos em mais detalhes), mas é possível utilizar qualquer curva, sigmoide, exponecial, etc.

Faremos o mesmo agora para a outra grande "variável" que é o Barril do Petróleo, também separado em 5 intervalos, Muito Barato, Barato, Neutro, Caro e Muito Caro, conforme o exemplo abaixo:

Fuzzy no Excel

O processo de "fuzzificação" é você determinar um intervalo de dados em uma variável "Muito Barato" onde ela tem um início e um fim, no caso acima (Barril de Petróleo - Muito Barato) estamos variando entre 0 até o 5 com o eixo Y em 100% e depois diminuindo até 0% no valor 15, realizando um trapézio retangular. Todas as variáveis são necessárias ter um início e um fim, como foi realizada nas imagens acima e estipulado um nome nestes intervalos.

A nomenclatura "difusa" é devido a dois ou mais intervalos se cruzarem conforme todos os modelos acima, onde o Muito Barato e Barato tem áreas sobrepostas resultando a análise "difusa".

Adicionando as variáveis "reais" da PETR4 e Barril de Petróleo, vamos usar o exemplo hipotético:

PETR4: R$ 20,30

Barril de Petróleo: USD 27,50

E adicionando nos nossos intervalos, resultará as seguintes imagens

Ação da Petrobrás

Fuzzy no Excel

Barril de Petróleo

Fuzzy no Excel

Estes pontos onde elas "interceptam" nos gráficos são chamados de "graus de pertinência", vamos utilizar o exemplo acima, o valor do Barril de Petróleo está a USD 27,50 e o valor se interceptou nas duas áreas "Barato" e "Neutro", mostrado abaixo

Caso o ponto só tenha interceptado somente uma área do gráfico, teremos somente 1 grau de pertinência para o "grupo" (neste caso Barril de Petróleo).

Para calcular este percentual é muito simples só utilizar os conceitos trigonométricos.

Nas grandes "variáveis" (Ação da Petrobrás e Barril de Petróleo) acima resultaremos com 4 graus de pertinências, são eles:

Ação da Petrobrás: PETR4

1° grau de pertinência: Barato-> 46,24999%, 2° grau de pertinência: Neutro-> 19,167%

Barril de Petróleo (já demonstrado acima)

1° grau de pertinência: Barato-> 6,25%, 2° grau de pertinência: Neutro-> 25%

Definidos esta parte, é necessária criar uma tabela chamada de "Matriz Humanoide" (se dá esse nome porque é necessário a ação humana para a definição dos intervalos), onde vamos combinar os intervalos dos grandes grupos e teremos que definir uma "saída" para a combinação entre ambas.

Fuzzy no Excel

As "saídas" foram definidas como

CM - Compra Muito ("Ação") +

C - Compra ("Ação") +

N - Neutro ("Não compra e não vende ação")

V - Vende ("Ação") -

VM - Vende Muito ("Ação") -

E agora teremos que fazer o processo de "Desfuzzificação", que consiste em transformar toda essa análise de dados e cálculos em um valor único. Mas antes disso vamos ter que combinar os "graus de pertinências" que segue abaixo

Fuzzy no Excel

Teremos que primeiro utilizar o 1° grau de pertinência da PETR4 e associar aos dois graus de pertinência do Barril de Petróleo, no exemplo acima foi feito ao contrário (que dará a mesma resposta), depois o 2° grau de pertinência da PETR4 e associar novamente aos dois graus de pertinência do Barril de Petróleo, a resultante sempre será o menor valor entre as duas combinações.

Temos duas técnicas para a saída do Fuzzy (desfuzzificação) que são eles

Mamdani (Mamdani, 1973)

Esta técnica deverá obter das resultantes o menor valor entre todos neste caso o 0,06 ou 6% para fazer o centroide (baricentro) da saída.

Takagi-Sugeno (Takagi e Sugeno, 1983)

Esta técnica precisaremos calcular a média dos centroides (baricentro) da saida, como esta técnica é a mais complexa, foi a escolhida para este artigo.

Também é necessário definir os intervalos para cada intervalo de saída, que segue abaixo:

Fuzzy no Excel

Agora é associar cada saída já definida a um trapézio e com isso terá que calcular o centroide (baricentro), segue a imagem abaixo:

Resposta final será a média de todos os centroides (baricentro), conforme a imagem abaixo:

Fuzzy no Excel

Neste caso a resposta foi 2,1, que podemos interpretar a "compra" de 2,1 ações ou 2,1 mil ações, ou colocar limitantes na saída.

Fiz um modelo abaixo para ver como o Fuzzy se comporta com a variação das entradas resultando a saída.

Espero que tenham gostado desse artigo!

Esta técnica, inicialmente parece complexo, mas não é, confesso que levei 7 dias para montar ela do zero, só utilizando dois vídeos como base, que são eles

Obrigado também ao Prof. Dr. Alexandre Rasi Aoki pela disciplina de Inteligência Artificial no programa de Mestrado no Instituto LACTEC aqui em Curitiba-PR onde fiz o Mestrado.

OBS: Meus alunos em um nível antes do VBA, era mandatório em sala de aula realizar ele método que considero muito elegante para o MS Excel, para mostrar o quanto temos que estudar antes de ir para a Programação VBA.

OBS2: O eixo Y é considerado 100% para melhor entendimento, mas é possível assumir qualquer valor.

E por último um agradecimento em especial ao meu grande amigo e Mestre Alessandro Trovato pela conquista do tão sonhado MVP da Microsoft! Parabéns de coração meu amigo e por tantos trabalhos já realizados para a nossa comunidade! Obrigado também por me ajudar a revisar os artigos que são publicados aqui.

Frase do Dia: Albert Einstein - "Insanidade é continuar fazendo sempre a mesma coisa e esperar resultados diferentes"

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *