ทำไมฟังก์ชั่น stl จึงมีความแปรผันตามฤดูกาลอย่างมีนัยสำคัญด้วยข้อมูลแบบสุ่ม


11

ฉันพล็อตด้วยรหัสต่อไปนี้พร้อมฟังก์ชั่น stl (การสลายตามฤดูกาลของ Time Series by Loess):

plot(stl(ts(rnorm(144), frequency=12), s.window="periodic"))

มันแสดงให้เห็นถึงการเปลี่ยนแปลงตามฤดูกาลที่สำคัญกับข้อมูลสุ่มที่ใส่ไว้ในโค้ดด้านบน (ฟังก์ชัน rnorm) รูปแบบ Signficant จะเห็นทุกครั้งที่มีการเรียกใช้แม้ว่ารูปแบบจะแตกต่างกัน สองรูปแบบดังกล่าวจะแสดงด้านล่าง:

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

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

เราจะพึ่งพาฟังก์ชั่น stl ในข้อมูลบางอย่างได้อย่างไรเมื่อมันแสดงการเปลี่ยนแปลงตามฤดูกาล ความแปรปรวนตามฤดูกาลนี้จำเป็นต้องเห็นในมุมมองของพารามิเตอร์อื่นหรือไม่? ขอบคุณสำหรับความเข้าใจของคุณ

รหัสถูกนำมาจากหน้านี้: นี่เป็นวิธีที่เหมาะสมในการทดสอบผลกระทบตามฤดูกาลในข้อมูลการนับการฆ่าตัวตายหรือไม่?


1
ที่เกิดขึ้นเพราะมี "รูปแบบ" ในข้อมูลแบบสุ่มถ้าเทคนิคการฟิตติ้งของคุณมีพารามิเตอร์เพียงพอ
bill_080

3
คำว่า "สำคัญ" ที่นี่ดูเหมือนจะไม่สะท้อนการทดสอบความสำคัญใด ๆ
Nick Cox

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

คำตอบ:


12

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

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

set.seed(123)
x <- ts(rnorm(144, sd=1), frequency=12)
a <- stl(x, s.window="periodic")
apply(a$time.series, 2, var) / var(x)
#   seasonal      trend  remainder 
# 0.07080362 0.07487838 0.81647852 

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

หากเราใช้ซีรีส์ตามฤดูกาลความแปรปรวนแบบสัมพัทธ์ขององค์ประกอบตามฤดูกาลนั้นมีความเกี่ยวข้องมากขึ้น (แม้ว่าเราจะไม่มีวิธีที่ตรงไปตรงมาในการทดสอบเพราะมันไม่ได้เป็นตัวแปร)

y <- diff(log(AirPassengers))
b <- stl(y, s.window="periodic")
apply(b$time.series, 2, var) / var(y)
#    seasonal       trend   remainder 
# 0.875463620 0.001959407 0.117832537 

ความแปรปรวนแบบสัมพัทธ์ระบุว่าฤดูกาลเป็นองค์ประกอบหลักที่อธิบายการเปลี่ยนแปลงของซีรีย์


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


ในตัวอย่าง AirPassengers ของคุณไม่มีแนวโน้มเข้ามาในขณะที่มีแนวโน้มชัดเจนในการวางแผน (AirPassengers) แนวโน้มมาถึง 0.86 (ตามฤดูกาลเพียง 0.1) หากคำสั่ง "diff (log (AirPassengers))" ถูกลบ สิ่งที่ควรทำ
rnso

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

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

เพื่อความกระจ่างมากขึ้นความแปรปรวนแบบสัมพัทธ์จะแสดงให้เห็นว่าส่วนหนึ่งของการย่อยสลายเล่นในข้อมูลโดยรวมอย่างไร IE 70% ตามฤดูกาลแนวโน้ม 20% ฯลฯ
Ted Mosby

1
@TedMosby ความแปรปรวนเป็นการวัดความแปรปรวน / การกระจายตัวในข้อมูล ผลรวมของความแปรปรวนของส่วนประกอบ (เช่นแนวโน้มฤดูกาล) และความแปรปรวนของส่วนที่เหลือจะรวมกับความแปรปรวนของซีรี่ส์ต้นฉบับ ด้วยวิธีนี้โดยการเปรียบเทียบความแปรปรวนของส่วนประกอบกับความแปรปรวนของซีรีย์ดั้งเดิมเราสามารถทราบได้ว่าส่วนประกอบมีความเกี่ยวข้องมากน้อยเพียงใด (เช่นความแปรปรวนของข้อมูลที่อธิบายโดยส่วนประกอบ)
javlacalle

2

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


1
stl()ไม่ได้ขึ้นอยู่กับแนวคิดฟูริเยร์ แม้ว่าฉันจะยังไม่เห็นใครก็ตามที่สนับสนุนการวิเคราะห์ "ไม่สนใจ" โปรดทราบว่าตระกูลแบบจำลองใด ๆ ที่เหมาะสมอาจถือได้ว่าเป็นการกำหนดหรือสันนิษฐานไว้ก่อน คำถามคือไกลโพรซีเดอร์ใดมีขอบเขตสำหรับผู้ใช้ที่จะทราบว่าและวิธีการทำงานไม่ดีสำหรับชุดข้อมูลเฉพาะ
Nick Cox

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