อนุกรมเวลาแบบไม่สม่ำเสมอ


12

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

ป้อนคำอธิบายรูปภาพที่นี่

คำถามของฉันคืออะไรจะเป็นวิธีที่ดีที่สุดในการสร้างแบบจำลองเวลานี้

  • ฉันเชื่อว่าเทคนิคการวิเคราะห์อนุกรมเวลาส่วนใหญ่ (เช่น ARMA) ต้องการความถี่คงที่ ฉันสามารถรวมข้อมูลเพื่อให้มีตัวอย่างคงที่หรือเลือกชุดย่อยของข้อมูลที่มีรายละเอียดมาก ด้วยตัวเลือกทั้งสองฉันจะพลาดข้อมูลบางส่วนจากชุดข้อมูลดั้งเดิมที่สามารถเปิดเผยรูปแบบที่แตกต่าง
  • แทนที่จะย่อยสลายซีรีส์ในรอบฉันสามารถป้อนข้อมูลโมเดลด้วยชุดข้อมูลทั้งหมดและคาดว่าจะรับรูปแบบ ตัวอย่างเช่นฉันแปลงชั่วโมงวันทำงานและเดือนเป็นตัวแปรเด็ดขาดและลองการถดถอยหลายครั้งด้วยผลลัพธ์ที่ดี (R2 = 0.71)

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

คำตอบ:


4

ARIMA, Exponential Smoothing และอื่น ๆ ต้องการจุดตัวอย่างที่เว้นระยะเท่ากัน ในขณะที่คุณเขียนคุณสามารถรวบรวมข้อมูลของคุณ (พูดเป็นวัน) แต่เมื่อคุณเขียนคุณจะสูญเสียข้อมูล นอกจากนี้คุณอาจท้ายด้วยค่าที่หายไปดังนั้นคุณจะต้องใส่ความเนื่องจาก ARIMA นั้นไม่ดีในการจัดการกับค่าที่หายไป

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

จะมากระมัดระวังเกี่ยวกับการตีความ 2 พอดีในตัวอย่างจะทำให้เข้าใจผิดฉาวโฉ่เป็นวัดความแม่นยำในการคาดการณ์ออกจากตัวอย่าง ( ดูที่นี่ ) ฉันจะยืนยันว่าการตัดการเชื่อมต่อระหว่างความพอดีของตัวอย่างและความแม่นยำในการพยากรณ์นอกตัวอย่างก็หมายความว่าไม่มีการเชื่อมต่อระหว่างความพอดีของตัวอย่างกับแบบจำลองที่ดี "เข้าใจ" ข้อมูลแม้ว่าความสนใจของคุณไม่ได้อยู่ในการพยากรณ์ แต่เฉพาะในการสร้างแบบจำลองต่อ se ปรัชญาของฉันคือถ้าคุณไม่สามารถคาดการณ์อนุกรมเวลาได้คุณจะไม่เข้าใจในแง่ที่มีความหมายR2

สุดท้ายอย่าทำแบบจำลองมากเกินไป จากการดูข้อมูลของคุณเป็นที่ชัดเจนว่ามีบางสิ่งที่เกิดขึ้นในเดือนมิถุนายนในหนึ่งวันในเดือนสิงหาคมและในเดือนกันยายน / ตุลาคม ฉันขอแนะนำให้คุณทราบก่อนว่าสิ่งนี้คืออะไรและรวมสิ่งนี้ไว้ในแบบจำลองของคุณเช่นเป็นตัวแปรอธิบาย (ซึ่งคุณสามารถรวมไว้ใน ARIMAX หากคุณต้องการ) สิ่งที่เกิดขึ้นตรงนี้ไม่ใช่ฤดูกาล


0

เนื่องจากคำถามของคุณและคำตอบที่ดีจาก @Stephan Kolassa พูดคุยเกี่ยวกับ ARIMA และโครงข่ายประสาทเทียมโดยเฉพาะฉันอยากพูดถึงว่าคุณสามารถให้forecastแพ็คเกจได้ในRระหว่างเดินทาง - มันมีnnetarฟังก์ชั่นที่ฝึกอบรมเครือข่ายประสาทส่งต่อแบบเรียบง่าย อินพุตล้าหลัง

บางทีคุณอาจลองทำอะไรสักอย่างตาม:

  • แยกฟีเจอร์มากมายสำหรับการสังเกตแต่ละอย่างของคุณเช่นวันในสัปดาห์วันของเดือนวันในสัปดาห์ / วันหยุดเป็นต้น (เฉพาะวันที่และเวลาเท่านั้นที่ถูกกล่าวถึงว่าเป็นการพึ่งพาที่อาจเกิดขึ้นในคำถามของคุณดังนั้นนั่นคือเหตุผลที่ฉันรวมสิ่งนี้ไว้ด้วย เชื่อว่าอาจส่งผลต่อตัวแปรที่คุณสนใจ)
  • ค่าที่ล่าช้าของตัวแปรที่คุณสนใจรวมทั้งข้อมูลวันที่และเวลา (เช่นวันในสัปดาห์เป็นต้น) จะเป็นข้อมูลที่คุณป้อน คุณสามารถรวมตัวแปร datetime เป็น regressors ภายนอก ( xreg) เช่น

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

HTH

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