GET00130 - Métodos Computacionais para Estatística II
Conteúdo da aula
- Transformação de variáveis;
- Propriedades dos estimadores;
- Distribuição amostral.
1 - Investigando empiricamente alguns resultados teóricos
Alguns resultados importantes, vistos nas disciplinas de Probabilidade II e de Estatística II, são verificados numericamente abaixo.
1.1 - Distribuições amostrais
Abaixo veremos a distribuição amostral de outras estatísticas, além da média já discutida, que são extremamente úteis para a realização de inferências sobre parâmetros de interesse. Aqui, será apresentada, numericamente, a distribuição amostral de uma estatística muito utilizada para a construção de intervalos de confiança e teste de hipóteses.
Suponha que \(X \sim N(\mu,\sigma^2)\). Seja \[S^2 = \sum_{i=1}^n \dfrac{(X_i - \bar{X})^2}{n-1},\] o desvio padrão amostral. Existe um resultado que nos diz que a distribuição de \[Q = \dfrac{(n-1)S^2}{\sigma^2} \sim \chi^2_{(n-1)}.\]
Como poderíamos verificar numericamente esse resultado? Suponha que \(n = 3\), \(\mu = 10\) e \(\sigma^2 = 25\). Vamos seguir os passos abaixo.
#Definindo o objeto onde serão armazenads as amostras
#(cada coluna é uma amostra de tamanho 3)
amostra = matrix(NA,ncol = 10000, nrow = 3)
#Definindo o número de amostras de tamanho n que serão sorteadas
num.amostra = 10000
#Definindo o tamanho de cada amostra
n = 3
#Sorteando as 10000 amostras de tamanho 3
for(i in 1:num.amostra){
amostra[,i] = rnorm(n = n,
mean = 10,
sd = 5)
}
#Calculando a variância de cada amostra
variancia = apply(X = amostra,
MARGIN = 2,
FUN = var)
#Obtendo os valores de Q para cada amostra
valor = ((3- 1)*variancia)/25
#Carregando pacote
library(tidyverse)
#Vamos plotar o histograma dos valores observados de T e acrescentar sob o histograma
#a densidade teórica de uma distribuição t
ggplot(data = tibble(valor),
mapping = aes(x = valor)) +
geom_histogram(aes(y = ..density..),
binwidth = 1,
boundary = 0) +
stat_function(fun = dchisq,
args = list(df = 2),
col = "red") +
labs(x = "q", y = "densidade")Seja \(x_1^{(i)}, x_2^{(i)}, x_{3}^{(i)}\) os valores gerados da i-ésima amostra da distribuição Normal com média 10 e variância 25 \(i = 1, \ldots, 10.000\). Calculamos o valor de \(S^2\) para os 3 valores que compõem a amostra \(i\) e obtivemos uma estimativa \(s^2_i\). Para a amostra de variâncias amostrais, \(s^2_1, \ldots, s^2_{10.000}\), construímos um histograma e comparamos com a distribuição de uma Qui-quadrado com 2 graus de liberdade. O que percebemos é que o histograma acompanha o formato da distribuição, corroborando o resultado teórico. Se o resultado não fosse verdadeiro, o histograma teria um formato diferente da distruição indicada. Naturalmente, estamos pensando que o histograma foi contruído com base em uma amostra suficientemente grande.
1.2 - Transformações de variáveis
A distribuição t-student aparece de forma recorrente nas definições dos intervalos de confiança e nas distribuições de algumas estatísticas utilizadas para realizar testes de hipóteses. De uma forma geral, a distribuição t-student surge da transformação de outras duas variáveis, a distribuição Normal e a distribuição Qui-quadrado. Vejamos o exemplo abaixo.
Seja \(X \sim N(0,1)\) e \(Y \sim \chi_{(10)}\). Qual a distribuição de \[T = \dfrac{X}{\sqrt{Y/10}}?\]
#Vamos checar esse resultado numericamente. Vamos definir um n
#Para obtermos um histograma bem representado, n deve ser grande
n = 1000
#Gere uma amostra de X
normal = rnorm(n,
mean = 0,
sd = 1)
#Gere uma amostra de Y
qui = rchisq(n,
df = 10)
#Calcule o valor de T que define a transformação
base = tibble(t = normal/sqrt(qui/10))
#Vamos plotar o histograma dos valores observados de T e acrescentar sob o histograma
#a densidade teórica de uma distribuição t
ggplot(data = base,
mapping = aes(x = t)) +
geom_histogram(aes(y = ..density..),
bins = 20) +
stat_function(fun = dt,
args = list(df = 10),
col = "red") +
labs(y = "densidade")Primeiramente, chamamos a atenção que \(n\) foi definido grande, uma vez que gostaríamos que o histograma fosse bem representado. Estamos dizendo que para visualizar bem o formato da distribuição de um conjunto de valores por meio de um histograma é necessário ter muitos valores para construir esse histograma, pois suponha que estamos trabalhando com uma amostra de uma distribuição Exponencial de tamanho n = 2, se construirmos o histograma dessa amostra, não conseguiremos enxergar neste histograma a forma da distribuição Exponencial (apesar da amostra ser proveniente de uma Exponencial). somente com muitos valores o histograma nos mostraria a forma de uma distribuição Exponencial, certo?!
Seja \(x_1, \ldots, x_{1000}\) os valores gerados da distribuição Normal com média 0 e variância 1 e \(y_1, \ldots, y_{1000}\) os valores gerados da distribuição Qui-quadrado com 10 graus de liberdade. Após a obtenção desses valores, calculamos o valor \[t_i = \frac{x_i}{\sqrt{y_i/10}},\] e plotamos o histograma da amostra \(t_1, \ldots, t_{1000}\). Sob o histograma obtido, plotamos a função densidade de uma distribuição t-student, e o que percebemos é que o histograma acompanha o formato da distribuição, indicando que esse conjunto de valores \(t_1, \ldots, t_{1000}\) parece ter distribuição t-student (como o resultado teórico afirma)! Caso o histograma não acompanhasse a densidade no gráfico (em vermelho), isso indicaria que \(T\) não possuíria a distribuição indicada.
1.23 - Estimadores consistentes
Suponha que desejamos visualizar de forma numérica algumas propriedades dos estimadores.
Suponha a população \[\{1,3,5,5,7\}.\] Qual o valor da média populacional \(\mu\) neste caso? Vemos que \[\mu = \dfrac{1+ 3 + 5 + 5 + 7}{5} = 4,2.\] Suponha agora, que estamos usando o estimador \[\bar{X} = \sum_{i=1}^{n}\dfrac{X_1 + X_2 + \ldots + X_n}{n},\] para fazermos inferência sobre \(\mu\). Se levantarmos o seguinte questionamento “O estimador em questão é consistente?”
Como responder ao questionamento levantado?
Relembrando que um estimador \(T\) é considerado consistente para o parâmetro \(\theta\), se \(Var(T) \rightarrow 0\) quando n cresce.
#Definindo a nossa população
x = c(1,3,5,5,7)
#Vamos definir o número de amostras de tamanho n que serão sorteadas
num.amostra = 1000
#Definindo os diferentes tamanhos de amostras
n = c(2,100,500,1000,5000,8000,10000)
#Definindo o objeto que guadará as variâncias do estimador X.barra
varEst = NULL
#Vamos investigar a variância de X.barra em 7 cenários (valores distintos de n)
for(i in 1:length(n)){
#Vamos criar o objeto que armazenará as amostras de tamanho n sorteadas
mat.amostras = matrix(NA,
ncol = num.amostra,
nrow = n[i])
#Vamos sortear as 1000 amostras de tamanho n
for(j in 1:num.amostra){
mat.amostras[,j] = sample(x = c(1,3,5,5,7),
size = n[i],
replace = TRUE)
}
#Vamos calcular o nosso estimador para cada amostra obtida
media.amostral = apply(X = mat.amostras,
MARGIN = 2,
FUN = mean)
#Calcular a variância das estimativas das médias amostrais obtidas
varEst[i] = var(media.amostral) #Essa medida é uma estimativa para Var(X.barra)
}
#Armazenando a variância do estimador X.barra e n
resultados = tibble(n = n, variancia = varEst)
#Visualizando os resultados obtidos
resultados# A tibble: 7 x 2
n variancia
<dbl> <dbl>
1 2 2.19
2 100 0.0452
3 500 0.00810
4 1000 0.00408
5 5000 0.000856
6 8000 0.000530
7 10000 0.000431
Percebemos claramente que o comportamento da \(Var(\bar{X})\) diminui a medida que n aumenta. Este resultado numérico, corrobora que o estimador \(\bar{X}\) é um estimador consistente para \(\mu\).