• Nenhum resultado encontrado

Pré-processamento dos dados

4.2 Pré-processamento

Foi necessário realizar um pré-processamento nos dados para organizá-los de uma maneira em que representem a trajetória de cada dispositivo no dia, e para que ele fique na estrutura que

4.2 PRÉ-PROCESSAMENTO 14

Tabela 4.2: Visitas ordenadas por id e timestamp

o algoritmo de PrefixSpan e a biblioteca utilizada propõem.

Inicialmente foi feita a ordenação dos dados por id e em seguida por timestamp. Afim de deixar juntos dados com o mesmo id, e ainda por cima já ser possível verificar a trajetória de cada id devido a ordenação pelo tempo em que a visita ocorreu. Além disso foram coletados dos elementos da coluna de places somente informações que iriamos utilizar na mineração, que eram as informações de que o local era a casa ou o trabalho do dispositivo ou então a categoria que o local se encontrava. Para as linhas em que a coluna de places possuia mais de um elemento no array foram coletadas as categorias de cada um deles. Na tabela 4.2 é possível verificar como ficou estruturado o dado.

Após isso foi possível montar a trajetória de cada id. Foi criado um array onde cada ele-mento representava a categoria do place visitado, ou um array de categorias caso fosse infor-mado mais de um place, além disso o array também estava ordenado pelo timestamp, então a visita da posição 0 ocorreu antes da visita da posição 1, que ocorreu antes da visita da posição

4.2 PRÉ-PROCESSAMENTO 15 id trajectory

1 [[WORK], [HOME]]

2 [[office]]

3 [[restaurant, WORK], [HOME], [HOME]]

