Variância da Variância Amostral (Teórica).

Variância Amostral

\[ S^2=\frac{1}{n-1}{\sum_{i=1}^{n}(X_i-\bar{X})^2}=\frac{1}{2n(n-1)}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}(X_i-X_j)^2. \]

Cálculo de \(Var(S^2)\) para população normal.

Dada uma amostra aleatória \(X_1,X_2,\cdots,X_n\) de uma população \(N(\mu,\sigma^2)\), temos que:

\[ Var(S^2)=\frac{3\sigma^4}{n}- \frac{\sigma^4(n-3)}{n(n-1)} \]

Implementação da fórmula

## Variancia da Variancia Amostral Teorica
Var.S2<-function(mu,sigma){
  3*sigma^4/n - (sigma^4/n)*( (n-3)/(n-1) )
}

Variância da Variância Amostral (Simulada).

#===============================================================#
#===== Implementacao: Variancia da Variancia Amostral ==========#
#===============================================================#

## Variancia Amostral (1o Modo)
var.amostral1<-function(X){
  n<-length(X)
  x.bar<-mean(X)
  (1/(n-1))*sum((X-x.bar)^2)
}

## Variancia Amostral (2o Modo)
var.amostral2<-function(X){
  dif.square<-NULL
  n<-length(X)
  for (i in 1:n){
    for (j in 1:n){
      dif.square<-c(dif.square,(X[i]-X[j])^2)
    }
  }
 (1/(2*n*(n-1)))*sum(dif.square)
}

## Variancia Amostral (3o Modo)
var.amostral3<-function(X){
  n<-length(X) ; Y<-X
  (1/(2*n*(n-1)))*sum(sapply(X,\(X)(sum( (Y - X)^2 ))))
}

X<-rnorm(100,2,3)
## Resultados
setNames(c(var.amostral1(X),var.amostral2(X), var.amostral3(X), var(X)),
           c("var.am1", "var.am2","var.am3"," var.am.Rbase"))
##       var.am1       var.am2       var.am3  var.am.Rbase 
##       9.65702       9.65702       9.65702       9.65702
n<-100 ; N<-1e4 ; mu<-2 ; sigma<-3
vet.S2.sim<-NULL 
for (i in 1:N){
  X<-rnorm(n,mu,sigma)
  vet.S2.sim[i]<-var.amostral3(X)
}

Comparação dos resultados

setNames(c(var(vet.S2.sim),Var.S2(2,3)), 
         c("Var(S^2). Simulada "," Var(S^2). Teorica"))
## Var(S^2). Simulada    Var(S^2). Teorica 
##            1.625561            1.636364