Upload
nguyenliem
View
227
Download
0
Embed Size (px)
Citation preview
FERRPAR
UNI
D
RAMENRA UM
Jo
MEST
IVERSIFaculd
Departam
NTA DESISTE
oão Paul
DISVERS
TRADO
IDADEdade de mento de
E BUSEMA D
lo Figue
SSERTASÃO PÚ
O EM IN
2013
E DE LICiênciaInformát
INESSDE ATE
eiras Rib
AÇÃO ÚBLICA
NFORM
ISBOA as tica
S ANALENDIM
beiro
A
MÁTICA
A
LYTICMENTO
A
CS O
F
Trab
e co-
FERRAPARA
alho orienta
-orientado p
UNIV
D
AMENA UM S
Joã
ado pela Pro
por Prof. Do
MEST
VERSIDFaculdaepartame
TA DESISTEM
ão Paulo
DISS
of. Doutora
outor João C
TRADO
DADE Dade de Cento de I
E BUSIMA DE
o Figuei
SERTAÇ
a Ana Luísa
Carlos Balsa
EM INF
2013
DE LISCiênciasnformáti
INESS E ATEN
ras Ribe
ÇÃO
do Carmo C
a da Silva
FORMÁ
SBOA s ica
ANALNDIME
eiro
Correia Res
ÁTICA
LYTICSENTO
spício
S
Agradecimentos
Aos meus pais por me terem apoiado em tudo neste projeto e aos meus Professores Orientadores por terem tido a paciência por me aturarem neste projeto.
Este trabalho é dedicado aos funcionários que possam organizar atempadamente o seu trabalho.
i
Resumo
Em qualquer tipo de prestação de serviços existe sempre o problema da formação de filas de espera, resultantes dum aumento da procura do serviço face a disponibilidade do atendimento. A capacidade de antecipar as necessidades faz-se principalmente recorrendo a uma análise do histórico de acontecimentos ocorridos no serviço em causa, recorrendo, por exemplo, a técnicas de data mining.
Neste trabalho, é desenvolvida uma aplicação que incorpora técnicas de data mining e teoria das filas de espera, constituindo uma ferramenta auxiliar na gestão de um sistema de atendimento, com três funcionalidades principais: monitorização do estado corrente; fornecimento de indicações sobre o fluxo esperado; e fornecer informação histórica do sistema.
Em particular, este trabalho pode vir a contribuir para melhorar o desempenho de um sistema de atendimento, permitindo uma melhor organização do tempo dos funcionários no que diz respeito à sua afetação a tarefas de atendimento ao público. A ferramenta desenvolvida utiliza os dados guardados pelo sistema de senhas existente para determinar, em tempo real, o fluxo de pessoas a aceder a um serviço concreto, de modo a poder adaptar o número de balcões abertos.
Palavras-chave: filas de espera, prospeção de dados, análise preditiva, monitorização, Aplicações de análise de negócio
ii
iii
Abstract
In any type of service there is always the problem of queue formation resulting from a rise in demand for the service relatively to service availability. The ability to anticipate the needs is done mainly through the analysis of historical events of the service in question using, for instance, data mining techniques.
In this work, we developed an application that incorporates data mining techniques and queuing theory, constituting an auxiliary tool in the management of a service system with three main functionalities: monitoring its current state, providing guidance on the expected flow of arrivals; and provide historical information.
In particular, this work is meant to assist the attendance system, allowing for a better organization of the employees’ working time regarding their assignment to service tasks. The developed tool uses the historical data stored by the system to determine, in real time, the flow of people expected to access a specific service, in order to adapt the number of open services.
Keywords: queues, data mining, predictive analyses, monitoring, Business Analytics applications
iv
v
Índice
Capítulo 1 Introdução ........................................................................................... 1
1.1 Motivação e contexto do projeto ................................................................ 1
1.2 Contribuições .............................................................................................. 2
1.3 Estrutura do documento .............................................................................. 2
1.4 Objetivos ..................................................................................................... 2
1.5 Contexto subjacente .................................................................................... 2
1.6 Metodologia ................................................................................................ 3
1.7 Planeamento ............................................................................................... 3
Capítulo 2 Trabalho Relacionado ......................................................................... 5
2.1 Prospeção de dados ..................................................................................... 5
2.1.1 Rexer Analytics – Analytic and CRM Consulting .............................. 5
2.1.2 KDNuggets.com .................................................................................. 7
2.2 Adequação ao problema em estudo .......................................................... 11
2.3 Teoria das filas de espera ......................................................................... 11
Capítulo 3 Análise dos dados históricos do sistema ........................................... 15
3.1 Análise do sistema de atendimento .......................................................... 15
3.2 Análise dos Dados .................................................................................... 15
Capítulo 4 Aplicação ........................................................................................... 17
4.1 Introdução ................................................................................................. 17
4.2 Arquitetura ................................................................................................ 18
4.3 Funcionalidades ........................................................................................ 19
Capítulo 5 Simulação e Avaliação ...................................................................... 21
Capítulo 6 Conclusões ........................................................................................ 23
Capítulo 7 Bibliografia ....................................................................................... 25
vi
vii
Lista de Figuras Figura 1: Instantes de chegada de clientes num sistema de filas marcados no eixo
dos tempos ...................................................................................................................... 13
Figura 2: Tempos entre chegadas de clientes num sistema de filas marcados no eixo dos tempos ...................................................................................................................... 13
Figura 3: Esquema conceptual da aplicação ........................................................... 18
viii
ix
Lista de Tabelas Tabela 1 - Algoritmos de data mining encontrados no survey [3] ............................ 6
Tabela 2 - Áreas aplicacionais de data mining ......................................................... 8
Tabela 3 - Popularidade de Linguagens de programação/estatística ........................ 9
Tabela 4 - Popularidade de Software para data mining .......................................... 10
1
Capítulo 1
Introdução
1.1 Motivação e contexto do projeto Existe um Serviço de Atendimento ao público que presta serviço a mais de 5000
pessoas. Tendo em conta este número e o fato que existirem alturas de grande afluência de pessoas, considerou-se este Serviço de Atendimento como caso de estudo para a conceção de uma ferramenta informática que permita analisar o comportamento do sistema de atendimento e que pudesse informar atempadamente a afluência que o serviço pudesse vir a ter.
Como o Serviço de Atendimento possui um sistema de gestão de senhas próprio, este tem vindo a registar informação de senhas tiradas para uma base de dados o que torna possível identificar períodos de maior afluência e padrões de ocorrências para um determinado serviço. Fazer a análise a um histórico de acontecimentos é considerado uma unidade de negócio nas grandes empresas e esta informação pode ajudar as empresas nos processos de tomada de decisão, isto é Business Intelligence. Visto que se trata de um serviço de atendimento, faz sentido que os atributos para a análise provenham da Teoria de Filas de Espera. Este é um ramo da probabilidade que estuda a formação de filas, através de análises matemáticas precisas e propriedades mensuráveis, permitindo criar modelos para demonstrar previamente o comportamento de um sistema que oferece serviços cuja exigência cresce aleatoriamente, o que possibilita dimensionar o serviço de modo a satisfazer os clientes e a ser viável economicamente para o prestador do serviço, evitando desperdícios, congestionamentos e desistências de clientes.
2
1.2 Contribuições Como contribuições desta dissertação destacam-se:
i. Uma análise do histórico de atendimentos; ii. Um protótipo de uma ferramenta computacional para monitorizar o sistema.
Esta ferramenta vem contribuir para uma melhor gestão de recursos humanos no escalonamento de trabalho para o serviço ao público ou no trabalho de BackOffice, ou seja, permite fornecer aos funcionários informações sobre quais os serviços que são mais requisitados num determinado dia ou semana, permitindo assim saber que funcionários específicos devem estar mais tempo a atender visto que existem funcionários específicos para cada tipo de serviço que existe no Serviço de Atendimento.
1.3 Estrutura do documento Este documento está organizado da seguinte forma:
• Capítulo 2 – Trabalho Relacionado
• Capítulo 3 – Análise de dados históricos
• Capítulo 4 – Aplicação
• Capítulo 5 – Validação e Avaliação
• Capítulo 6 – Conclusões
1.4 Objetivos 1) Analisar os dados do passado tentando encontrar padrões de comportamento; 2) Desenvolver uma aplicação que auxilie os serviços de atendimento a
fornecerem informação sobre o estado de afluência de pessoas aos serviços e assim tomarem as decisões necessárias para cada estado em que os serviços se encontrem.
1.5 Contexto subjacente Em grandes empresas, é normal fazerem-se estudos de mercado para analisar quais
são os períodos em que certos produtos são mais vendidos numa época ou que produtos são mais vendidos com outros, e esta análise ajuda os gestores das empresas a tomarem a decisão de que produtos e respetivas quantidades devem disponibilizar naquela altura porque preveem que a procura dos mesmos possa vir a ser muito grande. O mesmo sucede com os serviços de atendimento a pessoas. A afluência de pessoas nem sempre é constante devido a prazos de entregas ou pagamentos, por exemplo. Nos serviços de atendimento é preciso então ter em conta estas variações de afluência, para que não
3
existam filas de espera demasiado grandes que possam levar a que pessoas desistam de serem atendidas. Tem-se assim como objetivo manter uma determinada qualidade de serviço.
1.6 Metodologia A metodologia aplicada neste trabalho é a que é normalmente aplicada por gestores
de projeto em empresas, ou seja, o projeto está dividido em 3 fases importantes:
1. Observação e análise – análise dos requisitos dos clientes, análise do sistema onde é implementada a ferramenta, análise dos dados para verificação se é possível satisfazer os requisitos dos clientes.
2. Planeamento e desenvolvimento – fase onde se elabora um plano de construção da ferramenta e desenvolvimento da mesma.
3. Implementação e avaliação – fase de implementação da ferramenta e avaliação desta com os requisitos definidos pelos clientes.
1.7 Planeamento O planeamento definido inicialmente foi:
1. Estudar a por bibliografia na área da Prospeção de Dados e analisar o software existente na área mencionada para verificar qual se adequa melhor para integrar a ferramenta final.
2. Desenvolver processos de análise de dados e identificação de padrões. 3. Desenvolver um modelo de simulação para análise preditiva. 4. Criação da ferramenta protótipo. 5. Validação/avaliação.
O trabalho foi iniciado em Dezembro de 2012. Os dados foram disponibilizados apenas no final de Janeiro de 2013, após autorização da Direção da instituição e atendendo à observância dos dispositivos legais vigentes.
O primeiro ponto levou cerca de 2 meses a realizar, que depois resultou no relatório preliminar. O tempo consumido foi maioritariamente ocupado com variados testes sobre os diferentes softwares mencionados no relatório preliminar. Estive a verificar a facilidade, usabilidade, propriedades e recursos que os softwares podem oferecer aos utilizadores e que estão acessíveis em termos de licenças para depois decidir sobre a necessidade de usar certos aplicativos para a ferramenta final.
O resto tempo estive a estudar sobre a Teoria de Filas de Espera que foi uma matéria que nunca tinha estudado academicamente. Ao mesmo tempo que pesquisava sobre as teorias de Filas de Espera, estive a pesquisar igualmente informação sobre o que se fazia e o que se usava em Data Mining.
4
O segundo ponto foi o que levou mais tempo em dias, cerca de 4 meses, mas foi o que menos tempo estive dedicado a ele por causa do tempo ocupado com cadeiras que estava ainda a realizar. Este ponto foi o mais complicado de realizar, visto que precisei de arranjar um sistema rápido de poder trabalhar com os dados que me foram fornecidos em Excel, e a melhor solução que eu encontrei era mesmo simular as tabelas fornecidas num sistema de base dados, onde apliquei vários processos de ETL1 sobre os dados originais para criar outra informação que não se encontra explícita nos mesmos. A partir dos dados criados, procurei vários métodos de agrupamento com diferentes atributos selecionados para ver se encontrava grupos distintos nos dados que me pudessem identificar diferentes tipos de acontecimentos, mas o estudo tornou-se inconclusivo e difícil de analisar a informação. Mais tarde e com um pouco mais de estudo e aplicar com o que se pretendia com o trabalho inicial, verifiquei que é possível ainda fazer data mining sobre os dados. Neste caso falo de aplicar modelos de classificação sobre um atributo e usá-los para previsão de acontecimentos.
Uma vez feita a análise dos dados e estabelecidos os requisitos que pretendia na criação da aplicação passei para o quarto ponto do planeamento. O terceiro ponto decidi realizá-lo durante a criação da aplicação para assim verificar que o produto final cria o que se pretendia com este ponto.
O quarto ponto demorou cerca de 3 meses devido à pouca experiência que tenho com a programação em Java e a falta de conhecimento de existência de bibliotecas Java. Por isso, levei tempo para pesquisar e aprender como utilizar as respetivas bibliotecas para tirar proveito delas da melhor forma possível para os requisitos da aplicação. Depois de ter tudo o que precisava a criação da aplicação ficou mais simples e foi só “montar” e testar para procurar defeitos da aplicação e corrigi-los.
O quinto ponto não foi possível de realizar porque não se encontrou tempo de testar a aplicação junto do cliente. No entanto, no capítulo 5, apresentam-se alguns resultados de testes.
1 Extract, Transform and Load – significa Extração, Transformação e Carregamento de dados. Normalmente este processo ocorre quando um utilizador retira informação de diferentes tipos de sistemas de informação para um sistema de informação próprio, transformando e limpando os dados conforme a necessidade do utilizador precise.
5
Capítulo 2
Trabalho Relacionado
2.1 Prospeção de dados Como referido anteriormente, os dados que foram analisados se encontram numa
base de dados e o método que é utilizado para analisar os dados é usar a técnica de Prospeção de Dados [1], que é um processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detetar relacionamentos sistemáticos entre variáveis, detetando assim novos subconjuntos de dados. É um tópico recente em ciências da computação, mas utiliza várias técnicas da estatística, recuperação de informação, inteligência artificial e reconhecimento de padrões. Assim sendo, existem ferramentas que usam algoritmos de aprendizagem ou classificação baseados em redes neuronais e estatística que são capazes de explorar conjuntos de dados, extraindo ou evidenciar padrões nesses dados e criar nova informação. Essa informação pode ser apresentada pelas mesmas ferramentas de diversas formas: agrupamentos, regras, árvores de decisão, grafos ou dendrogramas.
2.1.1 Rexer Analytics – Analytic and CRM Consulting
A empresa Consultora Norte Americana Rexer Analytics – Analytic and CRM Consulting e o sítio da Internet kdnuggets.com dedicam-se a realizar inquéritos e levantamento de informação sobre data mining, que processos de análise de dados são mais utilizados, que aplicações são mais usadas, que tipos de linguagem são mais usados para o processo de análise de dados, etc.
O último survey que a Rexer Analytics fez foi em 2011 [2] e obtiveram-se os seguintes resultados para os seguintes aspetos:
1) ALGORITMOS: árvores de decisão, regressão e análise de cluster continuam a formar uma tríade de algoritmos básicos para os data miners na maioria dos dados. No entanto, uma grande variedade algoritmos está a ser utilizada. Um terço dos data miners estão atualmente usar a text-mining e outro terço planeiam num futuro
2)
3)
4)
próximo usclientes e b
FERRAMEagora está utilizadoresuma grandflexibilidadcomo a prindos data mitotal. As freceberam f
TECNOLOocorre mafrequentemClassificaçãdesenvolve
VISUALIZtécnicas dede visualizutilizada pamenos prev
sá-lo. Text mblogs / ferram
ENTAS: A a ser usada
s relatam qude variedadede e a força ncipal ferrainers relatam
ferramentas fortes índic
Tabela
OGIA USAais frequen
mente, os ão são cria
er os modelo
ZAÇÃO DE visualizaçã
zação para ara visualizvalente na re
mining é mamentas soci
aplicação Ra por cercaue prefereme de algorida comuni
amenta usadm que usamSTATISTI
es de satisfa
a 1 - Algoritmo
DA: Nestentemente n
dados sãoados tipicamos.
E RESULTão de dadosexplicar os
zação de daegião da Ás
6
ais frequenteiais.
R continuoua de metadem o R por sitmos. Muiidade de utida pela maiom uma médiICA, KNIM
fação em 20
os de data minin
e survey [2num desktoo armazenmente usan
TADOS: Os. Mais de qs resultado
ados. O usosia-Pacífico
emente usad
u a sua asce de todos er gratuito, itos utilizadilizadores. Soria dos datia de quatroME, Rapid 11.
ng encontrados
] verificouop ou numnados locando o mesm
Os data minquatro em cs. O MS O
o extensivo do que em
do para ana
ensão nesseos data miopen-sourc
dores tambéSTATISTICta miners (1 ferramentaMiner e S
no survey [3]
-se que fazm comput
almente. Omo softwar
ners usam cada cinco uOffice é a fde visualizoutras parte
alisar inquér
e ano de 20iners (47%ce, e porquém citam a
CA é selecio17%). A maas de softwaSalford Sist
zer data mtador lapto
Os modelore utilizado
frequentemutilizam técferramenta
zação de daes do mund
ritos a
011 e %). Os
e tem a sua onada aioria are no temas
mining op e, s de para
mente cnicas
mais ados é do.
7
5) CAPACIDADE ANALÍTICA E SUCESSO: Apenas 12% dos correspondentes empresariais classificam a sua empresa como tendo uma capacidade de análise com um elevado nível de sofisticação. No entanto, empresas com melhores capacidades analíticas estão a superar os seus pares. Os entrevistados relatam que analisam o seu sucesso analítico através do indicador Retorno sobre o Investimento (ROI), e através da análise da validade preditiva ou precisão dos seus modelos. Os desafios para medir o sucesso analítico incluem cooperação dos clientes ou utilizadores e na disponibilidade de dados e na qualidade destes. As cinco metodologias mencionadas pela maioria dos data miners foram:
a) Modelos de desempenho;
b) Desempenho financeiro (ROI e outras medidas financeiras);
c) Desempenho de um grupo de controlo ou outro;
d) O feedback dos utilizadores, clientes ou gestão;
e) Validação cruzada.
6) FUTURO: Os data miners estão otimistas sobre o crescimento continuado na adoção do data mining e o impacto positivo que o data mining terá. Como em anos anteriores, tem-se observado um crescimento no número de projetos nesta área. Alguns participantes apontaram para o cuidado que deve ser tomado para proteger a privacidade quando se está a fazer data mining. Os data miners também compartilharam muitos exemplos de impacto positivo que o data mining pode trazer para beneficiar a sociedade. A Saúde foi a área de maior impacto positivo identificado pela maioria dos data miners. As cinco áreas mais frequentemente mencionadas foram:
a) Saúde / Medicina;
b) Negócios/Finanças;
c) Comunicações personalizadas e Marketing;
d) Deteção de Fraude;
e) Ambiental.
2.1.2 KDNuggets.com
Quanto ao site KDNuggets.com, o que o site faz é criar vários tipos de inquéritos diferentes e comparar resultados com os obtidos em anos anteriores. Visto que o site é reconhecido mundialmente como o site líder em data mining e com registo de mais de 50 000 visitantes mensais, os inquéritos que realiza conseguem obter uma distribuição
de reinqué
indus
mininCom
Indústr[196 ele
CRM/AnConsum
Saúde/ Humano
Comérc
Banca (
Educaçã
Publicid
Deteção(25)
Redes S(24)
Ciência
Finança
(perc
2 CRMRelaçã
espondenteséritos mais
A Tabela 2strias/áreas
Comparandng continua
mércio aume
rias / Áreas onde foeitores] 201
nálise de midor (56)
Recursos os (32)
cio (29)
(28)
ão (28)
dade (26)
o de Fraude
Sociais e Media
(23)
as (20)
Os maiorecentagem 20
1. Pub
2. Mot
3. Com
4. Out
5. Man
M significa Cuão com o Clie
s a nível mrelevantes p
2 apresenta de maior ap
do com os ra a ser o Cntaram de p
i aplicado mais o da12 % de eleitores
2
16.3%
16.7%
14.8%
10.5%
14.3%
18.9%
14.3%
16.2%
13.3%
7.0%
12.8%
14.0%
12.2%
13.2%
11.7%
13.6%
10.2%
11.4%
es aumento012 – perce
blicidade, 89
tores de bus
mércio, 40.6
tros, 36.9%
nufaturação
ustomer Relante. [21]
mundial, de para este tra
os resultadplicação do
resultados dCRM2/Análpopularidad
ata mining em 2012 2011 % de elei
28.6%
25.0%
Marketing(19)
Motores deWeb minin
Biotecnolo
Seguros (1
Crédito Fin
Manufatura
Medicina/
Telecomun
Utilização
Software (
Tabela 2 - Á
os de 201ntagem 201
9.0%
sca / Conteú
6%
o, 35.7%
ationship Ma
8
variadíssimabalho e com
dos do inqudata minin
de 2011 notlise de Con
de.
2? itores
Direto/ Angariações
e busca / Conteúdo ng (16)
ogia/Genética (15)
15)
nanceiro (14)
ração (14)
Farmacologia (13)
nicações / Cabo (13)
Web mining (13)
(11)
Áreas aplicacion
2 em rela11)/percenta
údo Web mi
anagement q
mos tipos dmeçando pe
uérito [4] rng.
tou-se que ansumidor, m
9.7%
12.3
8.2%
5.3%
7.7%
9.2%
7.7%
12.3
7.1%
12.7
7.1%
5.3%
6.6%
9.6%
) 6.6%
11.0%
6.6%
7.0%
5.6%
7.0%
nais de data min
ação a 20agem 2011,
ining, 55.1%
ue em Portu
de empresaselo mais rec
ealizado em
a área de mmas as área
3%
Comércio Eletró
Governo/Militar (
Entretenimento /TV/Filmes (9)
3%
Investimento / St
7%
Segurança / Ant(7)
Viagens / Hospit
Politica Social /Ainquéritos (2)
%
Junk email / Anti
Outros (20)
ning
011, calculforam:
%
gal é conhec
s e sectorecente foram
m 2012 sob
maior uso deas da Saúd
ónico (10) 5.
5.
(10) 5.
/ Musica/ 4.6
3.5
Stocks (8) 4.1
4.4
titerrorismo 3.6
1.8%
talidade (6) 3.1%
Análise de 1.0%
1.8%
ti-spam (1) 0.5%
1.3%
lados da f
cido por Gest
es. Os :
bre as
e data e e o
1%
3%
1%
7.5%
6%
%
%
4%
%
%
%
7.5%
%
10.2%
7.5%
forma
tão de
Que ling
R (304 v2012)
Python (
SQL (18
Java (12
SAS (114
Unix she(85)
aume
em 2
de 20
softw
As indústri
1. Med
2. Gov
3. Seg
4. Tele
5. Cré
A Tabela programaçãinquérito percentagen
uagens de programa
% utilizadores
voters in
209)
6)
23)
4)
ell/awk/sed
Comparandento de uso
1. Lisp/Clo2011 (só Lis
2. Python,
3. Unix she
4. R, aumen
A Tabela 4011 e 2012,
Dentro dasware gratuito
as com o m
dicina / Farm
verno/Milita
guros, -37.7%
ecomunicaç
dito Financ
3 apresenão/estatísticfoi realizans para o an
ação/estatística foram
s em 2012
24.6%
21.2%
24.4%
19.7%
21.2%
14.7%
10.4%
Tabela
do com os rforam:
ojure, aumensp). No enta
aumentou 4
ell/awk/sed,
ntou 16%, d
4 apresenta de acordo
s propostas,o e não com
maior declíni
macologia,
ar, -31.6%
%
ções / Cabo,
eiro, -43.8%
ta os resuca que foraado em 2no de 2011.
m usadas em data m
% utilizadores
52.5%
45.1%
36.1%
%
32.1%
32.3%
%
3 - Popularidad
resultados d
ntou 525%,anto, o uso d
47%, de 24.
, aumentou
de 45.1% pa
um comparcom o inqu
28% usaramercial e 41
9
io em popul
-31.3%
, -39.5%
%
ultados do am utilizad2012 e ap
mining nos passados
em 2011
% C/C++ (83)
MATLAB (76)
Perl (52)
Pig, Hive, or otherlanguages (39)
GNU Octave (34)
Lisp/Clojure (25)
de de Linguage
do ano de 20
, para 4.4%desta lingua
6% para 36
44%, de 10
ara 52.5%.
rativo das fuérito [6].
am softwar% usou amb
laridade for
inquérito dos nos últpresentam-s
12 meses? [579 eleit
r Hadoop-based
N
ns de programa
011, as ling
% em 2012 (agem é pouc
6.1%.
0.4% para 14
ferramentas
e comerciabos.
am:
relativo àstimos 12 m
se também
tores]
14.3%
12.8%
13.1%
14.6%
9.0%
7.9%
6.7%
6.1%
5.9% N/A for 2011
4.4%
0.7% (Lisp only)
ação/estatística
uagens usad
(para Lisp/Cco significat
4.5%.
em projeto
l e não gra
s linguagenmeses [5].
m as respe
Ruby (22) 3.8%
N/A for 20
Scala (14) 2.4%
N/A for 20
Julia (2) 0.3% N/A for 20
Other (66)
None (4) 0.7%
1.2%
das com o m
Clojure) de ativo (< 5%)
os, entre os
atuito, 30%
ns de Este
etivas
011
011
011
11.6%
12.3%
maior
0.7% ).
s anos
usou
torna
em “
em 2
Que So
LegendSoftwar
R (245)
Excel (2
Rapid-IRapidM(213)
KNIME
Weka Pentah
StatSofStatistic(112)
SAS (1
Rapid-IRapidA(83)
MATLA
IBM Statistic
IBM Modele
SAS EnterprMiner (4
Orange
R, Excel, e ar-se na ferr
Por entre as“percentagem
• Oracle D
• Orange o
• TIBCO S2012;
• Stata o q
• Bayesia
oftware foi usado pa
da: Software Gratuitore Comercial
)
238)
Miner
(174)
/ o (118)
ft ca
01)
Analytics not asked i
AB (80)
SPSS cs (62)
SPSS er (54) 6
rise 46)
5.
e (42) 5.3 1.3%
RapidMineramenta com
s ferramentm de utiliza
Data Miner o
o que aumen
Spotfire / S
que aumento
o que aume
ara data mining nos
o/Open Source
12.1%
14.8% 11.8%
14.0% 8.5%
12.7% 13.6%
10.4% in 2011
10.0% 7.2%
7.8% 7.2%
6.8% 8.3%
.8% 7.1%
3%
T
er são as fermercial mais
as com até ação” foram
o que aume
ntou 315%
+ / Minero
ou 130% de
entou 115%
s passados 12 mes
30.7% 23.3%
MicrosServe
29.8% 21.8%
Other analytmining
26.7% 27.7%
TIBCO/ Mine
21.8% Oracle(35)
Tablea
JMP (
Other analytmining
Mathe
Miner3
IBM C
Stata
Bayes
KXEN
Tabela 4 - Popu
10
rramentas ms popular, o
10 eleitoresm:
entou 505%
de 1.3% em
que aumen
e 0.8% em 2
% de 0.8% em
es num projeto e n
soft SQL er (40)
r free tics/data g software (39)
O Spotfire / S+ er (37)
1
e Data Miner
0.
au (35)
(32)
r commercial tics/data g software (32)
ematica (23)
1
r3D (19)
1
Cognos (16)
not 201
(15)
0.
sia (14) 1 0.
N (14) 1 1
ularidade de Sof
mais popularobtendo mai
s, as ferram
de 0.7% em
m 2011 para
ntou 169% d
2011 para 1
m 2011 para
ão para avaliação?
% utiliza % utiliza
5.0% 4.9%
Zementis
4.9% 4.1%
C4.5/C5.
4.6% 1.7%
Revolutio
4.4% .7%
Salford STreeNet/
4.4% 2.6%
Angoss (
4.0% 5.7%
SAP Business
4.0% 3.2%
XLSTAT
2.9% 1.6%
RapidIns
2.4% .3%
11 Ants A
2.0% asked in 1
Teradata
1.9% .8%
Predixion
1.8% .8%
WordStat
1.8% .4%
ftware para data
res, com Stais votos que
entas com o
m 2011 para
a 5.3% em 2
de 1.7% em
.9% em 201
a 1.8% em 2
[798 eleitores]
dores em 2012 dores em 2011
s (14)
0/See5 (13)
on Computing (11)
SPM/CART/MARS/ RF (9)
7)
(incsObjects/Sybase/Han
(7)
ight/Veera (5)
Analytics (4)
Miner (4)
n Software (3)
t (3)
a mining
atsoft Statise SAS.
o maior aum
a 4.4% em 2
2012;
m 2011 para
12;
2012.
1.8% 3.7%
1.6% 1.9%
1.4% 1.4%
1.1%
0.9% 0.8%
cluding na)(7) 0.9%
not asked in
0.9% 0.9%
0.6% not asked in
0.5% 5.6%
0.5% not asked in
0.4% 0.5%
0.4% 0.5%
stica a
mento
2012;
4.6%
10.6%
n 2011
n 2011
%
n 2011
11
2.2 Adequação ao problema em estudo A análise dos dados depende muito das aplicações que o analista está mais
familiarizado em usar para analisar e de como os dados são fornecidos, se estão numa base de dados ou ficheiros Excel e se os mesmos precisam de serem tratados. Para entregar uma aplicação ou uma solução para o cliente é preciso ter em conta onde a aplicação vai estar, a quê que se tem de ligar e se está acessível para os clientes puderem trabalhar.
Assim sendo, para a análise dos dados, usei o Rattle e para a aplicação desenvolvida usei o Weka. O Rattle [7] é uma aplicação de código aberto com uma interface gráfica que faz uso da linguagem de programação estatística do R. O Rattle fornece consideráveis funcionalidade em data mining ao explorar a linguagem R através de uma interface gráfica. O Rattle é usado como mecanismo de ensino para aprender a linguagem R visto que a aplicação contém um sistema de registo de atividade que replica o código R para qualquer atividade feita na interface. O Rattle pode ser usado para análise estatística ou geração de modelos, e permite que o conjunto de dados possa ser particionado como dados de treino, validação e teste, e permite que os dados possam ser visualizados e editados.
O Weka (Waikato Environment for Knowledge Analysis) [8] é uma aplicação conhecida em data mining escrita em Java, desenvolvida na Universidade de Waikato, Nova Zelândia. O Weka contém uma coleção de ferramentas de visualização e de algoritmos para análise de dados e modelação preditiva, acessível através de uma interface gráfica própria. O Weka é usado em muitos áreas aplicacionais, em particular em educação e investigação. As suas vantagens incluem a sua gratuitidade através da licença GNU [9], portabilidade visto que é implementada através da linguagem Java e com isso funcionar em qualquer plataforma computacional, uma coleção considerável de pré processamento de dados e técnicas de modelação e a facilidade de uso graças à sua interface gráfica. O Weka suporta várias tarefas usadas em data mining como aglomeração, classificação, regressão, visualização e seleção de atributos.
2.3 Teoria das filas de espera Então para a Prospeção de Dados que queremos, precisamos de definir qual é a
informação relevante e necessária para um sistema de atendimento quando a maior preocupação é a monitorização e gestão das filas de espera. Para isso precisamos de saber como estas funcionam através de uma teoria já bem estudada e formulada na área das probabilidades que é a Teoria das Filas de Espera. A matéria abordada de seguida é adaptada da Ref. [10].
12
Mas o que é uma fila de espera? Forma-se uma fila de espera quando a procura de um serviço excede num dado instante a capacidade do sistema de fornecer o serviço. Em análises de sistemas de filas de espera normalmente desejamos obter informações objetivas sobre a capacidade de serviço que deve ser disponibilizada aos clientes e os custos operacionais envolvidos desde a espera até o atendimento. A teoria de filas de espera trabalha, portanto, com objetivos conflituosos. Dado um modelo, a principal motivação para o seu estudo está na pesquisa de soluções que representem um ponto de equilíbrio entre os conflitos.
O comportamento que os clientes tomam para acederem a um sistema de filas de espera pode ser descrito por uma distribuição de probabilidades empírica e este pode ser representada por um modelo analítico conhecido da probabilidade. O modelo de Poisson é comumente usado para descrever a forma como os clientes entram para o sistema. Para definir completamente essa distribuição, é necessário ter apenas a taxa média de chegadas.
Um aspeto importante associado à fila é a ordem com que os clientes são selecionados para o atendimento. Isto é referido como disciplina da fila. Por exemplo, o critério adotado pode ser ‘primeiro a chegar, primeiro a ser atendido’ (FIFO), ou alguma outra ordem. No caso em estudo, usa-se esta política.
O tempo transcorrido desde o começo do atendimento até a sua conclusão para um consumidor que está usar o serviço é o tempo de serviço. Para descrever o atendimento, devemos especificar uma distribuição de probabilidade para os tempos de serviço. A distribuição mais comumente especificada para tempos de serviço é a distribuição exponencial.
Falemos agora de parâmetros usados na teoria das filas. O primeiro parâmetro é a taxa de chegada a um sistema que é definida pelo número de utilizadores ou clientes que chegam ao sistema num determinado tempo, e é normalmente representado por λ. =
A frequência ou a velocidade com a qual os clientes são atendidos ou recebem o serviço é denominado por taxa de atendimento, representada por μ. = ∑
Os problemas de filas de espera consistem em ajustar adequadamente a taxa de atendimento do processo com a taxa de chegada do trabalho a ser feito. Do ponto de vista do programador, isto é feito através do correto dimensionamento do número de servidores do sistema de filas.
filas.hipoti=1, 2temp
para assoc
chegchegatend
contr
O parâmetr. Vamos stético. Supo2, 3, 4, 5, m
pos, como il
Figura 1: I
Identificamcada clien
ciamos os te
Ou seja:
Figura 2: Te
Se aplicarm
Daqui consgadas (TMCgada, a taxadimento ou
É interessarolo, uma v
ro λ é um dupor a cheonhamos ta
medidos a palustra a Figu
Instantes de ch
mos na Figunte é possempos entre
empos entre ch
mos este exe
statamos quC), e visto q
a de atendserviço (TM
ante notar qvez que est
dado de entregada de,
ambém que artir do instura 1.
hegada de clien
ura 2 os temsível assoce chegadas a
1º
2º
3º
4º
5º
hegadas de clie
emplo à defi=ue a taxa deque a taxa ddimento é iMS): = 1que a taxa te valor é d
13
rada muito por exempos instante
tante zero. E
ntes num sistem
mpos entre ciar um únaos clientes
º cliente: T1
cliente: T2
cliente: T3
cliente: T4
cliente: T5
entes num siste
finição do pa5e chegada éde atendimeigualmente
1 de chegad
determinado
importante plo, 5 clienes de chegaEsses tempo
ma de filas mar
chegadas cnico dessess na seguinte
= t1 – 0
= t2 – t1
= t3 – t2
= t4 – t3
= t5 – t4
ema de filas ma
arâmetro λ,
é o inverso ento segue
o inverso
= 1
das λ em go pela font
nas análisentes num sda dos clien
os são marca
rcados no eixo
consecutivas tempos. e ordem:
arcados no eix
obtemos en
da média da mesma lóda média
geral não pte de client
es de sistemsistema de ntes, são ti,ados no eix
dos tempos
as, de modoNeste exem
xo dos tempos
ntão:
dos tempos ógica de ta
dos tempo
permite quates. Já a tax
mas de filas
, com xo dos
o que mplo,
entre xa de os de
alquer xa de
14
serviço μ, embora fortemente dependente da natureza e volume do serviço demandado pelo cliente, pode ser de algum modo influenciado pelo projetista do sistema de filas, por exemplo, em função da sistemática de atendimento e da habilidade do atendedor para realizar o serviço.
A razão é a probabilidade de encontrar o sistema ocupado. Esta razão é simbolizada por e permite algumas interpretações de grande utilidade nas análises, a saber:
• é a proporção do tempo em que o sistema está ocupado; • é a intensidade de tráfego ou o fator de utilização do sistema, ou seja, a taxa
de ocupação. Para mais detalhes sobre o cálculo de , consultar a ref. [10].
15
Capítulo 3
Análise dos dados históricos do sistema
3.1 Análise do sistema de atendimento Este capítulo fala sobre o sistema de atendimento. Conteúdo Confidencial.
3.2 Análise dos Dados Neste capítulo é apresentada uma análise dos dados no histórico disponibilizado.
Todo o conteúdo é confidencial
16
17
Capítulo 4
Aplicação
4.1 Introdução Há vários fatores que levaram à forma como esta aplicação foi criada, que
informação é mostrada ao utilizador final e como é mostrada.
Os fatores que normalmente se tenta averiguar primeiro são:
• Existe alguma aplicação no mercado que faz o que é pedido para o projeto? • Havendo aplicações semelhantes é necessário dar formação aos
funcionários para saberem lidar com a aplicação? • Quais são os requisitos de hardware/software necessários para a
instalação/utilização da aplicação? • O(s) computador(es) onde está instalada a aplicação conseguem fazer a
ligação à base de dados do sistema de senhas?
Com estas perguntas em mente, decidi fazer uma aplicação que consegue monitorizar o estado atual do serviço de atendimento avisando em tempo real de situações problemáticas que podem surgir no sistema para cada tipo de serviço, que consegue dar uma previsão de como vai ficar o estado do sistema de atendimento através da análise de eventos anteriores de cada serviço.
Ao criar uma aplicação de raiz específica para este sistema de atendimento, posso fazer com que a aplicação seja mais intuitiva de utilizar e que o utilizador não tenha que ter grande formação sobre como utilizar a ferramenta. Por outro lado, a aplicação foi desenvolvida de forma a ser facilmente adaptável a outros contextos/sistemas de atendimento.
Decidi utilizar a linguagem Java, visto que um programa escrito nesta linguagem depois de compilado numa plataforma/sistema operativo pode ser executado noutras plataformas/sistemas operativos, desde que esteja instalada a máquina virtual Java [11] sem ter que ser recompilado.
codifméto
4.2
usei de dfacili
aplic
uma dado
data execuproce
3 Javafazem
Outra coisaficação paraodos e que a
ArquiteComo dissebibliotecas
dados, que idade de cri
O esquema
Legenda:
Base de Dcação apena
Sql2o – é ubase de da
os à aplicaçã
WEKA – Wmining. Osutados a paessamento
a Database Co
m o envio de in
a que tentei a que o futuas alterações
etura e anteriormeJava que tecontêm a miar ambiente
a conceptual
F
ados – é a as para leitur
uma pequenados compaão. [12]
Weka é umas algoritmosartir do seude dados,
onnectivity ounstruções SQL
fazer foi reuro suporte s necessária
ente, a aplicem o maiormaior diveres gráficos.
l da aplicaçã
Figura 3: Esqu
base de dara.
na bibliotecatível com J
a coleção ds podem seru próprio cóclassificaçã
u JDBC é um cL para qualque
18
ecorrer ao uà aplicação
as não sejam
cação desenr suporte dersidade de
ão é apresen
uema conceptu
ados do sis
ca java que JDBC3, ou
de algoritmor aplicados dódigo Javaão, regressã
conjunto de cer base de dad
uso de biblioo seja mais m muito difí
nvolvida é ee universalidalgoritmos
ntado na fig
ual da aplicaçã
stema de se
permite exseja, é a in
os de machidiretamente. Weka conão, clusterin
lasses e interfdos relaciona
otecas Java fácil de imp
íceis de faze
escrita na lindade de con
usados em
gura 39:
ão
enhas e que
ecutar instrnterface qu
ine learninge a um conjuntém ferramng, regras
faces (API) escl. [21]
que facilitamplementar n
er.
nguagem Janexão com
m data min
e é acedida
ruções SQLue liga a ba
g para tarefunto de dadmentas parade associaç
critas em Java
am na novos
ava, e bases ing e
a pela
L com ase de
fas de dos ou a pré-ção e
a que
19
visualização. Também é bem adequado para o desenvolvimento de novos sistemas de machine learning. [13]
JGoodies – é um conjunto de bibliotecas Java direcionadas para o desenho e desenvolvimento de interfaces gráficas atrativas. O recurso a estas bibliotecas exige um reduzido esforço de aprendizagem pois elas estão apuradas dada a sua grande utilização. [14]
JCalendar – é uma biblioteca Java que dá a possibilidade ao utilizador escolher uma data e usando essa data definir parâmetros ou mostrar informação relativa a um conjunto de datas escolhidas. [15]
JFreeChart – é uma biblioteca Java que permite a apresentação de gráficos de qualidade na interface de uma aplicação desenvolvida em Java. [16]
SteelSeries – é uma biblioteca Java que disponibiliza a possibilidade de desenhar/apresentar diferentes tipos de manómetros ou outros instrumentos de medida (velocímetros) na interface gráfica. [17]
Todas as bibliotecas utilizadas são Open Source.
4.3 Funcionalidades Neste capítulo é apresentada todas as funcionalidades da aplicação criada para este
trabalho. Todo o conteúdo é confidencial
20
21
Capítulo 5
Simulação e Avaliação
Neste capítulo é apresentada uma simulação de dados que aplicação retorna em comparação com dados históricos. Todo o conteúdo é confidencial
22
23
Capítulo 6
Conclusões
Esta dissertação apresentou uma análise do histórico de dados de um serviço de atendimento. Por outro lado, foi desenvolvido um protótipo para uma ferramenta de análise, monitorização e previsão.
A aplicação disponibiliza as funcionalidades básicas que permitem analisar o sistema de atendimento em causa, mas é possível de adaptar a aplicação a outros sistemas de atendimento semelhantes, fazendo os ajustes necessários para obter a informação necessária para a aplicação, nomeadamente no que diz respeito ao acesso à base de dados e o número de serviços que o sistema de atendimento tem.
O sistema de previsão apresentou algumas imprecisões e eventualmente requer melhorias. A precisão deste sistema é bem influenciada pelo tamanho do histórico e com a periodicidade dos valores no histórico, como constatamos na simulação que se apresentou no capítulo 5. O histórico é de pequena dimensão e não havia uma constante de valores para o mesmo período de tempo.
Era possível criar mais outras funcionalidades na aplicação, mas devido ao curto tempo de desenvolvimento da aplicação, não foi possível desenvolver mais funcionalidades, como por exemplo, criar relatórios do histórico dos dados sobre um ou vários parâmetros do sistema de atendimento.
Em suma, foi desenvolvida uma aplicação simples e fácil de utilização para o utilizador sem que este tenha que aprender muito sobre o mesmo, que pode vir a complementar as análises já disponíveis no sistema já implementado.
24
25
Capítulo 7
Bibliografia
[1] Wikipédia, “Mineração de dados,” Wikipédia, 27 Maio 2013. [Online]. Available:
http://pt.wikipedia.org/wiki/Minera%C3%A7%C3%A3o_de_dados. [2] Rexer Analytics, “2011 Data Miner Survey,” [Online]. Available:
http://www.rexeranalytics.com/Data-Miner-Survey-Results-2011.html. [3] H. N. A. a. P. G. Karl Rexer, “Analytics Magazine - Understanding data miners,”
May/June 2011. [Online]. Available: http://www.analytics-magazine.org/may-june-2011/320-understanding-data-miners.
[4] kdnuggets.com, “ Analytics / Data Mining application in 2012,” kdnuggets.com, Dezembro 2012. [Online]. Available: http://www.kdnuggets.com/polls/2012/where-applied-analytics-data-mining.html.
[5] kdnuggets.com, “What programming/statistics languages you used for analytics / data mining?,” kdnuggets.com, Agosto 2012. [Online]. Available: http://www.kdnuggets.com/polls/2012/analytics-data-mining-programming-languages.html.
[6] kdnuggets.com, “Analytics, Data mining, Big Data software used,” kdnuggets.com, Maio 2012. [Online]. Available: http://www.kdnuggets.com/polls/2012/analytics-data-mining-big-data-software.html.
[7] Wikipédia, “Rattle GUI,” Wikipédia, 29 Julho 2013. [Online]. Available: http://en.wikipedia.org/wiki/Rattle_GUI.
[8] Wikipédia, “Weka (machine learning),” Wikipédia, 6 Agosto 2013. [Online]. Available: http://en.wikipedia.org/wiki/Weka_(machine_learning).
[9] Wikipédia, “Wikipédia - GNU General Public License,” Wikipédia, 14 Março 2013. [Online]. Available: http://pt.wikipedia.org/wiki/GNU_General_Public_License.
[10] A. C. B. Alves, M. A. F. d. Menezes e F. J. P. Zimmermann, “PESQUISA OPERACIONAL - Um texto essencial para Engenharias, Computação e Ciências Econômicas,” 2006. [Online]. Available: http://www.inf.ufpr.br/ess07/Meus_Programas/PO/livro/po.pdf.
[11] Java, “Java,” Oracle, [Online]. Available: http://www.java.com/. [12] Sql2o, “Sql2o - Easy database query library,” [Online]. Available:
http://www.sql2o.org/. [13] M. L. G. a. t. U. o. Waikato, “Weka 3: Data Mining Software in Java,” Weka - The
26
University of Waikato, [Online]. Available: http://www.cs.waikato.ac.nz/ml/weka/.[14] JGoodies, “JGoodies - We make Java look good and work well,” JGoodies,
[Online]. Available: http://www.jgoodies.com/. [15] K. Toedter, “JCalendar,” Toedter.com, [Online]. Available:
http://www.toedter.com/en/jcalendar/. [16] O. R. Limited, “JFreeChart,” Object Refinery Limited, [Online]. Available:
http://www.jfree.org/jfreechart/. [17] E. v. Han.Solo, “Harmonic Code - The life of a geek that loves to code JavaFX,
Swing and HTML5...,” [Online]. Available: http://harmoniccode.blogspot.pt/. [18] M. Sewell, “No Free Lunch Theorems,” [Online]. Available: http://www.no-free-
lunch.org/. [19] Wikipédia, “Receiver operating characteristic,” 8 Outubro 2013. [Online].
Available: http://en.wikipedia.org/wiki/Receiver_operating_characteristic. [20] Wikipédia, “JDBC,” Wikipédia, 30 Agosto 2013. [Online]. Available:
http://pt.wikipedia.org/wiki/JDBC. [21] Wikipédia, “Wikipédia - Customer relationship management,” Wikipédia, 11
Março 2013. [Online]. Available: http://pt.wikipedia.org/wiki/Customer_relationship_management.