UNIVIDADE FEDERAL FLUMINENSE – UFF
ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO
GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO
ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA:
UM ESTUDO DE CASO PARA MELHORAR O
DESEMPENHO DE UM SERVIÇO
ROBERT LUIS BARRETO SANTOS
ORIENTADOR DO TRABALHO
JOSÉ KIMIO ANDO
NITERÓI
JANEIRO / 2017
UNIVERSIDADE FEDERAL FLUMINENSE
ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO
ROBERT LUIS BARRETO SANTOS
ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA: UM ESTUDO DE CASO PARA
MELHORAR O DESEMPENHO DE UM SERVIÇO
Projeto Final apresentado ao curso de Graduação em Engenharia de Produção da
Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de
Engenheiro de Produção.
ORIENTADOR: JOSÉ KIMIO ANDO, D. Sc.
NITERÓI
2017
ADICIONAR FICHA CARTOGRÁFICA DA BIBLIOTECA DE ENGENHARIA ABAIXO
ROBERT LUIS BARRETO SANTOS
ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA: UM ESTUDO DE CASO PARA
MELHORAR O DESEMPENHO DE UM SERVIÇO
Projeto Final apresentado ao curso de Graduação em Engenharia de Produção da
Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de
Engenheiro de Produção.
Campo de Confluência: Educação e Trabalho
Aprovada em ______de dezembro de 2017.
BANCA EXAMINADORA
Prof. Dr. JOSÉ KIMIO ANDO - Orientador
Universidade Federal Fluminense
Prof. Dr. ARTHUR ALVES PESSOA
Universidade Federal Fluminense
Prof. Dr. EDUARDO UCHOA BARBOZA
Universidade Federal Fluminense
NITERÓI
2017
AGRADECIMENTOS
Agradeço a Deus por estar sempre presente na minha consciência em todos os
momentos importantes em que tive dificuldade de discernir o bem do mal, o certo do errado, e
precisei de uma luz para me ajudar.
Agradeço também à minha família – Luis, Albertina e Roger– obrigado pela
motivação, apoio e incentivo que sempre me deram, sem nada exigir em troca durante toda a
vida. Ao meu orientador professor Kimio pela paciência, preocupação e por me ajudar a
escrever esse projeto final da melhor forma possível. Seus conselhos e orientações foram
essenciais.
Agradeço também a UFF, como instituição, pelo ensino de qualidade e a todos os
professores que passaram pelo meu caminho, pelos conhecimentos que me deram a
oportunidade de absorver. A todos os profissionais com quem tive a sorte de trabalhar até
agora, procurei aprender um pouco com cada um de vocês, obrigado pelas oportunidades,
ensinamentos e confiança.
Agradeço também aos amigos e entes queridos que me ajudaram com este trabalho:
Thaisa, Janine, Tatiana, Mercia, Nivaldo muito obrigado pela dedicação e atenção.
Muito obrigado a todos!
RESUMO
No presente trabalho, as metodologias de clusterização, planejamento experimental fatorial e
superfície de resposta são aplicadas na melhoria de processo de uma empresa que presta
serviço de processamento de arquivos de dados. A situação atual dos serviços solicitados é
analisada e, utilizando-se clusterização hierárquica, são definidos clusters de arquivos e os
correspondentes arquivos representativos. Utilizando-se a metodologia de superfície de
resposta é feito o planejamento de experimentos fatoriais, buscando-se obter para cada cluster
a menor quantidade de memória RAM e de núcleos da CPU de servidor para que o tempo
total de processamento do arquivo representativo do cluster seja inferior a um tempo definido
como aceitável.
Palavras-chave: Clusterização, planejamento de experimentos, superfície de resposta.
ABSTRACT
In the present work, clustering, factorial design of experiments and response surface
methodologies are applied in the process improvement of a company that provides data file
processing service. The current situation of the services requested is analyzed and, using
hierarchical clustering, clusters of files and corresponding representative files are defined.
Using the response surface methodology, factorial design of experiments is done, seeking to
obtain for each cluster the least amount of RAM and cores of the server CPU so that the total
processing time of the representative file of the cluster is less than a time set as acceptable.
Keywords: Clustering, design of experiments, response surface.
6
LISTA DE TABELAS
Tabela 1 - Exemplo de experimento fatorial 2². ....................................................................... 10
Tabela 2 – Notações para combinações de fatores de um planejamento 2². ............................ 11
Tabela 3 - Matriz do planejamento fatorial 2² .......................................................................... 28
Tabela 4 - Arquivos representativos de cada perfil .................................................................. 36
Tabela 5 - Resultado experimental do tempo de processamento – perfil A ............................. 36
Tabela 6 – Máxima inclinação descendente para o perfil A..................................................... 38
Tabela 7 - Resultado experimental do tempo de processamento – perfil B ............................. 38
Tabela 8 – Máxima inclinação descendente para o perfil B. .................................................... 40
Tabela 9 - Resultado experimental do tempo de processamento – perfil C ............................. 41
Tabela 10 - Máxima inclinação descendente para o perfil C. .................................................. 42
LISTA DE FIGURAS
Figura 1 - Clusterização hierárquica em dados bidimensionais ................................................. 6
Figura 2 - Dendograma obtido usando algoritmo single-link..................................................... 7
Figura 3 - Modelo de Processo. .................................................................................................. 8
Figura 4 - Planejamento 2² com replicações no ponto central.................................................. 12
Figura 5 – Efeito de curvatura na região experimental. ........................................................... 16
Figura 6 - Dispersão Número de Colunas versus Número de Linhas dos arquivos ................. 21
Figura 7 - Inicio da medição de tempo de processamento. ...................................................... 22
Figura 8 - Medição de tempo em andamento. .......................................................................... 23
Figura 9 - Medição de tempo finalizada ................................................................................... 24
Figura 10 - Etapas do Processo de criação e distribuição. ....................................................... 31
Figura 11 - Exemplo de web template e página web criada pelo sistema. ............................... 32
Figura 12 - Distribuição de frequência do número ótimo de clusters. ..................................... 34
Figura 13 - Dendograma resultante da clusterização hierárquica............................................. 35
Figura 14 - Distribuição dos arquivos em 3 clusters. ............................................................... 35
8
Sumário
1
2
INTRODUÇÃO .................................................................................................................. 1
1.1
Questões ....................................................................................................................... 2
1.2
Delimitação do Projeto ................................................................................................ 2
1.3
Objetivo ....................................................................................................................... 2
1.4
O Estudo ...................................................................................................................... 2
1.5
Organização do Estudo ................................................................................................ 3
REVISÃO DA LITERATURA ........................................................................................... 4
2.1
Pesquisa Bibliográfica ................................................................................................. 4
2.2
Clusterização ................................................................................................................ 4
2.2.1
Critérios de semelhança ........................................................................................ 5
2.2.2
Técnicas de clusterização ..................................................................................... 5
2.2.3
Clusterização hierárquica ..................................................................................... 5
2.2.4
Seleção de número de clusters .............................................................................. 7
2.3
Planejamento estatístico de Experimentos ................................................................... 8
2.4
Planejamentos experimentais fatoriais ......................................................................... 9
2.5
Planejamentos fatoriais 2k .......................................................................................... 10
2.6
Planejamentos fatoriais 2² .......................................................................................... 10
2.7
Adição de pontos centrais em planejamentos 2k ........................................................ 12
2.8
Ajuste de modelos de regressão linear de primeira ordem ........................................ 13
2.8.1
Variáveis codificadas .......................................................................................... 14
2.8.2
Testes de hipótese para o diagnóstico do modelo ajustado ................................ 15
2.9
Metodologia de Superfície de Resposta ..................................................................... 17
2.9.1
3
Método de máxima inclinação ............................................................................ 17
METODOLOGIA ............................................................................................................. 20
3.1
Tipo de Pesquisa ........................................................................................................ 20
3.2
Universo e Amostra ................................................................................................... 20
3.3
3.3.1
Pesquisa documental .......................................................................................... 20
3.3.2
Observações do processo .................................................................................... 21
3.4
4
Coleta de dados .......................................................................................................... 20
Análise de Dados ....................................................................................................... 24
3.4.1
Determinação do número de clusters.................................................................. 25
3.4.2
Classificação dos arquivos em perfis ................................................................. 26
3.4.3
Critério de definição dos arquivos representantes de cada perfil ....................... 27
3.4.4
Planejamento dos experimentos ......................................................................... 27
3.4.5
Construção dos modelos de Regressão Linear ................................................... 29
3.4.6
Superfície de Resposta – Máxima inclinação descendente ................................ 29
ESTUDO DE CASO ......................................................................................................... 31
4.1
Descrição da Unidade de Análise .............................................................................. 31
4.2
Problema a ser analisado pelo estudo de caso ........................................................... 31
4.3
Determinação do número de perfis ............................................................................ 33
4.4
Classificação dos arquivos em perfis ......................................................................... 34
4.5
Definição dos arquivos representativos de cada perfil .............................................. 35
4.6
Análise do perfil A ..................................................................................................... 36
4.6.1
Experimentos realizados – perfil A .................................................................... 36
4.6.2
Modelo de regressão – perfil A. ......................................................................... 36
4.6.3
Diagnóstico do modelo ajustado – perfil A ........................................................ 37
4.6.4
Máxima inclinação descendente – perfil A ........................................................ 37
4.7
Análise do perfil B ..................................................................................................... 38
4.7.1
Experimentos realizados – perfil B .................................................................... 38
4.7.2
Modelo de regressão – Perfil B .......................................................................... 39
4.7.3
Diagnóstico do modelo ajustado – perfil B ........................................................ 39
4.7.4
Máxima inclinação descendente – perfil B......................................................... 39
4.8
Análise do Perfil C ..................................................................................................... 40
10
5
6
4.8.1
Experimentos realizados – perfil C .................................................................... 40
4.8.2
Modelo de regressão – perfil C........................................................................... 41
4.8.3
Diagnóstico do modelo ajustado – perfil C ........................................................ 41
4.8.4
Máxima inclinação descendente – perfil C......................................................... 42
OBSERVAÇÕES FINAIS E CONCLUSÕES ................................................................. 43
5.1
Conclusões ................................................................................................................. 43
5.2
Sugestões para trabalhos futuros................................................................................ 44
REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................. 45
APÊNDICES ............................................................................................................................ 47
Apêndice A - Dados dos arquivos de input coletados e seus clusters. ................................ 47
Apêndice B - Custo de aluguel do servidor para cada configuração utilizada. .................... 50
1
1
INTRODUÇÃO
As empresas iniciam suas atividades com um plano de negócios em que têm uma
expectativa do tipo de cliente que terão e do produto ou serviço que satisfaz o mesmo.
Baseadas nesse plano definem seus processos e os insumos que devem utilizar.
Ao longo das atividades normalmente é necessário adequar o planejamento inicial à
realidade do negócio em andamento, buscando-se adaptar o que foi planejado à novas
circunstâncias. Alterações no comportamento e nas expectativas dos clientes quanto ao
produto fornecido ou serviço prestado podem ser uma dessas circunstâncias. Desta forma uma
revisão do perfil dos clientes deve ser parte do processo de melhoria contínua dos negócios.
Também a constante busca por eficiência e melhores resultados dentro das empresas
gera desafios e questões a serem definidas, buscando melhorar os processos. Melhorar um
processo requer analisá-lo e entendê-lo, para que não só seja possível melhorar a qualidade do
que é produzido, como também diminuir a quantidade de insumos que se utiliza, reduzindo
assim os seus custos. Com a intenção de reduzir os custos e melhorar a qualidade em seus
processos, as empresas estão investindo em ferramentas que possibilitem avaliar seus
desempenhos e torná-los mais eficientes. De maneira geral, a melhoria de um processo tratase de um problema de otimização, em que se tem uma função objetivo a ser maximizada ou
minimizada sujeita a restrições. No entanto, em processos produtivos, é comum haverem
situações onde existem fatores, variáveis do problema, cuja relação com o resultado final do
processo, função objetivo, nem sempre é conhecida. Nestas situações não é possível a
utilização de técnicas de pesquisa operacional, como a programação linear, a programação
inteira e a programação mista.
Em casos como este, a busca da solução do problema pode ser feita através de uma
sequência de experimentos até se atingir um resultado satisfatório. Para que esta sequência
não seja um processo de tentativa e erro, pode ser utilizada a metodologia de planejamento de
experimentos juntamente com a metodologia de superfície de resposta para direcionar
adequadamente a sequência de experimentos e reduzir a quantidade de experimentos
executados , e consequentemente o custo do processo de experimentação, e também para
obter informações e resultados estatisticamente válidos com os experimentos.
No presente trabalho, para a análise de clientes utiliza-se o método de clusterização.
Para a otimização do processo são aplicadas as metodologias do planejamento experimental
fatorial e de superfície de resposta no estudo do caso específico de um serviço.
2
1.1
Questões
Este estudo irá discutir e analisar as seguintes questões:
a)
Quais são os perfis de arquivos que podem ser identificados a partir da
classificação das informações históricas sobre os arquivos carregados pelos
mesmos ao utilizar o serviço;
b)
Qual é a configuração ideal que deve ser alugada para os servidores para que a
meta de desempenho do tempo de processamento seja atingida para cada um
dos perfis de arquivo carregado.
1.2
Delimitação do Projeto
O estudo foi realizado a partir de dados e informações fornecidos pela empresa onde
o mesmo foi realizado. Apenas o serviço de fabricação e hospedagem de páginas web foi
analisado. O período de coleta de dados foi de maio de 2017 até setembro de 2017, do qual
foram recuperados dados históricos sobre a utilização do serviço pelos clientes, mais
especificamente sobre os arquivos carregados pelos mesmos ao utilizarem o serviço da
empresa.
Este estudo buscou analisar apenas à variável de resposta tempo de processamento. A
variável custo de processamento também foi calculada, porém somente para fins de
acompanhamento, pelo reconhecimento da sua importância para a empresa, e para garantir
que a mesma permaneceria dentro de níveis aceitáveis de custo.
1.3
Objetivo
O objetivo foi melhorar o processo de uma empresa de processamento de dados,
definindo a menor quantidade de memória RAM e de núcleos da CPU de um servidor para
que o tempo total de processamento de arquivos carregados por usuários do serviço fosse
inferior a um tempo definido como aceitável.
1.4
O Estudo
Esse estudo aborda temas relacionados às áreas de conhecimento da Engenharia de
Produção, tais como a engenharia organizacional, a pesquisa operacional e o planejamento de
experimentos. Segundo a Associação Brasileira de Engenharia de Produção (ABEPRO), a
engenharia organizacional é o conjunto de conhecimentos relacionados à gestão das
organizações, englobando em seus tópicos: o planejamento estratégico e operacional, a
propriedade intelectual, a avaliação de desempenho organizacional. Já o planejamento de
experimentos, é um conjunto de conhecimentos e técnicas que tem o objetivo de determinar e
3
analisar, através de testes, as mudanças que ocorrem nas variáveis de saída ou nas respostas
de um processo, quando mudanças deliberadas são produzidas nas variáveis de entrada do
processo.
1.5
Organização do Estudo
Com o propósito de atingir as metas propostas nos objetivos e apresentar todas as
informações com clareza, este estudo está dividido em cinco capítulos.
O primeiro capítulo apresenta o objetivo do estudo, as considerações iniciais, o
problema e as suas formulações.
O segundo apresenta uma revisão teórica das técnicas e metodologias utilizadas para
desenvolver o Estudo de Caso.
O terceiro define o método de pesquisa, indicando as etapas realizadas no estudo e
como ela será organizada para se alcançar o objetivo final.
No quarto capítulo, a metodologia definida no capítulo três é aplicada. Inicialmente,
o processo estudado é descrito, de acordo com as informações e dados disponíveis da empresa
analisada. Posteriormente, é realizada a aplicação da Metodologia de Superfície de Resposta e
seu desenvolvimento no Estudo de Caso é detalhado.
O quinto capítulo conclui o trabalho, apresentando o resultado final e conclusões,
bem como propostas e sugestões de novas pesquisas.
4
2
REVISÃO DA LITERATURA
2.1
Pesquisa Bibliográfica
A fim de obter um levantamento bibliográfico para o desenvolvimento do estudo,
inicialmente foram realizadas pesquisas na base de dados do Google Acadêmico a partir de
palavras chaves pré-determinadas de acordo com os objetivos.
Posteriormente foi realizado uma pesquisa por meio de livros de autores
conceituados e de materiais de aulas utilizados durante o curso de Engenharia de Produção da
UFF, que tratassem das áreas de conhecimento que envolvem os assuntos abordados nos
objetivos, buscando obter material que fosse de conteúdo mais didático, conceitual e
explicativo. Isto se fez necessário devido ao fato da grande maioria dos artigos científicos
encontrados sobre os temas terem um foco mais voltado para aplicações em situações reais.
Apesar de se utilizarem das teorias e buscarem referências em obras de autores conceituados
nas mesmas, em livros e em pesquisas de cunho mais teórico, a grande maioria dos artigos
encontrados não apresentou em seu corpo o desenvolvimento conceitual das teorias de forma
didática e explicativa. Dadas estas circunstâncias, as referências deste trabalho foram focadas
principalmente em livros de autores conceituados e em pesquisas de cunho mais teórico.
2.2
Clusterização
Segundo Jain et al. (1999, p.265) clusterização é a classificação não supervisionada
de conjuntos de dados em padrões agrupados segundo seu grau de semelhança, que é medido
por algum critério predefinido, formando clusters. Desta forma, padrões pertencentes a um
determinado cluster são mais semelhantes entre si do que são semelhantes a padrões que
estejam em um cluster diferente. Segundo Jain e Dubes (1988, p.1) um cluster é um conjunto
de objetos similares coletados e agrupados. De forma geral, clusters são representados como
vetores de medidas ou pontos em um espaço multidimensional (JAIN et al., 1999, p.265).
Segundo Jain et al. (1999, p.265) existe uma diferença fundamental entre a
classificação supervisionada de dados e a clusterização (classificação não supervisionada). Na
classificação supervisionada existem inicialmente classes definidas nas quais encaixam-se os
padrões baseando-se em algum conjunto de critérios ou regras que distinguem uma classe de
outra. Já na classificação não supervisionada não existem classes inicialmente, e o problema
de clusterização é justamente agrupar os padrões de dados, também baseando-se em algum
conjunto de critérios, porém estes critérios levam em consideração somente as informações
intrínsecas no conjunto de dados observados sem estabelecer regras para classificar novos
5
padrões de dados (JAIN; DUBES, 1988, p.1) . Por este motivo a clusterização é
particularmente mais apropriada para classificar dados quando se tem pouca ou nenhuma
informação, ou dúvida sobre quais seriam as classes pré-existentes para um determinado
conjunto de dados (JAIN et al., 1999, p.265).
2.2.1
Critérios de semelhança
O critério de semelhança é a métrica utilizada na clusterização para julgar a
semelhança entre padrões de um conjunto de dados. Segundo Jain et al. (1999, p.271) é
comum utilizar métricas baseadas em cálculos de distância para calcular a semelhança entre
os padrões de dados. A métrica de distância mais comum utilizada é a métrica euclidiana
(JAIN; DUBES, 1988, p.15). Segundo Deza e Deza (2009, p.94) a métrica euclidiana é a
métrica no espaço euclidiano n-dimensional definida pela equação 1, também conhecida
como distância euclidiana.
2.2.2
| − |=√
Técnicas de clusterização
−
²+ ⋯+
�
−
�
²
(1)
Segundo Jain et al. (1999, p.274) existem, em primeira instância, duas abordagens
diferentes de algoritmos de clusterização: a abordagem hierárquica e a particional. Os
algoritmos hierárquicos produzem uma série de partições aninhadas cuja representação é
conhecida como dendograma. Já os métodos particionais produzem apenas uma partição. Os
métodos particionais são recomendados quando o conjunto de dados é muito grande, de forma
que a construção e a visualização dos clusters em um dendograma hierárquico é difícil até
mesmo computacionalmente (JAIN et al., 1999, p.278).
2.2.3
Clusterização hierárquica
Os algoritmos hierárquicos produzem uma série de partições aninhadas. O conjunto
estruturado dessas partições é conhecido como dendograma. Um dendograma é um tipo
especial de estrutura em árvore que fornece uma forma conveniente de visualizar um
agrupamento hierárquico que consiste de camadas de nós, onde cada nó representa um cluster.
Em um dendograma, linhas conectam nós representando clusters que estão aninhados uns nos
outros (JAIN; DUBES, 1988, p.59). Um dendograma pode ser cortado horizontalmente em
diferentes níveis, produzindo diferentes quantidades de clusters (JAIN; DUBES, 1988, p.59).
A figura 1 mostra um exemplo de clusterização hierárquica realizada com um conjunto de
dados bidimensional.
6
Figura 1 - Clusterização hierárquica em dados bidimensionais (JAIN et al., 1999, p.276).
Segundo Jain et al. (1999, p.275) os dois algoritmos mais populares de clusterização
hierárquica são o single-link e o complete-link. Esses dois algoritmos são distintos na forma
como cada um caracteriza a semelhança entre dois clusters. No single-link a distância entre
dois clusters é medida pela distância mínima entre dois padrões, sendo um padrão pertencente
a cada cluster. Já no complete-link a distância entre dois clusters é medida pela distância
máxima entre dois padrões, sendo um padrão pertencente a cada cluster. Porém, nos dois
casos de algoritmos, dois clusters distintos serão combinados para formar um cluster maior,
baseando-se no critério da menor distância entre dois clusters (JAIN et al., 1999, p.276). O
algoritmo complete-link forma clusters mais compactos enquanto que o algoritmo single-link
tende a formar clusters alongados, de formato elipsoidal (FRAKES; BAEZA-YATES, 1992)
Um algoritmo hierárquico pode ainda ser de aglomeração ou divisão. Um algoritmo
de divisão parte de um cluster contendo todos os padrões até chegar a uma condição de
parada, que seja atingida ou que cada padrão esteja sozinho no seu próprio cluster. Em um
algoritmo de aglomeração esse processo é revertido, começando-se com cada padrão em um
cluster e formando grupos maiores até que uma condição de parada seja atingida ou que todos
os padrões estejam em apenas um cluster (JAIN; DUBES, 1988, p.57). Uma condição de
parada pode ser, por exemplo, um limite estabelecido para o número de clusters no
dendograma final (JAIN et al., 1999, p.277). A figura 2 mostra um exemplo de dendograma
originado a partir de um algoritmo single-link. Na figura o dendograma é cortado
horizontalmente, formando três clusters.
7
Figura 2 - Dendograma obtido usando algoritmo single-link (JAIN et al., 1999, p.276).
2.2.4
Seleção de número de clusters
Na clusterização hierárquica, para distribuir um conjunto de dados em um número
definido de clusters é preciso primeiro decidir quantos clusters se deseja formar, para então
poder cortar horizontalmente o dendograma. No entanto pressupõe-se a existência de um
número ótimo de clusters, que seria aquele que possibilita maximizar a semelhança entre os
padrões de um mesmo cluster e ao mesmo tempo minimizar a semelhança entre padrões de
clusters distintos (FARIA, 2009, p.18). Segundo Faria (2009, p.2) medir ao mesmo tempo a
homogeneidade da semelhança dentro de um cluster e a heterogeneidade de semelhança
entre clusters distintos e atingir estes dois objetivos simultaneamente é o que dificulta a
determinação do número ótimo. Segundo Charrad et al. (2014, p.2) o processo de avaliar essa
homogeneidade e heterogeneidade é conhecido por cluster validity e existem na literatura uma
grande variedade de índices estatísticos propostos para se determinar o número ótimo de
clusters para um conjunto de dados.
Segundo Charrad et al. (2014, p.31) o pacote Nbclust reúne trinta (30) índices
estatísticos disponíveis em pacotes do software R em um único pacote fornecendo uma lista
exaustiva de índices para estimar o número ótimo de clusters para um conjunto de dados. O
pacote calcula simultaneamente todos os índices aplicáveis ao conjunto de dados de acordo
com o algoritmo de clusterização definido, e determina o número de clusters ótimo de acordo
com cada um dos trinta índices. Ao final da computação de todos os índices o pacote indica a
quantidade ótima de clusters pela regra da maioria, isto é, a quantidade que foi apontada pelo
maior número de índices computados (CHARRAD et al. , 2014, p.24).
8
2.3
Planejamento estatístico de Experimentos
Segundo Montgomery (2017, p.1) observar o funcionamento de um sistema ou
processo pode levar a teorias sobre como os mesmos funcionam, porém, experimentos são
necessários para demonstrar que essas teorias estão corretas. Experimentos são séries de testes
realizados, comumente chamados de observações, nos quais as intensidades dos fatores que
influenciam o sistema ou processo estudado são propositalmente alteradas para que seja
possível observar e identificar as razões para as mudanças nos outputs (saídas) do processo
devido a essas alterações (MONTGOMERY, 2017, p1). A intensidade de um fator é
denominada de nível do fator, e pode ser definida quantitativamente ou qualitativamente
(MONTGOMERY, 2017, p.86).
Planejamento estatístico de experimentos é o processo de planejar os experimentos
de forma que os dados possam ser devidamente coletados e analisados por métodos
estatísticos, para que se possam tirar conclusões válidas e objetivas com os experimentos
(MONTGOMERY, 2017, p11).
Um processo ou sistema pode ser considerado como uma combinação de fatores
controláveis
e
fatores
não
controláveis
que
transformam
inputs
em
outputs
(MONTGOMERY, 2017, p.2). A figura 3 mostra um modelo dessa relação.
Figura 3 - Modelo de Processo (MONTGOMERY, 2017, p.3).
Segundo Montgomery (2017, p.2) nos objetivos de um experimento podem se incluir
as seguintes categorias:
a) Determinar quais fatores (ou variáveis) são os que mais influenciam nas saídas
(outputs).
9
b) Determinar qual o ajuste de fatores (ou variáveis) controláveis a ser usado para
que as saídas estejam sempre próximas de um determinado valor nominal
desejado.
c) Determinar o ajuste de fatores (ou variáveis) controláveis para que a
variabilidade das saídas seja pequena.
d) Determinar o ajuste dos fatores (ou variáveis) controláveis para que o efeito de
fatores não controláveis nas saídas seja minimizado.
Segundo Montgomery (2017, p.11) existem três princípios básicos do planejamento
de experimentos:
1. Aleatoriedade: a ordem em que os testes dos experimentos são conduzidos
devem ser determinados de forma aleatória. Os métodos estatísticos requerem
que as observações sejam variáveis aleatoriamente distribuídas de forma
independente.
2. Replicação: uma replicação de um experimento é um conjunto de
observações composto de uma observação independente para cada
combinação de fatores possíveis. Replicações refletem fontes de variabilidade
tanto entre execuções subsequentes de testes quanto variabilidades intrínsecas
aos testes (MONTGOMERY, 2017, p.12).
3. Blocagem: É uma técnica usada para melhorar a precisão do experimentos
diminuindo a variabilidade transmitida por fatores existentes que interferem
nas respostas experimentais, porém não é objetivo do estudo considerar esses
efeitos (MONTGOMERY, 2017, p.12).
2.4
Planejamentos experimentais fatoriais
Planejamentos experimentais fatoriais são planejamentos nos quais em cada
replicação completa do experimento todas as combinações possíveis de níveis dos fatores são
investigadas. Caso existam, por exemplo a níveis de um fator A e b níveis de um fator B, cada
replicação do experimentos conterá todas as a vezes b combinações possíveis de níveis dos
dois fatores (MONTGOMERY, 2017, p.179).
Segundo Montgomery (2017, p.179) o efeito principal de um fator pode ser definido
como a mudança média produzida na saída do processo devido a alteração no nível do fator.
Quando o efeito principal de um fator depende do efeito principal de um outro fator, isto
significa que existe uma interação entre os fatores. A magnitude dessa interação pode ser
10
medida pela diferença média entre os efeitos principais de um dos fatores. Também chamada
de efeito da interação (MONTGOMERY, 2017, p.180).
Os tipos mais importantes de planejamentos fatoriais são os fatoriais
, onde k indica
o número de fatores do experimento. Cada fator nesse tipo de planejamento pode assumir
apenas um de dois níveis para os experimentos, como alto ou baixo (+ ou -). Esses níveis
podem ser qualitativos ou quantitativos (MONTGOMERY, 2017, p.230).
2.5
Planejamentos fatoriais 2k
De acordo com Montgomery (2017, p.230) planejamentos
k
fornecem o menor
número de observações em que k fatores podem ser estudados em um experimento fatorial
completo. Uma replicação completa nesse planejamento requer um total de
k
observações.
Nestes experimentos, como há apenas dois níveis para cada fator, supõe-se que a
resposta é aproximadamente linear no intervalo entre os níveis de fator escolhidos
(MONTGOMERY, 2017, p.231). Um método comumente utilizado para checar essa
suposição de linearidade entre os níveis de fatores é a adição de pontos centrais nos
planejamentos
k
(MONTGOMERY, 2017, p.284). A Tabela 1 mostra um exemplo de
experimento fatorial 2², com três replicações completas.
Tabela 1 - Exemplo de experimento fatorial 2².
Fatores
Replicações
A
B
−
−
+
Combinações de
I
II
III
A baixo, B baixo
28
25
27
−
A alto, B baixo
36
32
32
−
+
A baixo, B alto
18
19
23
+
+
A alto, B alto
31
30
29
níveis de fatores
Fonte: Montgomery (2017, p.231).
2.6
Planejamentos fatoriais 2²
Os planejamentos 2² são casos particulares dos planejamentos
onde existem
apenas dois fatores. Nesses planejamentos existem apenas quatro combinações possíveis de
11
níveis de fatores. A tabela 2 mostra as quatro combinações possíveis de níveis para um
planejamento 2² considerando dois fatores (A e B) e notações utilizadas para cada uma delas.
Essas notações podem ser usadas para representar a soma total das respostas observadas em
um experimento, para cada combinação de níveis de fatores, contabilizando-se todas as
replicações realizadas (MONTGOMERY, 2017, p.231).
Tabela 2 – Notações para combinações de fatores de um planejamento 2².
Combinações de níveis de fatores
notação
A baixo, B baixo
(1)
A alto, B baixo
a
A baixo, B alto
b
A alto, B alto
ab
Fonte: Montgomery (2017, p.231).
Segundo Montgomery (2017, p.231) em um planejamento fatorial 2², os efeitos
principais dos fatores A e B e de sua interação AB podem ser definidos pelas equações 2, 3 e 4
respectivamente, onde n é o número de replicações completas do experimento.
=
[
=
[
=
+ − −
n
[
+ − −
+
�
]
(2)
]
(3)
− − ]
�
(4)
De acordo com Montgomery (2017, p.234) em um planejamento fatorial 2², a soma
dos quadrados dos efeitos totais dos fatores A e B e de sua interação AB pode ser definida
pelas equações 5, 6 e 7 respectivamente, onde n é o número de replicações completas do
experimento.
�� =
�� =
��
[
[
=
+ − −
�
[
+ − −
�
]2
(5)
]²
(6)
+ − − ]²
�
(7)
12
2.7
Adição de pontos centrais em planejamentos 2k
A adição de pontos centrais não afeta as estimativas estatísticas obtidas com um
planejamento
(MONTGOMERY, 2017, p.285). Quando se adiciona pontos centrais, supõe-
se que os k fatores são quantitativos. Nesse caso, seus níveis são representados por -1 (no
nível baixo), +1 (no nível alto) e 0 no ponto central. Além disso os demais pontos, que não o
ponto central, são denominados pontos fatoriais (MONTGOMERY, 2017, p.285). A figura 4
mostra um exemplo de planejamento 2² com replicações no ponto central.
Figura 4 - Planejamento 2² com replicações no ponto central.
Segundo Montgomery (2017, p.285), quando o planejamento não possui replicações
nos pontos fatoriais, a adição de replicações no ponto central do planejamento oferece um
meio de testar a linearidade na região entre os níveis dos fatores através de uma estimativa
independente para o erro experimental �� . A equação 8 mostra o como é realizado o
cálculo da estimativa do erro puro experimental, onde
central,
é o número de observações no ponto
são os valores de resposta para cada uma das observações no ponto central, e ̅ é a
média aritmética das respostas das observações no ponto central (MONTGOMERY, 2017,
p.286). Essa estimativa tem
−
graus de liberdade.
��
�� = �
−
∑
� −
−̅
2
(8)
A adição de pontos centrais também permite que se calcule também a soma dos
quadrados dos efeitos quadráticos puros dos fatores. A equação 9 mostra como é realizado
esse cálculo. Na equação 9,
experimento,
é o número de observações em pontos fatoriais do
é o número de observações no ponto central ̅ é a média aritmética das
13
respostas das observações fatoriais e ̅ é a média aritmética das respostas das observações
feitas no ponto central. Essa estimativa tem 1 grau de liberdade (MONTGOMERY, 2017,
p.285).
��
=
� �
̅ −̅
� +�
²
(9)
De acordo com Montgomery (2017, p.483) a adição de pontos centrais permite
particionar a soma dos quadrados do erro experimental (�� )em soma dos quadrados do erro
puro experimental (��
(��
e soma dos quadrados devido à falta de adequação do modelo
. Desta forma, a soma dos quadrados do erro experimental é definida pela equação 10.
�� = ��
+ ��
(10)
Da mesma forma, no caso de planejamentos fatoriais 2², a soma dos quadrados
devido à falta de adequação (��
pode ser particionada em soma dos quadrados
devido ao efeito puro quadrático e soma dos quadrados devido ao efeito da interação
AB, representando assim à falta de adequação do modelo para contemplar efeitos de
curvatura. Sendo assim equação 10 passa a ser denotada pela equação 11.
2.8
�� = ��
+ ��
+ ��
(11)
Ajuste de modelos de regressão linear de primeira ordem
Segundo Montgomery (2017, p.511) planejamentos fatoriais
podem ser
utilizados para ajustar modelos de regressão linear múltipla de primeira ordem. O método dos
mínimos quadrados é o mais utilizado para estimar os coeficientes em um modelo de
regressão linear múltipla (MONTGOMERY, 2017, p.462).
De acordo com Montgomery (2017, p.463) um modelo de primeira ordem
considerando-se todas as observações realizadas no experimento pode ser escrito, na forma
matricial, conforme a equação 12, onde y é o vetor (n x 1) das observações realizadas no
experimento, X é a matriz (n x p) dos níveis das variáveis independentes,
é o vetor (p x 1)
dos coeficientes de regressão e � é o vetor (n x 1) dos erros aleatórios experimentais de cada
observação. Nesta notação, n é o número de observações experimentais e p é o número de
coeficientes de regressão
do modelo. Assume-se também, que os termos � do vetor � são
variáveis aleatórias não correlacionadas com esperança
� =
e variância � � = � ,
respeitando assim o princípio da aleatoriedade dos planejamentos experimentais definido no
item 2.3 do capítulo de Revisão de Literatura.
= � +�
(12)
14
O método dos mínimos quadrados busca uma estimativa para os coeficientes do
modelo de regressão de forma a minimizar a soma dos quadrados das diferenças entre os
valores observados, encontrados experimentalmente, e os valores estimados, encontrados
calculando-se matematicamente as respostas através do modelo ajustado pelo método (DIAS,
2005, p.18). Na forma matricial o vetor (p x 1) dos estimadores dos coeficientes de regressão
é definido pela equação 13 (MONTGOMERY, 2017, p.463).
̂ = �′�
−
�′
(13)
̂=�̂
(14)
Dessa forma, o modelo ajustado pode ser representado, na forma matricial pela
equação 14 (MONTGOMERY, 2017, p.464).
A diferença entre o valor de cada observação
e o valor calculado pelo modelo
ajustado para cada observação ̂ é denominado de resíduo (� ). Na forma matricial o vetor (n
x 1) dos resíduos é denotado pela equação 15 (MONTGOMERY, 2017, p.464).
�= −̂= − �̂
(15)
Segundo Montgomery (2017, p.464) a soma dos quadrados dos resíduos, cujo
método dos mínimos quadrados minimiza, é denotado, na forma matricial, pela equação 16.
�� = ∑�= � = �′�
(16)
Dessa forma um estimador para a variância � dos erros experimentais aleatórios �
é denotado pela equação 17 (MONTGOMERY, 2017, p.464)
��
�̂² = �−
2.8.1 Variáveis codificadas
(17)
De acordo com Montgomery (2017, p.290) o uso de variáveis codificadas em
planejamentos
para ajustar modelos de regressão linear múltipla permite melhor identificar
o peso dos efeitos de cada fator analisado no experimento. Isso se deve ao fato de, ao usar
variáveis codificadas, as magnitudes dos coeficientes se tornam diretamente comparáveis,
tornando-se adimensionais e ao mesmo tempo os coeficientes passam a ser estimados com a
mesma precisão (MONTGOMERY, 2017, p.290). A equação 18 representa uma fórmula para
o cálculo das variáveis codificadas (KHURI; CORNELL, 1996, p.47). Na equação 16
representa o valor codificado da variável, � e � � os valores reais dos fatores nos níveis
baixo e alto respectivamente e � o valor real do fator o qual se deseja codificar.
=
� − � � +� �
� � −� �
(18)
15
2.8.2
Testes de hipótese para o diagnóstico do modelo ajustado
Acrescentado observações de pontos centrais nos planejamentos
é possível
elaborar testes de hipótese para a adequação do modelo de regressão linear múltipla,
verificando evidências da presença de efeitos quadráticos e de interação dos fatores, dessa
forma testando a presença de efeitos de curvatura no modelo (MONTGOMERY, 2017,
p.285).
Nestes testes, avalia-se a proximidade do ponto central com relação aos pontos
fatoriais da região experimental sobre análise, através das estimativas dos efeitos quadrático
puro ��
e de interação ��
(no caso experimentos 2²). Caso essa proximidade
seja grande, o ponto central está próximo do plano que corta os pontos fatoriais, e não à efeito
considerável de curvatura no modelo, caso contrário o ponto está longe o e isso é um
indicativo de que efeitos de curvatura deveriam estar sendo considerados para determinar a
relação entre a variável dependente y e as variáveis independentes
, para que o modelo
ajustado dessa relação seja capaz de aproximar de forma satisfatória toda a região
experimental em análise (MONTGOMERY, 2017, p.285). A figura 5 ilustra esse efeito de
curvatura, com o pronto central longe do plano que passo pelos pontos fatoriais.
16
Figura 5 – Efeito de curvatura na região experimental (MONTGOMERY, 2017, p.285).
Os testes de hipótese avaliam a significância das estimativas da soma dos quadrados
do efeito quadrático puro ��
��
e da soma dos quadrados do efeito da interação
com relação a estimativa para a soma dos quadrados do erro experimental (��
de
acordo com a partição do erro experimental denotada na equação 11. Se a parcela da soma dos
ou �� ) for considerável com relação ao
quadrados do efeito de curvatura (��
estimado para o total (�� ) constitui-se uma situação de não rejeição da hipótese nula do
teste, o que indica a provável presença de efeito de curvatura (MONTGOMERY, 2017,
p.285).
Para testar a presença de efeito quadrático puro dos fatores no modelo, pode ser
elaborado o seguinte teste de hipótese, onde
representa os coeficientes dos termos
quadráticos do modelo de regressão (MONTGOMERY, 2017, p.286).
� :∑
=
� :∑
≠
=
=
=
���
�
�
�
(19)
17
>
Rejeita-se a hipótese nula caso
�, ,� −
da tabela da distribuição F-Snecdor, ao nível de significância
, onde
�, ,� −
é o valor
(MONTGOMERRY, 2017,
p.484).
No caso de experimentos fatoriais 2², para testar a presença de efeito da interação dos
fatores no modelo, um teste semelhante pode ser elaborado utilizando a soma dos quadrados
dos efeitos de interação �� , onde
é o coeficiente da interação entre os fatores no modelo
de regressão.
�:
�:
Rejeita-se a hipótese nula caso
=
=
��
distribuição F -Snecdor, ao nível de significância
2.9
≠
�
>
(20)
�, ,� −
onde
�, ,� −
é o valor da
(MONTGOMERRY, 2017, p.484).
Metodologia de Superfície de Resposta
Segundo Montgomery (2017, p.489) Metodologia de superfície de resposta é um
conjunto de técnicas usadas para modelar e analisar problemas nos quais uma resposta de
interesse é influenciada por variáveis independentes e o objetivo é otimizar essa resposta, ou
determinar quais valores das variáveis dependentes a deixam próxima de um valor nominal
desejado (MONTGOMERRY, 2017, p.2). A relação entre a resposta e as variáveis
independentes na maioria das vezes é desconhecida, por isso o primeiro passo da metodologia
de superfície de resposta é achar uma boa aproximação para essa relação. Usualmente
empregam-se modelos de regressão linear de baixa ordem para estimar essa aproximação
(MONTGOMERY, 2017, p.490).
O objetivo da metodologia de superfície de resposta é determinar as condições
ótimas de operação de um sistema ou determinar uma região no espaço n-dimensional das
variáveis independentes onde as condições de operação do sistema são satisfeitas
(MONTGOMERY, 2017, p.491).
2.9.1
Método de máxima inclinação
Quando o objetivo é melhorar o desempenho de um determinado processo, na
maioria dos casos as condições de operação atualmente utilizadas estão longe das condições
que seriam as ótimas. Nessas circunstâncias é desejável a utilização de um método simples e
eficiente para que se possa, através de experimentos, chegar próximo às condições ótimas.
18
Quando se está longe da resposta ótima, é comum assumir que um modelo de
regressão linear de primeira ordem é uma aproximação adequada da relação entre a resposta e
as variáveis independentes (H.MYERS et al., 2016, p.7).
O método de máxima inclinação descendente é um método para mover-se
sequencialmente na direção de máximo decréscimo da resposta. Quando o objetivo é
aumentar o valor da resposta o nome do método altera-se para método de máxima inclinação
ascendente. (MONTGOMERY, 2017, p.491).
De acordo com Myers et al. (2016, p.234) o método de máxima inclinação consiste
nos seguintes procedimentos:
a) Ajustar um modelo de primeira ordem para a resposta em função das
variáveis independentes.
b) Definir um caminho de máxima inclinação ascendente ou descendente para se
buscar o máximo acréscimo, ou máximo decréscimo da resposta
c) Realizar experimentos sequenciais nesse caminho e observar os valores da
resposta. Os valores normalmente apresentarão crescimento ou diminuição de
acordo com o objetivo intencionado. Em alguma região ao longo do caminho
essa melhoria deve diminuir e eventualmente desaparecer. É aconselhável
que o primeiro experimento sequencial seja realizado próximo da região
experimental.
d) Em algum ponto dos experimentos sequenciais a variação na resposta entre
experimentos sucessivos passa por um ponto de inflexão passando de positiva
para negativa no caso de inclinação ascendente, ou de negativa para positiva
no caso de inclinação descendente. Segundo Myers et al. (2016, p.234) uma
boa regra é permanecer na máxima inclinação até que um decréscimo (no
caso de inclinação ascendente) ou um acréscimo (no caso de inclinação
descendente) seja constatado em duas observações consecutivas.
e) Ajustar outro modelo de primeira ordem, numa nova região experimental,
perto do ponto de inflexão encontrado, repetindo os procedimentos 1 a 4 até
que um modelo de primeira ordem não se demonstre mais adequado para o
objetivo de melhorar a resposta. Testes de curvatura (efeito quadrático e
interação) podem ser utilizados para verificar essa adequação.
19
2.9.1.1 Definição da máxima inclinação
Segundo Montgomery (2017, p.495) a máxima inclinação é proporcional aos
coeficientes do modelo de regressão de primeira ordem, tanto em sinal quanto em magnitude.
Matematicamente trata-se da direção do vetor gradiente do modelo de regressão. O que
significa dizer que, para caminhar sobre o caminho de máxima inclinação deve-se alterar os
em quantidades proporcionais aos seus coeficientes ̂ do modelo de
valores das variáveis
primeira ordem ajustado.
Vale ressaltar que durante todo o processo de definição do caminho de máxima
inclinação utilizam-se variáveis codificadas, onde o ponto central é a origem do caminho e
= 0) (H.MYERS et al., 2016, p.235).
O caminho de máxima inclinação da superfície de resposta é definido da seguinte
forma:
a) Escolhe-se uma das variáveis do processo estudado. Geralmente escolhe-se a
variável sobre a qual se tem maior conhecimento, ou a variável que possui o maior
valor absoluto para os coeficientes de regressão (H.MYERS et al., 2016, p.235).
b) Em seguida é preciso definir um tamanho de passo para essa variável. O passo
nada mais é que a variação a ser utilizada no nível da variável durante o caminho
de máxima inclinação. É recomendável escolher um tamanho de passo que permita
proximidade com a região experimental à qual o modelo de primeira ordem foi
ajustado (H.MYERS et al., 2016, p.234).
c) Calcular o passo nas demais variáveis de análise. A equação 21 fornece uma
fórmula para o cálculo do passo nas demais variáveis, onde ∆ é o valor do passo
na variável codificada escolhida, � é o coeficiente do modelo ajustado para essa
variável, � é o coeficiente da variável a qual se deseja descobrir (H.MYERS et al.,
2016, p.239).
∆
=
/∆
=
, ...,
≠
(21)
d) Após calcular o passo é necessário ainda converter a variável codificada em
variável real, para que o valor possa ser utilizado posteriormente em experimentos
sequenciais (H.MYERS et al., 2016, p.239).
20
3
METODOLOGIA
Segundo Lakatos e Marconi (2003, p.221) A metodologia é o tópico do projeto de
pesquisa que abrange maior número de itens, pois responde às seguintes questões: Como?
Com quê? Onde? Quanto?
3.1
Tipo de Pesquisa
Tendo como base para realizar essa classificação os objetivos gerais deste estudo, a
natureza desta é experimental. A investigação experimental ocorre quando se manipula
diretamente as variáveis relacionadas com o objeto de estudo. A manipulação de variáveis
proporciona o estudo da relação entre as causas e os efeitos de determinado fenômeno
(BERVIAN et al., 2006, p.61). Para Gil (1989, p.73) “de modo geral, o experimento
representa o melhor exemplo de pesquisa científica.”
Esta pesquisa envolve tipos diferentes de investigação:
a) Pesquisa bibliográfica, com base em material publicado;
b) Investigação ex post facto, referente a fatos que já ocorreram;
c) Estudo de caso
3.2
Universo e Amostra
O universo da pesquisa teve como referência o processo de transformação dos
arquivos carregados pelos clientes da empresa em bancos de dados. Este processo de
transformação teve seu desempenho acompanhado em investigação experimental, na qual
amostras do tempo de processamento total de arquivos foram coletadas enquanto as variáveis
que influenciam o processo foram manipuladas para que fosse possível estudar as relações de
causas e efeito existentes. As informações adquiridas com essa investigação experimental
foram utilizadas para atingir os objetivos deste estudo.
3.3
Coleta de dados
Neste estudo foram utilizados dois métodos de coleta de dados: pesquisa documental
e observações do processo.
3.3.1
Pesquisa documental
Uma das pesquisas documentais realizadas foi a partir de dados de registros
fornecidos pela empresa. Foram coletados e documentados dados sobre os arquivos
carregados pelos clientes da empresa de quando utilizaram o serviço. Desses dados foram
utilizados o número de linhas e o número de colunas dos arquivos.
21
O apêndice A contém os dados de número de colunas e número de linhas de todos os
setenta e sete (77) arquivos coletados junto a empresa que foram utilizados. A figura 6 mostra
os dados dos arquivos coletados em um gráfico de dispersão considerando o número de
colunas e o número de linhas dos arquivos.
Figura 6 - Dispersão Número de Colunas versus Número de Linhas dos arquivos
Outra pesquisa documental realizada foi a partir de dados sobre o custo de aluguel
por hora das configurações do servidor que foram utilizadas no estudo. O custo de
processamento dos arquivos será registrado somente para fins de acompanhamento. O
apêndice B contém todas as configurações utilizadas nesse estudo durante os experimentos e o
custo por hora de cada uma delas no fornecedor utilizado pela empresa.
3.3.2
Observações do processo
Com o intuito de observar a influência das variáveis independentes: arquivo
carregado pelo usuário, quantidade de memória RAM e número de núcleos da CPU do
servidor no tempo total de processamento do arquivo, amostras do tempo de processamento
total de arquivos foram coletadas por meio de cronometragem digital com precisão de
segundos. O cronômetro digital e a medição foram controlados pelo pesquisador e foi
marcado o tempo decorrido desde o início até o fim do processamento do arquivo. Essa
medição foi feita através do dashboard da plataforma do serviço da empresa, de forma a
simular a utilização de um usuário (cliente) utilizando o serviço. As figuras 6, 7 e 8 mostram a
medição sendo conduzida. O exemplo das figuras foi realizado com um arquivo genérico
22
somente para fins de demonstração. Na figura 7 pode ser visualizado o início da medição,
quando o cronômetro é iniciado e o arquivo começa a ser importado. A quantidade de linhas
do arquivo importado pode ser visualizada nesse instante como mostrado na figura, no canto
esquerdo, a instrução “5000 entries are importing” indica que o arquivo do exemplo tinha
cinco mil linhas.
Figura 7 - Inicio da medição de tempo de processamento.
A figura 8 mostra a mesma medição da figura 7, porém agora em andamento. Podese observar o cronômetro marcando o tempo e a instrução “3500 entries are importing”
indicando o número de linhas do arquivo que ainda restam ser processadas.
23
Figura 8 - Medição de tempo em andamento.
A figura 9 mostra a mesma medição das figuras 8 e 7, porém no instante em que o
cronômetro é paralisado e a medição termina. A instrução “import complete” indica que todas
entradas (linhas do arquivo) foram importadas e processadas com sucesso pelo sistema.
24
Figura 9 - Medição de tempo finalizada
3.4
Análise de Dados
Neste estudo, a análise de dados foi feita conforme os objetivos do estudo e foi
constituída de cinco partes:
a) Inicialmente foi realizada uma análise com os dados de número de linhas e
número de colunas coletados dos arquivos carregados pelos clientes da empresa
para definir qual o número ótimo de grupos (clusters) a se formar com estes
arquivos. Como descrito no item 2.2.4 da seção Revisão de Literatura deste
estudo, o número ótimo é aquele que possibilita a maior homogeneidade entre os
arquivos de um mesmo grupo ao mesmo tempo que proporciona grande
heterogeneidade entre arquivos de grupos distintos.
Posteriormente, os arquivos foram classificados em perfis, utilizando o algoritmo de
clusterização hierárquica complete-link de aglomeração como descrito no item 2.2.3 da
Revisão de Literatura deste estudo, utilizando o número ótimo de clusters encontrado como
condição de parada para o algoritmo. O algoritmo complete-link foi escolhido devido à sua
tendência em formar clusters mais compactos (FRAKES; BAEZA-YATES, 1992). E foi
computado utilizando o software R.
25
b) Em seguida foi definido um arquivo representante para cada um dos perfis
identificados. Cada um desses arquivos foi então utilizado em experimentos
fatoriais 2² previamente planejados, para construir modelos de regressão linear
múltipla para o tempo de processamento de cada arquivo (variável dependente),
em função das variáveis quantidade de memória RAM e quantidade de núcleos
da CPU do servidor (variáveis independentes).
c) A partir de cada modelo construído, os coeficientes de regressão foram usados
para conduzir experimentos sequenciais na superfície de resposta, seguindo o
método de máxima inclinação, descrito no item 2.9.1da Revisão de Literatura.
Nos experimentos sequenciais as configurações do servidor foram variadas e o
desempenho de tempo foi novamente testado, até que se alcançasse a meta para
o tempo de processamento, definida para trinta minutos (mil e oitocentos
segundos).
3.4.1 Determinação do número de clusters
Para determinar o número ótimo de clusters a ser utilizado para dividir os arquivos
coletados em grupos, foi utilizada o pacote Nbclust do software R. para computar diferentes
índices estatísticos de definição do número ótimo de clusters. Segundo Charrad et al. (2014,
p.31) o pacote Nbclust reúne todos os 30 índices estatísticos disponíveis em pacotes do R em
um único pacote a fim de fornecer uma lista exaustiva de índices para estimar o número de
clusters. A função Nbclust() deste pacote foi utilizada conforme as instruções de Charrad
(2014) e recebeu os seguintes valores para os seus argumentos:
a) data: Conjunto de dados formado utilizando-se o número de linhas e o
número de colunas dos arquivos carregados pelos clientes;
b) distance: “euclidean” – Para que a distância euclidiana (equação 1) seja
usada como métrica para definir os clusters;
c) min.nc: 2 - Para que o mínimo número de clusters a ser considerado seja de 2
agrupamentos;
d) Max.nc: 10 - Para que o limite máximo de agrupamentos a ser considerado
seja de dez agrupamentos. Escolheu-se um limite considerado alto apenas
para ter um parâmetro razoável e que ao mesmo tempo não limitasse as
possibilidades do resultado para um número de agrupamentos muito pequeno;
e) method: “complete” – para que o algoritmo utilizado para formar os clusters
seja o hierárquico complete-link;
26
f) Index: “alllong” – para que todos os 30 índices estatísticos disponíveis no
pacote NbClust sejam computados (CHARRAD et al., 2014, p.24).
g) Após computar a função NbClust(), utilizando estes argumentos, o número
ótimo de clusters foi determinado pela regra da maioria, que de acordo com
Charrad et al. (2014, p.24) é aquele que obtiver a maior frequência
considerando todos os índices computados.
3.4.2
Classificação dos arquivos em perfis
Após definido o número ideal de clusters para o conjunto de dados dos arquivos, a
classificação em perfis foi realizada novamente com o software R através da utilização das
funções dist(), hclust() e cutree(). A função dist() constrói a matriz (n x n) de distâncias entre
os padrões do conjunto de dados e foi utilizada conforme as instruções de Meyer (2017)
recebendo os seguintes valores para os seus argumentos:
a) X: vetor de dados formado pelo número de linhas de todos os arquivos
b) Y: vetor de dados formado pelo número de colunas de todos os arquivos.
c) method: “Euclidean” para que seja usada a métrica euclidiana.
O retorno obtido da função dist() é a matriz das distâncias entre cada ponto de dados,
que foi utilizada na função hclust() para computar os clusters. A função hclust() aplica o
algoritmo hierárquico ao conjunto de dados. A função foi utilizada conforme as instruções de
Mllner (2017) com os seguintes valores para os seus argumentos:
a) d: matriz de distância computada com a função dist();
b) method: “complete” para que o critério utilizado para medir à distância entre
dois clusters seja o de complete-link.
O retorno obtido da função hclust() foi a o dendograma representativo do agrupamento
dos dados segundo o método hierárquico de aglomeração, utilizando o critério complete-link.
Este resultado foi utilizado na função cutree(). A função cutree() é a função que corta
horizontalmente o dendograma, para formar um determinado número de clusters. A função
foi utilizada conforme as instruções de Galili (2017) e recebeu os seguintes valores para os
seus argumentos:
tree: O dendograma, resultante da utilização da função hclust();
a) k: o valor do número ótimo, encontrado ao computar a função NbClust() no
item 3.4.1.
O retorno obtido da função cutree() foi um vetor de dados contendo cada um dos
arquivos e o respectivo cluster (perfil) ao qual foi designado.
27
3.4.3
Critério de definição dos arquivos representantes de cada perfil
O critério de definição para o arquivo representante foi: aquele que, dentre todos os
arquivos do perfil, possuir a maior carga de processamento representada pelo produto entre o
seu número de linhas e o seu número de colunas. Quanto maior o número de linhas de um
arquivo maior, é a sua carga de processamento, pois o número de linhas define quantas
páginas web serão criadas a partir do arquivo
De maneira análoga, quanto maior o número de colunas do arquivo, maior é a carga
de processamento, pois cada coluna está associada a uma variável da web template utilizado
no processamento, consequentemente, mais colunas implicam numa maior carga de
processamento. Para efeito de exemplo, um arquivo com dez mil (10.000) linhas e quarenta
(40) colunas corresponderia a dez mil (10.000) páginas criadas e quatrocentas mil (400.000)
operações de processamento a serem executadas pelo servidor.
A intenção deste critério foi utilizar o arquivo que exige mais recursos e potência de
processamento do servidor, para que os resultados finais de desempenho sejam válidos para
todos os outros arquivos do mesmo perfil, uma vez que todos eles possuirão uma carga de
processamento menor do que a carga do arquivo elegido como representante.
Como não foi possível recuperar cópias dos arquivos originais carregados pelos
clientes, foram criados arquivos com o mesmo número de linhas e colunas, porém com
conteúdo genérico no intuito de obter arquivos o mais similar possível aos originais para
serem utilizados nos experimentos. A carga de processamento de cada arquivo está
representada no apêndice A.
3.4.4
Planejamento dos experimentos
Com o objetivo de verificar a influência das variáveis: quantidade de memória RAM
e número de núcleos da CPU configuradas para o servidor no tempo total de processamento
dos arquivos foi elaborado um planejamento experimental fatorial 2² com cinco repetições no
ponto central, como mostra a tabela 3.
Das nove observações no total, quatro são combinações de níveis dos fatores,
proporcionando uma replicação completa do experimento fatorial 2² (MONTGOMERY,
2017, p.179). As outras cinco observações no ponto central têm como objetivo obter uma
estimativa para o erro experimental e testar a presença de efeitos quadráticos e de interação
entre as variáveis independentes, como descrito no item 2.8.2 da Revisão de Literatura.
28
Tabela 3 - Matriz do planejamento fatorial 2²
EXP
Memória RAM
Núcleos
1
-1 (1)
-1 (1)
2
+1 (3)
-1 (1)
3
-1 (1)
+1 (3)
4
+1 (3)
+1 (3)
5
0 (2)
0 (2)
6
0 (2)
0 (2)
7
0 (2)
0 (2)
8
0 (2)
0 (2)
9
0 (2)
0 (2)
Como variável de resposta (dependente) foi avaliado o tempo total de processamento
do arquivo representante do perfil utilizado nos experimentos. Os níveis das variáveis
independentes utilizados foram 1, 2 e 3 GB para a variável quantidade de memória RAM,
assim como de 1, 2 e 3 núcleos para a CPU. Os valores das variáveis foram codificados para
serem utilizados permitindo assim uma melhor análise (MONTGOMERY, 2017, p.290)
utilizando-se a equação 16. O valor codificado “-1” representa o nível baixo, o valor “0”
representa o ponto central e o valor “+1” representa o nível alto dos fatores.
A configuração de 2 GB de memória RAM e 2 núcleos para a CPU foi escolhida
como ponto central inicial por ser a configuração que a empresa utiliza atualmente para os
servidores que aluga. A condução dos experimentos para coletar as observações se iniciou
com o perfil dos arquivos mais leves, isto é, aquele perfil cuja carga de processamento do
arquivo representante foi a menor quando comparada com a dos arquivos representantes dos
demais perfis, e foi usado o planejamento da tabela 3.
O segundo perfil a ser analisado foi o perfil com a segunda menor carga e assim
sucessivamente, até o último perfil. O planejamento a ser utilizado pelos perfis subsequentes
também foi fatorial 2² com cinco repetições no ponto central, porém os níveis das variáveis
independentes foram planejados novamente.
A configuração determinada como ideal pelo perfil anterior na análise de superfície
de resposta, que atingiu a meta de trinta minutos (mil e oitocentos segundos) para o tempo
total de processamento, foi utilizada para configurar o ponto onde as duas variáveis
independentes se encontram em seu nível mais baixo no experimento do perfil subsequente.
29
Com isso, a evolução do desempenho foi observada da configuração menos potente possível à
configuração mais potente necessária para se atingir a meta de desempenho em todos os
perfis.
3.4.5
Construção dos modelos de Regressão Linear
Os experimentos definidos no item 3.4.4 foram utilizados para construir modelos de
regressão linear múltipla para o tempo de processamento de cada arquivo (variável
dependente), em função das variáveis quantidade de memória RAM e quantidade de núcleos
da CPU do servidor (variáveis independentes). Os modelos de regressão foram construídos
computacionalmente utilizando o software R.
Supondo-se que o ponto central inicial dos experimentos (2 GB e 2 núcleos) é um
ponto da superfície de resposta que está longe do nível necessário para se atingir à meta
desejada para resposta, considera-se que um modelo de regressão de primeira ordem é
apropriado para investigação da região experimental e para uma modelagem inicial
(H.MYERS et al., 2016, p.7).
A equação 22 demostra o modelo de regressão polinomial de primeira ordem que foi
utilizado inicialmente, onde y representa a variável de resposta, tempo total de Processamento
do arquivo,
seu coeficiente,
e
representam respectivamente a varável quantidade de memória RAM e
e
representam respectivamente a variável número de núcleos da CPU e
seu coeficiente, e � representa os erros experimentais aleatórios. Já a equação 23 representa o
modelo ajustado que foi computado.
=
+
̂= ̂ + ̂
+
+ ̂
+�
(22)
(23)
Um diagnóstico do modelo ajustado foi realizado utilizando os testes de hipótese
definidos no item 2.8.2 da Revisão de Literatura para testar se havia indícios de curvatura
devido à efeitos quadráticos das variáveis ou de interação das mesmas, desta forma testando
se os modelos eram realmente adequados para as regiões experimentais de análise. O nível de
significância utilizado para todos os testes de hipótese foi de cinco por cento (5%).
3.4.6
Superfície de Resposta – Máxima inclinação descendente
Os coeficientes de regressão ̂ e ̂ definidos para as variáveis independentes no
item 3.4.5, foram utilizados para definir a direção de máxima minimização do tempo de
tempo de processamento. Uma das duas variáveis, CPU ou memória RAM, foi escolhida para
30
definir o passo ao longo do caminho mais íngreme. Foi escolhida a variável que obteve, em
módulo, o maior coeficiente de regressão ajustado (H.MYERS et al., 2016, p.235).
Em seguida foi definido um tamanho de passo ∆
nessa variável, escolhido de
forma a manter-se próximo da região experimental (H.MYERS et al., 2016, p.234). O passo
na outra variável foi calculado através da equação 12. Os valores foram decodificados para se
obter a quantidade real para os passos em memória RAM e em número de núcleos da CPU.
Como não foi possível configurar para os servidores quantidades fracionárias de
Memória RAM ou núcleos de CPU no fornecedor atual da empresa estudada, quando, após a
decodificação das variáveis, foram calculados valores de passo que correspondiam a
quantidades fracionárias, os valores dos passos foram multiplicados por quantidades inteiras
(2, 3 ,4...) até que se obtivessem valores de passo muito próximos a valores configuráveis.
Os passos determinados foram utilizados para novamente observar o desempenho em
experimentos sequenciais, partindo-se do ponto central definido no planejamento dos
experimentos do perfil e seguindo a máxima inclinação. O tempo de processamento do
arquivo foi observado em experimentos sequenciais, até que se obtivesse um tempo de
processamento menor ou igual à meta de tempo estabelecida de trinta minutos (mil e
oitocentos segundos).
A configuração cujo tempo observado satisfez esta condição foi eleita a configuração
ideal a ser utilizada para o processamento de arquivos do perfil analisado e foi utilizada no
planejamento experimental do perfil subsequente.
31
4
ESTUDO DE CASO
4.1
Descrição da Unidade de Análise
A empresa a ser estudada foi a DIGITAR INFORMÁTICA LTDA, que é uma
empresa nacional que presta serviços de tecnologia da informação (TI) e processamento de
dados variáveis. A empresa emprega 15 funcionários e opera no centro do Rio de Janeiro. A
unidade a ser analisada é um serviço de internet criado pela empresa.
4.2
Problema a ser analisado pelo estudo de caso
A empresa passou a oferecer recentemente um serviço de internet recentemente para
alguns de seus clientes. O serviço consiste de uma plataforma online que os usuários podem
utilizar para criar páginas web de suas cobranças (boletos de pagamento) e distribuí-las para
os respectivos destinatários por via eletrônica (e-mail, SMS, push notification).
O sistema criado recebe como input o banco de dados do usuário em forma de
arquivo e utiliza os dados para criar as páginas web e para realizar a distribuição. Um
fluxograma contendo as etapas desse processo pode ser visto na figura 10.
Figura 10 - Etapas do Processo de criação e distribuição.
Na etapa de Processamento dos dados, o sistema utiliza os dados presentes no arquivo
para preencher o conteúdo de uma web template predefinido. A figura 11 contém um exemplo
da web template e de página criada a partir desse processo. O sistema interpreta o banco de
dados do cliente, e substitui o conteúdo entre colchetes ([]) na web template pelo valor
correspondente no banco de dados carregado pelo usuário. Por exemplo: o conteúdo [246], na
web template da figura 10 corresponde à variável linha digitável no banco de dados do cliente.
O sistema processa essa associação e substitui o conteúdo [246] pelo valor de linha digitável
presente no arquivo do usuário. Essa rotina é repetida para cada registro (linha) do arquivo,
desta forma, um input de x linhas dará origem a x páginas web que serão distribuídas para x
destinatários. As informações pessoais do destinatário contidas na figura 11 foram ocultadas
por segurança.
32
Figura 11 - Exemplo de web template e página web criada pelo sistema.
Cada cliente da empresa possui um usuário independente para utilizar o serviço, que é
hospedado em servidores na nuvem, alugando recursos computacionais de hardware (disco
rígido, memória RAM, processadores, largura de banda). O custo desse aluguel depende da
quantidade de recursos que a empresa reserva para o servidor: quanto maior a quantidade de
recursos reservados, maior é o custo por hora do aluguel. A empresa pode variar em tempo
real a quantidade de recursos que aluga na nuvem, alocando mais ou menos memória RAM e
número de núcleos da CPU de um servidor por exemplo (o que é conhecido como vertical
scaling) ou alugando outros servidores (o que é conhecido como horizontal scaling).
A etapa do processo na qual um servidor mais demanda por recursos é a de
processamento dos dados existentes nos arquivos carregados, em função da grande quantidade
de dados que é manipulada e da complexidade das rotinas executadas pelo sistema nessa
etapa. Ao mesmo tempo, a empresa estabeleceu uma meta de 30 minutos (1800 segundos)
33
para o tempo total de processamento de um arquivo, a qual julgou ser satisfatória e deseja
alcançar para poder usar como referência ao fazer campanhas para captação de novos clientes.
Considerando-se que o tempo total de processamento é influenciado pela carga de
processamento gerada pelo determinado input (arquivo carregado pelo cliente) e pela
capacidade de processamento do servidor, que pode ser medida em quantidade de memória
RAM e de núcleos da CPU, a empresa deseja definir qual a configuração ideal que precisa
alugar para obter o desempenho almejado para o tempo total de processamento. De posse
dessa informação poderá utilizar-se dos recursos de vertical e horizontal scaling para garantir
que a quantidade de recursos alugada será sempre adequada para obter um desempenho
satisfatório e também para reduzir seus custos aluguel optando pelas configurações mais caras
somente quando houver real necessidade, de maior potência de processamento.
Definidas estas condições, o problema de pesquisa a ser analisado neste estudo de caso
consiste de duas etapas: a primeira é a identificação dos perfis de input dos usuários através
de uma análise de clusterização, e a segunda é a definição da configuração adequada de
recursos a ser alugada para cada um dos perfis identificados a fim de que se possa atingir o
tempo total de processamento desejado através da aplicação da metodologia de superfície de
resposta, usando o método da máxima inclinação.
4.3
Determinação do número de perfis
Para determinar o número ótimo de perfis foi utilizado o software R com o pacote
NbClust para computar trinta (30) índices estatísticos de definição do número ótimo de
clusters para os dados dos arquivos. Foi utilizada a função NbClust() como indicado no item
3.4.1 da seção Metodologia deste estudo.
A figura 11 mostra o output da função NbClust(): a distribuição de frequência dos
números ótimos de clusters indicados por todos os índices computados.
34
Figura 12 - Distribuição de frequência do número ótimo de clusters.
Com base nos resultados, decidiu-se por fazer a classificação dos arquivos em 3 perfis,
pois foi a quantidade de clusters indicada mais vezes considerando-se todos os índices
computados, com um total de 14 indicações dentre os 30 índices.
4.4
Classificação dos arquivos em perfis
A figura 12 mostra o dendograma completo do resultado da aplicação do algoritmo
hierárquico de aglomeração, conforme descrito no item 3.4.2 da seção de Metodologia deste
estudo. A figura 13 mostra a distribuição final dos arquivos em clusters em um gráfico de
dispersão considerando número de colunas versus número de linhas onde podem ser
visualizados os perfis A, B e C. O apêndice A contém os dados coletados de todos os arquivos
e os perfis aos quais foram designados.
35
Figura 13 - Dendograma resultante da clusterização hierárquica.
Figura 14 - Distribuição dos arquivos em 3 clusters.
4.5
Definição dos arquivos representativos de cada perfil
A tabela 4 mostra os dados dos arquivos que foram escolhidos para representar cada
um dos perfis, segundo o critério de maior carga de processamento de cada perfil descrito no
item 3.4.3 da seção Metodologia deste estudo.
36
Tabela 4 - Arquivos representativos de cada perfil
Perfil
4.6
Número de Linhas Número de Colunas
Carga de processamento
A
95.204
34
3.236.936
B
99.938
55
5.496.590
C
495.143
34
16.834.862
Análise do perfil A
4.6.1 Experimentos realizados – perfil A
Para o perfil A os níveis das variáveis independentes utilizadas em ordem crescente
foram 1, 2 e 3 GB para a quantidade de memória RAM, e de 1, 2 e 3 núcleos para a CPU
configuradas para o servidor. As variáveis foram codificadas utilizando a equação 18 de modo
que o ponto central (
=
e
= ) é o ponto 2 GB e 2 núcleos. Os dados dos experimentos
com o perfil A podem ser encontrados na tabela 5.
Tabela 5 - Resultado experimental do tempo de processamento – perfil A
Memória
Núcleos
Tempo (segundos)
Custo ($)
-1 (1)
-1 (1)
3892
0,069839778
+1 (3)
-1 (1)
3561
0,120282667
-1 (1)
+1 (3)
2929
0,099586
+1 (3)
+1 (3)
2733
0,136270417
0 (2)
0 (2)
2952
0,100532
0 (2)
0 (2)
2889
0,0983865
0 (2)
0 (2)
2995
0,101996389
0 (2)
0 (2)
2927
0,099680611
0 (2)
0 (2)
2986
0,101689889
4.6.2 Modelo de regressão – perfil A.
Os dados da tabela 5 foram utilizados para ajustar um modelo de regressão linear
múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as
variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o
37
software R. O modelo ajustado de regressão encontrado para o perfil A está representado na
equação 24, onde
é a variável codificada para a memória RAM e
a variável codificada
para a quantidade de núcleos da CPU.
̂=
+ −
,
−
,
4.6.3 Diagnóstico do modelo ajustado – perfil A
(24)
Foi feito um diagnóstico para o modelo ajustado para o perfil A, realizando testes para
os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de Literatura
deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar que tais
efeitos sejam significativos:
��
��
=
�� =
[
+
=
=
Como ambos
× ×
��
=
−
−
×
,
=
, −
+
��
=
��
%, ,
e
−
=
��
,
=
,
,
,
]²
,
= ,
,
=
,
são menores que
efeitos quadráticos ou de interação no perfil A.
²
=
=
%, ,
,
,
,
, não há indicação de
4.6.4 Máxima inclinação descendente – perfil A
A variável memória RAM foi escolhida para a definição do passo, pois teve o maior
coeficiente de regressão.
Para que os valores dos passos correspondessem às variações
configuráveis para o servidor. Foi definido um passo ∆
CPU seria ∆
∆
= ,
= , com isso o passo na variável
. Como não é possível variar o número de núcleos em 0,882 unidades
foi aproximado para 1 unidade na variável real. A tabela 6 mostra a evolução da máxima
inclinação descendente para o perfil A. O objetivo de desempenho para o perfil A foi atingido
após quatro passos com a marca de mil setecentos e oitenta e três (1783) segundos para o
tempo de processamento do arquivo e a configuração de 14 GB de memória RAM e 6 núcleos
de CPU.
38
Tabela 6 – Máxima inclinação descendente para o perfil A.
Tempo
Passos
x1
x2
Memória
Núcleos
(segundos)
custo ($)
Origem
0
0
2
2
-
-
∆
3
0,882
3
1
-
-
+∆
3
0,882
5
3
2572
0,17
+ ∆
�� ��
�� ��
+ ∆
6
1,764
8
4
2363
0,23
9
2,646
11
5
2105
0,26
�� ��
+ ∆
12
3,528
14
6
1783
0,27
�� ��
4.7
Análise do perfil B
4.7.1 Experimentos realizados – perfil B
Para o perfil B os níveis das variáveis independentes utilizadas em ordem crescente
foram 14, 16 e 18 GB para a quantidade de memória RAM, e de 6, 7 e 8 núcleos para a CPU
configuradas para o servidor. As variáveis foram codificadas utilizando a equação 10 de
modo que o ponto central (
=
e
= ) é o ponto 16 GB e 7 núcleos. Os dados dos
experimentos com o perfil B podem ser encontrados na tabela 7.
Tabela 7 - Resultado experimental do tempo de processamento – perfil B
Memória
Núcleos
Tempo (segundos)
Custo ($)
-1 (14)
-1 (6)
3756
0,574981
-1 (14)
+1 (8)
3463
0,578417194
+1 (18)
-1 (6)
2919
0,524771333
+1 (18)
+1 (8)
2779
0,538276861
0 (16)
0 (7)
2991
0,519353917
0 (16)
0 (7)
3033
0,52664675
0 (16)
0 (7)
2974
0,516402056
0 (16)
0 (7)
2937
0,509977417
0 (16)
0 (7)
3076
0,534113222
39
4.7.2 Modelo de regressão – Perfil B
Os dados da tabela 7 foram utilizados para ajustar um modelo de regressão linear
múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as
variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o
software R. O modelo ajustado de regressão encontrado para o perfil B está representado na
equação25, onde
é a variável codificada para a memória RAM e
a variável codificada
para a quantidade de núcleos da CPU.
̂=
,
+ −
,
−
4.7.3 Diagnóstico do modelo ajustado – perfil B
,
(25)
Foi feito um diagnóstico para o modelo ajustado para o perfil B, realizando testes de
hipótese para os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de
Literatura deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar
que tais efeitos sejam significativos:
��
��
=
Como ambos
�� =
[
+
× ×
=
=
e
��
=
−
−
×
��
��
=
��
%, ,
,
=
,
, −
+
,
−
=
=
,
,
,
= ,
são menores que
quadráticos ou de interação no perfil B.
]²
,
,
%, ,
=
²
=
,
=
,
,
, não há indicação de efeitos
4.7.4 Máxima inclinação descendente – perfil B
A variável memória RAM foi escolhida para a definição do passo, pois teve o maior
coeficiente de regressão. No caso do perfil B, para que os valores dos passos correspondessem
a variações configuráveis do servidor, foi definido um passo ∆
= , com isso o passo ∆
seria de 0,854. Como, para o planejamento dos experimentos feito para o perfil B, uma
variação de 1 unidade em
equivale a uma variação de 2 GB de memória RAM, e uma
40
variação de 1 unidade em
equivale a uma variação de 1 núcleo de CPU, os valores dos
passos nas variáveis reais foram de 6 GB para memória e 1 núcleo de CPU por passo (o valor
0,854 de ∆
foi aproximado para 1 na variável real).
A tabela 8 mostra a evolução da máxima inclinação descendente para o perfil B. O
objetivo de desempenho foi atingido após três passos com a marca de mil setecentos e vinte
(1720) segundos para o tempo de processamento do arquivo e a configuração de 34 GB de
memória RAM e 10 núcleos de CPU.
Tabela 8 – Máxima inclinação descendente para o perfil B.
Passos
Origem
x1
0
x2
0
Memória
16
Núcleos
7
Tempo
(segundos)
-
∆
3
0,854
6
1
-
-
+∆
3
0,854
22
8
2287
0,64
6
1,708
28
9
2031
0,56
+ ∆
9
2,562
34
10
1720
0,48
�� ��
�� ��
�� ��
4.8
+ ∆
custo ($)
-
Análise do Perfil C
4.8.1 Experimentos realizados – perfil C
Para o perfil C os níveis das variáveis independentes utilizadas em ordem crescente
foram 34, 38 e 42 GB para a quantidade de memória RAM, e de 10, 12 e 14 núcleos para a
CPU configuradas para o servidor. As variáveis foram codificadas utilizando a equação 10 de
modo que o ponto central (
=
e
= ) é o ponto 38 GB e 12 núcleos. Os dados dos
experimentos com o perfil C podem ser encontrados na tabela 9.
41
Tabela 9 - Resultado experimental do tempo de processamento – perfil C
Memória
Núcleos
Tempo (segundos)
Custo ($)
-1 (34)
-1 (10)
3137
0,945718
-1 (34)
+1 (14)
2931
0,955913
+1 (42)
-1 (10)
2463
0,843714
+1 (42)
+1 (14)
2307
0,847182
0 (38)
0 (12)
2731
0,915188
0 (38)
0 (12)
2749
0,92122
0 (38)
0 (12)
2757
0,923901
0 (38)
0 (12)
2773
0,929263
0 (38)
0 (12)
2752
0,922226
4.8.2 Modelo de regressão – perfil C
Os dados da tabela 9 foram utilizados para ajustar um modelo de regressão linear
múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as
variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o
software R. O modelo ajustado de regressão encontrado para o perfil C está representado na
equação 26, onde
é a variável codificada para a memória RAM e
a variável codificada
para a quantidade de núcleos da CPU.
̂=
,
+ −
,
−
4.8.3 Diagnóstico do modelo ajustado – perfil C
,
(26)
Foi feito um diagnóstico para o modelo ajustado para o perfil C, realizando testes
para os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de
Literatura deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar
que tais efeitos sejam significativos:
��
��
=
�� =
[
+
=
=
× ×
��
��
,
−
−
×
=
, −
+
=
−
,
,
,
,
]²
=
²
=
=
,
,
42
=
Como ambos
��
=
��
%, ,
e
=
,
,
= ,
são menores que
efeitos quadráticos ou de interação no perfil C.
, não há indicação de
%, ,
4.8.4 Máxima inclinação descendente – perfil C
A variável memória RAM foi escolhida para a definição do passo, pois teve o maior
coeficiente de regressão. No caso do perfil C, para que os valores dos passos correspondessem
a variações configuráveis do servidor, foi definido um passo ∆
= , com isso o passo ∆
seria de 0,558. Como, para o planejamento dos experimentos feito para o perfil C, uma
variação de 1 unidade em
equivale a uma variação de 4 GB de memória RAM, e uma
variação de 1 unidade em
equivale a uma variação de 2 núcleos de CPU, os valores dos
passos nas variáveis reais foram de 8 GB para memória RAM e 1 núcleo de CPU por passo (o
valor de 1,115 de ∆
foi aproximado para 1 na variável real).
A tabela 10 mostra a evolução da máxima inclinação descendente para o perfil C. O
objetivo de desempenho foi atingido após três passos com a marca de mil seiscentos e doze
(1612) segundos para o tempo de processamento do arquivo e a configuração de 54 GB de
memória RAM e 14 núcleos de CPU.
Tabela 10 - Máxima inclinação descendente para o perfil C.
Tempo
Passos
x1
x2
Memória
Núcleos
(segundos)
custo ($)
Origem
0
0
38
12
-
-
∆
2
1
8
1
-
-
2
0,558
46
13
2170
0,82
4
0,116
54
14
1612
0,68
�� ��
�� ��
+∆
+ ∆
43
5
5.1
OBSERVAÇÕES FINAIS E CONCLUSÕES
Conclusões
O desenvolvimento deste estudo apresentou os seguintes resultados:
a) Os arquivos analisados podem ser enquadrados em um dos seguintes três perfis:
1) perfil A – arquivos de 11.522 até 95.204 linhas e de 29 até 34 colunas.
2) perfil B – arquivos 67.736 de 99.938 linhas e 55 colunas.
3) perfil C – arquivos de 244.096 até 495.143 linhas e com 34 colunas.
b) O objetivo de desempenho para o perfil A foi atingido após três passos com a
marca de mil setecentos e oitenta e três (1783) segundos para o tempo de
processamento do arquivo e a configuração de 14 GB de memória RAM e 6
núcleos de CPU.
c) O objetivo de desempenho para o perfil B foi atingido após três passos com a
marca de mil setecentos e vinte (1720) segundos para o tempo de processamento
do arquivo e a configuração de 34 GB de memória RAM e 10 núcleos de CPU.
d) O objetivo de desempenho para o perfil C foi atingido após três passos com a
marca de mil seiscentos e doze (1612) segundos para o tempo de processamento
do arquivo e a configuração de 54 GB de memória RAM e 14 núcleos de CPU.
Estes resultados foram considerados satisfatórios tanto quanto ao tempo de
processamento quanto ao custo associado. Desta forma este estudo possibilitou que a empresa
melhorasse consideravelmente o desempenho de um processo utilizando metodologias
científicas de forma simples e com baixo custo.
Concluiu-se que:
a) A utilização de técnicas de clusterização possibilitam agrupar conjuntos de dados
de forma relativamente simples mesmo tendo-se pouca informação disponível. É
possível definir um número de grupos ótimo através de estimativas para a
homogeneidade dentro de clusters e da heterogeneidade entre clusters distintos.
b) O planejamento de experimentos e a metodologia de superfície de resposta
constituem um conjunto de ferramentas de simples aplicação que possibilita
estudar e melhorar os processos através de pesquisa experimental.
Durante o estudo houve dificuldade em encontrar bibliografia referente às teorias e
ferramentas aplicadas. Grande maioria bibliografia encontrada nas bases de dados e em
periódicos sobre os temas era voltada à aplicações e estudos de caso como este. Em busca de
conteúdo de cunho mais teórico, para que se pudesse ter base para aplicar as ferramentas ao
44
estudo de caso, acabou-se por concentrar grande parte da revisão de literatura em livros de de
autores conceituados na comunidade científica nas áreas do conhecimento que envolveram os
temas deste estudo. Outra dificuldade foi a escassez dessas obras no idioma nacional, o que
dificultou bastante a pesquisa, dada a necessidade de interpretação dos textos para
compreender e poder aplicar as teorias, bem como citá-las adequadamente e transmitir
corretamente as ideias. Além desses fatos, destaca-se também a escassez de disponibilidade
gratuita das obras teóricas sobre os temas envolvidos. Poucas obras foram encontradas com
disponibilidade total de seu conteúdo, o que dificultou ainda mais a pesquisa. Apesar das
dificuldades e da pouca quantidade de obras de conteúdo didático encontradas para
referenciar o conteúdo deste trabalho (com destaque para a parte de planejamento
experimental e de superfície de resposta) considera-se que a bibliografia encontrada foi
suficiente para abordar completamente os temas de forma satisfatória, de forma que não
comprometeu o desenvolvimento dos objetivos traçados pela falta de acesso ao conhecimento
necessário.
5.2
Sugestões para trabalhos futuros
Considerando o estudo realizado, são sugestões para a continuidade desse trabalho:
a) Rever o estudo incluindo um histórico maior de dados, possibilitando a
identificação de mais perfis de clientes e usuários.
45
6
REFERÊNCIAS BIBLIOGRÁFICAS
CHARRAD, M. NbClust function | R Documentation. Disponível em:
<https://www.rdocumentation.org/packages/NbClust/versions/3.0/topics/NbClust>. Acesso
em: 9/12/2017.
CHARRAD, M.; GHAZZALI, N.; BOITEAU, V.; NIKNAFS, A. NbClust : An R Package for
Determining the Relevant Number of Clusters in a Data Set. Journal of Statistical Software,
Americas Statistical Association Outubro de 2014, v. 61, n. 6,
DEZA, M. M.; DEZA, E. Encyclopedia of distances. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2009. 583 p.
DIAS, A. B. Estimação dos parâmetros do modelo de regressão linear simples pelo método
não paramétrico Santa Maria, Rio Grande do Sul, Brasil, 2005. 49 f. Indicação do tipo de
trabalho Monografia(especialiazação) – Estatística e Modelagem Quantitativa, Universidade
Federal de Santa Maria, Santa Maria. 2005.
FARIA, P. N. Avaliação de Métodos para Determinação do Número Ótimo de Clusters em
Estudo de Divergência Genética Entre Acessos de Pimenta, Viçosa, Minas Gerais, 54 f.
Dissertação(Mestrado), Estatística Aplicada e Biometria, Universidade Federal de Viçosa,
Visoça, Minas Gerais, 2009.
FRAKES, W. B.; BAEZA-YATES, R. Information retrieval: data structures and algorithms.
Upper Saddle River: Prentice-Hall Inc, 1992. 405 p.
GALILI, T. cutree function | R Documentation. Disponível em:
<https://www.rdocumentation.org/packages/dendextend/versions/1.6.0/topics/cutree>. Acesso
em: 9/12/2017.
GIL, A. C. Métodos e Técnicas de Pesquisa Social. 2nd ed. São Paulo: Atlas, 1989. 385 p.
H.MYERS, R.; C.MONTGOMERY, D.; ANDERSON-COOK, M, C. Response Surface
Methodology: Process and Product Optimization Using Designed Experiments. 3rd ed.
Hoboken, New Jersey-USA: John Wiley and Sons, 2016. 837 p.
JAIN, A. K.; DUBES, R. C. Algorithms for Clustering Data. New Jersey-USA: Prentice-Hall,
1988. 344 p.
JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data clustering: a review. ACM Computing
Surveys, Janeiro de 1999, v. 31, n. 3, p. 264–323.
KHURI, A. I.; CORNELL, J. A. Response Surfaces: Designs and Analyses. 2nd ed. New
York: Marcel Dekker, Inc., 1996. 518 p.
MARCONI, M.; LAKATOS, E. Fundamentos de metodologia científica. São Paulo: Atlas,
2003. 310 p.
46
MEYER, D. dist function | R Documentation. Disponível em:
<https://www.rdocumentation.org/packages/proxy/versions/0.4-19/topics/dist>. Acesso em:
9/12/2017.
MLLNER, D. hclust function | R Documentation. Disponível em:
<https://www.rdocumentation.org/packages/fastcluster/versions/1.1.24/topics/hclust>. Acesso
em: 9/12/2017.
MONTGOMERY, D. C. Design and Analysis of Experiments. 9th ed. Phoenix: Arizona State
Universuty, 2017. 734 p.
47
APÊNDICES
Apêndice A - Dados dos arquivos de input coletados e seus clusters.
Web Template Número de linhas Número de colunas Cluster Carga de Processamento
A1
11.522
29
A
334.138
B1
11.812
39
A
460.668
A1
12.084
29
A
350.436
A1
12.420
29
A
360.180
A1
12.654
29
A
366.966
A1
13.046
29
A
378.334
A1
13.230
29
A
383.670
B1
13.352
39
A
520.728
A1
13.853
29
A
401.737
A1
13.944
29
A
404.376
A1
14.307
29
A
414.903
A1
14.680
29
A
425.720
A1
14.760
29
A
428.040
A1
14.985
29
A
434.565
B1
24.036
39
A
937.404
C1
26.339
34
A
895.526
A1
27.111
29
A
786.219
B1
29.585
39
A
1.153.815
A1
34.064
29
A
987.856
A1
34.302
29
A
994.758
B1
35.616
39
A
1.389.024
A1
35.972
29
A
1.043.188
A1
37.580
29
A
1.089.820
A1
39.294
29
A
1.139.526
A1
40.503
29
A
1.174.587
A1
41.916
29
A
1.215.564
A1
42.768
29
A
1.240.272
A1
43.606
29
A
1.264.574
C1
44.280
34
A
1.505.520
A1
45.584
29
A
1.321.936
A1
46.052
29
A
1.335.508
A1
46.596
29
A
1.351.284
A1
46.704
29
A
1.354.416
A1
46.929
29
A
1.360.941
A1
47.553
29
A
1.379.037
48
A1
A1
C1
A1
A1
A1
A1
A1
A1
A1
A1
C1
C1
A1
A1
A1
A1
C1
D1
D1
D1
D1
D1
D1
D1
D1
C1
C1
C1
A1
C1
A1
A1
C1
C1
C1
C1
C1
C1
C1
47.576
47.658
47.865
48.156
49.011
54.670
56.790
59.070
60.880
61.605
66.286
68.541
73.284
75.010
79.119
84.444
88.526
95.204
67.736
72.010
76.003
77.161
80.012
97.004
99.760
99.938
244.096
274.617
278.143
300.137
304.642
334.285
338.790
435.066
435.310
440.910
445.840
448.441
483.368
488.567
29
29
34
29
29
29
29
29
29
29
29
34
34
29
29
29
29
34
55
55
55
55
55
55
55
55
34
34
34
29
34
29
29
34
34
34
34
34
34
34
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C
C
C
C
C
C
C
1.379.704
1.382.082
1.627.410
1.396.524
1.421.319
1.585.430
1.646.910
1.713.030
1.765.520
1.786.545
1.922.294
2.330.394
2.491.656
2.175.290
2.294.451
2.448.876
2.567.254
3.236.936
3.725.480
3.960.550
4.180.165
4.243.855
4.400.660
5.335.220
5.486.800
5.496.590
8.299.264
9.336.978
9.456.862
8.703.973
10.357.828
9.694.265
9.824.910
14.792.244
14.800.540
14.990.940
15.158.560
15.246.994
16.434.512
16.611.278
49
C1
C1
493.025
495.143
34
34
C
C
16.762.850
16.834.862
50
Apêndice B - Custo de aluguel do servidor para cada configuração utilizada.
Memória RAM
(GB)
1
1
2
3
3
5
8
11
14
14
16
18
18
22
28
34
34
38
42
42
46
54
CPU
(núcleos)
1
3
2
1
3
3
4
5
6
8
7
6
8
8
9
10
14
12
10
14
13
14
Custo/hora ($)
0,0646
0,1216
0,1226
0,1224
0,1795
0,2357
0,3447
0,4498
0,5511
0,6013
0,6251
0,6472
0,6973
0,7886
0,9417
1,0853
1,1741
1,2064
1,2332
1,322
1,3698
1,5212