Sei sulla pagina 1di 17

IQ425 - Profa.

Ana Maria Frattini Fileti 2016


Aluno: Carlos Adriano Moreira da Silva
1° Trabalho - Modelo neural para predição de equilíbrio
líquido/vapor (LV) multicomponente

Objetivo

O objetivo do presente estudo é usar um modelo neural para predição do


equilíbrio LV ao invés dos tradicionais modelos termodinâmicos, para um sistema
ternário de 2-butanol; 2-butanona e água.

Problema

Conhecendo-se a pressão (P) e as frações molares dos 3 componentes na fase


líquida (x1, x2, x3), deseja-se predizer a temperatura (T) e as frações molares da fase
vapor do sistema (y1, y2, y3) quando em equilíbrio termodinâmico. Os dados
experimentais utilizados (dech4.dat) foram obtidos na coleção DECHEMA. A ordem das
variáveis neste arquivo é: P, x1, x2, y1, y2, T (em colunas).

a) Usando o MATLAB, e considerando os vetores entrada/saída de números 1 a


87 para treinamento e de 88 a 99 para teste da rede neural, indique pelo critério de Hagan
o melhor número de neurônios da camada intermediária;

A escolha das variáveis de entradas foram a pressão, P, e as frações de líquido


x1 e x2. As variáveis de saída foram as frações de vapor y1 e y2, e a temperatura, T. O
conjunto de dados experimentais fornecidos pela professora foi normalizado. Nas Figuras
1 e 2 são mostrados os valores normalizados para as variáveis de entrada e saída que serão
utilizados para a construção do modelo neural. Uma parte dos dados foi utilizada para o
treinamento da rede neural (1-87) e a outra foi utilizada para a validação do modelo
construído (88-99).
Como critério de avaliação da performance do modelo neural construído, foi
calculado a SSE (Sum squared error) para cada número de neurônios na camada
intermediaria, N, no qual o programa foi executado. A SSE mede o desempenho de acordo
com a soma dos quadrados dos erros. No Matlab, a SSE é uma função intrínseca que
calcula performance da rede neural.
Na Tabela 1 são apresentados os valores dos parâmetros do ajuste linear
fornecidos pelo Matlab para diferentes número neurônios da camada intermediaria e para
cada variável de saída da rede neural, onde “m” é o coeficiente angular da reta, “b” o
coeficiente linear e “r” o coeficiente de correlação. Também são mostrados os valores das
SSE’s.

Figura 1 – Variáveis de entrada normalizadas em função do número de vetores.

Figura 2 - Variáveis de saída normalizadas em função do número de vetores.


Tabela 1 - Parâmetros do ajuste linear e a SSE.

N=5
m b r SSE
y1 1.0744 -0.0012 0.9376
y2 0.9578 0.0373 0.9911 0.2792
T 0.9883 0.2506 0.9974
N=6
m b r SSE
y1 0.9653 0.0130 0.9500
y2 0.9284 0.0489 0.9923 0.2343
T 1.0078 -0.7987 0.9985
N=7
m b r SSE
y1 1.0196 0.0057 0.9457
y2 0.9151 0.0561 0.9931 0.2565
T 1.0063 -0.8549 0.9983
N=9
m b r SSE
y1 1.0076 0.0042 0.9513
y2 0.9088 0.0613 0.9945 0.2594
T 0.9959 -0.4992 0.9978
N=12
m b r SSE
y1 1.0190 0.0036 0.9489
y2 0.9101 0.0620 0.9951 0.2642
T 0.9971 -0.5676 0.9981
N=15
m b r SSE
y1 1.0393 0.0009 0.9386
y2 0.9225 0.0557 0.9963 0.2553
T 0.9957 -0.4040 0.9982
N=20
m b r SSE
y1 1.0747 -0.0058 0.9359
y2 0.9125 0.0573 0.9967 0.2503
T 1.0042 -1.0183 0.9983
N=30
m b r SSE
y1 1.0597 -0.0025 0.9439
y2 0.9165 0.0575 0.9968 0.2447
T 1.0013 -0.8762 0.9983
Na Figura 3 é apresentado o valor da SSE em função do número de neurônios na
camada intermediaria. Conforme pode-se observar na Tabela 1, de acordo com o critério
do erro SSE, a estrutura da rede que melhor representou os dados foi com 6 neurônios na
camada intermediaria. Pôde-se observar que a medida que N aumenta, ocorre uma
diminuição no valor de SSE. Porém durante a simulação, percebeu-se que o modelo
neural construído levou mais tempo para finalizar a execução do programa.

Figura 3 – SSE em função do número de neurônios da camada intermediaria.

0,285
0,280
0,275
0,270
0,265
0,260
SSE

0,255
0,250
0,245
0,240
0,235
0,230
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
N

Nas Figuras 4 a 11 são apresentados os valores preditos pela rede neural


