A estatística está presente em nosso dia a dia. Seja quando analisamos as possibilidades e probabilidades acerca de algo trivial ou até mesmo em análise de processos industriais.
Diversos problemas surgem e existem várias técnicas estatísticas, variando deste um simples gráfico de dados até a construção de modelos e estimação de parâmetros.
“Como o uso de estatística ajudará a resolver este problema e que técnica deveria ser utilizada?”
Nessa aula serão apresentados os conceitos básicos dessa ferramenta e sua aplicação no sofware R.
3.1.1.1 Média Aritimética: Somatório de todos os valores de um determinado conjunto, dividitos pela quantidade de dados do mesmo.
\[ \mu =\frac{\sum x_{i}}{n} \]
3.1.1.2 Mediana: Valor médio de um conjunto de dados
3.1.1.3 Moda: Valor que possui maior frequência dentro de um conjunto de dados
3.1.1.4 Quartil: Valor que divide um determinado conjunto de elementos odenados em quatro partes iguais.
3.1.1.5 Percentil: Valor que divide um determinado conjunto de elementos odenados em cem partes iguais.
Exemplo:
Dado o seguinte conjunto de dados:
Dados = c(8, 10, 15, 35, 40, 3, 19, 10, 34, 7)
print(Dados)
## [1] 8 10 15 35 40 3 19 10 34 7
Ordenando em ordem crescente:
sort(Dados)
## [1] 3 7 8 10 10 15 19 34 35 40
Média dos valores:
mean(Dados)
## [1] 18.1
Mediana:
median(Dados)
## [1] 12.5
Quartis:
quantile(Dados)
## 0% 25% 50% 75% 100%
## 3.00 8.50 12.50 30.25 40.00
Frequência:
table(Dados)
## Dados
## 3 7 8 10 15 19 34 35 40
## 1 1 1 2 1 1 1 1 1
Moda:
subset(table(Dados), table(Dados)==max(table(Dados)))
## 10
## 2
3.1.2.1 Desvio Padrão: Indica o grau de variação de um conjunto de dados
População: \[\sigma = \sqrt{\frac{(x_{i}-\mu )^{2}}{n}}\]
Amostra: \[s = \sqrt{\frac{(x_{i}-\mu )^{2}}{n-1}}\]
3.1.2.2 Variância: Raiz quadrado do desvio padrão (\(\sigma\))
População: \[\sigma^{2} = \frac{(x_{i}-\mu )^{2}}{n}\]
Amostra: \[s^{2} = \frac{(x_{i}-\mu )^{2}}{n-1}\]
3.1.2.3 Coeficiente de Variação: Medida da quantidade de variação de um conjunto de dados em relação a média
População: \[C.V.= 100\cdot (\frac{\sigma }{\mu })\]
Amostra: \[C.V.= 100\cdot (\frac{\sigma }{\mu })\]
Exemplo:
Dado o seguinte conjnto de dados:
Dados = c(8, 10, 15, 35, 40, 3, 19, 10, 34, 7)
print(Dados)
## [1] 8 10 15 35 40 3 19 10 34 7
Desvio-Padrão:
sd(Dados)
## [1] 13.38698
Variância:
var(Dados)
## [1] 179.2111
Coeficiente de Variação:
CV = 100*sd(Dados)/mean(Dados)
print(CV)
## [1] 73.96119
Exemplo 1: Para fins de vistoria ambiental e manutenção, a concentração de monóxido de carbono (CO, mg/m³) foi medida em quatro chaminés. A tabela abaixo representar os valores medidos:
chamine = read.table("Aula1chamine.txt", header=TRUE)
print(chamine)
## Amostra Cham1 Cham2 Cham3 Cham4
## 1 1 40.5 41.64 35.00 44.50
## 2 2 41.5 58.36 37.00 45.00
## 3 3 42.5 42.29 42.00 45.50
## 4 4 43.5 57.71 53.90 46.00
## 5 5 44.5 42.93 53.00 46.50
## 6 6 45.5 57.07 50.60 47.00
## 7 7 46.5 43.57 50.50 47.50
## 8 8 47.5 56.43 53.80 48.00
## 9 9 48.5 44.21 52.50 48.50
## 10 10 49.5 55.79 53.60 49.00
## 11 11 50.5 44.86 50.40 49.50
## 12 12 51.5 55.14 52.20 50.00
## 13 13 52.5 45.50 52.70 50.50
## 14 14 53.5 54.50 52.40 51.00
## 15 15 54.5 46.14 52.70 51.50
## 16 16 55.5 53.86 51.40 52.00
## 17 17 56.5 46.79 53.80 52.50
## 18 18 57.5 53.21 52.90 53.00
## 19 19 58.5 47.43 56.81 72.71
## 20 20 59.5 52.57 42.79 49.79
Obs: O comando summary calcula a média, mediana, valor mínimo e máximo e primeiro e terceiro quartis.
tabela = matrix(c(summary(chamine$Cham1), summary(chamine$Cham2), summary(chamine$Cham3), summary(chamine$Cham4)), nrow=6, ncol=4)
colnames(tabela) <- c('Chaminé 1', 'Chaminé 2', 'Chaminé 3', 'Chaminé 4')
rownames(tabela) <- c('Mínimo', '1ª Quartil', 'Mediana', 'Média', '3ª Quartil', 'Máximo')
print(tabela)
## Chaminé 1 Chaminé 2 Chaminé 3 Chaminé 4
## Mínimo 40.50 41.64 35.00 44.50
## 1ª Quartil 45.25 44.70 50.48 46.88
## Mediana 50.00 50.00 52.45 49.25
## Média 50.00 50.00 50.00 50.00
## 3ª Quartil 54.75 55.30 53.15 51.12
## Máximo 59.50 58.36 56.81 72.71
Procedimento manual:
Ordenar valores
Encontrar a amplitude total: \(A = x_{max} - x_{min}\)
Estimar o número de classes: \(2^{k}\geq n\)
Estimar o tamanho de cada intervalo de classe: \(C = \frac{A}{k}\)
COntar o número de observações que caem em cada intervalo de classe (subintervalo), frequência.
Determinar a frequência relativa do intervalo: \[F_{relativa} = \frac{frequência}{Total}\]
Construir o gráfico
Procedimento computacional:
par(mfrow = c(2,2))
hist(chamine$Cham1, main = "Chaminé 1", xlab = "Concentração", ylab = "Frequência")
hist(chamine$Cham2, main = "Chaminé 2", xlab = "Concentração", ylab = "Frequência")
hist(chamine$Cham3, main = "Chaminé 3", xlab = "Concentração", ylab = "Frequência")
hist(chamine$Cham4, main = "Chaminé 4", xlab = "Concentração", ylab = "Frequência")
par(mfrow = c(2,2))
boxplot(chamine$Cham1,main = "Chaminé 1")
boxplot(chamine$Cham2,main = "Chaminé 2")
boxplot(chamine$Cham3,main = "Chaminé 3")
boxplot(chamine$Cham4,main = "Chaminé 4")
Ferramenta que possibilita a observação e comprovação matetmática de correlação entre um conjunto de dados.
O índice de correlação (\(r\)) pode ser calculado da seguinte forma:
\[r = \frac{\sum (x_{i} - \bar{x})\, (y_{i} - \bar{y})}{\sqrt{\sum (x_{i} - \bar{x})^{2}\, (y_{i} - \bar{y})^{2}}}\]
par(mfrow = c(2,2))
plot(chamine$Amostra, chamine$Cham1, main = "Chaminé 1", xlab = "Amostra", ylab = "Concentração", type = "b")
plot(chamine$Amostra, chamine$Cham2, main = "Chaminé 2", xlab = "Amostra", ylab = "Concentração", type = "b")
plot(chamine$Amostra, chamine$Cham3, main = "Chaminé 3", xlab = "Amostra", ylab = "Concentração", type = "b")
plot(chamine$Amostra, chamine$Cham4, main = "Chaminé 4", xlab = "Amostra", ylab = "Concentração", type = "b")
O Diagrama de Pareto é uma técnica estatística que tem por finalidade auxiliar-mos na tomada de decisão. Sua técnica consiste em contruir um gráfico de barras que ordene as frequências das ocorrências em ordem decrescente, o que permite a priorização dos problemas. O objetivo é vizualizar e identificar as causas mais importantes dos problemas e assim, otimizar a sua resolução.
Exemplo:
Uma indústria química contabilizou os motivos pelos quais houve algum problema na estação de tratamento de efluentes durante um ano. Construa e analise o Diagrama de Pareto utilizando os dados acima.
require(qcc)
## Loading required package: qcc
## Package 'qcc', version 2.6
## Type 'citation("qcc")' for citing this R package in publications.
x=c(55,38,22,8,7,4,2)
names(x)=c("Lavagem de equipamentos do processo","Decantação ineficiente dos clarificadores","Excesso de águas pluviais","Falta de energia","Quebra de bomba","Falta de suprimentos","Diversos")
pareto.chart(x,ylab="Ocorrências",main="Problemas na estação de tratamento de efluentes",
col=rainbow(length(x)))
##
## Pareto chart analysis for x
## Frequency Cum.Freq. Percentage
## Lavagem de equipamentos do processo 55 55 40.441176
## Decantação ineficiente dos clarificadores 38 93 27.941176
## Excesso de águas pluviais 22 115 16.176471
## Falta de energia 8 123 5.882353
## Quebra de bomba 7 130 5.147059
## Falta de suprimentos 4 134 2.941176
## Diversos 2 136 1.470588
##
## Pareto chart analysis for x
## Cum.Percent.
## Lavagem de equipamentos do processo 40.44118
## Decantação ineficiente dos clarificadores 68.38235
## Excesso de águas pluviais 84.55882
## Falta de energia 90.44118
## Quebra de bomba 95.58824
## Falta de suprimentos 98.52941
## Diversos 100.00000
vazao <- read.table("Aula1vazao.txt")
print(vazao$V2)
## [1] 104 114 119 104 102 81 78 90 93 94 96 112 95 74 92 97 85
## [18] 95 96 96 93 89 95 90 100 87 87 96 98 81 98 106 90 128
## [35] 80 106 99 122 99 127 95 107 82 109 100 105 94 92 106
hist(vazao$V2, main = "Histograma", xlab = "Vazão", ylab= "Frequência")
fornecedor <- read.table("Aula1fornecedor.txt")
print(fornecedor)
## V1 V2 V3
## 1 22.02 21.49 20.33
## 2 23.83 22.67 21.67
## 3 26.67 24.62 24.67
## 4 25.38 24.18 22.45
## 5 25.49 22.78 22.29
## 6 23.50 22.56 21.95
## 7 25.90 24.46 20.49
## 8 24.89 23.79 21.81
par(mfrow = c(2,2))
boxplot(fornecedor$V3,main = "Fornecedor 1")
boxplot(fornecedor$V2,main = "Fornecedor 2")
boxplot(fornecedor$V1,main = "Fornecedor 3")
oct = read.table("Aula1octanagem.txt")
print(oct)
## V1
## 1 88.5
## 2 87.7
## 3 83.4
## 4 86.7
## 5 87.5
## 6 94.7
## 7 91.1
## 8 91.0
## 9 94.2
## 10 87.8
## 11 84.3
## 12 86.7
## 13 88.2
## 14 90.8
## 15 88.3
## 16 90.1
## 17 93.4
## 18 88.5
## 19 90.1
## 20 89.2
## 21 89.0
## 22 96.1
## 23 93.3
## 24 91.8
## 25 92.3
## 26 89.8
## 27 89.6
## 28 87.4
## 29 88.4
## 30 88.9
## 31 91.6
## 32 90.4
## 33 91.1
## 34 92.6
## 35 89.8
## 36 90.3
## 37 91.6
## 38 90.5
## 39 93.7
## 40 92.7
## 41 90.0
## 42 90.7
## 43 100.3
## 44 96.5
## 45 93.3
## 46 91.5
## 47 88.6
## 48 87.6
## 49 84.3
## 50 86.7
## 51 89.9
## 52 88.3
## 53 92.7
## 54 93.2
## 55 91.0
## 56 98.8
## 57 94.2
## 58 87.9
## 59 88.6
## 60 90.9
## 61 88.3
## 62 85.3
## 63 90.0
## 64 88.7
## 65 89.9
## 66 90.4
## 67 90.1
## 68 94.4
## 69 92.7
## 70 91.8
## 71 91.2
## 72 89.3
## 73 90.4
## 74 89.3
## 75 89.7
## 76 90.6
## 77 91.1
## 78 91.2
## 79 91.0
## 80 92.2
## 81 92.2
## 82 92.2
x = 1:82
plot(x,oct$V1, main = "Dispersão", xlab = "Amostras", ylab = "Octanagem")
summary(oct$V1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 83.40 88.60 90.40 90.49 92.10 100.30
boxplot(oct$V1)