scieee AI-readable full text Open interactive document viewer

Previsão de Movimentos em Espaços Comerciais a Partir de Dados de Posicionamento de Clientes

Tiago Miguel da Silva Otto Rodrigues

Full text

Previsão de Movimentos em Espaços Comerciais a Partir de Dados de Posicionamento de Clientes Tiago Otto Rodrigues Dissertação de Mestrado apresentada à Faculdade de Ciências da Universidade do Porto em Engenharia de Redes e Sistemas Informáticos 2014 Previsão de Movimentos em Espaços Comerciais a Partir de Dados de Posicionamento de ClientesTiago Otto Rodrigues MSc FCUP ANO 2.º CICLO Previsão de Movimentos em Espaços Comerciais a Partir de Dados de Posicionamento de Clientes Tiago Otto Rodrigues Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Departamento de Ciência de Computadores 2014 Orientador Doutor Roberto Colazingari , CEO, Around Knowledge Coorientador Professor Doutor Alípio Jorge, Professor Associado, Faculdade de Ciências da Universidade do Porto Todas as correções determinadas pelo júri, e só essas, foram efetuadas. O Presidente do Júri, Porto, ______/______/_________ Dedicado aos meus Pais. Resumo Atualmente, uma grande parte dos utentes de espaços comerciais utilizam dispositivos móveis. Tal permite aos gestores destes espaços recolherem dados de localização na dos visitantes que conjugados com a utilização de ferramentas de análise de dados e de extração de conhecimento - ( data mining ) - lhes permitem obter padrões e modelos de apoio à decisão. Neste contexto e tendo por base os dados de localização na dos visitantes de um centro comercial e de uma loja, procuramos auxiliar na gestão destes espaços aferindo do número previsível de visitas como meio de escalonamento dos recurso humanos, no primeiro caso, e do impacto que a alteração de layouts (disposição de diferentes zonas num espaço comercial) pode provocar no âmbito das compras não planeadas no segundo caso. Numa grande superfície comercial, o planeamento de recursos humanos poderá ser uma tarefa árdua na medida em que a quantidade de visitas que acorrem ao espaço num determinado dia é de difícil previsão. Neste trabalho, analisamos várias técnicas de regressão no sentido de servirem como auxilio a essa previsão. O modelo baseado em árvores de regressão revelou-se o mais apto numa avaliação baseada em growing windows , num teste de hipótese (Diebold-Mariano) e num modelo de custos. Numa loja com os produtos agrupados por zonas, como uma loja de desporto em que usualmente cada zona representa uma gama especíca de produtos, prevalece a dúvida acerca do impacto que uma alteração na disposição das diferentes zonas pode provocar. Neste trabalho, através de técnicas de simulação e técnicas de regressão, prevemos o impacto que uma alteração entre as zonas poderá provocar na duração das visitas à loja. Sendo que a alteração na duração das visitas produz um impacto direto sobre o número de compras não planeadas. As soluções propostas foram apresentadas aos gestores das organizações que se mostraram muito recetivos à sua implementação como meio de auxílio em futuras decisões 4 de negócio. Acreditamos por isso ter aumentado a competitividade das organizações que suportam os casos práticos aqui estudados. Palavras-chave  Business Intelligence , Data Mining , BIPS, Marketing Intelligence , Métodos de Regressão, Simulação 5 Abstract Nowadays, most of commercial spaces visitors use mobile devices. That reality allows gathering location data of the visitors, which combined with the use of data mining allow managers to obtain standards and models in order to support their decisionmaking process. In this context, based on stores and shopping centres visitors location data, we try to help managing that spaces, gauging the expected number of visits as a mean to manage either human resources or the impact layouts changing may cause within the unplanned purchases. In a large shopping centre, human resources planning can be an arduous task because of the diculty to preview the amount of visitors who will come each day. This study analyses multiple regression techniques in order to help that forecast. Regression trees model proved to be the ttest one in a growing windows based, in an hypothesis test (Diebold-Mariano) and in a cost model evaluation. In a shop where products are grouped together by areas, as a sports shop where usually each zone represents a specic product range, it's questioned about the impact that a change in the dierent areas disposal may cause. This study uses simulation techniques and regression techniques in order to anticipate the impact that a change between zones may result in store visits duration, therefore in the number of unplanned purchases. The solutions we propose were presented to organizations managers, which revealed very receptive to implement them as auxiliary means in future business decisions. Therefore we believe have contributed to increase the competitiveness of organizations that support the studied practical cases. Keywords  Business Intelligence, Data Mining, BIPS, Marketing Intelligence, Regression Methods, Simulation 6 Conteúdo Resumo 5 Abstract 6 Lista de Figuras 13 Lista de Tabelas 15 1 Introdução 16 1.1 Objetivos .................................. 16 1.2 Abordagem ................................. 17 1.3 Resultados .................................. 18 1.4 Estrutura do Relatório ........................... 19 2 Tecnologias Utilizadas 20 2.1 JSON .................................... 21 2.2 Apache Cassandra ............................. 21 2.3 R ....................................... 22 2.4 Python .................................... 23 2.5 BIPS ..................................... 23 2.5.1 Descrição Geral ........................... 23 7 2.5.2 Arquitetura do Sistema ....................... 25 2.5.3 Segurança e Privacidade ...................... 25 3 Técnicas de Data Mining 27 3.1 CRISP-DM ................................. 28 3.2 Métodos de Regressão ........................... 29 3.2.1 Regressão Linear .......................... 30 3.2.2 Árvores de Regressão ........................ 31 3.2.3 Regras de Regressão ........................ 32 3.2.4 Support Vector Machine ...................... 32 3.2.5 Séries Temporais .......................... 33 3.2.5.1 Método ARIMA ..................... 33 3.2.5.2 Método Holt-Winters Exponential Smoothing ..... 34 3.3 Regras de Associação ............................ 37 3.4 Avaliação .................................. 39 3.4.1 Growing Windows e Sliding Windows .............. 39 3.4.2 Método de Monte Carlo ...................... 41 3.4.3 Testes de Hipótese ......................... 41 3.4.3.1 Teste de Diebold-Mariano ................ 43 3.4.3.2 Teste de Wilcoxon .................... 44 3.4.3.3 Teste de Qui Quadrado ................. 44 4 Previsão do Número de Visitas de um Centro Comercial 46 4.1 Compreensão do Negócio .......................... 46 4.1.1 Objetivos de Data Mining ..................... 47 4.2 Compreensão dos Dados .......................... 47 8 5.6 Número de Zonas por Visita (2mins) ................... 90 5.7 Medía da Duração de Visitas Por Altura do Dia ............. 91 5.8 Medía da Duração de Visitas Por Zona .................. 92 5.9 Alturas do Dia ............................... 94 5.10 Desempenho do Gerador de Visitas em 100 Testes ............ 96 5.11 Desempenho do Gerador de Visitas em 1000 Testes ........... 96 5.12 Distribuição do Tamanho de Percursos .................. 97 5.13 RMSE na Previsão da Duração de Visita ................. 98 5.14 RMSE na Previsão da Duração de Visita - Um Modelo Por Zona . . . . 99 5.15 RMSE Com Variável Autorregressiva ................... 99 5.16 RMSE Com Variável Autorregressiva - Um Modelo Por Zona ...... 99 5.17 Diferança na Duração Média Entre Dois Layouts .............104 15 Capítulo 1 Introdução Knowledge has become the key economic resource and the dominant, if not the only, source of competitive advantage. - Peter F. Drucker As estratégicas de marketing evoluíram, em parte devido ao aumento exponencial do volume de dados coletados. Atualmente, é usual os departamentos de marketing terem vários analistas de dados e um volume assustador de informações para analisar. Mais do que a vantagem competitiva de transformar essas informações em conhecimentos úteis de negócio, poderá ser o único meio de sobrevivência para algumas organizações. Várias histórias de sucesso em marketing têm em comum o facto de o responsável de marketing ter uma relação muito próxima com todos os stakeholders e, em especial, um vasto conhecimento dos seus clientes e das necessidades que estes apresentam [1]. Esse conhecimento, fulcral na tomada de decisões, agura-se difícil de alcançar em grandes organizações com milhares de clientes. Com este trabalho pretendemos melhorar o conhecimento organizacional de duas entidades com base em dados recolhidos por um sistema de posicionamento (BIPS  Business Intelligence Positioning System ) e de técnicas de data mining . Deste modo, o conhecimento adquirido pelas empresas depois da realização deste trabalho servirá de auxílio à tomada de decisões estratégicas. 1.1 Objetivos Com o objetivo global de melhorar a competitividade de duas organizações, de forma a estas conseguirem honrar a sua missão e superiorizar-se perante os seus concorrentes, 16 este trabalho baseia-se na resolução de dois problemas de negócio. No primeiro problema de negócio, e depois de recolher o máximo dados de comportamento possível, o nosso objetivo passa por fazer uma análise exploratória, usando técnicas de estatística e de data mining com o objetivo de identicar padrões e tendências que posteriormente permitam prever o número de visitas de um centro comercial. Será necessário avaliar quais as variáveis que possam ter inuência sobre a quantidade de visitantes e, em seguida, construir modelos preditivos com o objetivo de prever uma variável numérica. No segundo problema de negócio, o objetivo passa por dado um layout prever a média do tempo de duração das visitas. Será utilizado uma técnica de simulação com base em cadeias de Markov com vista a podermos gerar visitas idênticas às reais e, através de modelos preditivos, calcular a duração das visitas geradas. Deste modo, alterando a disposição das zonas num determinado layout mudará o tempo de passagem entre as diferentes zonas e consequentemente a duração média das visitas, o que será identicado pela ferramenta desenvolvida. Em ambos os problemas, os trabalhos desenvolvidos deverão estar aptos a ser integrados num dashboard que, além destas ferramentas, contém variadíssimas informações da loja recolhidas através da tecnologia BIPS. No caso do primeiro problema, o dashboard já existe e está em utilização. No segundo problema, a ferramenta deverá estar apta a integrar um futuro dashboard ainda em fase experimental. 1.2 Abordagem Numa primeira fase será feito um estudo das tecnologias mais aptas a utilizar neste trabalho bem como as técnicas de data mining mais relevantes. O trabalho aqui realizado seguirá uma metodologia de data mining , a metodologia CRIPS-DM [2]. É promovida uma relação próxima com os gestores das organizações, futuros utilizadores da aplicação, dado que todo o impacto do trabalho dependerá da sua aceitabilidade. Em ambos os problemas de negócio, será feito um estudo de forma a claricar o impacto que estes causam, bem como dos meios que temos à nossa disposição para os mitigar. Uma fase crucial será a transformação do problema de negócio num problema de data mining , na medida em que uma má decisão nesta fase comprometerá logo à partida a resolução do problema [3]. 17 Para prever o número de visitantes num centro comercial, primeiro problema de negócio, serão estudadas várias técnicas de regressão com inúmeras combinações de variáveis preditivas, detalhando o resultado de vários algoritmos. Iremos comparar a solução proposta com a solução que as organizações atualmente dispõem. Esta comparação incidirá não só numa análise estatística, nomeadamente no teste de Diebold-Mariano para perceber se as melhoras da solução proposta são estatisticamente relevantes, mas também iremos desenvolver um modelo de custos com o objetivo de prever o escalonamento de recursos humanos através da previsão de visitantes e, em seguida, traduzir essas decisões em perdas ou ganhos nanceiros para a organização. Para testar os tempos médios de duração em cada visita dependendo do layout , segundo problema de negócio, serão utilizadas técnicas de simulação, um método popular em várias áreas entre as quais data mining [4]. Deste modo, com base num gerador de visitas e em modelos de previsão, será possível simular diferentes percursos na loja e prever a sua duração. Esses percursos simulados poderão ser testados em vários layouts , dando assim feedback das alterações ao nível da duração das visitas que um determinado layout produzirá em relação a outro. 1.3 Resultados Neste trabalho, entre as várias técnicas utilizadas para prever o número de visitantes de um centro comercial elegemos um método baseado em árvores de regressão como o mais apto. O recurso a este método representa uma poupança estimada superior a dez mil euros anuais em relação ao método atualmente utilizado. Esta poupança nanceira deve-se a um melhor escalonamento dos recursos humanos. Realizado o estudo da disposição das zonas numa loja de desporto, desenvolvemos uma ferramenta que estima com exatidão a duração de visita de diferentes clientes reais. A ferramenta desenvolvida permite ainda gerar visitas simuladas e testar o impacto que os diferentes layouts provocam na duração da visita. Com estes dados podemos observar que uma separação das zonas mais visitadas traduzir-se-á num aumento de aproximadamente um minuto no tempo médio de visita e, consequentemente, originará um aumento do número de compras não planeadas, computando-se num aumento de lucros para a loja. A ferramenta de simulação de layouts teve uma boa aceitabilidade por parte dos gestores das lojas, porém poderá necessitar de futuros melhoramentos em resultado da monitorização das ulteriores alterações de layouts que venham a ser realizadas. Tal 18 permitirá avaliar a precisão da ferramenta bem como comprovar se a sua utilização é viável ou ainda requer calibração. 1.4 Estrutura do Relatório Ao presente capítulo introdutório seguem-se cinco capítulos. No capítulo 2 intitulado Tecnologias Utilizadas são descritas as tecnologias mais relevantes na elaboração do trabalho. Será dado principal destaque à tecnologia BIPS de captura e rastreio de dispositivos móveis. No capítulo 3, Técnicas de Data Mining , será feita uma descrição dos conceitos de data mining , principalmente quando usado num contexto de business intelligence . Será detalhada uma metodologia de data mining , bem como algumas técnicas e algoritmos utilizados em capítulos subsequentes. No capítulo 4, Previsão do Número de Visitas de um Centro Comercial, será detalhado um problema de negócio, estudado um método de resolução com base no uso de métodos de previsão seguindo uma metodologia de data mining . No capítulo 5, Análise do Layout de uma Loja de Desporto, será abordado um problema de negócio da maior cadeia de lojas de desporto a operar em Portugal. Uma vez mais, seguindo uma metodologia de data mining será proposta uma resolução baseada, fundamentalmente, em técnicas de simulação e métodos de previsão. Por último, no Capítulo 6, Conclusões, descreveremos as conclusões mais relevantes de todo o trabalho desenvolvido, o seu impacto e futuros melhoramentos. 19 Capítulo 2 Tecnologias Utilizadas Este trabalho foi desenvolvido utilizando algumas tecnologias já existentes. As mais relevantes são as linguagens de programação Python e R, o sistema de base de dados Apache Cassandra, a notação de objetos JSON e o sistema de deteção de dispositivos móveis BIPS. O BIPS foi uma tecnologia crucial uma vez que desta provém todos os dados do posicionamento de pessoas analisados ao longo do trabalho. O R foi a tecnologia mais presente durante todo o trabalho, sendo que toda a análise de dados do produto nal depende desta. Foi também a tecnologia onde tivemos uma maior liberdade de escolha. Todas as outras tecnologias foram impostas pela compatibilidade com o BIPS e pelos atuais produtos da Around Knowledge, empresa que deu suporte ao trabalho. O Apache Cassandra é utilizado como sistema de base de dados da tecnologia BIPS, enquanto que o JSON é utilizado para a troca de informações, sendo que foi a notação utilizada para comunicar entre o BIPS e o R. A utilização de python resulta do facto desta ser a linguagem mais utilizada pela equipa de desenvolvimento da Around Knowledg, pelo que surgem inúmeras solicitações para análise aos produtos já existentes desenvolvidos nesta linguagem. Todas as tecnologias aqui enumeradas serão descritas neste capítulo, dando ênfase às suas caraterísticas mais relevantes no decorrer do trabalho. 20 2.1 JSON JSON (JavaScript Object Notation  Notação de Objetos JavaScript) é um formato livre para a transmissão de dados, usualmente utilizado na comunicação entre um servidor e um cliente. Foi desenvolvido por Douglas Crockford e está descrito no RFC 4627 [5]. Este formato tem uma grande aceitabilidade na medida em que possui uma estrutura facilmente interpretada por humanos, sendo que permite, simultaneamente, processar com facilidade por uma larga variedade de linguagens de programação. A notação JSON obedece obrigatoriamente a um padrão e regras previamente denidas de forma a garantir total compatibilidade entre todos os intervenientes de um sistema que comuniquem através de JSON. Sendo por isso imprescindível o conhecimento da estrutura de um objeto, de um vetor e de todos os valores possíveis de uma notação JSON. Um objeto é um conjunto desordenado de dados que se inicia com o caráter { e se naliza com o caráter }. No seu conteúdo tem diversos pares chave/valor, onde a chave é seguida de dois pontos (:) e cada chave/valor é separada por vírgula (,). Um vetor é uma coleção ordenada de valores que se inicia com o caráter [ e se naliza com o caráter ]. No seu conteúdo pode ter diversos valores estando separados por vírgulas (,). Um valor pode ser visto como uma variável que tem de obedecer a um determinado tipo de dados. Os tipos de dados disponíveis são: string, number, object, array, true, false e null. 2.2 Apache Cassandra O Apache Cassandra [6] é um sistema de base de dados não relacional (NoSQL), inicialmente desenvolvido pelo Facebook e posteriormente disponibilizado em código aberto a partir de 2008. Atualmente, o seu desenvolvimento está a cargo da fundação Apache com participação ativa de vários colaboradores externos à fundação. A principal caraterística do Apache Cassandra é a capacidade de atingir uma alta escalabilidade e disponibilidade sem que provoque uma perda de desempenho associada. Ao nível de tolerância de falhas, o Apache Cassandra permite a replicação dos dados 21 por vários nós. Esta caraterística permite repor qualquer falha num nó através da informação replicada e armazenada em outros nós. Realçar também que o facto de a informação estar replicada faz com que não exista um ponto único de falha, elemento vital para sistemas críticos onde uma falha importa um elevado custo. A nível de desempenho o sistema também se comporta ecazmente. Os débitos de leitura crescem linearmente à medida que novos nós vão sendo adicionados à rede, sem que ocorram tempos de inatividade ou alguma interrupção de qualquer aplicação. Têm surgido várias comparações entre o desempenho de vários sistemas de base de dados NoSQL, onde em vários casos se identica a baixa latência apresentada pelo Apacha Cassandra [7,8]. 2.3 R OR[9] é um ambiente de desenvolvimento integrado direcionado, fundamentalmente, para a análise de dados. É de momento a linguagem de programação mais utilizada em análises estatísticas [10]. Inicialmente, foi desenvolvido na University of Auckland, Nova Zelândia, por Ross Ihaka e Robert Gentlemen. Hoje, reúne imensos colaboradores por todo o mundo, sendo disponibilizado livremente pela licença GNU General Public License. A comunidade ativa é a principal razão apontada ao sucesso e popularidade do R. Estão disponíveis uma grande quantidade de packages , isto é, bibliotecas para estender as funcionalidades da linguagem, tornando-a mais exível devido ao seu constante desenvolvimento. Um aspeto obrigatório para a escolha da ferramenta de análise estatística era a compatibilidade com o Apache Cassandra e com a notação JSON, ambas as tecnologias supra descritas. Esta compatibilidade é facilmente atingida com o auxílio de packages , nomeadamente o package rjson [11] e o package RCassandra [12]. Existem vários IDEs - ambientes de desenvolvimento integrados - que aumentam a produtividade do desenvolvimento em R, onde se destaca o RStudio [13], utilizado neste trabalho devido às inúmeras funcionalidades que oferece numa interface organizada e amigável. De entre as funcionalidades disponíveis, podemos destacar as seguintes: facilitar o debug de um código com o auxílio de break points , consulta facilitada de documentação, facilidade na criação e visualização de grácos sem a necessidade de trocar de janela e uma maior facilidade para efetuar reporting . 22 2.4 Python A linguagem de programação Python [14] foi lançada em 1991 por Guido van Rossum enquando investigador do Centrum Wiskunde & Informatica (CWI), situado nos Países Baixos. Atualmente, é desenvolvido por uma organização sem ns lucrativos - Python Software Foundation. A principal caraterística da linguagem é o multi paradigma, o que a torna facilmente adaptável aos objetivos do projeto e ao programador. Permite a sua utilização como linguagem de script podendo ser executada em qualquer plataforma desde que tenha um interpretador python instalado. A volumosa biblioteca padrão, tal como os módulos e frameworks desenvolvidos por terceiros são um forte incentivo ao desenvolvimento em Python. No caso da ligação ao sistema gerenciador de base de dados (SGBD) Apache Cassandra existe vários métodos de conexão. Um dos métodos mais adotados é o pycassa [15] que permite uma ligação estável e rápida. Atendendo a que a estrutura de um JSON é idêntica à de um dicionário  estrutura de dados comum e frequentemente adotada por programadores da linguagem Python  esta revela-se adequada para a manipulação deste. Para facilitar esta manipulação pode ser também utilizada a biblioteca json [16]. 2.5 BIPS O BIPS ( Business Intelligence Positioning System ) foi uma tecnologia crucial na elaboração deste trabalho, pois é a fonte do conjunto de dados trabalhados nos capítulos subsequentes. Todos os aspetos relevantes da tecnologia serão descritos nesta secção. 2.5.1 Descrição Geral O BIPS, logótipo na gura 2.1, destaca-se por ser uma inovadora tecnologia de localização em tempo real (RTLS), desenvolvida e comercializada pela empresa Around Knowledge [17]. O processo de implementação está patenteado com o nome Tagless radio frequency based self correcting distributed real time location system [18]. Um RTLS identica e rastreia uma pessoa ou objeto numa margem temporal reduzida. 23 Figura 2.1: Logótipo do BIPS ( Business Intelligence Positioning System ) Existem vários RTLS's, usualmente construidos com base em comunicações por rádio frequências. O GPS ( Global Positioning System ) ou triangulação GSM ( Global System for Mobile Communications ) permitem identicar uma posição num espaço aberto com um grau de conança bastante elevado. Porém, dentro de edifícios os tradicionais serviços apresentam uma grande degradação na qualidade de serviço prestado, principalmente devido à ausência de sinal e devido ao ruído eletromagnético presente nos atuais métodos usados. A tecnologia BIPS propõe-se a colmatar a falha na existência de sistemas de posicionamento em tempo real funcionais em espaços interiores. O BIPS recolhe informação de localização granular, tanto em locais exteriores como interiores, e é uma plataforma de comunicação bilateral em tempo real entre consumidores e gestores de topo. Cada dispositivo de rádio frequência, tais como um telemóvel ou um tablet , emite um sinal com uma determinada potência e uma identicação única. O BIPS captura esse sinal em pelo menos três nós, que medem a força desse sinal para estimar a sua distância. Como o sinal é afetado pelo ruído eletromagnético, pelo número de pessoas ou até mesmo pela temperatura ambiental existe um algoritmo que faz uma correção da posição aumentando assim a precisão. A solução usa tecnologias GSM, Wi-Fi ou Bluetooth para recolher com alto grau de abilidade a posição de todos os dispositivos com capacidade de emissão de pelo menos uma destas tecnologias. De realçar, que não existe necessidade de instalar qualquer tipo de software nos dispositivos, bem como é assegurada, em todo o processo, a privacidade do utilizador [19]. 24 Apesar deste método ter sido um dos primeiros modelos de regressão a ser implementado continua a ser largamente utilizado, principalmente devido à sua simplicidade e facilidade de interpretação [35]. 3.2.2 Árvores de Regressão Tal como qualquer modelo de regressão, uma árvore de regressão tem o objetivo de prever uma variável através da sua relação com outras variáveis. O funcionamento do algoritmo prende-se com a criação de uma estrutura de dados em forma de árvore. Deste modo, em cada previsão o algoritmo percorre a árvore desde a raiz até um nó folha. Ao percorrer nós intermédios determina as condições a aplicar às variáveis de input , decidindo os caminhos que a execução deve seguir até alcançar um nó folha. Dos nós folha resulta a previsão da variável [36,37]. Pratica Desporto Regularmente? Fuma Regularmente? Bebe Álcool Regularmente? 80 Anos 90 Anos Bebe Álcool Regularmente? 90 Anos 100 Anos Fuma Regularmente? Bebe Álcool Regularmente? 50 Anos 60 Anos Bebe Álcool Regularmente? 60 Anos 70 Anos Figura 3.3: Exemplo de Árvore de Regressão Na gura 3.3 é apresentado um exemplo de uma árvore de regressão. Este exemplo tem o objetivo de prever a esperança de vida de um determinado individuo consoante três dos seus hábitos quotidianos. De realçar que não existe qualquer estudo cientico ou dados reais que sustentem os resultados do exemplo, servindo unicamente para ilustrar o funcionamento de uma árvore de regressão. Ao atravessar um nó ramo é colocado uma questão, em caso de resposta positiva a execução do algoritmo continua para o ramo conectado à esquerda do nó, em caso de resposta negativa continua a execução para o ramo conectado à direita. Depois de passar pelas três questões o algoritmo chega a um nó folha, cujo valor vai apresentar a esperança de vida do individuo em questão. Como é ilustrado no exemplo, as árvores de regressão são visualmente apelativas, na medida em que o seu método de execução é facilmente interpretável. 31 3.2.3 Regras de Regressão As regras de regressão constroem um modelo de previsão com base num conjunto de regras if-then . Cada regra tem uma determinada condição a ser testada com as variáveis preditivas e uma consequência, isto é, a ação a ser tomada. É uma modelação simples e eciente para um vasto número de problemas. O método começa por extrair conhecimentos do conjunto de treino e traduzi-lo em regras. Essas regras são a base do conhecimento que posteriormente serão aplicadas às variáveis preditivas para vericar qual das regras é ativada e que ação esta contém. No caso de regressão a ação pode ser meramente o valor numérico da variável resposta. Normalmente existe uma regra de defeito, de modo a garantir que é dada resposta a todos os casos, sendo ativada quando nenhuma das condições das regras anteriores foram satisfeitas [38,39]. O exemplo ilustrado na secção 3.2.2 poderia facilmente ser portado para regras de regressão. Se olharmos para cada condição que constitui uma árvore de regressão, podemos transformar essas condições em regras, criando assim um modelo de regras de regressão. De realçar que o contrário não é necessariamente verdade, um conjunto de regras de regressão poderá não ser possível representar numa estrutura de dados em forma de árvore. 3.2.4 Support Vector Machine O Support Vector Machine (SVM) é um conjunto de métodos que analisam os dados com o propósito de descobrir padrões. Dado um conjunto de dados de treino o método analisa para cada entrada a que classe pertence num total de duas classes. Quando todos os conjuntos forem classicados como pertencentes a uma das duas classes o modelo ca com duas áreas denidas para cada uma das classes. Deste modo, para prever futuros dados o algoritmo irá tentar colocar a variável que se pretende prever, variável resposta, numa das duas áreas [40,41]. A gura 3.4 demonstra uma situação ideal para o uso de uma modelação SVM em que as variáveis separam-se todas em duas áreas distintas. Deste modo, é facilmente utilizado o conhecimento apreendido por esta amostra de dados para catalogar futuros dados numa das duas áreas, ou seja, iremos prever se o comportamento da variável em análise será idêntico ao comportamento das variáveis de cor vermelha, ou se será idêntico ao comportamento das variáveis de cor azul. 32 Figura 3.4: Condições ideais para usar SVM 3.2.5 Séries Temporais Uma série temporal é uma coleção de observações ao longo do tempo, podendo as observações serem contínuas ou discretas. A análise de séries temporais propõe-se a descobrir caraterísticas interessantes nas alterações comportamentais ao longo do tempo, tais como encontrar sequências similares, subconjuntos, padrões periódicos, tendências e desvios. O sucesso na análise de séries temporais resulta do carácter de dependência que as observações sucessivas assumem entre si, particularidade que facilita a utilização desta análise como método de regressão. Deste modo, preveem futuros valores através de um modelo construído com base em valores anteriores [42]. 3.2.5.1 Método ARIMA O método ARIMA ( AutoRegressive Integrated Moving Average ) é dos modelos mais utilizados para modulações e previsões incidentes sobre séries temporais. É um processo estocástico que tem como objetivo o calculo da probabilidade de uma variável se situar entre dois limites especícos. Na gura 3.5 é ilustrado um exemplo de uma série temporal e posteriormente a sua previsão através do método ARIMA calculado no R. Um modelo ARIMA tem três parâmetros associados, usualmente representados por 33 ARIMA( p,q,d ). O parâmetro p signica o número de termos auto-regressivos, o parâmetro d signica o número de diferenças e por m o parâmetro q signica o número de termos da média móvel. Uma alteração num dos parâmetros originará um modelo diferente, pelo que a prática comum baseia-se não só em estimar quais os parâmetros ideais bem como em testar vários parâmetros rejeitando os que originam os modelos menos precisos e validando o que origina o modelo mais preciso. De forma a facilitar este processo várias ferramentas de data mining testam automaticamente determinada série temporal com os vários parâmetros, indicando em seguida os parâmetros ideais [43,44]. Figura 3.5: Exemplo de uma Predição com ARIMA 3.2.5.2 Método Holt-Winters Exponential Smoothing Os métodos de previsão exponencial tem por base a análise de séries temporais, dando ênfase às observações mais recentes, ou seja, é atribuído um determinado peso às observações ao longo de todo o período de tempo, quanto mais antiga é a observação menos é o peso atribuído [45,46]. Esta técnica de previsão pode-se dividir em três métodos, sendo eles single exponential smoothing , double exponential smoothing e triple exponential smoothing . O método single exponential smoothing tem por base analisar séries temporais muito curtas, pelo que não são identicados padrões ou tendências. Isto pode ser facilmente visualizado na gura 3.6, em que o modelo se limita a identicar um valor médio e a 34 utiliza-lo como possível valor de futuras previsões. Tal como pode ser visualizado pela área de cor laranja e a área de cor amarela este método geralmente tem uma grande margem de erro associado e tem pouca aplicabilidade, sendo apenas aplicado em séries temporais com uma limitada alteração comportamental ao longo do tempo. Figura 3.6: Exemplo de Single Exponential Smoothing O método double exponential smoothing tem por base a identicação de tendências, tais como detetar a tendência de subida ou descida de uma dada observação. Na gura 3.7 é ilustrado uma aplicação deste método onde é visível a deteção da tendência de subida por parte da variável que se pretende prever. De notar, que apesar de inicialmente a margem de erro da previsão (área a cor laranja e amarela) ser reduzida, está aumenta gradualmente à medida do tempo. 35 Figura 3.7: Exemplo de Double Exponential Smoothing O método triple exponential smoothing além de identicar tendências também pode identicar sazonalidades, ou seja, padrões que se repetem periodicamente. Na gura 3.8 pode ser visualizado uma aplicação com sucesso deste método numa série temporal com padrões sazonais bem denidos. Deste modo, em futuras previsões o modelo tenta replicar os padrões do conjunto de treino obtendo margens de erro (área a laranja e amarelo) aceitáveis [47]. 36 Figura 3.8: Exemplo de Triple Exponential Smoothing 3.3 Regras de Associação As regras de associação são baseadas no conceito de strong rules de Rakesk Agrawal [48]. É um popular método para descobrir relações entre diferentes variáveis. Utilizando diferentes medidas é possível descobrir padrões, associações e correlações entre todas as variáveis que constituem os dados. Deste modo, as regras de associação permitem visualizar os atributos e as condições que ocorrem frequentemente num conjunto de dados [49]. O resultado de um algoritmo de regras de associação é um conjunto de regras do tipo  if  then . Sendo que o atributo posterior ao if é chamado de consequente e o atributo posterior ao then é chamado de antecedente. Usualmente, também, se utiliza uma notação como X => Y, sendo que a nível prático simboliza que se encontramos o conjunto X, existe maior probabilidade de encontrar também o conjunto Y. Cada regra tem associada métricas que denem a sua importância. As três métricas mais comuns são o suporte, a conança e o lift . O suporte representa o número da proporção do conjunto de dados que contém os dados que constituem a regra em questão. A conança representa a proporção em que se conrma o antecedente num conjunto de dados em que aparece o consequente. O lift representa o rácio entre a conança da regra e a conança esperada. 37 De forma a melhor ilustrar o uso de regras de associação, vamos retratar um exemplo clássico, utilizado frequentemente na literatura conhecido por Market Basket Analysis  Cesto de compras em supermercados [33]. Tendo como exemplo a tabela 3.2, em que cada linha representa uma compra indicando os produtos comprados em simultâneo. Se quisermos avaliar a regra: {Leite, Queijo} => {Água} A nível de suporte, calcula-se dividindo o número de vezes em que os três produtos aparecem no mesmo cesto (cesto 3 e cesto 4), pelo número total de cestos (cinco), ou seja: s( {Leite, Queijo} => {Água} ) = 2/5 = 0.4 A nível de conança, em vez de dividirmos pelo número total de cestos, calculase dividindo apenas pelo número de cestos em que contém todos os produtos do consequente, ou seja, o número total de cestos que contém em simultâneo leite e queijo (cesto 3, cesto 4 e cesto 5). Daí concluímos que: c( {Leite, Queijo} => {Água} ) = 2/3 = 0.67 A nível de lift , calcula-se dividindo a conança da regra pelo suporte do consequente. A conança da regra como vimos, anteriormente, é de 0.67. O suporte do consequente é de 3/5 = 0.6, na medida em que existem dois cestos com os produtos leite e queijo num total de 5 cestos. Logo, lift( {Leite, Queijo} => {Água} ) = 0.67/0.6 = 1.11667 Cesto ID Produtos Comprados 1 Pão, Leite 2 Pão, Queijo, Água, Ovos 3 Leite, Queijo, Água, Café 4 Pão, Leite, Queijo, Água 5 Pão, Leite, Queijo, Iogurte Tabela 3.2: Cesto de Compras em Supermercado 38 3.4 Avaliação A avaliação é uma etapa vital para o apuramento das possibilidades de adoção de data mining num determinado projeto, pois é importante ter em consideração que a descoberta de um padrão durante um processo de data mining não o torna necessariamente válido. Deste modo, depois de construir os modelos é estritamente necessário proceder à sua avaliação, quer para apurar qual o melhor modelo a utilizar, quer para, no limite, considerar que nenhum modelo responde ecazmente ao problema. Existem várias caraterísticas a considerar na avaliação de um modelo tais como a precisão, os recursos computacionais necessários, a robustez, a escalabilidade, a interpretabilidade e a simplicidade. A precisão apresenta-se como a caraterística mais importante, na medida em que, geralmente, os seus requisitos mínimos são os menos toleráveis, mesmo que se cumpra todas as outras caraterísticas de avaliação uma má precisão torna o modelo inviável. Para se calcular a precisão de um modelo são utilizadas técnicas de avaliação como a growing windows , a sliding windows e a cross-validation . Todas as técnicas de avaliação da precisão têm por base um conjunto de dados de treino utilizados para treinar o modelo na fase de modelação, sendo posteriormente utilizado um conjunto de teste para testar o modelo e averiguar o erro associado à previsão em relação aos valores reais. Na tabela 3.3 são apresentadas as mais utilizadas formulas matemáticas para o cálculo da taxa de erro. O conjunto de teste tem de ser sempre diferente do conjunto de treino, caso contrário existirá um overtting associado, atendendo a que o modelo foi construído com base nos dados que se está a avaliar originará sempre avaliações otimistas. 3.4.1 Growing Windows e Sliding Windows A técnica cross-validation seleciona do conjunto total de dados o conjunto de treino e o conjunto de teste de forma aleatória, podendo variar as vezes em que faz a avaliação e a percentagem de dados que é selecionada para cada conjunto. Quando estamos a tratar dados que envolvem séries temporais, ou seja, que têm um atributo de tempo que impõe uma ordem entre eles. Essa ordem deverá ser respeitada sobre pena de se obter estimativas irrealistas. Este aspeto motiva a consideração de cross-validation como uma técnica inviável para a avaliação de séries temporais, na medida em que se corre o risco de por exemplo ter um conjunto de treino mais recente de que o conjunto 39 Medida Fórmula Mean-squared Error (MSE) (p1−a1)2+... + (pn−an)2 n Root mean-squared error (RMSE) r(p1−a1)2+... + (pn−an)2 n Mean absolute error (MAE) |p1−a1|+... +|pn−an| n Relative squared error (RSE) (p1−a1)2+... + (pn−an)2 (a1−¯a)2+... + (an−¯a)2, onde ¯a=1 nX i ai Root relative squared error (RRSE) s(p1−a1)2+... + (pn−an)2 (a1−¯a)2+... + (an−¯a)2 Relative absolute error (RAE) |p1−a1|+... +|pn−an| |a1−¯a|+... +|an−¯a| Correlation Coecient (CC) SP A √SPSA , onde SP A =Pi(pi−¯p)(ai−¯a) n−1 SP=Pi(pi−¯p)2 n−1SA=Pi(ai−¯a)2 n−1 Tabela 3.3: Medidas de Precisão de teste. As técnicas growing windows e sliding windows têm uma abordagem idêntica, porém garante a ordem dos dados, pelo que os dados mais antigos são utilizados como conjunto de treino e os dados mais recentes como conjunto de teste. Depois de avaliado o conjunto de teste é incluído no conjunto de treino. A diferença entre as duas técnicas prende-se com o facto de que em growing windows não se retiram dados do conjunto de treino, o que dá origem a um crescimento constante deste. Por sua vez, em sliding windows o tamanho mantém-se constante, isto é, à medida que são adicionados novos dados ao conjunto de treino os mais antigos vão sendo retirados. Normalmente, ambas as abordagens são utilizadas em análises sequenciais na medida em que a ordem dos dados é relevante para a ecácia dos modelos [50,33]. 40 centro comercial português a tomar decisões estratégicas de forma a melhorar a gestão de resíduos, a minimização de consumos energéticos, o combate ao ruído, o cuidado com a qualidade do ar e da água e a sensibilidade ambiental. Não surpreende por isso o recurso a data mining como ferramenta vital no auxílio à tomada de decisões. A quantidade elevada de visitas diárias ao centro comercial conjugada com a sua imprevisibilidade criam problemas a nível de escalonamento de recursos humanos. Cientes da impossibilidade de prever as visitas num determinado dia sem o recurso a tecnologias de informação, os gestores consideram relevante para o seu negócio uma ferramenta que estime o número de visitas no dia seguinte. Esta análise pretende estudar toda a envolvente relacionada com a previsão de visitas no centro comercial e obter uma resposta com o mínimo de erro possível de forma a melhorar a tomada de decisões dos gestores em questão. Atualmente, o centro comercial já dispõe de um sistema informático de previsão de visitas para o dia seguinte, pelo que o objetivo é estudar a possibilidade de melhorar o algoritmo existente. 4.1.1 Objetivos de Data Mining A questão relativa à quantidade de visitas que acorrerão em determinado dia ao centro comercial, originará sempre um problema de regressão. O objetivo deste problema de data mining será prever uma variável numérica contínua. A disponibilização do histórico do número de visitas permite-nos dispor inicialmente de um conjunto de treino, bem como nos dá a possibilidade de utilizarmos uma abordagem de aprendizagem supervisionada. Para enriquecer os dados serão acrescentados atributos através de uma base de dados externa. Entre estes, a temperatura média de cada dia e o respetivo estado de tempo meteorológico (valores possíveis: clean, clouds, drizzle, mist, partly cloudy, rain e scattered cloud ). Ambos os atributos poderão ser usados como variáveis preditivas. 4.2 Compreensão dos Dados Os dados coletados pelo BIPS (secção 2.5) contêm um grande volume de informação desnecessário. Cada antena constituinte do sistema BIPS coleta constantemente os dis47 Atributo Valores Possíveis Data Data no formato aaaa-mm-dd Número de Visitas Valor numérico inteiro maior ou igual a zero Temperatura Média Valor númerico em Celsius Estado de Tempo Meteorológico Sete valores categóricos possíveis: - Clear - Clouds - Drizzle - Mist - Partly Cloudy - Rain - Scattered Clouds Tabela 4.1: Conjunto de Dados positivos que consegue detetar num determinado momento, apresentando várias vezes o mesmo dispositivo em instantes de tempo diferentes. Esta constante monitorização faz com que exista um volume de dados referentes ao mesmo dispositivo detetado, irrelevante para o cálculo da previsão de visitas. No sentido de tornar os dados mais compactos, estes são processados de forma a conterem apenas um tuplo para cada dia observado. Além do número de visitas são acrescentados ao tuplo atributos que poderão à partida inuenciar o número de visitas como a média da temperatura climática em Celsius e um atributo qualitativo referente ao estado da meteorologia. Este último atributo tem sete valores possíveis. Os mecanismo do sistema BIPS para minimização do erro associado às medições têm múltiplas antenas com ângulo de cobertura na mesma área bem como armazenam todas as deteções mesmo que sejam do mesmo dispositivo. Por isso, dão uma garantia de abilidade perante a validade dos dados para todos os dias. Previamente os gestores do centro comercial em estudo foram confrontados com os dados, dando parecer positivo sobre a sua veracidade. A tabela 4.1 contem os diferentes atributos disponíveis no conjunto de dados e os respetivos valores possíveis. Nas secções seguintes pretende-se explorar algumas das caraterísticas dos dados entre o período de 1 de agosto de 2013 a 21 de janeiro de 2014. 48 4.2.1 Número de Visitas ao Longo do Tempo A gura 4.1 demonstra a existência de um padrão periódico ao longo do tempo, sendo visível que este padrão repete-se a cada semana. Este padrão é o primeiro sinal que nos permite armar que o dia da semana, muito provavelmente, será um atributo interessante para prever o número de visitas. É possível identicar uma alteração comportamental no mês de dezembro. Esta alteração é documentada na tabela 4.2, onde se verica que apenas existe um dia de intervalo entre o dia com mais visitas e o dia com menos visitas. Este comportamento é justicado pelo encerramento do centro comercial no dia 25 de dezembro - feriado em Portugal. Sendo, igualmente, inuenciado pelo período natalício, onde se dá um forte incentivo ao consumo e consequentemente um aumento de visitas a superfícies comerciais. Figura 4.1: Número de visitas ao longo do tempo 49 Atributo Valor Média de Visitas 33 996 Número minimo de visitas 9 160 ( 25 Dez 2013 ) Número máximo de visitas 58 855 ( 23 Dez 2013 ) Tabela 4.2: Estatística de Número de Visitas 4.2.2 Relação Entre o Número de Visitas e o Mês do Ano Os meses do ano observados têm uma quantidade de visitas idêntica, tal como pode ser observado no gráco da gura 4.2 e na tabela 4.3. É identicável a inuência da época natalícia na quantidade de visitas no mês de Dezembro. Devido à diminuta diferença comportamental entre os diferentes meses, este atributo, aparentemente, não será um atributo interessante a utilizar para a previsão do número de visitas. Mês Quantidade de Visitas Agosto 1 046 525 Setembro 1 044 069 Outubro 1 038 667 Novembro 1 013 971 Dezembro 1 151 401 Janeiro 963 684 Tabela 4.3: Quantidade de Visitas por Mês 50 Figura 4.2: Quantidade de Visitas por Mês 4.2.3 Relação Entre o Número de Visitas e o Dia da Semana Tal como tinha sido previamente identicado na secção 4.2.1 existem diferenças signicativas na quantidade de visitas por dia da semana. Informação essa que já havia sido, anteriormente, percecionada pelos gestores dos centros comerciais que desta forma veem a sua ideia comprovada. A gura 4.3 e a tabela 4.4 demonstram que aos ns de semana existe uma maior auência ao centro comercial, contrastando com a quarta-feira e a quinta-feira, dias em que existe um decréscimo no número de visitas. 51 Dia da Semana Média de Visitas Domingo 38 444 Segunda 31 447 Terça 29 113 Quarta 29 067 Quinta 30 517 Sexta 37 528 Sábado 43 406 Tabela 4.4: Média de Visitas por Semana Figura 4.3: Média de visitas por dia da semana 52 4.2.4 Relação Entre o Número de Visitas e o Estado de Tempo Meteorológico Figura 4.4: Média de visitas por estado de tempo meteorológico Dia do Tempo Média de visitas diárias Quantidade de ocorrência Clear 33 891 84 Clouds 34 324 57 Drizzle 37 176 4 Mist 38 347 1 Partly Cloudy 50 143 1 Rain 32 736 36 Scattered Clouds 39 284 1 Tabela 4.5: Visitas por Estado de Tempo Meteorológico O gráco da gura 4.4 mostra uma média de visitas diárias relativamente próximas para cada estado de tempo meteorológico, exceção feita ao valor Partly Cloudy . No 53 entanto, este não é um dado conclusivo, pois tal como pode ser observado na tabela 4.5 o valor em questão apenas ocorreu uma vez no período de tempo em análise. Desde modo, seria precipitado retirar conclusões de padrões comportamentais em estados de tempo pouco frequentes. As futuras monitorizações poderão dar respostas de forma mais ecaz sobre a relação entre a quantidade de visitas e o estado do tempo meteorológico. Idealmente o período de tempo deverá ser superior a um ano de forma a passar pelas quatro estações meteorológicas, possibilitando assim avaliar possíveis padrões particulares a cada uma delas. 4.2.5 Relação Entre o Número de Visitas e a Temperatura Média A temperatura média não tem grande inuência na quantidade de visitas do centro comercial. Este comportamento era expectável do ponto de visto do senso comum visto que Portugal apresenta uma clima classicado como temperado mediterrâneo, o qual tem associado pouca variação de temperatura ao longo do tempo. No período de tempo dos dados coletados, a temperatura média mínima foi de 3 o C e a temperatura média máxima foi de 25 o C, o que demonstra a limitada variação para ter inuência na quantidade de visitas. O gráco da gura 4.5 demonstra a pouca inuência da temperatura média na quantidade de visitas. Ambas as linhas estão em escala logaritma e com o eixo das ordenadas deslocado de forma a ser possível visualizar ambas as variáveis no mesmo espaço. Esta alteração na escala foi usada com o objetivo de comparar as diferenças comportamentais das duas variáveis. O gráco não evidencia qualquer dependência entre as duas variáveis, pelo que as subidas e descidas da temperatura média aparentemente não inuenciam a quantidade de visitas. 54 Figura 4.5: Comparação Entre Quantidade de Visitas e Temperatura Média 4.3 Preparação dos Dados O número de visitas no centro comercial em cada dia, tal como a temperatura em Celsius e o estado do tempo meteorológico são disponibilizados através de uma base de dados Apache Cassandra (secção 2.2) disponível remotamente como constituinte do sistema BIPS (secção 2.5). Foi utilizado um script desenvolvido em Python (secção 2.4) que tem por objetivo extrair os dados da base de dados e em seguida exportar para um cheiro em formato csv ( comma-separated values ). A escolha destas tecnologias deve-se à velocidade de ligação entre o Python e o Apache Cassandra bem como à compatibilidade da generalidade das ferramentas de data mining com cheiros de dados csv, permitindo assim uma maior exibilidade em exportar os dados para várias ferramentas. Os dados importados para o R (secção 2.3) foram armazenados num data frame , de 55 modo a facilitar a manipulação dos dados efetuamos algumas alterações. O atributo que contém o estado de tempo meteorológico foi armazenado com o tipo factor . Desta forma, permite uma utilização do atributo como variável preditiva do tipo variável categórica nominal. O identicador do dia foi traduzido para o standard ISO 8601, novamente por uma questão de aumento da compatibilidade, nomeadamente com vários packages de manipulação de datas. Como foi observado na secção 4.2.3, o dia da semana tem uma forte inuência na quantidade de visitas, por isso, com o auxílio da função weekdays , foi criado um novo atributo contendo o dia da semana de cada linha do data frame . Foi, também, criado uma ag para indicar os dias que são feriado de forma a precaver que as análises possam ter comportamentos distintos do habitual. Na análise do gráco da gura 4.1 identica-se 3 dias (25 de dezembro, 1 e 8 de janeiro) que têm uma quantidade de visitas muito baixas. No caso do dia 25 de dezembro e do dia 1 de janeiro a justicação dever-se-á ao facto do centro comercial apenas ter uma pequena parte em funcionamento. Em relação ao dia 8 de janeiro houve uma avaria no sistemas BIPS que impossibilitou que os dados fossem devidamente coletados para a base de dados Apache Cassandra. Apesar de não serem tão percetíveis, também ocorreram idênticas avarias nos dias 4 e 5 de setembro. Para que não se prejudique a qualidade dos dados estes cinco dias foram eliminados do conjunto de dados. 4.4 Modelação Nesta secção serão propostas várias técnicas de regressão como possíveis soluções do problema de data mining . Detalharemos quer a implementação, quer os diferentes parâmetros pertencentes a cada modelo. Para cada modelo o mecanismo de teste seguirá uma abordagem growing windows . Este mecanismo foi desenvolvido em R. Dado um conjunto de dados, começa-se com um conjunto de treino de uma semana para prever o número de visitas para o dia posterior a essa semana. Na iteração seguinte esse dia é incluído no conjunto de treino e é avaliado o dia seguinte. O processo é repetido até ser calculada a previsão referente ao último dia disponível no conjunto de dados. Este mecanismo permite assim calcular as previsões de todos os dias segundo uma abordagem growing windows , tal como permite calcular o erro associado à previsão de cada dia para que possam ser, posteriormente, utilizados esses valores na avaliação dos modelos. 56 formula = n_visits ~ avg_temp + weather + weekday + last_day Figura 4.10: Previsão com Support Vector Machine Este modelo revelou-se mais conservador que os apresentados anteriormente, no sentido de que é pouco reativo a mudanças entre dias consecutivos. Quando existe uma descida no número de visitas, o modelo tende a prever por excesso. Quando existe uma subida no número de visitas, o modelo tende a prever por defeito. Foi testado um modelo sem a variável autorregressiva (last_day) de forma a tentar dar mais independência a cada dia em relação aos dias anteriores, porém o modelo resultante não se tornou mais reativo fase às mudanças bem como aumentou o erro associado para com a quantidade de visitas reais. 4.4.5 Séries Temporais O facto da quantidade de visitas ser dependente do tempo, permite proceder a uma análise temporal. A gura 4.11 apresenta a quantidade de visitas aplanada com a 63 técnica de smoothed , assim é mais percetível como a quantidade de visitas varia ao longo do tempo. É visível que a quantidade de visitas obedece a um padrão periódico semanal, estando sempre em constantes subidas e descidas. Figura 4.11: Quantidade de Visitas com Smoothed 4.4.5.1 Método ARIMA A gura 4.12 apresenta o desempenho de uma previsão com base em séries temporais. A modelação utilizada seguiu o método ARIMA ( autoregressive integrated moving average ) e foi desenvolvida com o recurso à função arima disponível no package stats [71] do R. Verica-se que o modelo ARIMA consegue identicar a monotonia da função, isto é, identica os períodos em que a quantidade de visitas aumenta e o período em que a quantidade de visitas diminui. O facto de a intensidade das subidas e descidas ser variável ao longo do tempo provoca a imprevisibilidade na previsão com o método ARIMA. Este aspeto é identicado no gráco da gura 4.12 pelo erro associado nos máximos e mínimos relativos à quantidade de visitas. 64 Figura 4.12: Previsão com ARIMA 4.4.5.2 Método Exponencial A modulação exponencial aqui descrita foi implementada com a função HoldWinters, disponibilizada no R pelo package forecast. Esta modulação revelou-se inecaz. Como pode ser visualizado na gura 4.13, sendo que é necessário um grande conjunto de treino para calcular previsões pois na fase inicial apenas repete a quantidade de visitas anteriores. Quando tem um conjunto de treino com uma dimensão de dados sucientemente grande para calcular uma previsão da quantidade de visitas, o erro associado é grande. Sendo certo que este é impulsionado pelo período natalício que tem um padrão diferente dos identicados no conjunto de treino. 65 Figura 4.13: Previsão com Holt-Winters 4.5 Avaliação Nesta secção, iremos proceder à avaliação dos diferentes modelos previamente desenvolvidos. Deste modo, na secção 4.5.1 será apresentada uma comparação de todos os modelos de forma a identicar as vantagens e desvantagens da sua adoção. Na secção 4.5.1 será apresentada uma avaliação de um outro modelo desenvolvido por uma equipa da Around Knowledge que persegue os mesmos objetivos de forma a identicar as vantagens e desvantagens na implementação do modelo proposto comparativamente ao existente. 4.5.1 Comparação de Desempenho Entre os Modelos Obtidos A comparação entre todos os modelos ao nível da precisão foi obtida seguindo uma abordagem growing windows , percorrendo todos os dias do conjunto de dados e apresentando o valor de Mean Absolute Error (MAE). A utilização desta medida de erro 66 deve-se, essencialmente, ao facto deste ser de fácil interpretação, o que permite apresentar o desempenho dos modelos aos gestores do centro comercial numa linguagem acessível, sem qualquer necessidade de conhecimentos técnicos [72]. A gura 4.14 ilustra a MAE pertencente aos diferentes modelos ao longo de todo o período de tempo. Apesar de não ser percetível através da imagem qual o algoritmo de modulação com o melhor desempenho, é possível detetar a proximidade que existe entre as diversas modulações pelas imensas colisões entre os pontos do gráco. Uma modelação que se diferencia das restantes é Holt-Winters. O erro associado aos modelos criados com este método é grande comparativamente aos restantes. É possível também identicar que os modelos usualmente respondem ecazmente, existindo um pico de erro correspondente ao período natalício ao qual nenhuma modelação ca alheia. Este erro era expetável dado que no conjunto de treino não existe nenhum período semelhante. É possível identicar também que os modelos construidos com base no algoritmo de regressão linear têm valores de erro superiores no início. Porém esses valores de erro decrescem à medida que o conjunto de treino aumenta. Figura 4.14: Comparação entre Modelos (MAE em growing windows) 67 De forma a perceber melhor o desempenho de cada algoritmo é apresentado na - gura 4.15 um diagrama de caixas com os valores de MAE para todo o período de tempo. Novamente identica-se um nível de precisão semelhante entre os algoritmos. Os algoritmos relacionados com séries temporais (Holt-Winters e ARIMA) têm um desempenho inferior, principalmente o método exponencial Holt-Winters. Em seguida é o algoritmo SVM que apresenta um erro maior, apesar de ser mais resistente a outliers , pois além de apresentar apenas dois outliers o valor de erro destes é inferior ao valor de erro dos outliers apresentados pelos restantes algoritmos. Em oposição a SVM, a modelação em regras de regressão tem um valor de mediana menor, tal como demonstra uma maior concentração em valores baixos de erro, porém apresenta uma menor proteção face a outliers . O algoritmo de regressão linear e o algoritmo de árvores de regressão são os mais idênticos, apresentando a mesma quantidade de outliers (cinco outliers cada), bem como valores semelhantes de mediana e de quartis. Figura 4.15: Comparação entre Modelos (Diagrama de Caixas) A igualdade entre o erro associado às diferentes técnicas de regressão origina di- culdades em selecionar o algoritmo com melhor desempenho, porém permite-nos previamente excluir algumas técnicas. As técnicas de regressão linear, regras de 68 regressão e árvores de regressão apresentam valores de erro igualmente baixos. Deste modo, excluímos a hipótese de considerar a implementação de modulações baseadas em SVM, Holt-Winters ou ARIMA. De forma a não selecionar uma técnica de forma precipitada iremos, posteriormente, efetuar uma análise estatística mais pormenorizada das vantagens que cada uma das três técnicas de regressão mais precisas podem oferecer comparativamente ao modelo atual. 4.5.2 Comparação de Desempenho com o Modelo Atualmente em Funcionamento Nesta secção será, primeiramente, detalhado o modelo de previsão da quantidade de visitas em centros comerciais mais eciente até à data  o modelo da Around Knowledge. Posteriormente, será realizado comparações no sentido de averiguar as vantagens e desvantagens na substituição do modelo atual. 4.5.2.1 Estudo do Modelo Atual O modelo atual não tem por base nenhum usual algoritmo de data mining mas sim uma abordagem estatística mais simplista. Foi implementado na linguagem de programação python (secção 2.4). O seu modo de funcionamento baseia-se na pesquisa de dias idênticos no histórico e em seguida atribui diferentes pesos a cada dia encontrado. Por exemplo, um dia com o mesmo estado meteorológico recente tem um peso mais elevado do que um dia com o mesmo estado meteorológico mais antigo, isto é, com uma distância temporal maior em comparação com o dia que se pretende prever. O principal problema associado a este modelo prende-se com a falta de adaptação na medida em que o modelo é sempre o mesmo ao longo do tempo. Esta caraterística produziu a inviabilidade de anteriores modelos desenvolvidos na Around Knowledge. Inicialmente produziam valores aceitáveis, porém foram aumentando a margem de erro gradualmente até se tornarem ecazmente inaceitáveis. A gura 4.16 apresenta o desempenho do modelo numa abordagem growing windows . O algoritmo apresenta um período aceitável de previsões, no entanto é pouco adaptável a alterações comportamentais como o período natalício, além de que não possui qualquer plano de avaliação contínua. 69 Figura 4.16: Previsão com Modelo Atual 4.5.2.2 Comparação entre Modelo Atual e Proposto Para se estimar as vantagens dos modelos aqui desenvolvidos é apresentado na gura 4.17 um diagrama de caixas que permite uma visualização apelativa da Mean Absolute Error (MAE), relativa a todos os dias do conjunto de dados associada a cada técnica de regressão. Foi utilizada uma abordagem growing windows para obtenção dos valores de erro. É visível uma melhoria na precisão de todas as técnicas de regressão comparativamente ao modelo atual. Visão essa sustentada pelo menor valor de mediana, menor valor de quartis e menor valor de outliers . Consideramos por isso que as três técnicas referenciadas no gráco são preferíveis ao modelo atual no conjunto de dados testado. 70 Figura 4.17: Comparação entre Modelo Atual e Proposto (MAE) No sentido de apurar qual dos três métodos oferece uma maior vantagem relativamente ao modelo atual, foi utilizado o teste de Diebold-Mariano [56]. Comparamos o modelo atual com todos os três modelos alternativos, adotando como hipótese nula que o modelo atual tem uma precisão igual ao modelo alternativo e como hipótese alternativa que o modelo alternativo oferece vantagens de desempenho em detrimento da utilização do modelo atual. A tabela 4.7 e a tabela 4.8 apresentam, respetivamente, os valores de Diebold-Mariano e dos níveis descritivos calculados no R com o auxílio da função dm.test do package forecast [73]. Regressão Linear Regras de Regressão Árvores de Regressão Modelo Atual 2.4544 2.3814 2.8924 Tabela 4.7: Valores de Diebold - Mariano 71 Regressão Linear Regras de Regressão Árvores de Regressão Modelo Atual 0.007532 0.009146 0.002147 Tabela 4.8: Valores dos Níveis Descritivos Como pode ser observado a modelação com árvores de regressão é a que apresenta um maior valor de Diebold-Mariano, ou seja, é a que nos permite armar com maior certeza que devemos rejeitar a hipótese nula e adotar a hipótese alternativa. Recordese, que é usual utilizar um nível de signicância de 5%, isto é, o limite que tolerámos que não se conrme a hipótese nula. Este nível de signicância corresponde ao valor de 1.96. Todos as comparações obtiveram valores superiores a este valor, o que nos permite reforçar as vantagens das técnicas de regressão propostas comparativamente ao modelo atual. Caso o modelo atual fosse mais preciso que o modelo alternativo, o valor de Diebold-Mariano seria negativo. Em relação ao nível descritivo (valor 'p'), nenhum valor é superior a um nível de signicância aceitável, mesmo que denamos um nível de signicância de apenas 1%, ou seja, um valor de 0.01. Todos os valores dos níveis descritivos obtidos nas comparações são menores, pelo que novamente é identicável a vantagem de substituir o modelo atual e a superioridade por uma modulação com base em árvores de regressão. De realçar, que foi tido em atenção o erro inicial obtido com a regressão linear que posteriormente é mitigado. Deste modo, foi efetuado um teste de Diebold-Mariano descartando os valores de erro obtidos no primeiro mês, isto é, no período em que regressão linear apresenta uma taxa de erro elevada devido a ter um conjunto de dados de treino reduzido. Os valores mantiveram-se idênticos com árvores de regressão a terem como maior valor 2.5774, face aos 2.9685 de regressão linear e 2.0876 de regras de regressão. Note-se, ainda, que não foi feita uma comparação entre os diferentes modelos alternativos de forma a confrontar árvores de regressão com as restantes alternativas. Como é descrito por George Stigler [74] não devemos testar demasiadas hipóteses, torturando os dados de forma a que estes demonstrem determinado aspeto, pois poderão levar-nos a conclusões erradas. Os gestores do centro comercial foram confrontados com esta margem de erro, considerandoa extremamente adequada e tolerável. Existe um pico de erro no período natalício devido ao aumento anormal de auência de pessoas. A inexistência de outro período idêntico no histórico diculta a aprendizagem do algoritmo de forma a conseguir prever 72 Figura 4.19: DashBoard 4.6.1 Plano de Monitorização Contínua O projeto desenvolvido implica que todos os dias seja criado um novo modelo utilizando um conjunto de treino cada vez maior. Este aspeto contribui positivamente para a manutenção da precisão do algoritmo, porém não é suciente para garantir a não degradação da precisão ao longo do tempo. Ao longo do tempo podem surgir novas variáveis que inuenciem diretamente a quantidade de visitas. Deste modo a margem de erro associada a cada previsão será armazenada, assim será monitorizada a evolução do erro associado aos modelos criados para cada dia. A mesma implementação em R que calcula e envia as previsões, acrescenta todos os dias num cheiro csv as previsões calculadas. É calculado também a medida Mean Absolute Error (MAE) associada a cada dia e criado uma imagem no formato Portable Network Graphics (png) contendo um gráco de linha que ilustra a evolução da MAE 79 ao longo do tempo. Deste modo, em caso de um aumento do erro associado ao cálculo das previsões, este será facilmente percetível e originará a necessidade de repensar a modelação utilizada. 80 Capítulo 5 Análise do Layout de uma Loja de Desporto Atualmente, não existem grandes barreiras à entrada no mercado do retalho desportivo, originando uma forte ameaça de entrada de novos concorrentes para as atuais lojas. Neste contexto, as empresas em atividade têm uma necessidade acrescida de se diferenciarem das restantes, nessa medida, o uso de ferramentas de data mining poderá dar à loja a tão aliciada vantagem competitiva que procuram face à concorrência. Neste capítulo, detalharemos um problema de negócio de uma loja de desporto, porém expansível para qualquer área de retalho, não necessariamente ligada ao desporto. A estratégia de resolução seguirá a metodologia de CRISP-DM e passará pela criação de um gerador de visitas baseado num histórico de visitas reais e na criação de modelos de previsão com vista a prever o tempo médio de duração das visitas num determinado layout . 5.1 Compreensão do Negócio O problema de negócio abordado neste capítulo pertence a uma cadeia de lojas de desporto que reúne, atualmente, setenta lojas em Portugal e trinta em Espanha, sendo por isso a maior cadeia de lojas de desporto a operar em Portugal. Apesar das lojas em estudo terem uma quantidade elevada de visitas diárias comparativamente com as lojas do mesmo setor, apenas uma percentagem muito reduzida dessas visitas se traduzem em compras e, por essa via, em lucros. 81 Com vista a aumentar os lucros das lojas, os gestores estão focados em proporcionar aos clientes um ambiente incentivador de compras não planeadas. Os elementos da equipa de marketing conantes na qualidade e utilidade dos produtos por eles comercializados acreditam que podem não só responder positivamente às necessidades que os clientes possuem antes de entrar nas lojas, bem como despertar novas necessidades de compra anteriormente não existentes. Este despertar de necessidades poderá incentivar a prática desportiva dos visitantes das lojas, objetivo igualmente prosseguido pelos gestores e visível na missão da empresa, de onde decorre que esta pretende  promover e democratizar a prática do desporto cultivando relações fortes com as comunidades que nos inserimos . Uma compra não planeada é denida como qualquer compra de um produto que não foi planeada antes do comprador entrar na loja [75]. Mais especicamente, qualquer compra que o comprador se esqueceu de colocar ou enumerar numa lista antes da entrada na loja, ou qualquer compra que o comprador sinta necessidade depois de entrar na loja [76]. Vários estudos de marketing apontam como principais inimigos às compras não planeadas: o uso de listas de compras; os compradores limitarem a sua localização geográca fundamentalmente às zonas da loja onde planeiam comprar e, bem assim, limitarem o tempo que passam na loja [77]. A cadeia de lojas não tem um layout único em cada loja, ou seja, as secções não estão igualmente distribuídas em todas as lojas da empresa, sendo certo que várias alterações aos layouts das lojas decorreram ao longo do tempo. Com esta análise pretendemos auxiliar os gestores no sentido de prever o impacto que uma alteração no layout poderá ter na duração das visitas. Sabendo de antemão que um aumento da duração das visitas é positivamente relacionado com um aumento das compras não planeadas [78]. 5.1.1 Problema do Layout Atual Para que se consiga perceber melhor as possíveis alterações no layout foi discutido com os gestores da cadeia de lojas os problemas do atual layout da loja que tem a tecnologia BIPS instalada. Os gestores argumentaram que com aquela disposição das zonas, os clientes concentramse muito no centro da loja, local onde se encontram as zonas mais frequentadas. Este aspeto revela que existem corredores pouco visitados, o que poderá resultar 82 em menos oportunidades de negócio para a loja. Caso os clientes frequentassem mais os corredores menos visitados, as probabilidades de uma compra não planeada aumentariam. O problema identicado pelos gestores é conrmado pelos dados recolhidos pelo BIPS. A gura 5.1 (criada com o auxílio de um package R, igraph [79]) representa as transações entre cada zona durante uma semana, quanto maior a espessura do elo de ligação entre duas zonas, maior o número de pessoas que passa de uma zona para a outra. Apenas estão representados na imagem clientes que passam no mínimo três minutos em cada zona, de modo a não representar passagens na zona que não representem visitas. É visível pela imagem 5.1 que as zonas no centro da loja têm um maior número de passagens de clientes. Este facto também é facilmente visualizado com um algoritmo de associação, medindo-se a associação entre as zonas visitadas pelos mesmo clientes na mesma visita. O package , da linguagem R, carenR [80] ao gerar regras de associação revela que as suas trinta e sete regras com um maior lift envolvem pelo menos duas zonas das quatro centrais. Um indicador muito forte da associação que existe entre essas zonas. Figura 5.1: Layout Atual 83 Atributo Signicado id Identicador do cliente zone Corresponde a uma determinada área da loja timestamp Momento temporal da primeira deteção do id naquela zona duration Duração da permanência na zona, em segundos Tabela 5.1: Conjunto de Dados 5.1.2 Objetivos de Data Mining Os objetivos de data mining passam, fundamentalmente, por prever a duração de visita indexada aos diversos layouts que possam ser implementados na loja. Com base num layout pretende-se prever o tempo de permanência em cada zona visitada e o tempo de passagem desde a zona visitada até à seguinte. Deste modo, será possível prever o impacto que uma dada alteração de layout provocará no tempo de permanência em loja por parte dos clientes. 5.2 Compreensão dos Dados Tal como no capítulo 4recorreu-se à tecnologia BIPS (secção 2.5) para captura e disponibilização dos dados aqui utilizados. Toda a recolha de dados foi devidamente autorizada pela empresa proprietária da loja e todo o sistema de captura exaustivamente testado pela Around Knowledge, de forma a garantir uma elevada conança na abilidade que estes representam. A tabela 5.1 apresenta os atributos disponíveis no conjunto de dados utilizados para solucionar este problema. Cada vez que um determinado visitante da loja se desloca para uma zona diferente irá dar origem a uma nova entrada no conjunto de dados com os quatro atributos da tabela. 5.2.1 Análise do Número de Visitas por Zona Na elaboração desta análise foi considerado um tempo mínimo de permanência em cada zona de três minutos, que corresponde ao tempo de permanência aconselhado pelos gestores. 84 O gráco da gura 5.2 e a tabela 5.2 apresentam a média de visitas diárias em cada zona. Existe uma clara popularidade da zona Têxtil Casual, um dado justicado pelo tamanho da área da zona face às restantes e pela quantidade de produtos que esta contém face às outras zonas. É igualmente notável que as restantes zonas relacionadas com o têxtil têm uma quantidade de visitas superior às restantes. Sendo certo que os produtos têxtil, geralmente, têm uma necessidade de aquisição mais regular face aos produtos de outras zonas cujas necessidades são esporádicas. Figura 5.2: Média de Visitas Diárias 85 Zona Média Diária Têxtil Casual 47.848485 Têxtil Essentials 30.439394 Têxtil Running 23.227273 Têxtil 2 19.833333 Têxtil Outdoor 19.045455 Nike Futebol 15.803030 Outdoor 15.454545 Calçado Run 14.378788 Promo Esq 14.106061 Ciclismo 11.227273 Natação 10.848485 Calçado Futebol 8.833333 Maq Fitness 8.696970 Futebol 7.606061 Caixas 5.515152 Promo Dir 4.712121 Tabela 5.2: Média Diária de Visitas por Zona 5.2.2 Relação Entre o Número de Visitas e a Hora No sentido de averiguar as horas em que a loja tem um maior número de visitas construimos o gráco de barras da gura 5.3 que representa a média diária de visitas em cada hora durante o período em análise. Da observação da imagem, decorre que existe uma quantidade maior de visitas ao início da tarde do que nos extremos, isto é, horas próximas da abertura ou fecho da loja, que apresentam uma menor quantidade de visitas. A tabela 5.3 apresenta os valores sobre os quais o gráco da gura 5.3 foi construído. 86 Figura 5.3: Média de Visitas Diárias por Hora 87 Hora Média Diária 8h 5.651515 9h 16.712121 10h 23.257576 11h 24.515152 12h 28.000000 13h 36.469697 14h 42.121212 15h 41.606061 16h 38.500000 17h 35.681818 18h 30.681818 19h 28.151515 20h 31.651515 21h 24.606061 22h 6.757576 Tabela 5.3: Média Diária de Visitas por Hora 5.2.3 Relação Entre o Número de Visitas e o Dia da Semana O número de visitantes na loja, fundamentalmente, varia em função dos ns de semana, tal como pode ser visualizado no gráco da gura 5.4 e na tabela 5.4. O número de visitantes tem uma distribuição em relação aos dias da semana idêntica ao centro comercial estudado no capitulo 4. Algo expectável para a maioria das superfícies comerciais com o mesmo horário de funcionamento devido à maior disponibilidade da generalidade das pessoas em determinados dias em detrimento de outros. Nesse sentido, a sexta-feira, o sábado e o domingo têm um maior número de visitantes. Por sua vez, os restantes dias apresentam uma quantidade de visitas idêntica entre si. 88 5.4 Modelação O objetivo principal passa por atendendo a um layout , real ou não, calcular a média da duração de visitas. A nossa abordagem consiste em criar, inicialmente, um gerador de visitas. O objetivo é que as visitas geradas sejam representativas das visitas reais, ou seja, se são geradas cem visitas é expectável que tenham uma distribuição do número de zonas visitadas e da associação entre elas idênticas a cem visitas reais anteriormente observadas. Em seguida, dado um determinado layout é calculada a duração das visitas geradas. Esta duração é calculada através de modelos preditivos da duração de visita em cada zona e da média que cada cliente demora a passar de uma parte da loja para outra, dependendo da distância entre estas. O tempo de passagem entre cada zona da loja é calculado através de um histórico em que se avalia as médias do tempo que um visitante demora a percorrer uma determinada distância, por distância é considerado o número de zonas que é preciso atravessar de uma zona até à zona destino. 5.4.1 Gerador de Visitas A construção do gerador de visitas baseia-se em dados reais, de modo a ser o mais realista possível. Deste modo, são utilizadas anteriores visitas e é calculada a probabilidade de um visitante transitar de uma zona da loja para outra diferente. De início, com base num histórico, serão calculadas as probabilidades que cada zona tem de ser a primeira a ser visitada. O simulador utiliza essas probabilidades, sendo que quanto maior, maior probabilidade da zona ser escolhida pelo simulador. As transações seguintes são simuladas de igual modo, utilizando para isso cadeias de Markov. Em cada estado, apenas interessa o estado atual para selecionar o estado seguinte. Cada estado tem uma transação para a saída da loja. A saída é em todas as zonas a transação mais provável de acontecer. Este dado é expectável na medida em que as visitas percorrerem poucas zonas, em regra, cerca de 80% das visitas apenas visitam uma ou duas zonas diferentes. 5.4.1.1 Comparação Com Gerador Aleatório Com o objetivo de testar a ecácia do gerador de visitas desenvolvido foi, inicialmente, comparado com outro gerador praticamente aleatório. Este gerador aleatório apenas tem um parâmetro para limitar o número de zonas por visita, de forma a não gerar 95 visitas demasiado longas e irrealistas. A tabela 5.10 e a tabela 5.11 representam a comparação das percentagens de visitas geradas reais em cem visitas geradas e em mil visitas geradas respetivamente. Por exemplo, na segunda linha da tabela 5.10, das cem visitas geradas pelo gerador proposto 76% são iguais a visitas anteriores, ao passo que no gerador aleatório apenas 28% correspondem a visitas reais anteriores. Em suma, é notória a maior semelhante do gerador aqui proposto com as visitas reais comparativamente a um gerador aleatório. Sendo, por isso, mais representativo do comportamento habitual de um visitante da loja de desporto. Número de Zonas 1 2 3 Gerador Proposto 100% 76% 6% Gerador Aleatório 100% 28% 0% Tabela 5.10: Desempenho do Gerador de Visitas em 100 Testes Número de Zonas 1 2 3 Gerador Proposto 100% 74% 5.2% Gerador Aleatório 100% 27.1% 0.4% Tabela 5.11: Desempenho do Gerador de Visitas em 1000 Testes Os testes aos dois geradores, repetidos várias vezes, revelaram-se sistematicamente idênticos. A percentagem de visitas reais geradas no gerador proposto apresentaramse sempre consideravelmente superiores às geradas pelo gerador aleatório. Contudo, de forma a conrmar que os resultados não foram um mero acaso efetuamos um teste de hipótese. O teste escolhido foi o Qui Quadrado que nos permite, com base no número de sucessos e insucessos, avaliar se os resultados obtidos são realmente estatisticamente diferentes ou, se por outro lado, não existe uma diferença signicativa entre os dois podendo dever-se apenas a um mero acaso. Adotamos como H0 a hipótese de não haver diferença entre os dois geradores e excluímos da análise percursos com apenas uma zona. Esta decisão deve-se, fundamentalmente, ao facto de ser estatisticamente impossível que algum dos dois geradores não tenham sucesso em todos os casos, uma vez que, como anteriormente identicamos, todas as zonas têm associadas clientes que as visitaram sem que tenham visitado qualquer outra zona. Deste modo, consideramos para o teste os sucessos em mil 96 testes para percursos de duas zonas e em mil testes para percursos de três zonas. O teste de Qui Quadrado resultou num nível descritivo de 2.2×10−16 , deixando assim conrmada a vantagem do gerador desenvolvido em detrimento de um gerador aleatório. O resultado não é surpreendente já que há uma imensa diferença entre o número de sucessos obtidos pelos dois geradores. 5.4.1.2 Distribuição do Tamanho de Percursos O tamanho de percurso, ou seja, o número de zonas que são frequentadas durante uma visita, obedecendo a um tempo de permanência mínimo é um requisito para a viabilidade do gerador. Efetuamos um teste ao tamanho dos percursos que consistiu em comparar a distribuição de tamanho de percursos reais com a distribuição gerada pelo nosso gerador de visitas. A tabela 5.12 ilustra a comparação da distribuição de mil visitas reais com mil visitadas geradas. Dada a semelhança entre as duas distribuição, consideramos o requisito cumprido com sucesso e reforçamos, assim, a viabilidade na utilização do gerador de visitas. Número de Zonas Visitadas 1 2 3 4 5 Visitas Reais 57% 25% 15% 2% 1% Gerador Proposto 49% 30% 15% 4% 2% Tabela 5.12: Distribuição do Tamanho de Percursos 5.4.2 Previsão da Duração em Cada Zona Para podermos prever a duração de qualquer visita num dado layout , começamos por construir modelos preditivos para prever a duração de uma visita às diferentes zonas da loja. Foram consideradas as técnicas de regressão tal como as árvores de regressão, as regras de regressão, a regressão linear, e a support vector machine . De modo a testar os modelos, construímos uma função em R que seleciona, alternativamente, uma diferente semana do conjunto de dados e avalia essa semana como conjunto de teste. Este modelo foi construído com base num conjunto de treino que 97 será constituído por todo o conjunto de dados com exceção da semana que compõe o conjunto de teste. Na tabela 5.13 apresentamos o RMSE resultante da avaliação de todas as semanas com as seguintes variáveis preditivas: weekday - dia da semana que se efetua a visita; time_day - período do dia da visita em que a visita é efetuada; zone - zona para a qual pretendemos prever a duração. Por observação da tabela, destacamos o método baseado em árvores de regressão como o mais apto para prever a duração de visita em cada zona, pois tem associado um menor erro. A tabela 5.14 apresenta o resultado obtido por uma experiência idêntica à anterior, porém foi retirado o atributo zone e, em vez de criar um modelo comum a todas as zonas, a função cria um modelo para cada zona. O objetivo desta nova estratégia é perceber se trará vantagens ao nível de precisão ter modelos com conjuntos de treino mais reduzidos, mas mais idênticos entre si, apesar de estarmos cientes que nos casos em que a zona tivesse uma elevada inuência no resultado, esta seria tida em conta pelos métodos de previsão devido a ser uma variável preditiva. Pela observação da tabela, podemos vericar que um modelo por zona torna-se mais prejudicial ao nível da precisão. A linha da tabela com o método de previsão Média é um modelo que apenas calcula a média aritmética das durações em cada uma das diferentes zonas. Deste modo, em cada previsão apenas é atribuído como previsão a média aritmética do tempo de duração das visitas do conjunto de treino na mesma zona. Ainda que por uma diferença não muito signicativa, a previsão baseada na média aritmética revela-se mais ecaz que todos os métodos de regressão mais complexos, exceção feita às árvores de regressão. Este aspeto deve-se, principalmente, ao facto, tal como observamos na secção 5.2, não existirem padrões de comportamento bem denidos, ou seja, todas as variáveis estudadas não têm uma inuência considerável sobre o tempo de duração das visitas. Na verdade, a duração desenvolve-se sem qualquer ligação às restantes variáveis, ou seja, é independente das restantes, o que diculta a criação de modelos preditivos. Método de Previsão RMSE Árvores de Regressão 137.4601 Regras de Regressão 149.3688 Regressão Linear 150.3096 SVM 150.3096 Tabela 5.13: RMSE na Previsão da Duração de Visita 98 Método de Previsão RMSE Árvores de Regressão 138.2529 Regras de Regressão 149.8603 Regressão Linear 150.7682 SVM 150.7682 Média 144.8204 Tabela 5.14: RMSE na Previsão da Duração de Visita - Um Modelo Por Zona Foram testados outros modelos com várias combinações de variáveis preditivas. No caso das visitas reais, conseguimos uma redução da margem de erro com o uso de variáveis autorregressivas, tais como o tempo de duração que o visitante teve na zona anterior à que queremos prever (aplicado apenas em visitas com mais do que uma zona). Os valores de RMSE resultantes podem ser visualizadas na tabela 5.15 que apresenta um modelo para todas as zonas e na tabela 5.16 com um modelo por zona. Apesar desta melhoria signicativa, este modelo não foi incluído na ferramenta pelo facto de não poder ser usado em visitas que não sejam reais. Numa visita real sabemos à priori o tempo real que esta passou numa zona anterior, porém numa visita criada pelo gerador de visitas desenvolvido não temos um tempo passado numa zona anterior. Utilizar como variável autorregressiva uma variável também ela anteriormente prevista seria aumentar o erro, pelo que este método de previsão não pode ser transposto para o nosso simulador nal baseado em visitas articiais. Método de Previsão RMSE Árvores de Regressão 114.7509 Regras de Regressão 123.4640 Regressão Linear 117.5367 SVM 117.1687 Tabela 5.15: RMSE Com Variável Autorregressiva Método de Previsão RMSE Árvores de Regressão 119.0991 Regras de Regressão 120.5178 Regressão Linear 114.3217 SVM 117.1687 Tabela 5.16: RMSE Com Variável Autorregressiva - Um Modelo Por Zona 99 Testamos outras combinações de variáveis preditivas de forma a melhorar os modelos de previsão, como por exemplo: quantidade de zonas anteriormente visitadas, tempo meteorológico (disponibilizado pelo BIPS), hora de visita (maior granularidade que altura do dia) e zona anteriormente visitada. Nenhum modelo teve uma maior precisão que as árvores de regressão com as variáveis preditivas: zone, weekday e time_day. A diferença entre utilizar árvores de regressão como método preditivo ou utilizar apenas a média de duração em cada zona não é grande. O modelo nal de árvores de regressão consegue uma ligeira diminuição da margem de erro devido a agrupar a média de algumas zonas. Existem zonas que, por terem visitantes com comportamentos idênticos, é benéco serem agrupadas na média em vez de serem consideradas separadamente. De forma a conrmar a vantagem de árvores de regressão foi efetuado um teste de hipótese, teste de Wilcoxon. Foi considerado como H0 não existir uma diferença signicativa entre árvores de regressão e o modelo de previsão baseado apenas nas médias de cada zona. O nível descritivo obtido foi de 0.0006355. Um valor de suporte sucientemente baixo, inclusive inferior aos 5%, usualmente adotados como o suporte mínimo para considerar a hipótese H0 como válida. Todos os elementos supra referenciados levaram-nos a adotar árvores de regressão como o método de previsão da duração de permanência em cada uma das zonas visitadas. 5.4.3 Desempenho do Simulador A melhor forma de testar o desempenho do simulador será prever a duração de visita de tempos reais, num layout real. Como já testamos a abilidade do gerador de visitas, caso o simulador tenha um bom desempenho com visitas reais, também estará apto a simular tempos de duração de visitas criadas pelo gerador anteriormente desenvolvido. A gura 5.7 demonstra, através de diagramas de caixas, o erro absoluto para todos os tempos de visita do período de tempo disponível. Está representado também o erro absoluto dividido pelo tempo de duração real. A gura 5.8 é idêntica à anterior, porém divide os diferentes diagramas de caixa pela quantidade de zonas visitadas durante a visita real e não pelo tempo de duração de visita. A margem de erro do simulador demonstra-se positiva para a generalidade das visitas. Apesar de existir casos que têm um erro elevado associado, esses casos representam visitas com um tempo de duração e número de zonas visitadas elevado, o que usualmente acontece com pouca frequência, pelo que a importância de prever estes casos 100 torna-se menor. Nos casos mais incomuns já seria de esperar uma margem de erro maior, pois existindo um maior número de zonas visitadas faz com que exista um aumento do erro à medida que se prevê a duração em cada zona, mais os tempos de passagem entre as diferentes zonas. Por seu lado, as visitas com elevada duração também têm associado um erro maior, pois a maioria das visitas têm curtas durações, impossibilitando assim a previsão precisa de visitas com um tempo de duração elevado. Figura 5.7: MAE das Previsões por Tempo 101 Figura 5.8: MAE das Previsões por Número de Zonas 5.5 Avaliação A avaliação da ferramenta foi feita através de um teste prático, deste modo foram feitos vários testes para avaliar o desempenho. Nesta secção, descrevemos, primeiramente, um resultado obtido pela ferramenta quando testada com um layout radical que separa todas as zonas com produtos têxtil. Posteriormente, descrevemos a avaliação do ponto de vista de negócio, com a opinião dos futuros utilizadores da ferramenta e especialistas em gestão organizacional. 5.5.1 Layout Radical Tal como referimos na secção 5.1.1, o principal problema do layout atual é ter as zonas mais frequentadas muito próximas entre si. Ao afastar essas zonas, o tempo de 102 passagem entre elas cará maior, pelo que é expectável que a duração média de visita aumente. Foram feitas quatro alterações no layout , estando as quatro ilustradas na gura 5.9. As zonas que têm uma seta a unir foram trocadas de posição, sendo que a disposição das zonas na imagem já representam o layout resultante da alteração. Denimos este novo layout por layout radical, pelo facto de implicar uma mudança grande em relação ao atual. Partimos de um paradigma em que os produtos têxtil estão geogracamente próximos e as zonas mais visitadas em posição central da loja, para um paradigma que promove uma maior heterogeneidade entre as zonas visitantes e a distancia do centro da loja às zonas que habitualmente têm um maior número de visitantes. Geramos mil visitas com base no gerador de visitas da secção 5.4.1. A tabela 5.17 apresenta as médias da duração das mil visitas criadas, tanto para o layout atual, como para o layout radical. Como esperado, o tempo de passagem entre as zonas do layout radical origina uma maior retenção dos clientes na loja. O layout radical é mais propício a compras não planeadas. Figura 5.9: Layout Radical 103 Duração Média (Segundos) Layout Atual 613 Layout Radical 673 Tabela 5.17: Diferança na Duração Média Entre Dois Layouts 5.5.2 Feedback de Especialista Terminada a implementação tentamos medir o futuro impacto da ferramenta desenvolvida através de reuniões com as pessoas que consideramos serem os intervenientes mais qualicados para a avaliar. A Around Knowledge é uma empresa com vasta experiência em análise de negócios, procurando constantemente identicar e resolver problemas de negócio dos seus clientes através da tecnologia BIPS por eles comercializada. A equipa da Around Knowledge mostrou-se entusiasmada com o trabalho e motivada para o integrar no dashboard de todos os clientes aos quais se enquadre a utilização desta ferramenta. A visão dos responsáveis de marketing vai ao encontro das referências encontradas sobre o relacionamento positivo entre o aumento da duração de visitas e o aumento do número de compras não planeadas. Nessa medida, aperceberam-se da importância de reter os visitantes na loja, tal como a necessidade de uma ferramenta que auxilie uma decisão de alteração de layout de forma a evitar testar disposições desnecessárias. Para tal, é necessário encontrar um grupo mais restrito de alterações, sendo certo que numa loja de grandes dimensões o número de possíveis combinações entre todas as zonas é muito extenso. Do lado dos gestores da cadeia de lojas revelaram que a estratégia que tinham anteriormente delineado passava por analisar o posicionamento das pessoas antes e depois da alteração de layout através das estatísticas diariamente disponibilizados pelo dashboard do BIPS, pelo número de vendas realizadas, pelos lucros obtidos e por observação direta do comportamento das pessoas. Esta observação direta é efetuada por um funcionário da loja com o auxílio de câmaras de videovigilância, assim consegue uma visão privilegiada dos habituais comportamentos dos clientes e periodicamente reportaos a um gestor. Os gestores da cadeia de lojas não tinham qualquer ferramenta à sua disposição que lhes permitisse prever, antecipadamente, o impacto das alterações de layout na duração de visitas, pelo que consideraram muito inovador e mostraram-se recetivos à 104 [12] Simon Urbanek. RCassandra: R/Cassandra interface , 2013. R package version 0.1-3. [13] Página ocial do rstudio. http://www.rstudio.com/ . Acedido em 2014-03. [14] Página ocial python. http://www.python.org/ . Acedido em 2014-02. [15] Github pycassa. https://github.com/pycassa/pycassa . Acedido em 2014-02. [16] Mark Lutz. Programming Python - Powerful Object-Oriented Programming: Covers Python 3.x (4. ed.). O'Reilly, 2011. [17] Página ocial around knowledge. http://www.aroundknowledge.com/ . Acedido em 2014-02. [18] R.U. Di Cera Colazingari. Tagless radio frequency based self correcting distributed real time location system, September 5 2013. US Patent App. 13/820,433. [19] Linkedin bips - tagless real-time location intelligence. http://www.linkedin.com/company/around-knowledge/ bips-tagless-real-time-location-intelligence-470175/product?trk= biz_product . Acedido em 2014-02. [20] ISO27001: Information Security Management System (ISMS) standard. Online: http://www.27000.org/iso-27001.htm , October 2005. [21] Federal Information Processing and Announcing The. Announcing the advanced encryption standard (aes), 2001. [22] David J. Hand, Padhraic Smyth, and Heikki Mannila. Principles of Data Mining . MIT Press, Cambridge, MA, USA, 2001. [23] Efraim Turban, Jay E Aronson, Ting-Peng Liang, and Ramesh Sharda. Decision Support and Business Intelligence Systems (8th Edition) . Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006. [24] Bernard Liautaud. E-Business Intelligence: Turning Information into Knowledge into Prot . McGraw-Hill, Inc., New York, NY, USA, 2000. [25] Ming-Syan Chen, Jiawei Han, and Philip S. Yu. Data mining: An overview from a database perspective. IEEE Trans. on Knowl. and Data Eng. , 8(6):866883, December 1996. 111 [26] Daniel T. Larose. Discovering Knowledge in Data: An Introduction to Data Mining . Wiley-Interscience, 2004. [27] Colin Shearer. The crisp-dm model: The new blueprint for data mining. Journal of Data Warehousing , 5(4), 2000. [28] Semma. http://www.sas.com/offices/europe/uk/technologies/ analytics/datamining/miner/semma.html . Acedido em 2014-02. [29] Usama Fayyad, Gregory Piatetsky-shapiro, and Padhraic Smyth. From data mining to knowledge discovery in databases. AI Magazine , 17:3754, 1996. [30] Gerald Benoît. Data mining. Annual Review of Information Science and Technology , 36(1):265310, 2002. [31] David Schubmehl Mary Wardley Dan Vesset, Brian McDonough. Market analysis - worldwide business analytics software 2013-2017 forecaste and 2012 vendor shares. IDC. [32] Ana Azevedo and Manuel Filipe Santos. Kdd, semma and crisp-dm: a parallel overview. In Ajith Abraham, editor, IADIS European Conf. Data Mining , pages 182185. IADIS, 2008. [33] Jiawei Han, Micheline Kamber, and Jian Pei. Data mining concepts and techniques, third edition, 2012. [34] Fitting linear models - r documentation. http://stat.ethz.ch/R-manual/ R-patched/library/stats/html/lm.html . Acedido em 2014-03. [35] Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning . Springer Series in Statistics. Springer New York Inc., New York, NY, USA, 2001. [36] L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classication and Regression Trees . Wadsworth International Group, Belmont, CA, 1984. [37] J. R. Quinlan. Induction of decision trees. Mach. Learn. , 1(1):81106, March 1986. [38] Georey Holmes, Mark Hall, and Eibe Frank. Generating rule sets from model trees. In in Proc. of the 12th Australian Joint Conf. on Articial Intelligence , pages 112. Springer-Verlag. 112 [39] J. R. Quinlan. Learning with continuous classes. pages 343348. World Scientic, 1992. [40] Corinna Cortes and Vladimir Vapnik. Support-vector networks. Machine Learning , 20(3):273297, 1995. [41] Bernhard E. Boser, Isabelle M. Guyon, and Vladimir N. Vapnik. A training algorithm for optimal margin classiers. In Proceedings of the Fifth Annual Workshop on Computational Learning Theory , COLT '92, pages 144152, New York, NY, USA, 1992. ACM. [42] C. Chateld. The Analysis of Time Series: An Introduction, Sixth Edition . Chapman & Hall/CRC Texts in Statistical Science. Taylor & Francis, 2013. [43] George Edward Pelham Box and Gwilym Jenkins. Time Series Analysis, Forecasting and Control . Holden-Day, Incorporated, 1990. [44] Richard H. Jones. Maximum Likelihood Fitting of ARMA Models to Time Series with Missing Observations. Technometrics , 22(3):389395, 1980. [45] Peter R. Winters. Forecasting Sales by Exponentially Weighted Moving Averages. ONR Research Memorandum , 6(3):324342, 1960. [46] C. C. Holt. Forecasting trends and seasonals by exponentially weighted moving averages. Management Science , 52, 1957. [47] R.G. Brown. Exponential Smoothing for Predicting Demand . Little, 1956. [48] Rakesh Agrawal, Tomasz Imieli«ski, and Arun Swami. Mining association rules between sets of items in large databases. SIGMOD Rec. , 22(2):207216, June 1993. [49] Jochen Hipp, Ulrich Güntzer, and Gholamreza Nakhaeizadeh. Algorithms for association rule mining — a general survey and comparison. SIGKDD Explor. Newsl. , 2(1):5864, June 2000. [50] Ian H. Witten and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems) . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2005. [51] Nicholas Metropolis and Stanislaw M. Ulam. The Monte Carlo Method. Journal of the American Statistical Association , 44(247):335341, September 1949. 113 [52] R.A. Fisher. Statistical methods for research workers . Edinburgh Oliver & Boyd, 1925. [53] Stephen Stigler. Fisher and the 5% level. CHANCE , 21(4):12, December 2008. [54] Clive William John Granger and Paul Newbold. Forecasting economic time series . Economic theory and mathematical economics. Academic Press, New York [u.a.], 1977. [55] Richard Meese and Kenneth Rogo. Empirical exchange rate models of the seventies: Do they t out of sample? Journal of International Economics , 14:3 24, 1983. [56] Francis X Diebold and Roberto S Mariano. Comparing Predictive Accuracy. Journal of Business & Economic Statistics , 13(3):25363, July 1995. [57] Frank Wilcoxon. Individual Comparisons by Ranking Methods. Biometrics Bulletin , 1(6):8083, December 1945. [58] Myles Hollander and Douglas A. Wolfe. Nonparametric Statistical Methods, 2nd Edition . Wiley-Interscience, 2 edition, January 1999. [59] David F. Bauer. Constructing Condence Sets Using Rank Statistics. Journal of the American Statistical Association , 67(339):687690, 1972. [60] M. S. Nikulin. Chi-squared test for normality. Proceedings of the International Vilnius Conference on Probability Theory and Mathematical Statistics , 2:119212, 1973. [61] Edwin B. Wilson. Probable Inference, the Law of Succession, and Statistical Inference. Journal of the American Statistical Association , 22(158):209212, 1927. [62] Robert G. Newcombe. Two-sided condence intervals for the single proportion: comparison of seven methods. stat. med, 1998. [63] Robert G. Newcombe. Interval estimation for the dierence between independent proportions: comparison of eleven methods. In Statistics in Medicine , 1998. [64] Soa Alexandra Cruz. O que fazem os gestores? a atividade gestionária de centros comerciais. 2014. [65] Model predictions - r documentation. http://stat.ethz.ch/R-manual/ R-patched/library/stats/html/predict.html . Acedido em 2014-03. 114 [66] Terry M Therneau and Beth Atkinson. rpart: Recursive Partitioning , 2013. R package version 4.1-5. [67] L. Torgo. Data Mining with R, learning with case studies . Chapman and Hall/CRC, 2010. [68] Max Kuhn, Steve Weston, Chris Keefer, and Nathan Coulter. C code for Cubist by Ross Quinlan. Cubist: Ruleand Instance-Based Regression Modeling , 2014. R package version 0.0.15. [69] Max Kuhn. Contributions from Jed Wing, Steve Weston, Andre Williams, Chris Keefer, and Allan Engelhardt. caret: Classication and Regression Training , 2012. R package version 5.15-044. [70] David Meyer, Evgenia Dimitriadou, Kurt Hornik, Andreas Weingessel, and Friedrich Leisch. e1071: Misc Functions of the Department of Statistics (e1071), TU Wien , 2014. R package version 1.6-2. [71] R Core Team. R: A Language and Environment for Statistical Computing . R Foundation for Statistical Computing, Vienna, Austria, 2014. [72] C. J. Willmott and K. Matsuura. Advantages of the mean absolute error (MAE) over the root mean square error (RMSE) in assessing average model performance. Climate Research , 30:7982, 2005. [73] Rob J Hyndman with contributions from George Athanasopoulos, Slava Razbash, Drew Schmidt, Zhenyu Zhou, Yousaf Khan, Christoph Bergmeir, and Earo Wang. forecast: Forecasting functions for time series and linear models , 2014. R package version 5.1. [74] G.J. Stigler. The theory of price . Macmillan, 1987. [75] C Whan Park, Easwar S Iyer, and Daniel C Smith. The eects of situational factors on in-store grocery shopping behavior: The role of store environment and time available for shopping. Journal of Consumer Research , 15(4):42233, 1989. [76] Timothy J Gilbride, J Jerey Inman, and Karen M Stilley. What determines unplanned purchases?: A model including shopper purchase history and withintrip dynamics, 2013. [77] J Jerey Inman, Russell S Winer, and Rosellina Ferraro. The interplay among category characteristics, customer characteristics, and customer activities on instore decision making. Journal of Marketing , 73(5):1929, 2009. 115 [78] Karen M Stilley, J Jerey Inman, and Kirk L Wakeeld. Planning to make unplanned purchases? the role of in-store slack in budget deviation. Journal of Consumer Research , 37(2):264278, 2010. [79] Gabor Csardi and Tamas Nepusz. The igraph software package for complex network research. InterJournal , Complex Systems:1695, 2006. [80] Alipio Jorge and Paulo J. Azevedo. carenR: CarenR - Classication and Association Rules Engine for the R Statistical Package . R package version 0.113-01.1. [81] António Pereira de Almeida. Sociedades Comerciais - Valores Mobiliários e Mercados . Coimbra Editora, 2011. 116