ตรวจจับการเปลี่ยนแปลงในอนุกรมเวลา


11

ฉันเจอรูปภาพของต้นแบบแอปพลิเคชันที่พบการเปลี่ยนแปลงที่สำคัญ ("แนวโน้ม" - ไม่ใช่ spikes / outliers) ในข้อมูลการจราจร:

ข้อความแสดงแทน

ฉันต้องการเขียนโปรแกรม (Java หรือเป็นทางเลือก R) ที่สามารถทำเช่นเดียวกัน - แต่เนื่องจากทักษะทางสถิติของฉันค่อนข้างจะเป็นสนิมฉันจึงต้องขุดลงในหัวข้อนี้อีกครั้ง

ฉันควรใช้วิธีการ / อัลกอริทึม / การวิจัยอย่างไร



ใช่แล้วคำตอบก็เหมือนกันเช่นกัน
whuber

คำตอบ:


4

มีหลายวิธีที่อาจทำให้เกิด "การแตกโครงสร้าง"

หากมีการเปลี่ยนแปลงในการสกัดกั้นหรือการเปลี่ยนแปลงของเทรนด์ใน "ส่วนหลังของอนุกรมเวลา" แล้วหนึ่งจะเหมาะกว่าที่จะดำเนินการตรวจจับการแทรกแซง (NB นี่คือการระบุเชิงประจักษ์ของผลกระทบที่สำคัญของตัวแปรกำหนดที่ไม่ระบุเช่น เป็น Level Shift หรือ Trend in Pulse หรือ Seasonal Pulse) การตรวจจับการแทรกแซงนั้นเป็นแบบเคอร์เซอร์ล่วงหน้าสำหรับการสร้างแบบจำลองการแทรกแซงโดยที่ตัวแปรที่แนะนำรวมอยู่ในโมเดล คุณสามารถค้นหาข้อมูลบนเว็บได้โดยไปที่ "การตรวจสอบการแทรกแซงอัตโนมัติ" ผู้เขียนบางคนใช้คำว่า "OUTLIER DETECTION" แต่เช่นเดียวกับภาษาทางสถิติจำนวนมากสิ่งนี้อาจทำให้สับสน / ไม่แน่นอน การแทรกแซงที่ตรวจพบสามารถทำสิ่งใดสิ่งหนึ่งดังต่อไปนี้ (ตรวจจับการเปลี่ยนแปลงที่สำคัญในค่าเฉลี่ยของส่วนที่เหลือ);

การเปลี่ยนแปลงระยะเวลา 1 ครั้งในระดับ (เช่นชีพจร) การเปลี่ยนแปลงที่ต่อเนื่องหลายช่วงเวลาในระดับ (เช่นการเปลี่ยนแปลงในการสกัดกั้น) ชีพจรที่เป็นระบบ (เช่นชีพจรตามฤดูกาล) แนวโน้มการเปลี่ยนแปลง (เช่น 1,2,3,4,5 7,9,11,13,15 ..... ) ขั้นตอนเหล่านี้ตั้งโปรแกรมได้อย่างง่ายดายใน R / SAS / Matlab และมีให้ใช้งานเป็นประจำในแพ็คเกจอนุกรมเวลาที่มีวางจำหน่ายทั่วไป แต่มีข้อผิดพลาดมากมายที่คุณต้องระวัง เช่นว่าจะตรวจสอบโครงสร้างสุ่มก่อนหรือทำการตรวจจับการแทรกแซงในชุดเดิม นี่เป็นปัญหาไก่และไข่ การทำงานช่วงแรกในพื้นที่นี้ถูก จำกัด ไว้ที่ประเภท 1 และอาจจะไม่เพียงพอสำหรับความต้องการของคุณเนื่องจากตัวอย่างของคุณแสดงให้เห็นถึงการเปลี่ยนระดับ

มีเนื้อหามากมายบนเว็บและแม้กระทั่งโปรแกรมฟรีที่http://www.autobox.com/30day.exeซึ่งแม้แต่อนุญาตให้คุณใช้ข้อมูลของคุณเองเป็นเวลา 30 วัน คุณอาจเรียนรู้สิ่งต่างๆมากมาย "เพียงแค่ดู" ในฐานะโยคีเคยพูดและทำซ้ำผลลัพธ์ของพวกเขา

อ้างอิงเว็บสำหรับสมการที่แน่นอนสำหรับคุณที่จะใช้งานสามารถพบได้เริ่มต้นที่หน้า 134 ใน http://www.autobox.com/pdfs/autoboxusersguide.pdf ฉันเป็นหนึ่งในผู้แต่งของ AUTOBOX


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

1

ลอง cpm หรือแพคเกจ changepoint ใน R มันใช้ได้ฟรี นอกจากนี้การวิจัยรูปแบบจุดเปลี่ยนหรือการตรวจจับการเปลี่ยนแปลงตามลำดับ


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