ee.Algorithms.TemporalSegmentation.C2c

यह कंपोज़िट 2 चेंज (C2C) एल्गोरिदम को लागू करता है. यह एल्गोरिदम, टाइम सीरीज़ को कई हिस्सों में बांटता है. इसके लिए, यह पीसवाइज़ लीनियर फ़िट का इस्तेमाल करता है. साथ ही, यह दिए गए ज़्यादा से ज़्यादा रूट मीन स्क्वेयर्ड एरर (आरएमएसई) के अंदर डेटा को फ़िट करने के लिए, कम से कम ज़रूरी सेगमेंट का इस्तेमाल करता है. हर इनपुट बैंड के लिए, एल्गोरिदम ये आउटपुट बैंड दिखाता है:
  • changeDate (Array[Double]): बदलावों का पता चलने की तारीखें. तारीख का फ़ॉर्मैट, dateFormat आर्ग्युमेंट से तय होता है.
  • value (Array[Double]): हर changeDate पर बैंड की वैल्यू.
  • मैग्नीट्यूड (Array[Double]): बदलाव की तारीख से पहले और बाद की वैल्यू के बीच का अंतर. पहली वैल्यू हमेशा NaN होती है.
  • duration (Array[Double]): बदलाव की तारीख से पहले के सेगमेंट की अवधि. पहली अवधि हमेशा NaN होती है.
  • rate (Array[Double]): बदलाव की तारीख से पहले के डेटा में बदलाव की दर. पहली दर हमेशा NaN होती है.
अगर includePostMetrics की वैल्यू true है, तो हर बैंड के लिए ये वैरिएबल शामिल किए जाते हैं.
  • postMagnitude (Array[Double]): यह अगले सेगमेंट की शुरुआत में मौजूद वैल्यू और बदलाव की तारीख की वैल्यू के बीच का अंतर होता है. आखिरी postMagnitude हमेशा NaN होता है.
  • postDuration (Array[Double]): बदलाव की तारीख के बाद के सेगमेंट की अवधि. postDuration की आखिरी वैल्यू हमेशा NaN होती है.
  • postRate (Array[Double]): बदलाव की तारीख के बाद, डेटा में बदलाव की दर. lastPostRate हमेशा NaN होता है.
अगर includeRegrowth की वैल्यू true है, तो हर बैंड के लिए ये वैरिएबल शामिल किए जाते हैं.
  • indexRegrowth (Array[Double]): यह बदलाव की तारीख वाली वैल्यू और उसके बाद के पांच डेटा पॉइंट की वैल्यू के बीच का अंतर होता है.
  • recoveryIndicator (Array[Double]): यह इंडेक्सरीग्रोथ और मैग्नीट्यूड का अनुपात होता है.
  • 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. वुल्डर, जोऐन सी॰ व्हाइट, निकोलस सी॰ कूप्स, डेनियल कोएल्हो, जियोवानी सियाट्टो, नोएल गोरेलिक, और सेवेरियो फ़्रांसिनी. तैयार किया जा रहा है. इमेज कंपोज़िटिंग, टाइम-सीरीज़ में बदलाव का पता लगाना, और समय के हिसाब से मेट्रिक: Google Earth Engine पर Composite2Change (C2C) एल्गोरिदम लागू करना.

यह एल्गोरिदम, झलक देखने के लिए उपलब्ध है और इसमें बदलाव हो सकता है.

