Beruflich Dokumente
Kultur Dokumente
Relatrio de Extrao
de Medidas e Anlise
de Datasets
O relatrio contempla um estudo sobre as medidas realizadas nos
datasets BC-pOct89 (Bellcore) e LAN (Bellcore) para a devida
caracterizao estatsca dos dados coletados e analisados com a
ferramenta R.
1. Introduo
MODELAGEM DE SISTEMAS DE COMPUTAO E COMUNICAO
Pgina 1
Este relatrio refere-se disciplina de Modelagem de Sistemas de Computao e
Comunicao da UNIRIO, como sendo uma das etapas de avaliao, cujo assunto abordado refere-
se Extrao de Medidas e Anlise de Datasets.
2. Ferramentas Utilizadas
Abaixo, encontram-se as configuraes de ambiente que foram utilizadas para a gerao das
medidas de avaliao:
2.1 Hardware
Notebook Dell Vostro 14-5470; 8GB de memria RAM; SDD de 120GB e Processador
Intel Core i5-4210U de 4 gerao com 1.70 GHz.
2.2 Software
3. Parte I
O trace Bellcore (BC-pOct89) consiste de um arquivo texto contendo duas colunas, onde na
primeira coluna tem-se o timestamp do envio de um pacote e na segunda o tamanho do respectivo
pacote em bytes, cujas medidas foram obtidas em 1989 a partir de uma interface Ethernet da rede
Bellcore (Bellcore Morristown Research and Engineering Facility).
A taxa agrupada em bps do pacote corresponde a 1760 observaes dos dados agrupados
por segundos, o que em bpm representa 30 minutos de observaes. Mais adiante sero
Pgina 2
apresentados os resultados do mtodo summary do R para ilustrar estatsticas do trace de Bellcore
considerando as taxas em bps e bpm.
Antes do incio da plotagem grfica e da anlise das medidas estatsticas, foram necessrios
ajustes nos dados, tendo em vista que a primeira coluna do dataset BC-pOct89 encontrava-se no
formato de timestamp, sendo, pois, imprescindvel a customizao do R para que fosse possvel
a utilizao de 7 casas decimais, convertendo-se a varivel timestamp para o formato POSIXlt,
passando como argumento o formato adequado.
Alm das alteraes acima, converteu-se a unidade de tamanho dos pacotes de bytes
para bits para a devida conformidade com o que fora solicitado na demanda do trabalho. Como as
medidas solicitadas esto relacionadas aos dados agrupados respectivamente em bits/s(a) e bits/min
a cada segundo(b), foi necessrio tambm agrupar os dados nessas unidades de tempo.
Nos dados em bits/min, foi necessrio ainda a diviso por 60, visto que a prescrio do
exerccio exige que a srie esteja em bits/min a cada segundo.
#Lendo o Arquivo
traceBC <- read.table(file = '/home/marcio/Documentos/trabalho_estatistica/belcore.TL',
header=TRUE)
#Somando o Tamanho dos Pacotes (bits) a cada segundo, resultando na taxa em bps
taxabps1seg<- aggregate(list(tamanho= traceBC$tamanho), list(segundos =
cut(traceBC$tempo, "1 sec")), sum)
#Somando o tamanho dos pacotes (bits) a cada minuto, resultando na taxa em bpm
bits1min <- aggregate(list(tamanho=traceBC$tamanho), list(minutos = cut(traceBC$tempo,
"1 min")), sum)
#Divide a taxa em bits/min por 60 para conseguir a taxa em bps a cada minuto
taxabps1min <- data.frame(minutos = bits1min$minutos, tamanho= bits1min$tamanho/60)
Pgina 3
Aps a realizao dessas mudanas e, consequentemente, tendo sido ajustadas as unidades,
iniciou-se a fase de plotagem dos grficos para a coleta das mtricas.
Abaixo, mostrada a Tabela 1 com a captura dos principais dados estatsticos da srie
temporal, quais sejam: a menor taxa, primeiro quartil, mediana, mdia, terceiro quartil e a maior
taxa em bps e bpm.
O que resultou no seguinte grfico de sries temporais, obtido com a penltima linha de
comando acima:
Pgina 4
Figura 1
O que se observa na srie temporal da Figura uma grande variao na taxa (bits/s),
bem como uma queda na taxa prximo ao milsimo segundo, seguida por uma tendncia de
deslocamento no nvel da srie (subida na srie).
FIGURA 2
Pgina 5
Seguem tambm os dados da srie em minutos:
Os resumos de cada srie foram obtidos atravs do comando summary() como pode ser
observado a seguir:
Por meio dessas estatsticas iniciais procura-se obter um rpido resumo dos valores
mnimos, mximos, medianos e mdios das sries. Temos ainda o segundo e terceiros quartis
que deixam 25% e 75% dos valores abaixo daqueles indicados nas tabelas 1 e 2. Com o fim
de buscar a melhor caracterizao estatstica, recorremos visualizao grfica dos dados.
4.2 Histogramas
Por meio do histograma possvel ter ideia da assimetria dos dados e, ainda, se h algum
modelo terico de probabilidade aderente com os dados levantados. Observando a Figura 3,
a taxa em bits/s indica assimetria esquerda, com uma cauda mais longa no sentido positivo
do eixo das abscissas.
Para que fosse possvel realizar a plotagem dos histogramas, foram executados os
seguintes comandos:
#Histogramas
hist(taxabps1segts, breaks = 100,prob=TRUE, main = "Histograma da Taxa do Trace
da Bellcore (bits/s)",xlab="bits/s",ylim=c(0,5e-07), col="lightblue")
lines(density(taxabps1segts),lwd=2,col="red")
Pgina 6
FIGURA 3
Observam-se tambm valores isolados com taxas prximas 8Mb/s (8e+06), chamando
a ateno para possveis outliers, valores discrepantes da srie como um todo No entanto,
no h como confirmar esse dado, com base no histograma acima, j que com as velocidades
de Ethernet (10/100/1000), tais taxas podem ser tranquilamente obtidas.
Pgina 7
FIGURA 4
Pgina 8
qqnorm(taxabps1segts)
qqline(taxabps1segts)
FIGURA 5
Pgina 9
FIGURA 6
Analisando o Q-Q Plot da normal na Error! Reference source not found. podemos ter
bons indcios de que a srie no est aderente distribuio normal, visto que os dados se
comportam completamente distintos dos quantis da normal.
Ambos os Q-Q Plots apresentam bons indcios de que as sries no esto aderentes
distribuio normal. Pelos QQ-plot da normal posvel verificar que o dataset se afasta da
distribuio normal de probabilidade, principalmente nas caldas. Se esses dados seguissem
uma distribuio normal eles estariam perfeitamente alinhados com a linha dos quantis da
normal. Os QQ-plot tambm demonstram a presena de outliers nos dados.
Os grficos das CDF`s foram obtidos partir das seguintes linhas no RStudio:
taxasec<-as.vector(taxabps1segts)
taxamin<-as.vector(taxabps1mints)
f<-ecdf(taxabps1segts)
plot(ecdf(taxabps1segts),main="CDF (1/bps)",xlab="bps")
Pgina 10
plot(sort(taxabps1segts),1-f(sort(taxabps1segts)),type="s",ylab="1-F(x)",main="CDF
Compl (bps)",xlab = "bps")
#Minutos
f<-ecdf(taxabps1mints)
plot(ecdf(taxabps1mints),main="CDF (bpm)",xlab="bpm")
plot(sort(taxabps1mints),1-f(sort(taxabps1mints)),type="s",ylab="1-F(x)",main="CDF
Compl (bpm)",xlab = "1/bps")
Uma observao importante que para plotar essas funes grficas, devemos
transformar os dados originais em objeto vetor para o adequado tratamento pelo R. Esse
procedimento foi feito nas primeiras linhas com o comando as.vector(). Tambm foi
necessrio usar um artifcio para obter a CDF complementar ordenando os valores ordenados
por 1-f que representa a complementao para os dados acumulados.
FIGURA 4
Na CDF da Figura , verifica-se, visualmente, que o valor da mediana est entre 2 e 3Mb/s
e que apesar de ser de difcil percepo, novamente percebe-se indcios de cauda longa, visto
que os valores em torno de 8Mb/s quase tangenciam o valor 1.
Pgina 11
FIGURA 5
#Segundos
plot(sort(taxabps1segts),1-f(sort(taxabps1segts)),type="s",ylab="1-F(x)",main="CDF
Compl (bps)",xlab = "bps")
#Minutos
plot(sort(taxabps1mints),1-f(sort(taxabps1mints)),type="s",ylab="1-F(x)",main="CDF
Compl (bpm)",xlab = "1/bps")
Pgina 12
FIGURA 6
A CDF complementar da Figura mostra uma evidncia de cauda longa na srie por
segundos(a), o que ajuda a concluir, somada com as anlises anteriores, que esta srie possui
de fato cauda longa. Isso fica bem claro observando a cauda esquerda que demonstra
probabilidades pequenas para eventos de magnitudes elevadas, como as taxas acima de
6e+06.
Pgina 13
FIGURA 7
8. ACF(Funo de Autocorrelao)
Pgina 14
Os comandos do RStudio para as funes de aucorrelao foram os seguintes:
FIGURA 8
Pgina 15
FIGURA 9
FIGURA 10
Pgina 16
branco. Tambm no h evidncia de cauda pesada na srie por minutos, dado o pequeno
tamanho da amostra da srie (apenas 30 observaes) qualquer concluso ou anlise mais
pormenorizada foi prejudicada, em vista de uma amostra muito pequena, o que compromete
as anlises estatsticas.
9. Skewness
O Skewness mostra a simetria dos dados da distribuio com relao a normal. Se
normal o Skewness igual ao de uma distribuio normal, todavia, verificou-se que ao
analisar os dados do dataset Belcore foi identificado um deslocamento de dados para a
esquerda (Skewness > 0) e uma cauda positiva longa (cauda para a direita) em ambas as
series (a) e (b) conforme a sada do R abaixo:
#Comandos
require(moments)
skewness(taxabps1segts)
skewness(taxabps1mints)
10. Curtose
A Curtose permite verificar o grau de pico ou de achatamento de uma curva. Se o valor
for igual a 3, tem-se uma distribuio normalizada.
#Comandos
kurtosis(taxabps1segts)
kurtosis(taxabps1mints)
Pgina 17
Conclui-se, portanto, que pelos resultados do skewness e da curtose, mostrado que
realmente a taxa em bpm foge do comportamento da distribuio normal e com essas ltimas
anlise h mais evidncias de que no se poder utilizar uma distribuio normal para
modelar as sries apresentadas.
Pelas constataes acima no foi possvel identificar uma distribuio terica que
melhor se adeque ao dados da taxa em bps. Dada a grande variabilidade das taxa, sobretudo
pela mudana de nvel da srie, sendo assim, possvel experimentar uma transformao de
Box-Cox [3] a fim de estabilizar a varincia dos dados ou ainda buscar uma distribuio
normal ou outra distribuio que seja adequada aos dados.
As transformaes mais comuns so: logartmica, inversa e raiz quadrada dos dados
originais.
Pgina 18
FIGURA 11
par(mfrow=c(2,2))
hist(1/taxabps1segts, breaks = 100,prob=TRUE,main= " Histograma do Inverso da
taxa",xlab="1/bps", col = "lightblue")
Pgina 19
lines(density(1/taxabps1segts),lwd=2,col="red")
qqnorm(1/taxabps1segts,main="Normal Q-Q Plot")
qqline(1/taxabps1segts)
require(MASS)
dist<-fitdistr(1/taxasec, "exponential")
Pgina 20
FIGURA 12
Mais uma vez possvel ver que o dataset padro foge da distribuio normal. Essa
concluso indicada tanto pelo histograma que se afasta do formato de sino como pelo QQ-
plot da normal que mostra que os dados no se alinharam com os quantis da normal.
Pela CDF complementar, fica evidenciado que eventos muito raros acontecem com uma
frequncia significativa, uma vez que h um decaimento lento na frequncia dos dados na
cauda da distribuio. Veja que o histograma tambm indica uma cauda pesada, pois eventos
com o inverso da taxa acima de 2e - 06 tem probabilidade no nula.
A ltima etapa do exerccio para o dataset padro consiste em verifica qual melhor
distribuio se adequa srie. Por meio dos histogramas abaixo, percebe-se que uma
distribuio exponencial para a taxa em bps poderia ser adequada.
Pgina 21
equivale ao estimador de mxima verossimilhana para a distribuio exponencial. O
resultado obtido ilustrado no grfico a seguir da Figura .
par(mfrow=c(2,2))
hist(1/taxabps1segts, breaks = 100,prob=TRUE,main= " Histograma do Inverso da
taxa",xlab="1/bps", col = "lightblue")
lines(density(1/taxabps1segts),lwd=2,col="red")
qqnorm(1/taxabps1segts,main="Normal Q-Q Plot")
qqline(1/taxabps1segts)
require(MASS)
dist<-fitdistr(1/taxasec, "exponential")
Pgina 22
FIGURA 13
Pgina 23
12. Parte II
Este dataset foi o segundo dataset a ser escolhido para o trabalho de MSCC, o qual se
encontra disponvel no arquivo que est disponibilizado na seguinte URL: O arquivo
LAN.txt trata da observao de pacotes de dados (em bits), observados em 4000 intervalos
consecutivos de 10ms numa Ethernet. Tais dados foram coletados nas instalaes do Bellcore
Morristown Research Engeneering.
Este dataset foi o segundo dataset a ser escolhido para o trabalho de MSCC, o qual se
encontra disponvel no arquivo que est disponibilizado na seguinte URL:
http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/LAN.txt.
O valor mdio do envio de pacotes nos intervalos considerados ficou em torno de 980
bits e a mediana resultou em 336 bits, indicando que 50% dos tamanhos recepcionados est
abaixo desse valor. Essas informaes esto constadas na Tabela .
Tabela 3
Min 1stQu. Median Mean 3rdQu. Max
0 114 336 980 618,5 12380
O grfico da Figura mostra a srie para 4000 observaes em intervalos de 10 ms, sendo
possvel identificar que h alta frequncia de 0 bits na chegada dos pacotes.
www="http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/LAN.txt"
lan <- read.table(www, head=T)
attach(lan)
bit<-lan$bits
#mtodo summary
summary(bit)
Pgina 24
Require(moments)
skewness(bit)
kurtosis(bit)
FIGURA 14
Pgina 25
lines(density(bit),lwd=2,col="red")
FIGURA 15
#Fac
acf(bit, main ="Correlograma", lag.max = 500)
Pgina 26
FIGURA 16
par(mfrow=c(2,2))
plot(logbit20,main="Srie Logbit")
hist(logbit20, prob=TRUE,breaks = 30,col="lightblue",main="Taxa transformada 20 ms")
lines(density(logbit20),lwd=2,col="red")
Pgina 27
qqnorm(logbit20)
qqline(logbit20)
acf(logbit20)
FIGURA 17
Pgina 28
A transformao logartmica dos dados em 40ms apresentou os resultados da Figura .
lan3 <- read.table(file="lan3.txt", head=F)
head(lan3)
names(lan3)<-c("bit40")
lan40<-ts(bit40,frequency = 1)
logbit40 <- log(1+lan40)
head(logbit40)
par(mfrow=c(2,2))
plot(logbit40,main="Srie Logbit")
hist(logbit40, prob=TRUE,breaks = 30,col="lightblue",main="Taxa transformada 40 ms")
lines(density(logbit40),lwd=2,col="red")
qqnorm(logbit40)
qqline(logbit40)
acf(logbit40, lag.max = 100)
Pgina 29
FIGURA 18
Apesar das investigaes acima no foi possvel verificar um modelo probabilstico para os dados do
segundo dataset. Apenas com as ferramentas grficas no foi possvel afirmar que os dados so
aderentes com alguma distribuio terica.
Pgina 30
[1] LE BOUDEC, J-Y. - Performance Evaluation of Computer and Communication Systems - "free
book" - disponvel em: http://perfeval.epfl.ch/, 2010.
[3] Anlise de Sries Temporais. Pedro A. Morettin, Clelia M.C. Toloi. 2da. Edio, Editora
Blucher, 2006
Pgina 31