มีวิธีการมากมายในการคำนวณ bootstrap CIs และค่า p ปัญหาหลักคือมันเป็นไปไม่ได้สำหรับ bootstrap เพื่อสร้างข้อมูลภายใต้สมมติฐานว่าง การทดสอบการเปลี่ยนรูปเป็นทางเลือกใหม่สำหรับการทดสอบซ้ำ ในการใช้ bootstrap ที่เหมาะสมคุณต้องทำการตั้งสมมติฐานเกี่ยวกับการกระจายตัวตัวอย่างของสถิติการทดสอบ
β* * * *0= β^- β^* * * *β* * * *0= β^* * * *- β^
bootstrap ปกติ
วิธีการหนึ่งคือbootstrap ปกติที่คุณใช้ค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของการกระจาย bootstrap คำนวณการแจกแจงการสุ่มตัวอย่างภายใต้ null โดยเลื่อนการแจกแจงและใช้เปอร์เซนต์ปกติจากการแจกแจง null ที่จุดของการประเมินในตัวอย่าง bootstrap ดั้งเดิม . นี่เป็นวิธีการที่เหมาะสมเมื่อการกระจาย bootstrap เป็นปกติการตรวจสอบด้วยภาพมักจะเพียงพอที่นี่ ผลลัพธ์ที่ใช้วิธีนี้มักจะใกล้เคียงกับความสมบูรณ์หรือการประมาณค่าความผิดพลาดแบบแซนด์วิชซึ่งมีความทนทานต่อความแตกต่างของ heteroscedasticity และ / หรือข้อจำกัดความแปรปรวนตัวอย่าง จำกัด ข้อสันนิษฐานของสถิติการทดสอบปกติเป็นเงื่อนไขที่ดีกว่าของสมมติฐานในการทดสอบบู๊ตสแตรปถัดไปที่ฉันจะกล่าวถึง
บูตสแตรปเปอร์ไทล์
F* * * *02 × นาที( F* * * *0( β^) , 1 - F* * * *0( β^) )
bootstrap ที่ได้รับการศึกษา
พี
ตัวอย่างการเขียนโปรแกรม
ตัวอย่างเช่นฉันจะใช้city
ข้อมูลในแพคเกจ bootstrap ช่วงความเชื่อมั่น bootstrap คำนวณด้วยรหัสนี้:
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R = 999, stype = "w", sim = "ordinary")
boot.ci(city.boot, conf = c(0.90, 0.95),
type = c("norm", "basic", "perc", "bca"))
และสร้างผลลัพธ์นี้:
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = city.boot, conf = c(0.9, 0.95), type = c("norm",
"basic", "perc", "bca"))
Intervals :
Level Normal Basic
90% ( 1.111, 1.837 ) ( 1.030, 1.750 )
95% ( 1.042, 1.906 ) ( 0.895, 1.790 )
Level Percentile BCa
90% ( 1.291, 2.011 ) ( 1.292, 2.023 )
95% ( 1.251, 2.146 ) ( 1.255, 2.155 )
Calculations and Intervals on Original Scale
95% CI สำหรับ bootstrap ปกติได้มาจากการคำนวณ:
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
จึงได้รับค่า p:
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
ซึ่งยอมรับว่า 95% ปกติ CI ไม่รวมค่าอัตราส่วนโมฆะของ 1
CI เปอร์เซ็นไทล์ได้มา (มีความแตกต่างเนื่องจากวิธีการสำหรับความสัมพันธ์):
quantile(city.boot$t, c(0.025, 0.975))
และ p-value สำหรับ bootstrap เปอร์เซ็นไทล์คือ:
cvs <- quantile(city.boot$t0 - city.boot$t + 1, c(0.025, 0.975))
mean(city.boot$t > cvs[1] & city.boot$t < cvs[2])
ให้ ap ของ 0.035 ซึ่งเห็นด้วยกับช่วงความเชื่อมั่นในแง่ของการยกเว้น 1 จากค่า โดยทั่วไปเราไม่สามารถสังเกตได้ว่าในขณะที่ความกว้างของเปอร์เซ็นไทล์ CI นั้นกว้างเกือบเท่ากับ CI ปกติและเปอร์เซ็นไทล์ CI นั้นอยู่ไกลจากโมฆะที่เปอร์เซ็นไทล์ CI ควรให้ค่า p ต่ำกว่า นี่เป็นเพราะรูปร่างของการแจกแจงตัวอย่างที่อ้างอิง CI สำหรับวิธีเปอร์เซ็นต์ไทล์นั้นไม่ปกติ