इस्तेमालरिटर्न
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 = यूनिक्स टाइम (मिलीसेकंड में). हर टेंपोरल सेगमेंट के शुरू होने, खत्म होने, और ब्रेक के समय को इस तरह से कोड किया जाएगा.
maxErrorListसूची, डिफ़ॉल्ट: {}हर बैंड के लिए, ज़्यादा से ज़्यादा गड़बड़ी (आरएमएसई) की वैल्यू की सूची. अगर यह वैल्यू नहीं दी जाती है, तो सभी बैंड के लिए maxError वैल्यू का इस्तेमाल किया जाएगा.
spikesToleranceListसूची, डिफ़ॉल्ट: {}हर बैंड के लिए, स्पाइक टॉलरेंस वैल्यू की सूची. वैल्यू 1 का मतलब है कि स्पाइक को नहीं हटाया गया है. अगर यह वैल्यू नहीं दी जाती है, तो सभी बैंड के लिए spikesTolerance वैल्यू का इस्तेमाल किया जाएगा.
spikeRemovalMagnitudeListसूची, डिफ़ॉल्ट: {}हर बैंड के लिए, स्पाइक हटाने की मैग्नीट्यूड वैल्यू की सूची. इस वैल्यू से ज़्यादा मैग्नीट्यूड वाले स्पाइक हटा दिए जाते हैं. अगर यह विकल्प नहीं दिया गया है, तो सभी बैंड के लिए spikeRemovalMagnitude वैल्यू का इस्तेमाल किया जाएगा.
maxErrorफ़्लोट, डिफ़ॉल्ट: 0.075पीसवॉइस लीनियर फ़िट का ज़्यादा से ज़्यादा अनुमानित माध्य वर्ग विचलन (आरएमएसई). इससे सेगमेंटेशन की संवेदनशीलता को कंट्रोल किया जाता है.
maxSegmentsपूर्णांक, डिफ़ॉल्ट: 6फ़िट की गई ट्रैजेक्ट्री में ज़्यादा से ज़्यादा सेगमेंट की अनुमति है.
infillबूलियन, डिफ़ॉल्ट: trueयह विकल्प, टाइम सीरीज़ में मौजूद खाली जगहों को भरने की सुविधा चालू करता है. इससे, मौजूद न होने वाली वैल्यू (यानी कि 0 के बराबर वैल्यू) के बावजूद, डेटा को सही तरीके से फ़िट करने में मदद मिलती है.
spikesToleranceफ़्लोट, डिफ़ॉल्ट: 0.85इस विकल्प से, टाइम सीरीज़ में अचानक होने वाली बढ़ोतरी को कंट्रोल किया जाता है. इसकी वैल्यू 0 से 1 तक होती है. वैल्यू 1 का मतलब है कि स्पाइक नहीं हटाई गई है. कम वैल्यू का मतलब है कि स्पाइक को ज़्यादा हटाया गया है.
spikeRemovalMagnitudeफ़्लोट, डिफ़ॉल्ट: 0.1स्पाइक हटाने के लिए थ्रेशोल्ड. इस वैल्यू से ज़्यादा अंतर वाले स्पाइक हटा दिए जाते हैं. अंतर का मतलब, आस-पास की वैल्यू के औसत से अंतर है.
includePostMetricsबूलियन, डिफ़ॉल्ट: trueबदलाव के बाद के डिस्क्रिप्टर (postMagnitude, postDuration, postRate) दिखाता है.
includeRegrowthबूलियन, डिफ़ॉल्ट: falseलौटाए गए आइटम की मेट्रिक (indexRegrowth, recoveryIndicator, regrowth60/80/100).
interpolateRegrowthबूलियन, डिफ़ॉल्ट: trueरीग्रोथ मेट्रिक का हिसाब लगाने से पहले, टाइम सीरीज़ में हुए बदलावों का पता लगाएं और उनका इस्तेमाल करके, टाइम सीरीज़ को लीनियर तरीके से इंटरपोलेट करें.
useRelativeRegrowthबूलियन, डिफ़ॉल्ट: falseयह गड़बड़ी से पहले की स्थितियों के हिसाब से, फिर से बढ़ने की थ्रेशोल्ड वैल्यू का हिसाब लगाता है.
negativeMagnitudeOnlyबूलियन, डिफ़ॉल्ट: falseयह कुकी, सिर्फ़ उन ब्रेकपॉइंट को सेव करती है जो नेगेटिव बदलावों (डायरेक्शनल फ़िल्टरिंग) से जुड़े होते हैं.