เป็นอีกตัวแปรหนึ่งที่ค่อนข้างเรียบง่าย แต่ฉันคิดว่าส่งข้อความโดยไม่ต้องใช้ห้องสมุดอย่างชัดเจนboot
ซึ่งอาจทำให้บางคนสับสนกับไวยากรณ์ที่ใช้
เรามีโมเดลเชิงเส้น: ,y=Xβ+ϵϵ∼N(0,σ2)
ต่อไปนี้เป็นพารามิเตอร์บูตสำหรับโมเดลเชิงเส้นนั้นซึ่งหมายความว่าเราไม่ได้สุ่มตัวอย่างข้อมูลดั้งเดิมของเราใหม่ แต่ที่จริงแล้วเราสร้างข้อมูลใหม่จากโมเดลที่ติดตั้งของเรา นอกจากนี้เราสมมติว่าการกระจาย bootstrapped ของสัมประสิทธิ์การถดถอยนั้นสมมาตรและนั่นคือค่าคงที่การแปล (พูดอย่างคร่าว ๆ ว่าเราสามารถย้ายแกนของมันโดยมีผลกระทบต่อคุณสมบัติของมัน) แนวคิดที่อยู่เบื้องหลังคือความผันผวนของนั้นเกิดจากและมีตัวอย่างเพียงพอที่พวกเขาควรให้การกระจายที่แท้จริงของ 's เหมือนก่อนที่เราจะทดสอบอีกครั้งและเรากำหนดค่า p เป็นββϵβH0:0=βj"ความน่าจะเป็นที่ได้รับจากสมมติฐานว่างเปล่าสำหรับการแจกแจงความน่าจะเป็นของข้อมูลว่าผลลัพธ์จะมากที่สุดเท่าที่จะมากหรือมากไปกว่าผลลัพธ์ที่สังเกต" (ซึ่งผลลัพธ์ที่สังเกตได้ในกรณีนี้คือของเรา สำหรับรุ่นดั้งเดิมของเรา) ดังนั้นที่นี่ไป:β
# Sample Size
N <- 2^12;
# Linear Model to Boostrap
Model2Boot <- lm( mpg ~ wt + disp, mtcars)
# Values of the model coefficients
Betas <- coefficients(Model2Boot)
# Number of coefficents to test against
M <- length(Betas)
# Matrix of M columns to hold Bootstraping results
BtStrpRes <- matrix( rep(0,M*N), ncol=M)
for (i in 1:N) {
# Simulate data N times from the model we assume be true
# and save the resulting coefficient in the i-th row of BtStrpRes
BtStrpRes[i,] <-coefficients(lm(unlist(simulate(Model2Boot)) ~wt + disp, mtcars))
}
#Get the p-values for coefficient
P_val1 <-mean( abs(BtStrpRes[,1] - mean(BtStrpRes[,1]) )> abs( Betas[1]))
P_val2 <-mean( abs(BtStrpRes[,2] - mean(BtStrpRes[,2]) )> abs( Betas[2]))
P_val3 <-mean( abs(BtStrpRes[,3] - mean(BtStrpRes[,3]) )> abs( Betas[3]))
#and some parametric bootstrap confidence intervals (2.5%, 97.5%)
ConfInt1 <- quantile(BtStrpRes[,1], c(.025, 0.975))
ConfInt2 <- quantile(BtStrpRes[,2], c(.025, 0.975))
ConfInt3 <- quantile(BtStrpRes[,3], c(.025, 0.975))
ตามที่กล่าวถึงแนวคิดทั้งหมดคือคุณมีการกระจาย bootstrapped ของโดยประมาณของจริง (เห็นได้ชัดว่ารหัสนี้เหมาะสำหรับความเร็ว แต่อ่านง่าย :))β