ee.Algorithms.TemporalSegmentation.C2c

การติดตั้งใช้งานอัลกอริทึม Composite 2 Change (C2C) อัลกอริทึมนี้จะแบ่งอนุกรมเวลาโดยใช้การปรับเชิงเส้นแบบเป็นช่วง โดยมีจำนวนช่วงขั้นต่ำที่จำเป็นในการปรับข้อมูลภายในค่าเฉลี่ยความคลาดเคลื่อนกำลังสอง (RMSE) สูงสุดที่กำหนด สำหรับแถบอินพุตแต่ละแถบ อัลกอริทึมจะแสดงแถบเอาต์พุตต่อไปนี้
  • changeDate (อาร์เรย์[Double]): วันที่ที่ตรวจพบการเปลี่ยนแปลง รูปแบบวันที่จะกำหนดโดยอาร์กิวเมนต์ dateFormat
  • value (Array[Double]): ค่าของแบนด์ที่ changeDate แต่ละรายการ
  • magnitude (Array[Double]): ความแตกต่างระหว่างค่าก่อนและหลังวันที่เปลี่ยนแปลง ขนาดแรกจะเป็น NaN เสมอ
  • duration (Array[Double]): ระยะเวลาของกลุ่มก่อนหน้าวันที่เปลี่ยนแปลง ระยะเวลาแรกจะเป็น NaN เสมอ
  • rate (Array[Double]): อัตราการเปลี่ยนแปลงของข้อมูลก่อนวันที่เปลี่ยนแปลง อัตราแรกจะเป็น NaN เสมอ
หาก includePostMetrics เป็นจริง ระบบจะรวมตัวแปรต่อไปนี้ต่อแบนด์
  • postMagnitude (Array[Double]): ความแตกต่างสัมบูรณ์ระหว่างค่าที่จุดเริ่มต้นของกลุ่มถัดไปกับค่า ณ วันที่เกิดการเปลี่ยนแปลง ส่วน postMagnitude สุดท้ายจะเป็น NaN เสมอ
  • postDuration (Array[Double]): ระยะเวลาของกลุ่มหลังวันที่เปลี่ยนแปลง โดย postDuration สุดท้ายจะเป็น NaN เสมอ
  • postRate (Array[Double]): อัตราการเปลี่ยนแปลงของข้อมูลหลังจากวันที่เปลี่ยนแปลง โดยโพสต์สุดท้าย Rate จะเป็น NaN เสมอ
หาก includeRegrowth เป็นจริง ระบบจะรวมตัวแปรต่อไปนี้ต่อแบนด์
  • indexRegrowth (Array[Double]): ความแตกต่างระหว่างค่า ณ วันที่เปลี่ยนแปลงกับค่า 5 จุดข้อมูลหลังจากนั้น
  • recoveryIndicator (Array[Double]): อัตราส่วนของ indexRegrowth ต่อ magnitude
  • regrowth60 (Array[Double]): ความแตกต่างของเวลาระหว่างวันที่เปลี่ยนแปลงกับจุดข้อมูลที่ค่าอนุกรมเป็น 60% ของค่าก่อนเกิดการหยุดชะงัก
  • regrowth80 (Array[Double]): ความแตกต่างของเวลาระหว่างวันที่เปลี่ยนแปลงกับจุดข้อมูลที่ค่าอนุกรมเป็น 80% ของค่าก่อนเกิดการรบกวน
  • regrowth100 (Array[Double]): ความแตกต่างของเวลาระหว่างวันที่เปลี่ยนแปลงกับจุดข้อมูลที่ค่าอนุกรมเป็น 100% ของค่าก่อนเกิดการรบกวน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับอัลกอริทึมต้นฉบับได้ที่ Hermosilla et al. (2015) https://doi.org/10.1016/j.rse.2014.11.005 ดูการใช้งานอัลกอริทึมได้ที่ GitHub: https://github.com/saveriofrancini/C2C-GEE ขอขอบคุณ FORWARDS และ NextGenCarbon

การอ้างอิง: Txomin Hermosilla, Michael A. Wulder, Joanne C. White, Nicholas C. Coops, Daniel Coelho, Giovanni Ciatto, Noel Gorelick และ Saverio Francini กำลังเตรียม การคอมโพสิตรูปภาพ การตรวจหาการเปลี่ยนแปลงอนุกรมเวลา และเมตริกชั่วคราว: การใช้การติดตั้งใช้งานอัลกอริทึม Composite2Change (C2C) ใน Google Earth Engine

อัลกอริทึมนี้อยู่ในเวอร์ชันตัวอย่างและอาจมีการเปลี่ยนแปลง