(desnormalizados) em função dos valores observáveis (reais) para y1, y2 e T. A linha
pontilhada representa a linha de identidade, ou seja, y=x. A linha contínua vermelha
representa a equação ajustado com os parâmetros da Tabela 1. Pode-se observar em que
todas as simulações realizadas, houve uma boa concordância entre os dados
experimentais e simulados pela rede neural. Melhor correlação entre os dados foi
observado para as variáveis de saída de y2 e T.
Figura 4 –Valores preditos em função dos valores observados para y1, y2 e T para
N=5.
Figura 5 –Valores preditos em função dos valores observados para y1, y2 e T para
N=6.
Figura 6 –Valores preditos em função dos valores observados para y1, y2 e T para
N=7.
Figura 7 –Valores preditos em função dos valores observados para y1, y2 e T para
N=9.
Figura 8 –Valores preditos em função dos valores observados para y1, y2 e T para
N=12.
Figura 9 –Valores preditos em função dos valores observados para y1, y2 e T para
N=15.
Figura 10 –Valores preditos em função dos valores observados para y1, y2 e T
para N=20.
Figura 11 –Valores preditos em função dos valores observados para y1, y2 e T
para N=30.

b) Teste de interpolação: alterar o arquivo de dados de forma a treinar o modelo neural


com todos os vetores que contenham pressões de 200 e 760 mmHg e testar com todos os
vetores que contenham pressão de 600mmHg. Mostrar e discutir a qualidade dos
resultados, comparando com os obtidos no item a;

Nas Figuras 12 e 13 são apresentas as novas configurações das variáveis de


entrara e saída normalizadas em função do número de vetores. Como já verificado no
item “a”, o número de neurônios na camada intermediaria que fornece o menor SSE e
menor esforço computacional foi com N=6. Portanto, foi realizado a simulação da rede
neural nesta condição.
Figura 12 – Variáveis de entrada normalizadas em função do número de vetores.

Figura 13 - Variáveis de saída normalizadas em função do número de vetores.

Na Tabela 2 são apresentados os parâmetros do ajuste linear realizado entre os


dados experimentais e os simulados pela rede e a SSE. Pôde-se verificar que o modelo
neural conseguiu predizer as variáveis y1, y2 e T, mesmo não utilizando dados de saída
de y1, y2 e T na pressão de 600 mmHg para o seu treinamento. Mesmo apresentando um
SSE maior que o item “a” (SSE=0.2343 para N=6), houve uma boa correlação entre os
dados experimentais e simulados, sendo que as melhores correlações foram verificadas
para y1 e y2, para conforme pôde-se observar na Figura 14:
Tabela 2 - Parâmetros do ajuste linear e a SSE.

m b r SSE
y1 1.0267 -0.0087 0.9921
y2 0.9452 0.0405 0.9908 0.6671
T 0.9428 1.9373 0.9772

Figura 14 –Valores preditos em função dos valores observados para y1, y2 e T


para N=6.

Neste caso, foi constatada a capacidade de interpolação que uma rede neural
pode apresentar.

c) Teste de extrapolação: alterar o arquivo de dados de forma a treinar o modelo neural


com todos os vetores que contenham pressões de 200 e 600 mmHg e testar com todos os
vetores que contenham pressão de 760mmHg. Mostrar e discutir a qualidade dos
resultados, comparando com os obtidos nos itens a e b.
Nas Figuras 15 e 16 são apresentas as novas configurações das variáveis de
entrara e saída normalizadas em função do número de vetores. Tal como nos itens “a” e
“b”, foi realizado a simulação da rede neural com 6 neurônios na camada intermediaria.

Figura 15 -- Variáveis de entrada normalizadas em função do número de vetores.

Figura 16 - Variáveis de saída normalizadas em função do número de vetores.

Na Tabela 3 são apresentados os parâmetros do ajuste linear realizado entre os


dados experimentais e os simulados pela rede e a SSE. Pôde-se verificar que o modelo
neural conseguiu predizer com sucesso as variáveis y1 e y2 e razoavelmente T, mesmo
não utilizando dados de saída de y1, y2 e T na pressão de 760 mmHg para o seu
treinamento. A SSE foi maior do que os itens “a” (SSE=0.2343) e “b” (SSE=0.6671).
Conforme pôde-se observar na Figura 17, começam a surgir desvios significativos entre
os dados experimentais e simulados para condições onde a rede neural precisou extrapolar
dados, isto é, quando o modelo recebe dados de entradas para simula dados que não
condizem com seu treinamento previamente realizado. Os maiores desvios foram
observados para a T.

Tabela 3 - Parâmetros do ajuste linear e a SSE.

m b r SSE
y1 1.0000 0.0076 0.9900
y2 0.9823 -0.0178 0.9860 1.6233
T 0.9910 5.2273 0.9787

Figura 17 –Valores preditos em função dos valores observados para y1, y2 e T


para N=6.
Neste caso, foi constatada a capacidade parcial de extrapolação que uma rede
neural pode apresentar.

Potrebbero piacerti anche