Khoảng tin cậy bootstrap được sinh viên hóa trong R

Efron, Bradley và Robert J. Tibshirani. 1993. Giới thiệu về Bootstrap. Chuyên khảo về Thống kê và Xác suất Ứng dụng 57. Boca Raton, Florida, Mỹ. Chapman & Hội trường/CRC

Show

Smithson, Micheal. 2003. khoảng tin cậy. Ứng dụng định lượng trong khoa học xã hội. Nhà xuất bản SAGE, New York

Một nghiên cứu mô phỏng đơn giản đã được thực hiện để khám phá chất lượng của các phương pháp khoảng tin cậy khác nhau. Mô phỏng liên quan đến việc tạo các quan sát \(n \in \{10, 20, 50, 100, 200\}\) từ phân phối \(\chi_1^2\), sau đó sử dụng bootstrap không tham số để tạo khoảng tin cậy cho . Xin nhắc lại, giá trị trung bình của phân phối chi bình phương là tham số bậc tự do \(k\), trong trường hợp này là \(\mu = 1\). Trung vị của phân phối chi bình phương với một bậc tự do là \(\theta = 0. 4549364\)

Phân tích mô phỏng

Đối với mỗi kích thước mẫu, tôi đã tạo 10.000 mẫu dữ liệu độc lập có kích thước \(n\), sau đó tôi sử dụng các phương pháp bootstrap không tham số để tạo khoảng tin cậy 95%. Bootstrap không tham số được triển khai bằng cách sử dụng hàm np.boot trong gói nptest R. Tỷ lệ bao phủ được xác định là tỷ lệ của 10.000 lần lặp lại trong đó phương pháp khoảng tin cậy đã cho chứa tham số thực (\(\mu = 1\) cho giá trị trung bình hoặc \(\theta = 0. 4549364\) cho trung bình)

Kết quả mô phỏng cho giá trị trung bình

Kết quả mô phỏng cho tham số trung bình được tóm tắt trong hình bên dưới. Biểu đồ con bên trái hiển thị tỷ lệ bao phủ cho từng phương pháp trên các kích thước mẫu khác nhau. Biểu đồ con bên phải hiển thị thời gian chạy trung bình cho từng phương thức trên các kích thước mẫu khác nhau

Khoảng tin cậy bootstrap được sinh viên hóa trong R

Thực hiện trong R

Trong Lập trình R, gói boot cho phép người dùng dễ dàng tạo các mẫu bootstrap của hầu như bất kỳ thống kê nào mà chúng tôi có thể tính toán. Chúng tôi có thể tạo các ước tính về độ lệch, khoảng tin cậy bootstrap hoặc sơ đồ phân phối bootstrap từ tính toán từ gói khởi động

Đối với mục đích trình diễn, chúng tôi sẽ sử dụng bộ dữ liệu mống mắt do tính đơn giản và tính khả dụng của nó như một trong những bộ dữ liệu tích hợp trong R. Bộ dữ liệu bao gồm 50 mẫu từ mỗi loài trong số ba loài Iris (Iris setosa, Iris Virginia và Iris versicolor). Bốn tính năng được đo từ mỗi mẫu. chiều dài và chiều rộng của lá đài và cánh hoa, tính bằng centimet. Chúng ta có thể xem bộ dữ liệu mống mắt bằng lệnh head và lưu ý các tính năng của sở thích.  

R




# View the first row

# of the iris dataset

head(iris, 1)

đầu ra.  

 Sepal.Length    Sepal.Width    Petal.Length    Petal.Width    Species
     5.1             3.5              1.4             0.2      setosa

Chúng tôi muốn ước tính mối tương quan giữa Chiều dài cánh hoa và Chiều rộng cánh hoa.  

Các bước để tính toán Bootstrap CI trong R

1. Nhập thư viện khởi động để tính toán CI bootstrap và ggplot2 để vẽ sơ đồ.  
 

R




# Import library for bootstrap methods

library(boot)

 

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
0

library

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
2

2. Tạo một hàm tính toán thống kê mà chúng tôi muốn sử dụng, chẳng hạn như giá trị trung bình, trung bình, tương quan, v.v.  

R




ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
3

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
4

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
5_______1_______6
ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
7

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
8

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
9
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
0

 

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
9
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
2

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
9
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
4

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212
9
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
6
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
7
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
8
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
9# View the first row0# View the first row1

# View the first row2

3. Sử dụng chức năng khởi động để tìm R bootstrap của thống kê.  

R




# View the first row3

# View the first row4

# View the first row5# View the first row6

 

# View the first row7

# View the first row8

# View the first row9# of the iris dataset0# of the iris dataset1

 

# of the iris dataset2

# of the iris dataset3

đầu ra.  

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = iris, statistic = corr.fun, R = 1000)


Bootstrap Statistics :
     original       bias    std. error
t1* 0.9376668 -0.002717295 0.009436212

4. Chúng ta có thể vẽ sơ đồ phân phối bootstrap đã tạo bằng cách sử dụng lệnh plot với bootstrap được tính toán.  

R




# of the iris dataset4

# of the iris dataset5

# of the iris dataset6# of the iris dataset7

đầu ra.  

Khoảng tin cậy bootstrap được sinh viên hóa trong R

5. Sử dụng khởi động. hàm ci() để lấy khoảng tin cậy.  

R




# of the iris dataset8

# of the iris dataset9

head0____27_______1

head2_______27_______3

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
6
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale
7head6head7head8head7

(iris, 1)0(iris, 1)1head7(iris, 1)3# View the first row1

đầu ra.  

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = bootstrap, type = c("norm", "basic", "perc", 
    "bca"))

Intervals : 
Level      Normal              Basic         
95%   ( 0.9219,  0.9589 )   ( 0.9235,  0.9611 )  

Level     Percentile            BCa          
95%   ( 0.9142,  0.9519 )   ( 0.9178,  0.9535 )  
Calculations and Intervals on Original Scale

Suy luận cho Bootstrap CI từ đầu ra

Nhìn vào khoảng phương pháp bình thường của (0. 9219, 0. 9589) chúng ta có thể chắc chắn 95% rằng mối tương quan thực sự giữa chiều dài và chiều rộng của cánh hoa nằm trong khoảng này 95% thời gian. Như chúng ta đã thấy, đầu ra bao gồm nhiều CI sử dụng các phương thức khác nhau tùy theo tham số kiểu trong hàm boot. ci. Các khoảng được tính toán tương ứng với (“norm”, “basic”, “perc”, “bca”) hoặc Bình thường, Cơ bản, Phần trăm và BCa cung cấp các khoảng khác nhau cho cùng một mức 95%. Phương pháp cụ thể để sử dụng cho bất kỳ biến nào phụ thuộc vào các yếu tố khác nhau như phân phối, homoscedastic, bias, v.v.