4 [[HOME], [store], [HOME], [[store, clothing_store], ...

. . . .

Tabela 4.3: Trajetória de cada id Sequência

1 -1 1 2 3 -1 1 3 -1 4 -1 3 6 -1 -2 1 4 -1 3 -1 2 3 -1 1 5 -1 -2 5 6 -1 1 2 -1 4 6 -1 3 -1 2 -1 -2

Tabela 4.4: Exemplo de padrão de entrada utilizado no algoritmo de PrefixSpan do SPMF

2, e assim sucessivamente. A tabela 4.3 mostra como ficou o dado.

Já com as trajetórias montadas, era preciso estruturar o dado para seguir o padrão proposto pelo SPMF[5]. O formato de entrada é definido como mostrado na tabela 4.4. Onde -1 indica o fim de um conjunto de itens e -2 indica o fim da sequência. Por exemplo, a primeira linha indica que a sequência inicia com o conjunto de itens {1}, é seguido pelo conjunto de itens {1, 2, 3}, que é seguido pelo conjunto {1, 3}, seguido pelo conjunto {4}, que é por fim seguido pelo conjunto {3, 6}.

A figura 4.1 mostra como o dado ficou após essa estruturação. Cada categoria ganhou um identificador único, além de que como é possível que em cada visita detectada seja informado mais de um local, cada conjunto de itens continha uma ou mais categorias, cada uma represen-tando a categoria de um dos locais informados.

Figura 4.1: Dados após pré-processamento

Por fim, também foi preciso tratar a estrutura do formato de saída do algoritmo. Na tabela 4.5 são mostrados exemplos desse formato. Onde -1 indica o fim de um conjunto de dados e

#SUP indica o valor de suporte que aquela sequência teve na base de dados.

Foi mapeado de volta cada id para sua categoria correspondente e também criado uma lista indicando onde foi encontrada cada sequência, como pode-se ver na tabela 4.6.

4.2 PRÉ-PROCESSAMENTO 16

Resultado

2 3 -1 1 -1 #SUP: 2 6 -1 2 -1 #SUP: 2 6 -1 2 -1 3 -1 #SUP: 2

Tabela 4.5: Exemplo de padrão de saída utilizado no algoritmo de PrefixSpan do SPMF

Sequential Pattern Support Found in

HOME 639 1, 11, 16, 18, 19, 24, 25, 33, 37, 39, 42, ...

[’university’, ’store’] -> car_dealer 88 88, 112, 122, 138, 192, 193, 195, 196, 208, 21...

school -> WORK 51 82, 85, 88, 99, 105, 163, 168, 217, 250, 381, ...

Tabela 4.6: Exemplo de padrões encontrados

C

APÍTULO

5

Experimentos

5.1 Dados

Para este trabalho foram coletados setenta mil dados de visita da base da In Loco, entre os dias 06/10/2019 e 12/10/2019, sendo dez mil dados para cada dia. Vale observar também que apesar da coleta dos dados ser através do SDK[14] da In Loco nos smartphones, não necessa-riamente é possível coletar informações de visitas do dia inteiro de uma pessoa. Há limitações, tanto para impedir que seja utilizada muita bateria dos aparelhos, quanto as impostas pelo sis-tema operacional, que impede que muitos dados sejam coletados em pouco tempo, visando a privacidade do dono do dispositivo.

A partir dos dados coletados, foi possível extrair as trajetórias que cada smartphone fez durante os dias analisados. A quantidade de trajetórias coletadas por dia pode ser vista na tabela 5.1. Foram considerados padrões sequenciais os padrões que possuíam pelo menos 2%

de suporte da base de dados.

5.2 Análises

O algoritmo de PrefixSPan utilizado neste trabalho não encontra necessariamente padrões de trajetórias sucessivas, pode ser que seja encontrado um padrão X -> Y de trajetórias X -> Z -> Y por exemplo. Porém ainda é considerado o intervalo de tempo entre as visitas, não sendo considerados padrões se as visitas estiverem muito distantes um da outra.

Utilizando as trajetórias, foi possível encontrar os padrões sequenciais utilizando o algo-ritmo de PrefixSpan. Inicialmente foram analisados os padrões de maior suporte para cada dia, mostradas nas tabelas 5.2 à 5.8. É possível ver que os padrões de maior suporte são aqueles de

Dia Número de trajetórias extraídas

5.2 ANÁLISES 18

Tabela 5.2: Trajetórias de maior suporte do dia 06/10/2019 Trajetória Suporte % da base

Tabela 5.3: Trajetórias de maior suporte do dia 07/10/2019

tamanho um, e que dentro dos cinco maiores suportes, não há variação de categorias entre os dias observados, sendo casa e trabalho em média os dois maiores, onde casa é sempre o padrão de maior suporte em todos os dias, e trabalho deixa de ficar em segundo lugar somente no final de semana (dias 06/10/2019 e 12/10/2019).

Observa-se que no final de semana os dois padrões de maior suporte sãoHOMEeHOME -> HOME, indicando que normalmente as pessoas ficam mais em casa nesses dias. Além disso no domingo é o dia em que o padrão de trabalho tem menor suporte.

Outra coisa a se analisar é que pode-se tentar prever qual vai ser o próximo local visitado pelo usuário do smartphone. Utilizando o padrão de tamanho um grocery_or_supermarket, é possível calcular a porcentagem de pessoas que foram para suas casas após realizar essa visita, ou seja, a porcentagem de pessoas que fizeramgrocery_or_supermarket -> HOME.

Percebe-se que Domingo é o dia em que a maior parte das pessoas que vão para gro-cery_or_supermarket vão para suas casas em seguida com 69% de adesão. Os outros dias da semana também mantêm uma grande porcentagem de pessoas realizando essa trajetória.

Portanto, é seguro dizer que é muito provavél que uma pessoa vá para sua casa pouco tempo depois de visitar um supermercado ou mercearia.

Trajetória Suporte % da base

Tabela 5.4: Trajetórias de maior suporte do dia 08/10/2019

5.2 ANÁLISES 19

Tabela 5.5: Trajetórias de maior suporte do dia 09/10/2019

Trajetória Suporte % da base

Tabela 5.6: Trajetórias de maior suporte do dia 10/10/2019

Trajetória Suporte % da base

Tabela 5.7: Trajetórias de maior suporte do dia 11/10/2019

Trajetória Suporte % da base

Tabela 5.8: Trajetórias de maior suporte do dia 12/10/2019

5.2 ANÁLISES 20

Dia Suporte % da base

06/10 234 09

07/10 189 08

08/10 172 08

09/10 212 09

10/10 173 08

11/10 187 09

12/10 261 10

Tabela 5.9: Suporte degrocery_or_supermarketna base

Dia %

06/10 69 07/10 53 08/10 51 09/10 53 10/10 54 11/10 52 12/10 56

Tabela 5.10: Porcentagem de pessoas que fazemgrocery_or_supermarket -> HOMEapós gro-cery_or_supermarket

média(%) desvio padrão Dias da semana 52.6 1.0

Final de semana 62.5 6.5

Tabela 5.11: Média e desvio padrão de pessoas que realizaram grocery_or_supermarket ->

HOMEapósgrocery_or_supermarket

5.2 ANÁLISES 21 Após as análises realizadas foi possível percebe que podemos utilizar a mineração de pa-drões sequenciais para ajudar a entender o comportamento das pessoas. Vimos que durante todo o intervalo de tempo observado, casa, trabalho, restaurante e lojas no geral estavam sem-pre entre os padrões de maior suporte. Sendo casa e trabalho os que em média dominavam em relação a maior suporte.

Também foi possível perceber que se forem coletadas trajetórias de pessoas aleatórias, os padrões de maior suporte serão aqueles relacionados a casa ou trabalho, ou os de tamanho um.

O que quer dizer que não existe um padrão longo que é seguido por uma grande porcentagem da base.

Além disso, após pegar um padrão de tamanho um como base, vimos que pode-se prever para onde uma pessoa irá em seguida.

C

APÍTULO

6

Conclusão

Este trabalho teve como intuito coletar dados de visita da base da In Loco e realizar análises em cima dessa base. Foram geradas trajetórias a partir desses dados e em seguida feita uma mineração para encontrar padrões sequenciais. Foi utilizada uma biblioteca em java chamada SPMF para a geração dos padrões sequenciais. Com as análises percebe-se que tem como gerar inteligência considerando somente a localização das pessoas, e isso pode ser bem útil na área de mídia programática, pois auxilia no direcionamento dos anúncios, podendo contribuir para um maior engajamento do anúncio em questão. Neste trabalho só foi feita a predição de pessoas que iriam degrocery_or_supermarketpara suas casas, mas essa análise pode ser estendida para qualquer outro padrão que se deseja analisar.

Como trabalho futuro, pretende-se entender o contexto das pessoas. A partir da coleta de um padrão como por exemploHOME -> schoolpode-se fazer a interseção de pessoas que realizam constantemente esse padrão, chegando a conclusão que aquele grupo de pessoas provavelmente são estudantes.

Além disso, os dados coletados não possuiam uma grande quantidade de informação de visitas para cada smartphone em um único dia, por isso futuramente pode-se tentar coletar mais dessas informações e assim conseguir gerar análises mais precisas. Outra coisa a ser feita no futuro seriam análises em locais mais restritos, por exemplo coletar os dados de visitas das pessoas dentro das lojas de um determinado shopping, e assim conseguir encontrar padrões que sejam maiores e gerar um entendimento maior da base de dados.

22

Documentos relacionados