การใช้งานการคืนสินค้า
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxErrorList, spikesToleranceList, spikeRemovalMagnitudeList, maxError, maxSegments, infill, spikesTolerance, spikeRemovalMagnitude, includePostMetrics, includeRegrowth, interpolateRegrowth, useRelativeRegrowth, negativeMagnitudeOnly)รูปภาพ
อาร์กิวเมนต์ประเภทรายละเอียด
collectionImageCollectionคอลเล็กชันรูปภาพที่จะใช้ C2C
dateFormatจำนวนเต็ม ค่าเริ่มต้น: 0การแสดงเวลาที่จะใช้ในระหว่างการปรับ: 0 = jDays, 1 = ปีเศษ, 2 = เวลาของ Unix ในหน่วยมิลลิวินาที ระบบจะเข้ารหัสเวลาเริ่มต้น เวลาสิ้นสุด และเวลาพักสำหรับแต่ละกลุ่มชั่วคราวด้วยวิธีนี้
maxErrorListรายการ ค่าเริ่มต้น: {}รายการค่าความคลาดเคลื่อนสูงสุด (RMSE) ที่จะใช้สำหรับแต่ละแถบ หากไม่ได้ระบุ ระบบจะใช้ค่า maxError กับทุกแถบ
spikesToleranceListรายการ ค่าเริ่มต้น: {}รายการค่าความทนทานต่อการเพิ่มขึ้นอย่างรวดเร็วที่จะใช้สำหรับแต่ละแบนด์ ค่า 1 หมายถึงไม่มีการนำช่วงที่เพิ่มขึ้นออก หากไม่ได้ระบุ ระบบจะใช้ค่า spikesTolerance กับทุกแบนด์
spikeRemovalMagnitudeListรายการ ค่าเริ่มต้น: {}รายการค่าความแรงของการนำจุดสูงสุดออกที่จะใช้สำหรับแต่ละย่านความถี่ ระบบจะนำจุดที่ค่าความแรงสูงกว่าค่านี้ออก หากไม่ได้ระบุ ระบบจะใช้ค่า spikeRemovalMagnitude กับทุกแถบ
maxErrorลอย ค่าเริ่มต้น: 0.075RMSE สูงสุดที่อนุญาตของการปรับเชิงเส้นแบบเป็นช่วง ซึ่งควบคุมความไวในการแบ่งกลุ่ม
maxSegmentsจำนวนเต็ม ค่าเริ่มต้น: 6จำนวนสูงสุดของกลุ่มที่อนุญาตในวิถีที่ปรับ
infillบูลีน ค่าเริ่มต้น: จริงเปิดใช้การเติมข้อมูลช่องว่างภายในอนุกรมเวลาเพื่อรองรับการปรับให้เหมาะสมที่เสถียรในกรณีที่มีค่าขาดหายไป (เช่น ค่าเท่ากับ 0)
spikesToleranceFloat, ค่าเริ่มต้น: 0.85ควบคุมค่าความคลาดเคลื่อนของค่าสูงสุดในอนุกรมเวลา ค่าอยู่ในช่วง 0 ถึง 1 ค่า 1 หมายถึงไม่มีการนำจุดสูงสุดออก ส่วนค่าที่ต่ำกว่าจะมีความเข้มงวดมากขึ้น
spikeRemovalMagnitudeFloat, ค่าเริ่มต้น: 0.1เกณฑ์ขนาดการนำค่าผิดปกติออก ระบบจะนำจุดที่ค่าความผันผวน (ความแตกต่างสัมบูรณ์จากค่าเฉลี่ยของจุดข้างเคียง) สูงกว่าค่านี้ออก
includePostMetricsบูลีน ค่าเริ่มต้น: จริงแสดงตัวอธิบายหลังการเปลี่ยนแปลง (postMagnitude, postDuration, postRate)
includeRegrowthบูลีน ค่าเริ่มต้น: เท็จเมตริกการฟื้นตัว/การเติบโตอีกครั้งของการคืนสินค้า (indexRegrowth, recoveryIndicator, regrowth60/80/100)
interpolateRegrowthบูลีน ค่าเริ่มต้น: จริงประมาณค่าอนุกรมเวลาแบบเชิงเส้นโดยใช้การเปลี่ยนแปลงที่ตรวจพบก่อนคำนวณเมตริกการกลับมาเติบโต
useRelativeRegrowthบูลีน ค่าเริ่มต้น: เท็จคำนวณเกณฑ์การงอกใหม่ในแง่สัมพัทธ์กับสภาพก่อนเกิดการรบกวน
negativeMagnitudeOnlyบูลีน ค่าเริ่มต้น: เท็จเก็บเฉพาะจุดพักที่เชื่อมโยงกับการเปลี่ยนแปลงเชิงลบ (การกรองตามทิศทาง)