ทำความเข้าใจกับเอาต์พุตของ bootstrap ที่ดำเนินการใน R (tsboot, MannKendall)


11

ฉันมีคำถามเกี่ยวกับการแปลความหมายของการโทร tsboot ใน R ฉันตรวจสอบเอกสารของทั้ง Kendall และแพคเกจสำหรับบูต แต่ฉันก็ไม่ฉลาดกว่าก่อน

เมื่อฉันเรียกใช้ bootstrap โดยใช้ตัวอย่างเช่นในแพคเกจ Kendall ที่สถิติการทดสอบเป็นเอกภาพของ Kendall:

library(Kendall)
# Annual precipitation entire Great Lakes
# The Mann-Kendall trend test confirms the upward trend.
data(PrecipGL)
MannKendall(PrecipGL)

ซึ่งยืนยันแนวโน้มขาขึ้น:

tau = 0.265, 2-sided pvalue =0.00029206

ตัวอย่างจากนั้นใช้บล็อก bootstrap ต่อไป:

#
#Use block bootstrap 
library(boot)
data(PrecipGL)
MKtau<-function(z) MannKendall(z)$tau
tsboot(PrecipGL, MKtau, R=500, l=5, sim="fixed")

ฉันได้รับผลลัพธ์ต่อไปนี้:

BLOCK BOOTSTRAP FOR TIME SERIES
Fixed Block Length of 5 
Call:
tsboot(tseries = PrecipGL, statistic = MKtau, R = 500, l = 5, 
sim = "fixed")


Bootstrap Statistics :
 original     bias    std. error
t1* 0.2645801 -0.2670514  0.09270585

หากฉันเข้าใจอย่างถูกต้อง "t1 * original" คือ MKtau ดั้งเดิม "bias" คือค่าเฉลี่ยของ MKtau จากอนุกรมเวลา bootstrapped R = 500 และ "std. error" คือค่าเบี่ยงเบนมาตรฐานของ MKtaus จาก 500 ตัวอย่าง

ฉันมีปัญหาในการทำความเข้าใจความหมายของสิ่งนี้ - โดยทั่วไปแล้วบอกฉันว่า 500 MKTaus ทั้งหมดนั้นต่ำกว่าต้นฉบับและ t1 * ดั้งเดิมอยู่ในช่วง 3 sd ของ bootstrapped MKtaus มันแตกต่างกันอย่างมีนัยสำคัญ?

หรือฉันจะบอกว่า MKtau สำหรับชุดข้อมูลคือ 0.26 บวก / ลบข้อผิดพลาดมาตรฐาน?

ฉันขอโทษสำหรับคำถามที่ยืดยาว แต่ฉันเป็นนักสถิติมือใหม่และกำลังเรียนรู้ผ่านการเรียนรู้ด้วยตนเองโดยไม่ต้องมีใครซักคนที่จะเด้งปัญหานี้ได้ง่าย ๆ จริงๆ


6
ในผลลัพธ์biasเป็นเพียงความแตกต่างระหว่างค่าเฉลี่ยของตัวอย่าง bootstrap 500 ที่เก็บไว้กับค่าประมาณดั้งเดิม นี่std. errorคือค่าเบี่ยงเบนมาตรฐานของตัวอย่าง bootstrap 500 และเป็นการประมาณการข้อผิดพลาดมาตรฐาน เอาท์พุทจะบอกคุณว่าประมาณการเดิมของคุณคือสูงกว่าค่าเฉลี่ยของ 500 ประมาณการ bootstrapped (เพื่อไม่ทั้งหมดของ MKtaus bootstrapped ต่ำ) Bootstrap มักจะใช้ในการคำนวณข้อผิดพลาดมาตรฐาน / ช่วงความเชื่อมั่นโดยไม่ต้องตั้งสมมติฐานเกี่ยวกับการกระจาย ใช้boot.ciฟังก์ชันเพื่อคำนวณช่วงความมั่นใจ
COOLSerdash

@COOLSerdash ขอบคุณสำหรับสิ่งนี้! ดังนั้นหากสถิติดั้งเดิมของฉันสูงกว่าค่าเฉลี่ยของสถิติ bootstrapped 3 sd ฉันสามารถสรุปสิ่งใด ๆ ได้โดยตรง (พูดว่า: สถิติสำคัญที่ 0.99) หรือไม่ ฉันยังใช้boot.ciเพื่อคำนวณช่วงความมั่นใจและอีกครั้งสถิติที่คำนวณไว้เดิมอยู่นอกช่วงเวลาเหล่านี้
มาเรีย

ไม่คุณไม่เปรียบเทียบสถิติ bootstrapped กับสถิติดั้งเดิมกับการทดสอบสมมติฐาน ฉันจะใช้ / รายงานข้อผิดพลาดมาตรฐาน bootstrapped และช่วงความมั่นใจในกรณีของคุณ
COOLSerdash

คำตอบ:


3

เมื่อพบคำถามเดียวกันและสำรวจด้วยชุดข้อมูลที่ควบคุม - รุ่นy = ax + bพร้อมข้อผิดพลาดN (0, sig) ฉันพบว่าแพ็คเกจ Kendall อาจไม่ทำงานตามที่โฆษณาไว้ xในกรณีของฉันเป็น1:100และการ y = xกับ sig = 100 (ความแปรปรวนของระยะผิดพลาด)

การถดถอยดูดีและเอกภาพของเคนดัลล์ก็เช่นกัน ไม่มีความสัมพันธ์อัตโนมัติที่นี่นอกเหนือจากที่เกิดจากโมเดลเชิงเส้น เรียกใช้การทดสอบเคนดัลตามที่โฆษณาด้วยความยาวบล็อกที่ 1, 3, 5 และ 10 ให้ค่าอคติที่มีขนาดใหญ่มากและboot.ciรายงานว่าไม่มีแนวโน้ม

ต่อจากนั้นฉันเขียนโค้ด bootstrap ของข้อมูลด้วยความยาวบล็อกเหล่านี้และด้วยชุดควบคุมของฉันฉันได้รับผลลัพธ์ที่สมเหตุสมผลตามค่าเฉลี่ยของตัวอย่างบูตและการแพร่กระจายของพวกเขา ดังนั้นจึงเป็นไปได้ว่ามีบางสิ่งผิดพลาดเกิดขึ้นกับแพคเกจเคนดัลล์สำหรับบล็อกบูต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.