วิธีตรวจสอบการคาดการณ์ของอนุกรมเวลา


10

หนึ่งในประเด็นสำคัญที่นักพยากรณ์ประสบคือถ้าซีรีส์ที่กำหนด สามารถคาดการณ์ได้หรือไม่?

ฉันสะดุดกับบทความเรื่อง " เอนโทรปีในฐานะตัวบ่งชี้การพยากรณ์ของ Priori " โดย Peter Catt ที่ใช้Entropimate Entropy (ApEn) เป็นตัวชี้วัดที่สัมพันธ์กันเพื่อกำหนดชุดเวลาที่กำหนด

บทความกล่าวว่า

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

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

มีแพคเกจที่เรียกว่าเป็นpracmaในRที่ช่วยให้คุณคำนวณ Apen เพื่อวัตถุประสงค์ในการอธิบายฉันใช้อนุกรมเวลา 3 แบบและคำนวณตัวเลข ApEn

  1. อันดับ 1:ซีรี่ส์เวลาของ AirPassenger ที่มีชื่อเสียง - ถูกกำหนดไว้สูงและเราควรคาดการณ์ได้ง่าย
  2. Series 2: Sunspot Time Series - ถูกกำหนดไว้อย่างดี แต่ควรคาดการณ์ได้น้อยกว่า Series 1
  3. ซีรีส์ 3:หมายเลขสุ่มไม่มีวิธีใดที่จะคาดเดาซีรี่ส์นี้ได้

ดังนั้นถ้าเราคำนวณ ApEn, Series 1 ควรน้อยกว่า Series 2 น่าจะน้อยกว่า Series 3 มาก

ด้านล่างคือตัวอย่างข้อมูล R ที่คำนวณ ApEn สำหรับทั้งสามซีรี่ส์

library("pracma")
> series1 <- approx_entropy(AirPassengers)
> series1
[1] 0.5157758
> series2 <- approx_entropy(sunspot.year)
> series2
[1] 0.762243
> series3 <- approx_entropy(rnorm(1:30))
> series3
[1] 0.1529609

นี่ไม่ใช่สิ่งที่ฉันคาดหวัง ซีรี่ส์สุ่มมีจำนวนต่ำกว่าซีรี่ส์ AirPassenger ที่กำหนดไว้อย่างดี แม้ว่าฉันจะเพิ่มจำนวนสุ่มเป็น 100 ฉันก็ยังได้รับสิ่งต่อไปนี้ซึ่งน้อยกว่าซีรี่ส์ 2 / Sunspot.yealry ที่กำหนดไว้อย่างดี

> series3 <- approx_entropy(rnorm(1:100))
> series3
[1] 0.747275

ด้านล่างเป็นคำถามของฉัน:

  1. มี 2 ​​พารามิเตอร์ในการคำนวณ ApEn ( mและr)? วิธีการตรวจสอบพวกเขา Iused เริ่มต้นในRรหัสข้างต้น
  2. ฉันกำลังทำอะไรผิดพลาดซึ่งแสดงว่าไม่ถูกต้องว่า ApEn ต่ำกว่าสำหรับตัวเลขสุ่มเทียบกับซีรี่ส์ที่กำหนดไว้อย่างดีเช่น sunspot.yearly
  3. ฉันควร deseasonalize / detrend ซีรี่ส์แล้วประเมิน ApEn อย่างไรก็ตามผู้เขียนได้ใช้ ApEn โดยตรงกับซีรีส์
  4. มีวิธีอื่นอีกไหมในการพิจารณาว่าชุดนั้นสามารถคาดการณ์ได้หรือไม่?

ตามที่ระบุไว้ในบทความเอนโทรปีโดยประมาณไม่ควรใช้กับอนุกรมเวลาสั้น ๆ N <200 ที่สำคัญบทความใช้เอนโทรปีตัวอย่างไม่ประมาณเอนโทรปี Pracma มีทั้งสองอย่าง ขอบคุณ

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

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


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

คำตอบ:


7

พารามิเตอร์mและrเกี่ยวข้องกับการคำนวณเอนโทรปีโดยประมาณ (ApEn)ของอนุกรมเวลาคือความยาวของหน้าต่าง (ลำดับ)และความอดทน (ค่าตัวกรอง)ตามลำดับ ในความเป็นจริงในแง่ของm, rเช่นเดียวกับN(จำนวนของจุดข้อมูล) Apenถูกกำหนดเป็น "ลอการิทึมธรรมชาติของความชุกญาติของรูปแบบซ้ำ ๆ ของความยาวmเมื่อเทียบกับผู้ที่มีความยาวm + 1" (Balasis, Daglis, Anastasiadis & Eftaxias 2011 , หน้า 215):

ApEn(m,r,N)=Φm(r)Φm+1(r),

where 

Φm(r)=ΣilnCim(r)/(Nm+1)

