10 Fisk og fiske
10.2 Bruken av fisk som mat
Os algoritmos utilizados para a estima¸c˜ao dos consumos parciais associados a frigor´ıficos e m´aquinas seguem uma estrutura de Ensemble Learning com algoritmos de primeiro n´ıvel e algoritmos de segundo n´ıvel (meta algoritmos). Nesta estrutura, as previs˜oes dos algoritmos de primeiro n´ıvel s˜ao obtidas atrav´es de uma valida¸c˜ao cruzada 5-fold, tal como explicado em [23]. Com o objetivo de combinar os pontos fortes de v´arias metodologias, foram selecionados alguns tipos de algoritmo bastante distintos. Abaixo est´a a lista dos algoritmos de primeiro n´ıvel utilizados:
• M´edia do conjunto de treino. Consiste em utilizar as m´edias das vari´aveis resposta para todas as observa¸c˜oes dispon´ıveis (conjunto de treino), como previs˜oes para observa¸c˜oes futuras. Mais do que algoritmo de primeiro n´ıvel, a m´edia do conjunto de treino serve de referˆencia para an´alise do desempenho dos restantes algoritmos.
• Agrupamento pelos vizinhos mais pr´oximos. Utiliza a m´edia dos valores observados das vari´aveis resposta para os k clientes ”mais pr´oximos”para previs˜ao sobre o cliente em quest˜ao. Para k entre 1 e 7, o algoritmo faz sele¸c˜ao de covari´aveis backward stepwise, seleci- onando sempre a vari´avel cuja inclus˜ao resulta no maior aumento da precis˜ao do algoritmo (Energy Accuracy ) dentro do conjunto de treino. Seleciona-se o conjunto de vari´aveis e o n´umero de vizinhos (k) que produzem a maior precis˜ao de entre todas as itera¸c˜oes do algoritmo. O algoritmo foi escrito em R para seguir um procedimento semelhante ao de [5]. • Rede neuronal. Uma rede neuronal com duas camadas ocultas com 5 e 3 v´ertices, respetivamente. Qualquer aumento no n´umero de v´ertices, impacta bastante o tempo de execu¸c˜ao. Foi utilizada a fun¸c˜ao neuralnet pertencente ao pacote MASS do R. O algoritmo utilizado para o ajustamento do modelo foi RPROP, uma variante do algoritmo Backpropagation [24].
• Modelo linear. Um modelo linear m´ultiplo de resposta multivariada. Foi utilizada a fun¸c˜ao lm pertencente ao pacote stats do R. A transforma¸c˜ao Box-Cox foi aplicada
automaticamente a todas as vari´aveis resposta considerando a estimativa de m´axima ve- rosimilhan¸ca do parˆametro λ. Uma vez que as vari´aveis de interesse tˆem suporte positivo, todas as previs˜oes negativas foram substitu´ıdas pelo valor 0.
• Modelo linear generalizado. Um modelo de regress˜ao gama m´ultiplo, com resposta univariada (aplicado separadamente a cada mˆes do ano). A escolha deste modelo deve-se ao ajustamento relativamente bom da distribui¸c˜ao Gama aos dados de consumo parcial de cada mˆes. Foi utilizada a fun¸c˜ao glm pertencente ao pacote stats do R, usando o logaritmo como fun¸c˜ao de liga¸c˜ao. Para esta classe de modelos, foram utilizadas apenas 3 covari´aveis (as trˆes componentes principais com maior variˆancia ou as trˆes mais correlacionadas com o consumo parcial anual), devido a problemas de convergˆencia do algoritmo.
• Modelo de regress˜ao robusta Um modelo de regress˜ao robusta m´ultipla e de resposta univariada baseado em m´ınimos quadrados aparados. Foi utilizada a fun¸c˜ao lqs do pacote MASS do R. Uma vez que as vari´aveis de interesse tˆem suporte positivo, todas as previs˜oes negativas foram substitu´ıdas pelo valor 0.
• Gradient Boosting. Gradient Boosting aplicado a modelos lineares univariados. ´E o modelo de elei¸c˜ao nas competi¸c˜oes de modela¸c˜ao online. Foi utilizado o m´etodo xgbLinear do pacote xgboost do R. O pacote caret do R foi utilizado para estimar os hiperparˆametros m e η do modelo atrav´es de valida¸c˜ao cruzada 5-fold. Esta valida¸c˜ao cruzada impacta drasticamente o tempo de execu¸c˜ao do algoritmo.
Tal como descrito na Sec¸c˜ao 2.8.3, as covari´aveis dos modelos/algoritmos de segundo n´ıvel incluem as vari´aveis independentes iniciais (estimativas das componentes principais) e as es- timativas das vari´aveis resposta dos algoritmos de primeiro n´ıvel. Foram selecionados v´arios algoritmos de segundo n´ıvel, n˜ao com o objetivo de combinar num algoritmo de terceiro n´ıvel mas para efeito de compara¸c˜ao.
• M´edia das estimativas. Ignorando os valores das estimativas das componentes princi- pais, a estimativa final deste m´etodo ´e a m´edias das estimativas de primeiro n´ıvel.
• M´edia ponderada das estimativas. Foi aplicado um modelo de classifica¸c˜ao (Floresta Aleat´oria) para prever qual seria a metodologia com menor erro absoluto para o caso espec´ıfico de cada cliente. Este modelo recebe as estimativas das componentes principais e as previs˜oes dos modelos de primeiro n´ıvel e tem como output a probabilidade estimada de cada modelo ter a melhor estimativa. Estas probabilidades servem de coeficientes de pondera¸c˜ao para as estimativas de primeiro n´ıvel no c´alculo da estimativa final. Foi utilizada a fun¸c˜ao randomForest do pacote randomForest do R.
• Sele¸c˜ao de uma estimativa de primeiro n´ıvel. Seleciona-se, como estimativa final, a estimativa do modelo cuja probabilidade de ter menor erro absoluto estimada pela floresta aleat´oria ´e maior.
• Modelo linear. Modelo de segundo n´ıvel semelhante ao modelo linear de primeiro n´ıvel, acrescentando `as vari´aveis independentes as estimativas de primeiro n´ıvel.
• Rede neuronal. Modelo de segundo n´ıvel semelhante `a rede neuronal de primeiro n´ıvel, acrescentando `as vari´aveis independentes as estimativas de primeiro n´ıvel e com resposta univariada (uma rede para cada mˆes).
Parte do c´odigo que constitui este processo est´a no anexo do relat´orio: a interface do processo no Apˆendice A e o corpo do processo preditivo em si no Apˆendice B.
Al´em dos algoritmos expostos, foi feita uma tentativa de implementa¸c˜ao do algoritmo Discri- minative Disaggregation Sparse Coding de Kolter et al. [4]. Este algoritmo revelou-se demasiado exigente computacionalmente para os processadores utilizados no est´agio, o que impossibilitou a sua aplica¸c˜ao.