วิธีการวัดความเรียบของอนุกรมเวลาใน R?


25

มีวิธีที่ดีในการวัดความเรียบของอนุกรมเวลาใน R หรือไม่? ตัวอย่างเช่น,

-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0

ราบรื่นกว่า

-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0

แม้ว่าจะมีค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานเดียวกัน มันจะเจ๋งถ้ามีฟังก์ชั่นที่จะให้คะแนนที่ราบรื่นกับฉันในช่วงเวลา


4
ความนุ่มนวลมีความหมายที่ชัดเจนในทฤษฎีของกระบวนการสโตแคสติก ("A Variogram เป็นคำอธิบายเชิงสถิติเชิงปริมาณและความหยาบของพื้นผิว": goldensoftware.com/variogramTutorial.pdf , หน้า 16) ความนุ่มนวลเกี่ยวข้องกับการประมาณค่าของ Variogram ให้เป็นศูนย์ระยะทาง (SD ของความแตกต่างอย่างต่อเนื่องและความสัมพันธ์แบบออเดอร์หนึ่งล่าช้านั้นเป็นเวอร์ชั่นที่รวดเร็วและสกปรก) ข้อมูลที่สำคัญนั้นมีอยู่ในค่าสัมประสิทธิ์ของเทย์เลอร์ซีรีย์ที่ 0 เช่นค่าคงที่ที่ไม่เป็นศูนย์จะค่อนข้างหยาบ ศูนย์ลำดับสูงที่ 0 หมายถึงซีรีย์ที่ราบรื่นมาก
whuber

ผมเคยได้ยินของHurstเลขชี้กำลังเกินไป
เทย์เลอร์

ช่างตลกเหลือเกินฉันสงสัยในสิ่งเดียวกันนี้ด้วยตัวเอง ขอบคุณสำหรับการโพสต์!
Chris Beeley

@whuber: นั่นเป็นคำตอบไม่ใช่ความคิดเห็น
naught101

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

คำตอบ:


22

ค่าเบี่ยงเบนมาตรฐานของความแตกต่างจะทำให้คุณประมาณการคร่าวๆได้อย่างราบรื่น:

x <- c(-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0)
y <- c(-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0)
sd(diff(x))
sd(diff(y))

อัปเดต:เมื่อสีฟ้าชี้ให้เห็นนั่นเป็นการวัดขนาดตามขนาดของคุณ การวัดขนาดที่เป็นอิสระคล้ายกันจะใช้ค่าสัมประสิทธิ์การเปลี่ยนแปลงมากกว่าค่าเบี่ยงเบนมาตรฐาน:

sd(diff(x))/abs(mean(diff(x)))
sd(diff(y))/abs(mean(diff(y)))

ในทั้งสองกรณีค่าเล็กน้อยจะสอดคล้องกับซีรี่ส์ที่นุ่มนวลกว่า


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

1
ขอบคุณ @Cyan ตอนนี้ฉันได้เพิ่มเวอร์ชันที่ไม่ขึ้นต่อกันเช่นกัน
Rob Hyndman

2
คุณตั้งใจจะรวมdiffไว้ในส่วนหรือไม่? ค่าจะลดลงพีชคณิต(x[n]-x[1])/(n-1)ซึ่งเป็นตัวชี้วัด (น้ำมันดิบ) ของแนวโน้มและควรในหลาย ๆ กรณีให้อยู่ใกล้กับศูนย์มากทำให้เกิดสถิติที่ไม่เสถียรและไม่มีความหมายมากนัก ฉันงงกับเรื่องนั้น แต่บางทีฉันอาจมองเห็นบางสิ่งบางอย่างที่ชัดเจน ...
whuber

1
ฉันเคยdiffหลีกเลี่ยงข้อสันนิษฐานของความคงที่ ถ้ามันถูกกำหนดด้วยตัวส่วนabs(mean(x))แล้วการปรับสเกลจะทำงานเมื่อxหยุดนิ่งเท่านั้น การ diffs หมายความว่ามันจะทำงานสำหรับกระบวนการคงที่แตกต่างเช่นกัน แน่นอน diffs อาจไม่ทำให้xเครื่องเขียนแล้วยังมีปัญหา การปรับสเกลเวลาเป็นเรื่องยุ่งยากด้วยเหตุนี้ แต่ฉันคำนึงถึงความมั่นคง ฉันคิดว่าการทำทุกอย่างให้ดีขึ้นจะต้องมีบางสิ่งบางอย่างที่ซับซ้อนยิ่งขึ้น --- โดยใช้ตัวอย่างที่ราบรื่นยิ่งขึ้น
Rob Hyndman

1
ฉันคิดว่าแนวโน้มคงที่ควรราบรื่นอย่างสมบูรณ์ดังนั้นคำตอบควรเป็น 0
Rob Hyndman

13

ความล่าช้าหนึ่งอัตจะทำหน้าที่เป็นคะแนนและมีการตีความทางสถิติที่ตรงไปตรงมาพอสมควรเกินไป

cor(x[-length(x)],x[-1])

การตีความคะแนน:

  • คะแนนใกล้ 1 หมายถึงชุดที่แตกต่างกันอย่างราบรื่น
  • คะแนนที่อยู่ใกล้ 0 หมายความว่าไม่มีความสัมพันธ์เชิงเส้นโดยรวมระหว่างจุดข้อมูลและจุดต่อไปนี้ (นั่นคือพล็อต (x [-length (x)], x [-1]) จะไม่ให้ scatterplot
  • คะแนนที่อยู่ใกล้กับ -1 แนะนำว่าซีรีย์นั้นขรุขระในบางวิธี: หากมีจุดใดจุดหนึ่งอยู่เหนือค่าเฉลี่ย

0

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


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