ดังนั้นจึงปรากฏว่าการเปลี่ยนความอดทนrจะช่วยให้การควบคุม (ชั่วคราว) ความละเอียดของการกำหนดเอนโทรปีอนุกรมเวลา อย่างไรก็ตามการใช้ค่าเริ่มต้นสำหรับทั้งสองmและrพารามิเตอร์ในpracmaการเรียกฟังก์ชั่นเอนโทรปีของแพคเกจทำงานได้ดี เพียงแก้ไขที่จะต้องทำเพื่อให้เห็นความสัมพันธ์ที่ถูกต้องค่าเอนโทรปีสำหรับทั้งสามอนุกรมเวลา (เอนโทรปีที่ต่ำกว่าสำหรับชุดอื่น ๆ ที่ดีที่กำหนดเอนโทรปีที่สูงขึ้นสำหรับข้อมูลแบบสุ่มมากกว่า) คือการเพิ่มความยาวของข้อมูลเวกเตอร์สุ่ม :

 library(pracma)
 set.seed(10)
 all.series <- list(series1 = AirPassengers,
                    series2 = sunspot.year,
                    series3 = rnorm(500)) # <== size increased
 sapply(all.series, approx_entropy)
  series1   series2   series3 
  0.5157758 0.7622430 1.4741971 

ผลที่คาดว่าจะเป็น - ตามการคาดการณ์ของความผันผวนลดลงจากส่วนใหญ่กำหนดseries1ที่จะสุ่มมากที่สุดเอนโทรปีของพวกเขาจึงเพิ่มขึ้น:series 3ApEn(series1) < ApEn(series2) < ApEn(series3)

ในส่วนที่เกี่ยวกับมาตรการการคาดการณ์อื่น ๆคุณอาจต้องการตรวจสอบค่าเฉลี่ยข้อผิดพลาดที่แน่นอน (MASE) - ดูการสนทนานี้สำหรับรายละเอียดเพิ่มเติม การวิเคราะห์องค์ประกอบที่คาดการณ์ได้ดูเหมือนจะเป็นวิธีที่น่าสนใจและใหม่ในการกำหนดความสามารถในการพยากรณ์ของอนุกรมเวลา และคาดว่าจะมีRแพคเกจสำหรับการที่เป็นอย่างดี - Foreca

library(ForeCA)
sapply(all.series,
       Omega, spectrum.control = list(method = "wosa"))
 series1   series2   series3 
 41.239218 25.333105  1.171738 

Ω[0,1]Ω(whitenoise)=0%Ω(sinusoid)=100%

อ้างอิง

Balasis, G. , Daglis, IA, Anastasiadis, A. , & Eftaxias, K. (2011) การตรวจจับการเปลี่ยนแปลงที่ซับซ้อนแบบไดนามิกในเวลา sSeries โดยใช้แนวคิดของเอนโทรปีและการวิเคราะห์ช่วงที่ได้รับการลดความน่าเชื่อถือ ใน W. Liu และ M. Fujimoto (บรรณาธิการ), Magnetosphere แบบไดนามิก, หนังสือ Sopron พิเศษของ IAGA, ซีรี่ส์ 3, 211.ดอย: 10.1007 / 978-94-0007-2_12. สปริงเกอร์ เรียกดูจากhttp://members.noa.gr/anastasi/papers/B29.pdf

Georg M. Goerg (2013): การวิเคราะห์องค์ประกอบที่คาดการณ์ได้ JMLR, W&CP (2) 2013: 64-72 http://machinelearning.wustl.edu/mlpapers/papers/goerg13


ฉันได้ทดสอบpracma::sample_entropy()ฟังก์ชั่นและความสัมพันธ์ของผลลัพธ์ที่ถูกต้องในช่วงเวลานั้นในสถานการณ์นั้นเช่นกัน
Aleksandr Blekh

@forecaster: ยินดีต้อนรับ
Aleksandr Blekh

1
ดูที่กระดาษนี้notsoirrational.files.wordpress.com/2015/04/schulz15.pdf ซึ่งใช้ข้อมูลจากการทดลองเพื่อแสดงให้เห็นถึงมาตรการในการคาดการณ์ของพวกเขา นอกจากนี้ยังเกี่ยวข้องกับงานบางส่วนกับงาน ForeCA ที่กล่าวถึงในโพสต์นี้
Georg M. Goerg

@ GeorgM.Goerg: ขอบคุณสำหรับคำแนะนำลิงก์ & การแก้ไข
Aleksandr Blekh

@forecaster: ความสุขของฉัน
Aleksandr Blekh

0

ซีรีย์ทุกครั้งประกอบด้วยองค์ประกอบ 3 ส่วน ได้แก่ เทรนด์ฤดูกาลและการสุ่ม หากข้อมูลแสดงแนวโน้มที่แข็งแกร่งและหรือเป็นไปตามฤดูกาลการคาดการณ์จะค่อนข้างง่าย หากข้อมูลเป็นแบบสุ่มส่วนใหญ่คุณจะไม่สามารถคาดการณ์อะไรได้

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