Interval keyakinan untuk varian untuk distribusi normal

Aug 20 2020

Misalkan saya memiliki pengamatan $a_{1},...,a_{n}$ dari $X_{1},...,X_{n}$ independen $\mathcal{N}(m_{1}, m_{2})$Variabel acak terdistribusi, di mana $m_{1}=E(X_{i})$ dan $m_{2}=Var(X_{i})$, $i=1,...n$. Bagaimana cara membuat file$95$% interval kepercayaan batas atas untuk $\frac{1}{\sqrt(m_{2})}$?

Jawaban

3 BruceET Aug 21 2020 at 04:48

Dalam notasi yang lebih tradisional, yang lebih mungkin Anda temui jika Anda melihat di internet atau di berbagai buku teks, misalkan $X_1, X_2, \dots, X_n$ adalah sampel acak dari $\mathsf{Norm}(\mu, \sigma)$ dan Anda mencari CI 95% untuk varians populasi $\sigma^2,$ dimana tidak keduanya $\mu$ norma $\sigma$ dikenal.

Hubungan dengan distribusi khi-kuadrat yang disebutkan dalam komentar adalah: $$\frac{(n-1)S^2}{\sigma^2} \sim \mathsf{Chisq}(\nu = n-1),$$ dimana $\sigma^2$ diperkirakan oleh $S^2 = \frac{1}{n-1}\sum_{i=1}^n (X_u - \bar X)^2$ dan $\mu$ diperkirakan oleh $\bar X = \frac 1n\sum_{i=1}^n X_i.$

Dari sini, Anda dapat menggunakan tabel distribusi khi-kuadrat atau perangkat lunak untuk menemukannya $L$ seperti yang $$P\left(L \le \frac{(n-1)S^2}{\sigma^2}\right) = P\left(\sigma^2 \le \frac{(n-1)S^2}{L}\right) = 0.95.$$

Setiap set data baru akan memiliki nilainya sendiri $\bar X,$ digunakan dalam perhitungan $S^2.$ Tapi begitu Anda menemukan varians sampel $S^2,$kepercayaan diri Anda ditentukan; Anda hanya perlu menghitungnya.

Berikut ini contohnya, menggunakan sampel ukuran $n = 50$ dari populasi yang terdistribusi normal $\mu=100,$ $\sigma=15,$ dan $\sigma^2 = 225.$ Untuk sampel khusus ini, Anda mendapatkan batas atas 95% $365.3.$ [Dalam aplikasi nyata, Anda tidak akan tahu nilai sebenarnya dari $\mu$ dan $\sigma,$ tetapi dalam simulasi ini, Anda tahu bahwa ini adalah salah satu dari 95% batasan yang benar.]

set.seed(810)
x = rnorm(50, 100, 15)
summary(x); length(x);  sd(x);  var(x)

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  66.13   90.98  101.76  100.48  109.32  136.47 
[1] 50          sample size
[1] 15.90439    # sample SD
[1] 252.9496    $ sample variance

49*var(x)/qchisq(.05, 49)
[1] 365.2939

Dengan sampel yang lebih besar, Anda memiliki lebih banyak informasi dan Anda biasanya mendapatkan batasan yang mendekati nilai sebenarnya dari $ \ sigma = 15 ^ 2 = 225. $ Menggunakan populasi yang sama dengan $ n = 500 $ observasi, saya mendapatkan batasannya $ 283,9. $

set.seed(2020)
x = rnorm(500, 100, 15)
499*var(x)/qchisq(.05, 499)
[1] 283.9234

Catatan: (1) Untuk mendapatkan batas kepercayaan atas untuk $ \ frac {1} {\ sqrt {\ sigma ^ 2}} = \ frac {1} {\ sigma}, $ mulai dengan $ U $ sehingga $ P \ kiri (\ frac {(n-1) S ^ 2} {\ sigma ^ 2} \ le U \ kanan) = P \ kiri (\ frac {1} {\ sigma ^ 2} \ le \ frac {U} { (n-1) S ^ 2} \ kanan) = 0,95 $ untuk mendapatkan keyakinan terikat untuk $ 1 / \ sigma ^ 2 $ dan kemudian ambil akar kuadratnya.

(2) Alasan untuk menggunakan metode chi-squared adalah karena metode ini tepat untuk data normal dan membutuhkan komputasi minimal. Sebaliknya, metode bootstrap (disarankan dalam komentar) bersifat perkiraan dan intensif secara komputasi.

Namun demikian, CI bootstrap berguna jika jenis distribusi populasi tidak diketahui atau jika penurunan teoretis menyebabkan penghitungan yang sulit. Saya mencoba beberapa jenis metode bootstrap untuk Pertanyaan Anda - dengan hasil perkiraan yang cukup baik.

Untuk demonstrasi bootstrap di bawah, ingat contoh saya di atas dengan $ n = 50 $ pengamatan acak dengan varian sampel $ S ^ 2_ {obs} = 252,95 $ dan 95% chi-squared terikat $ 365,29. $

Jika Anda tidak tahu bahwa datanya normal, Anda dapat menggunakan bootstrap nonparametrik. Kami mengambil 'sampel ulang' dengan ukuran $ n = 50 $ dari data x( dengan penggantian). Untuk setiap sampel ulang temukan sampel varians $ S ^ 2_ {re} $ dan rasio r.re $ = S ^ 2_ {re} / S ^ 2_ {obs}, $ membandingkan varians sampel ulang dengan varian yang diamati.

Dengan $ 5000 $ rasio semacam itu, kita memiliki ideal seberapa besar varians populasi $ \ sigma ^ 2 $ relatif terhadap varians sampel yang diamati. Kemudian kita menggunakan kuantil 0,025 dari r.reuntuk mendapatkan 95% batas atas $ 373,1, $ yang sedikit lebih besar dari hasil $ 365,29 $ dari metode khi-kuadrat.

set.seed(810);  x = rnorm(50, 100, 15)
v.obs = var(x);   v.obs
[1] 252.9496
# nonpar boot
set.seed(2020)
r.re = replicate(10^5, var(sample(x,50,rep=T))/v.obs)
L = quantile(r.re, .05)
v.obs/L
      5% 
373.1255 

Jika Anda yakin datanya normal, tetapi tidak tahu tentang metode chi-squared (amnesia? Ignorance? Laziness?), Anda dapat menggunakan bootstrap parametrik. Perbedaan utama adalah bahwa sampel ulang bukan berasal dari xtetapi sampel normal 'disarankan oleh x"(menggunakan mean dan varians sampel yang diamati).

Jumlah ini mendekati distribusi teori-normal $ S ^ 2 $ dengan cara numerik. Dengan satu juta iterasi (mencoba meminimalkan kesalahan simulasi), kami mendapatkan 95% batas atas $ 365,31, $ yang pada dasarnya identik dengan hasil yang tepat $ 365,29. $

set.seed(810);  x = rnorm(50, 100, 15)
v.obs = var(x);  a.obs = mean(x)
v.obs
[1] 252.9496
# param boot
r.re = replicate(10^6,var(rnorm(50,a.obs,sqrt(v.obs)))/v.obs)
L = quantile(r.re, .05)
v.obs/L
      5% 
365.3132