O objetivo desta seção é apresentar métodos para descrever a variação de dados. Existem muitas alternativas para o estudo da variabilidade de dados. Além de gráficos e medidas como variância e desvio padrão, podem ser aplicados testes para comparação de variâncias, por exemplo.
Ainda os dados sobre tempo de parada da linha de produção.
Em particular, será estudado o código 31 nesse capítulo
> cod.31<-subset(linha,cod==31,select=c(names(linha)));cod.31
Um gráfico de ramo-e-folhas:
> stem(cod.31$tempo,scale=2) The decimal point is 1 digit(s) to the right of the | 0 | 11222222333333444455566666677777889999 1 | 00000001222223334444455556667778888 2 | 00000011122333344455566788999 3 | 00223378 4 | 0133445677789 5 | 2377778 6 | 0124578 7 | 134467 8 | 9 9 | 7 10 | 3 11 | 55 12 | 4 13 | 14 | 15 | 0 16 | 13 17 | 3 18 | 19 | 8 20 | 21 | 22 | 23 | 9 24 | 25 | 9
Observe que, a distribuição é bastante assimétrica. Existem muitas paradas com até uma hora de duração e poucas com mais de uma hora de duração.
Um histograma:
> hist(cod.31$tempo,nclass=10,col=rainbow(13))
Se for de interesse, pode-se traçar a linha de densidade dos dados.
> hist(cod.31$tempo,prob=T,nclass=10,ylim=c(0,0.035)) > lines(density(cod.31$tempo) ) # insere a linha > rug(cod.31$tempo) # insere uma barra com freq. de pontos
Um box-plot:
> boxplot(cod.31$tempo)
A função boxplot.stats()
fornece informações sobre dados do box plot. Especificamente, $out
mostra as observações que podem ser consideradas candidatos a outlier (dados discrepantes).
> boxplot.stats(cod.31$tempo) $stats [1] 1.0 10.0 20.0 45.5 97.0 $n [1] 156 $conf [1] 15.50921 24.49079 $out [1] 198 163 115 103 124 239 161 173 115 259 150
Dados discrepantes podem fornecer muita informação. Por exemplo, o tempo de parada registrado para esse código, pode estar tendo outras causas que levam a esses valores discrepantes. Obviamente, é necessário checar se esses dados foram obtidos de forma correta.
Além de gráficos, existem várias medidas para analisar a variabilidade.
A variância, definida por
, pode ser obtida com o comando
var()
:
> var(tempo) [1] 2616.395
> tapply(tempo,cod,var) 1 2 5 6 7 8 2557.476190 32.000000 50922.800000 2377.659960 35942.916667 646.598227 9 31 32 33 34 35 28084.500000 1866.541398 1800.000000 151.439545 174.078431 12.370630 36 38 41 43 44 81 303.000000 6.982143 2192.457319 7910.650000 174.500000 3326.000000 82 84 321 322 421 14.596639 6.200000 2.000000 818.719080 47.233766
O desvio padrão, definido como
pode ser obtido com o comando
sd
:
> sd(tempo) [1] 51.1507
> tapply(tempo,cod,sd) 1 2 5 6 7 8 9 50.571496 5.656854 225.660807 48.761255 189.586172 25.428296 167.584307 31 32 33 34 35 36 38 43.203488 42.426407 12.306078 13.193879 3.517191 17.406895 2.642374 41 43 44 81 82 84 321 46.823683 88.941835 13.209845 57.671483 3.820555 2.489980 1.414214 322 421 28.613268 6.872683
O coeficiente de variação, definido como
, pode ser utilizado para avaliar a variabilidade dos dados. Em geral, é útil para comparar medidas semelhantes.
> cod.31<-subset(linha,cod==31,select=c(names(linha)));cod.31 > cod.34<-subset(linha,cod==34,select=c(names(linha)));cod.34 > cv.31<-(sd(cod.31$tempo)/mean(cod.31$tempo))*100;cv.31 [1] 123.1453 > cv.34<-(sd(cod.34$tempo)/mean(cod.34$tempo))*100;cv.34 [1] 84.21625
Nesse exemplo, existe uma maior precisão na variável tempo 34 em relação ao código 31.
Além de estatísticas descritivas, pode-se realizar testes de hipóteses para estudar as variâncias.
Por exemplo, pode ser de interesse testar variâncias com uma valor de referência ou ou comparar variâncias entre processos.
No primeiro caso, pode-se utilizar um teste de qui-quadrado para testar a hipótese
![]() |
![]() |
||
![]() |
![]() |
é o valor da variância referencial.
A estatística de teste é dada por
Como exemplo, pode-se ter interesse em comparar a variância do código 1 em relação a variância total da variável tempo.
> var(tempo) [1] 2616.395 > var(tempo[cod==1]) [1] 2557.476
Utilizando o teste de qui-quadrado,
> var(tempo) [1] 2616.395 > var(tempo[cod==1]) [1] 2557.476 > length(tempo[cod==1]) [1] 7 > qui<-((length(tempo[cod==1])-1)*var(tempo[cod==1]))/var(tempo);qui [1] 5.864887 > qchisq(.95,length(tempo[cod==1])-1) [1] 12.59159 > 1-pchisq(qui,length(tempo[cod==1])-1) [1] 0.4384947
Neste exemplo, não rejeita-se a hipótese nula, ou seja, não há diferença significativa entre a variância do código 1 em relação a variância total.
Se for de interesse testar a hipótese
![]() |
![]() |
||
![]() |
![]() |
pode-se utilizar a estatística de teste baseada na razão de variâncias,
Por exemplo, pode-se ter interesse comparar as variâncias do código 1 e do código 31.
> var.test(tempo[cod==1],tempo[cod==31]) F test to compare two variances data: tempo[cod == 1] and tempo[cod == 31] F = 1.3702, num df = 6, denom df = 155, p-value = 0.4599 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.5500939 6.7029025 sample estimates: ratio of variances 1.370168
Portanto, não rejeita-se a hipótese nula, ou seja, não há evidências para considerar que as variâncias dessas duas amostras diferem.
adilson dos anjos 2008-09-18