วิธีการคำนวณข้อผิดพลาดมาตรฐาน bootstrap ใน r


การบูตสแตรปปิ้ง เป็นวิธีการที่สามารถใช้เพื่อประมาณค่าความคลาดเคลื่อนมาตรฐานของค่าเฉลี่ยได้

กระบวนการพื้นฐานสำหรับการคำนวณข้อผิดพลาดมาตรฐานในการบูตสแตรปมีดังต่อไปนี้:

  • นำตัวอย่าง k ซ้ำ โดยแทนที่ จากชุดข้อมูลที่กำหนด
  • สำหรับแต่ละตัวอย่าง ให้คำนวณค่าความคลาดเคลื่อนมาตรฐาน: s/√ n
  • ซึ่งส่งผลให้ มี การประมาณค่าข้อผิดพลาดมาตรฐานที่แตกต่างกัน k หากต้องการค้นหาข้อผิดพลาดมาตรฐานแบบบูตสแตรป ให้ใช้ค่าเฉลี่ยของข้อผิดพลาดมาตรฐาน k

ตัวอย่างต่อไปนี้จะอธิบายสองวิธีที่แตกต่างกันซึ่งสามารถใช้เพื่อคำนวณข้อผิดพลาดมาตรฐานในการบูตสแตรปใน R

วิธีที่ 1: ใช้แพ็คเกจเริ่มต้น

วิธีหนึ่งในการคำนวณข้อผิดพลาดมาตรฐานการบูตใน R คือการใช้ฟังก์ชัน boot() จากไลบรารี การ บูต

รหัสต่อไปนี้แสดงวิธีการคำนวณข้อผิดพลาดมาตรฐานบูตสแตรปสำหรับชุดข้อมูลที่กำหนดใน R:

 #make this example reproducible
set. seeds (10)

#load boot library
library (boot)

#define dataset
x <- c(12, 14, 14, 15, 18, 21, 25, 29, 32, 35)

#define function to calculate mean
meanFunc <- function (x,i){mean(x[i])}

#calculate standard error using 100 bootstrapped samples
boot(x, meanFunc, 100)

Bootstrap Statistics:
    original bias std. error
t1* 21.5 0.254 2.379263

ค่า “ดั้งเดิม” 21.5 แสดงค่าเฉลี่ยของชุดข้อมูลดั้งเดิม “มาตรฐาน ค่า 2.379263 บ่งชี้ข้อผิดพลาดมาตรฐานบูตสแตรปของค่าเฉลี่ย

โปรดทราบว่าเราใช้ตัวอย่างแบบบูตสแตรป 100 ตัวอย่างเพื่อประมาณค่าความคลาดเคลื่อนมาตรฐานของค่าเฉลี่ยในตัวอย่างนี้ แต่เราสามารถใช้ตัวอย่างแบบบูตสแตรป 1,000 หรือ 10,000 หรือจำนวนเท่าใดก็ได้ที่เราต้องการ

วิธีที่ 2: เขียนสูตรของคุณเอง

อีกวิธีหนึ่งในการคำนวณข้อผิดพลาดมาตรฐานแบบบูตสแตรปคือการเขียนฟังก์ชันของเราเอง

รหัสต่อไปนี้แสดงวิธีการทำเช่นนี้:

 #make this example reproducible
set. seeds (10)

#load boot library
library (boot)

#define dataset
x <- c(12, 14, 14, 15, 18, 21, 25, 29, 32, 35)

mean(replicate(100, sd( sample (x, replace= T ))/sqrt( length (x))))

[1] 2.497414

ข้อผิดพลาดมาตรฐานการบูตสแตรปกลายเป็น 2.497414

โปรดทราบว่าข้อผิดพลาดมาตรฐานนี้ค่อนข้างคล้ายกับข้อผิดพลาดที่คำนวณในตัวอย่างก่อนหน้านี้

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *