Contexto
Como proposta da disciplina CE087 (Estatística Computacional II), vamos comparar as propriedades de três estimadores da média de uma população, a média aritmética, a trimédia e o mid-range. Para isso, decidimos trabalhar com 6 diferentes cenários, buscando explorar o desempenho de cada estimador diante de diferentes situações.
Introdução
Podemos definir como um bom estimador aquele que possui menor viés, menor variância, e maior constância na estimação do parâmetro em questão. A seguir, examinaremos abordagens analíticas para avaliar esses critérios.
- Vício
Por definição, o vício (bias) de um estimador \(\theta\) pode ser calculado como:
\[B(\hat\theta)= E(\hat\theta)-\theta\]
Assim, conforme \(E(\hat{\theta})\) se aproxima do verdadeiro valor de \(\theta\), \(B(\hat{\theta})\) se aproxima de \(0\), configurando um estimador não viciado (esperança do estimador é igual ao valor do parâmetro).
- Variância
Escolher um estimador com menor variância proporciona estimativas mais precisas e consistentes do parâmetro de interesse, reduzindo a dispersão dos valores estimados. Além da variância, podemos calcular o erro padrão do estimador, importante para testes de hipóteses e intervalos de confiança, da seguinte forma:
\[EP(\hat\theta)=\sqrt{Var(\hat\theta)}\]
- Erro Quadrático Médio (EQM)
O erro quadrático médio é uma medida que equilibra o vício e a variância de um estimador. Se o estimador for não viciado, seu EQM é igual à sua variância. Seu cálculo é feito da seguinte forma:
\[EQM = V(\hat\theta)+[B(\hat\theta)]^2\]
Assim, valores mais baixos indicam estimativas mais precisas.
- Eficiência Relativa
A eficiência relativa entre dois estimadores é definida como:
\[Efr(\hat\theta_1,\hat\theta_2) = \frac{EQM(\hat\theta_1)}{EQM(\hat\theta_2)}\]
Dessa forma, se \(Efr(\hat\theta_1,\hat\theta_2) < 1\), concluimos que \(\hat\theta_1\) fornece estimativas mais precisas para o parâmetro em consideração (e vice-versa).
Embora tenhamos listado formas analíticas de avaliar o desempenho de um estimador neste tópico, nosso trabalho priorizará técnicas computacionais, por meio de simulação, para uma análise mais prática e abrangente.
Cenários
Para comparar o desempenho dos estimadores, decidimos seguir o seguinte roteiro:
Gerar 100 observações da distribuição desejada
Calcular a média aritmética, a trimédia, e o mid-range
Armazenar os resultados em um data frame
Repetir o processo (1000 vezes)
Analisar a distribuição das médias e comparar a média das médias (\(\hat{\mu}\)) com o verdadeiro valor de \(\mu\)
Calcular o erro quadrático médio, o erro padrão e a eficiência relativa (a pares) dos estimadores
Considerar as linhas azuis dos gráficos de dispersão como o valor do parâmetro da distribuição e as linhas vermelhas como a média das médias calculadas.
Distribuição Normal
No caso da distribuição normal com média 0 e desvio padrão 1, o primeiro cenário (mais simples) que imaginamos, os três estimadores atuaram de forma similar, com distribuições muito parecidas. Apesar disso, a média aritmética foi mais eficiente em relação aos outros estimadores, seguida pela trimédia. Mesmo com um desempenho levemente inferior, o mid-range apresentou medidas muito similares aos outros estimadores.
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- rnorm(100)
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(-0.4, 0.4), ylim = c(0, 200))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(-0.4, 0.4), ylim = c(0, 200))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(-0.4, 0.4), ylim = c(0, 200))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.3))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.3))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.3))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit), mean(df$trimedia), mean(df$mid_range),sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit))^2), (var(df$trimedia)+(mean(df$trimedia))^2), (var(df$mid_range)+(mean(df$mid_range))^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | 0.0022111 | 0.0037514 | 0.0056183 |
| Erro Padrão | 0.0978674 | 0.1104885 | 0.1081603 |
| EQM | 0.0095829 | 0.0122218 | 0.0117302 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 0.7840854
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 0.8169422
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 1.041905
Distribuição Normal com Outlier
Para o segundo cenário, geramos 99 observações de uma N(0,1) e uma observação fixa (25), com o intuito de observar o efeito de um outlier ao conjunto de dados. Assim, percebemos que o desempenho da média aritmética é muito diferente, com maiores viés, erro padrão, e EQM, além de eficiência muito inferior. Por fim, quando comparamos a trimédia e o mid-range, vemos que os dois tiveram performances similares.
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- rnorm(99) ; dados[100] <- 25
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(-0.3, 0.6), ylim = c(0, 200))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(-0.3, 0.6), ylim = c(0, 200))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(-0.3, 0.6), ylim = c(0, 200))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.6))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.6))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(-0.4, 0.6))
abline(h = 0, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit), mean(df$trimedia), mean(df$mid_range),sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit))^2), (var(df$trimedia)+(mean(df$trimedia))^2), (var(df$mid_range)+(mean(df$mid_range))^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | 0.2522826 | 0.0175661 | 0.0217391 |
| Erro Padrão | 0.0981642 | 0.1102154 | 0.1096493 |
| EQM | 0.0732827 | 0.0124560 | 0.0124956 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 5.883322
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 5.864696
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 0.9968342
Distribuição Exponencial
Já com dados da distribuição exponencial com média 1, quando analisamos os gráficos scatter, vemos uma diferença gritante entre os estimadores, com um ótimo desempenho da média aritmética, que tem a média das médias centradas em 1. Além disso, o estimador mid-range teve um desempenho superior ao estimador trimédia.
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- rexp(100)
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(0.4, 1.4), ylim = c(0, 250))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(0.4, 1.4), ylim = c(0, 250))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(0.4, 1.4), ylim = c(0, 250))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.5, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.5, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.5, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit)-1, mean(df$trimedia)-1, mean(df$mid_range)-1,sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit)-1)^2), (var(df$trimedia)+(mean(df$trimedia)-1)^2), (var(df$mid_range)+(mean(df$mid_range)-1)^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | -0.0055265 | -0.2375601 | -0.1667842 |
| Erro Padrão | 0.0992148 | 0.0883815 | 0.0978720 |
| EQM | 0.0098741 | 0.0642461 | 0.0373959 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 0.1536921
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 0.2640429
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 1.717999
Distribuição Uniforme
Para explorar casos mais limitados, geramos dados com distribuição U(0,1). Para a nossa surpresa, os três estimadores tiveram ótimas performances (trimédia e mid-range apresentaram maior dispersão, no entanto). Apesar disso, o estimador média aritmética se mostrou mais eficiente.
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- runif(100)
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(0.35,0.65), ylim = c(0,300))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(0.35,0.65), ylim = c(0,300))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(0.35,0.65), ylim = c(0,300))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.35, 0.6))
abline(h = 0.5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.35, 0.6))
abline(h = 0.5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.35, 0.6))
abline(h = 0.5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit)-0.5, mean(df$trimedia)-0.5, mean(df$mid_range)-0.5,sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit)-0.5)^2), (var(df$trimedia)+(mean(df$trimedia)-0.5)^2), (var(df$mid_range)+(mean(df$mid_range)-0.5)^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | 0.0014706 | 0.0019910 | 0.0016843 |
| Erro Padrão | 0.0287842 | 0.0394147 | 0.0355739 |
| EQM | 0.0008307 | 0.0015575 | 0.0012683 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 0.5333539
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 0.654944
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 1.227973
Distribuição Poisson
Aqui, decidimos gerar alguns dados com distribuição discreta (poisson com média 5). Nesse cenário, a média aritmética teve uma boa performance, com uma curva bem definida ao redor do valor real do parâmetro. Apesar disso, os outros estimadores acertaram bastante, um ponto positivo, mas erraram muito também (frequência muito alta de valores incorretos).
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- rpois(100, lambda = 5)
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(3,6), ylim = c(0,400))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(3,6), ylim = c(0,400))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(3,6), ylim = c(0,400))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(4, 6))
abline(h = 5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(4, 6))
abline(h = 5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(4, 6))
abline(h = 5, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit)-5, mean(df$trimedia)-5, mean(df$mid_range)-5,sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit)-5)^2), (var(df$trimedia)+(mean(df$trimedia)-5)^2), (var(df$mid_range)+(mean(df$mid_range)-5)^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | 0.0124000 | -0.0988125 | -0.1046250 |
| Erro Padrão | 0.2270189 | 0.2821778 | 0.3686786 |
| EQM | 0.0516913 | 0.0893882 | 0.1468703 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 0.5782791
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 0.3519523
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 0.6086201
Distribuição Poisson com Muitos Zeros
Para provocar um “desconforto” na estimação da média e encontrar maiores diferenças entre os estimadores, decidimos trabalhar também com uma poisson de média 1 (muitas ocorrências do valor 0).
- Simulação
set.seed(13)
n <- 1000
df <- data.frame(media_arit = numeric(n), trimedia = numeric(n), mid_range = numeric(n))
for (i in 1:n) {
dados <- rpois(100, lambda = 1)
df[i, "media_arit"] <- mean(dados)
df[i, "trimedia"] <- (quantile(dados, 0.25) + 2 * quantile(dados, 0.5) + quantile(dados, 0.75)) / 4
df[i, "mid_range"] <- (quantile(dados, 0.25) + quantile(dados, 0.75)) / 2
}
- Análise Gráfica
# Histograma
par(mfrow = c(1,3))
hist(df$media_arit, col = "salmon", main = "Média Aritmética", xlab = "mu.hat", xlim = c(0.2,1.6), ylim = c(0,600))
hist(df$trimedia, col = "salmon", main = "Trimédia", xlab = "mu.hat", xlim = c(0.2,1.6), ylim = c(0,600))
hist(df$mid_range, col = "salmon", main = "Mid-range", xlab = "mu.hat", xlim = c(0.2,1.6), ylim = c(0,600))
# Scatterplot
par(mfrow = c(1,3))
plot(df$media_arit ~ c(1:1000), col = "darkgrey",
main = "Média Aritmética", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.2, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$media_arit), col = "#ff5454", lwd = 1.8)
plot(df$trimedia ~ c(1:1000), col = "darkgrey",
main = "Trimédia", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.2, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$trimedia), col = "#ff5454", lwd = 1.8)
plot(df$mid_range ~ c(1:1000), col = "darkgrey",
main = "Mid-range", xlab = "Amostra", ylab = "mu.hat", ylim = c(0.2, 1.4))
abline(h = 1, col = "steelblue", lwd = 1.8)
abline(h = mean(df$mid_range), col = "#ff5454", lwd = 1.8)
- Viés, Erro Padrão e EQM
dados2 <- c(mean(df$media_arit)-1, mean(df$trimedia)-1, mean(df$mid_range)-1,sd(df$media_arit), sd(df$trimedia), sd(df$mid_range), (var(df$media_arit)+(mean(df$media_arit)-1)^2), (var(df$trimedia)+(mean(df$trimedia)-1)^2), (var(df$mid_range)+(mean(df$mid_range)-1)^2))
tabela <- data.frame(t(matrix(dados2,3,3)))
coluna <- c("Media Aritmética", "Trimédia", "Mid-range")
linha <- c("Viés", "Erro Padrão", "EQM")
tabela <- `colnames<-`(tabela,coluna)
tabela <- `row.names<-`(tabela, linha)
kable(tabela)
| Media Aritmética | Trimédia | Mid-range | |
|---|---|---|---|
| Viés | 0.0073300 | -0.0972500 | -0.1885000 |
| Erro Padrão | 0.1021715 | 0.1274605 | 0.2390605 |
| EQM | 0.0104927 | 0.0257037 | 0.0926821 |
- Eficiência Relativa
# Média Aritmética x Trimédia
tabela[3,1]/tabela[3,2]
## [1] 0.4082183
# Média Aritmética x Mid-range
tabela[3,1]/tabela[3,3]
## [1] 0.1132121
# Trimédia x Mid Range
tabela[3,2]/tabela[3,3]
## [1] 0.2773322
Conclusão
A média aritmética apresentou um bom desempenho na maioria dos cenários, apesar de ser muito sensível a outliers. Os estimadores trimédia e mid-range tiveram performances similares e se destacaram na presença de outliers, sendo ótimos substitutos ao estimador convencional nesse sentido. Por fim, é interessante destacar que a análise gráfica foi importante, ao percebermos alguns padrões que passariam em branco nos cálculos.