อนุกรมเวลาหลายตัวแปรใน R. วิธีการค้นหาความสัมพันธ์ล้าหลังและสร้างแบบจำลองสำหรับการพยากรณ์


16

ฉันใหม่ในหน้านี้และค่อนข้างใหม่ในสถิติและอาร์ฉันกำลังทำงานในโครงการสำหรับวิทยาลัยโดยมีวัตถุประสงค์เพื่อค้นหาความสัมพันธ์ระหว่างฝนและระดับน้ำไหลในแม่น้ำ เมื่อได้รับการพิสูจน์ความสัมพันธ์ฉันต้องการที่จะคาดการณ์ / ทำนายมัน

ข้อมูลที่ ฉันมีชุดข้อมูลเป็นเวลาหลายปี (ถ่ายทุกๆ 5 นาที) สำหรับแม่น้ำที่มี:

  • ปริมาณน้ำฝนหน่วยเป็นมิลลิเมตร
  • แม่น้ำไหลในลูกบาศก์เมตรต่อวินาที

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

ตัวอย่างที่ นี่คุณมีตัวอย่างข้อมูลสองสามแปลงจากฝนและน้ำขึ้นในไม่กี่ชั่วโมงต่อมา

ตัวอย่างที่ใหญ่ขึ้นไม่กี่วัน

ตัวอย่างที่สั้นกว่าหนึ่งช่วงเวลาปริมาณน้ำฝน

เส้นสีแดงคือการไหลของแม่น้ำ สีส้มคือฝน คุณสามารถเห็นฝนตกทุกครั้งก่อนที่น้ำจะไหลขึ้นมาในแม่น้ำ มีฝนเริ่มอีกครั้งในตอนท้ายของอนุกรมเวลา แต่มันจะส่งผลกระทบต่อการไหลของแม่น้ำในภายหลัง

ความสัมพันธ์อยู่ที่นั่น นี่คือสิ่งที่ฉันทำใน R เพื่อพิสูจน์ความสัมพันธ์โดยใช้ ccf ใน R:

  • ข้ามสหสัมพันธ์
  • ตัวแปรชั้นนำ
  • ความล่าช้า

นี่คือสาย R ของฉันที่ใช้สำหรับตัวอย่างที่สอง (หนึ่งช่วงเวลาปริมาณน้ำฝน):

ccf(arnoiaex1$Caudal, arnoiaex1$Precip, lag.max=1000, plot=TRUE, main="Flow & Rain")

ผลลัพธ์ ccf สำหรับตัวอย่างเล็ก ๆ 2

การตีความของฉันคือ:

  • ฝนจะนำไปสู่ ​​(เกิดขึ้นก่อน)
  • 450
  • 450800ccf

ฉันถูกไหม?

เกี่ยวกับซีรีส์เวลา ซีรี่ส์เวลานี้ไม่มีช่วงเวลาหรือตามฤดูกาล ฝนสามารถมาได้ตลอดเวลาและทำให้เกิดผล มันลดลงในช่วงฤดูร้อน แต่ก็ยังเกิดขึ้นมันเป็นพื้นที่ที่มีฝนตกชุกตลอดทั้งปี

รูปแบบและการพยากรณ์ ฉันไม่รู้ว่าจะสร้างแบบจำลองเพื่อให้สามารถคาดการณ์ซึ่งบอกฉันได้ว่าแม่น้ำจะเพิ่มปริมาณได้มากแค่ไหนหลังจากฝนตก ฉันได้ลองarimaแล้วauto arimaแต่ยังไม่ประสบความสำเร็จมาก ฉันควรใช้Arima, varsหรือรุ่นอื่น ๆ หลายตัวแปรที่แตกต่างกัน? ลิงก์ไปยังตัวอย่างใด ๆ จะเป็นประโยชน์อย่างมาก

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


คุณกำลังมองหาการวิเคราะห์การแทรกแซง (ส่วนย่อยเรียกว่า "การศึกษาเหตุการณ์" ในสังคมศึกษา)
Konstantinos

คำตอบ:


3

คุณต้องใช้พฤติกรรม ACF & PACF ของคุณเพื่อช่วยให้คุณกำหนดรูปแบบที่เหมาะกับข้อมูลของคุณได้ดีขึ้น (เช่นมีการสลายตัวช้าในพล็อต ACF บ่งชี้ว่าอาจจำเป็นต้องใช้ความแตกต่างเพื่อทำให้ซีรีส์มีความเสถียรมากขึ้น ความผันผวนจะต้องแปรผันน้อยกว่าและอยู่ในเส้นสีน้ำเงินถ้าคุณใช้การแปลงที่ถูกต้อง (ชุดเคลื่อนที่) เมื่อคุณสร้างชุดนิ่งให้คิดเกี่ยวกับรูปแบบ AR, MA, ARMA หรือ ARIMA ในโครงการของฉันฉันทำสิ่งต่อไปนี้เพื่อช่วยในการเลือกรูปแบบ:

พล็อต ACF แสดงค่าที่ค่อนข้างใหญ่ที่ lag 2 ( ดูที่สิ่งนี้อยู่ในพล็อตของคุณ ) นอกเหนือจากนั้นมันจะกลายเป็นศูนย์ที่ความล่าช้ามากกว่าสอง นี่เป็นการชี้ให้เห็นว่าแบบจำลอง MA (2) อาจพอดีกับข้อมูลและจากการดูที่พล็อต PACF เราจะสังเกตได้ทันทีว่าความสัมพันธ์นั้นเป็นศูนย์เกือบทุกความล่าช้า สิ่งนี้อาจชี้ให้เห็นว่าแบบจำลองไม่มีส่วน AR ใด ๆ บนมัน ( ปรับให้เข้ากับพล็อตของคุณ) ดังนั้นหนึ่งในโมเดลผู้สมัครของเราอาจเป็น ARIMA (p, d, q) โดยมีพารามิเตอร์ p = 0, d = 1, และ q = 1 or2 ฉันพยายามสั่ง MA ที่สูงขึ้นและพิจารณาความเป็นไปได้ที่จะมีส่วน AR ในโมเดลเพื่อเปรียบเทียบผลลัพธ์จาก AIC, AICc และ BIC และตัดสินใจเกี่ยวกับรุ่นสุดท้าย ขั้นตอนต่อไปคุณจะต้องทำการทดสอบเพื่อวินิจฉัยเพื่อให้แน่ใจว่าคุณได้เลือกแบบจำลองที่ถูกต้องและไม่มีรูปแบบในส่วนที่เหลือของคุณ (ACF & PACF สำหรับส่วนที่เหลือค่า p-value สำหรับสถิติ Ljung-Box, histyogram สำหรับส่วนที่เหลือและ พล็อต QQ) หวังว่ามันจะช่วย!

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