# 84. Мутація: Калібрувати та очищати YieldDataset

Калібрування "YieldDataset" — це функціональність, яка коригує розподіл значень відповідно до математичних принципів, покращуючи загальну цілісність даних. Вона підвищує якість прийняття рішень і робить набір даних цінним для подальшого глибокого аналізу.

Поширені випадки використання цієї функціональності включають:

* Синхронізацію даних, коли кілька жнивних машин працювали одночасно або протягом декількох днів, забезпечуючи узгодженість.
* Зроблення набору даних більш однорідним і точним шляхом згладжування варіацій.
* Видалення шуму в даних та зайвої інформації, яка може заважати отриманню інсайтів.
* Видалення розворотів або аномальних геометрій, які можуть спотворювати реальні шаблони та тенденції на полі.
* Коригування даних урожайності відповідно до встановлених середніх значень або сум для кожного атрибуту.

Для детальнішого вивчення та прикладів зверніться, будь ласка, до нашого [Калібрування та очищення урожайності](/geopard-tutorials/ukrainian/agronomiya/kalibruvannya-ta-ochishennya-vrozhainosti.md) випадку використання.

### Оригінальний YieldDataset з атрибутом WetMass

П’ять жнивних машин працювали паралельно на полі площею 30 га, показаному нижче. Калібрування однієї з машин не було синхронізоване з іншими, внаслідок чого з’явилися <mark style="color:помаранчевий;">помаранчевий</mark> плями, що вказують на те, що додаткова `КАЛІБРУВАННЯ` потрібне. Крім того, є численні розвороти <mark style="color:червоні;">червоні</mark> плями ближче до країв "Поля", які потрібно усунути.

<figure><img src="/files/529fa720a941e1e423c1b615908bcec0a5ed79ce" alt=""><figcaption><p>Оригінальний YieldDataset з атрибутом WetMass</p></figcaption></figure>

### Калібрований і очищений YieldDataset з атрибутом WetMass

Результат нижче показує набір даних після застосування автоматичних `КАЛІБРУВАТИ` та `ОЧИСТИТИ` операцій з використанням параметрів за замовчуванням. Отриманий "YieldDataset" став однорідним, без викидів або раптових змін між сусідніми геометріями.

<figure><img src="/files/a07436eca61aff22024469aa763825638d7657b7" alt=""><figcaption><p>Калібрований і очищений YieldDataset з атрибутом WetMass</p></figcaption></figure>

### Параметри Pathwise проти Average/Total проти Conditional

**Pathwise калібрування** відповідає шляхам машини. Кожен шлях машини обробляється як окрема область для цілей калібрування. Команда GeoPard радить використовувати цей метод як стандартний підхід.

**Average/Total калібрування** зосереджується на перерозподілі значень атрибутів. Якщо геопросторові шаблони точні, але абсолютні показники відрізняються від фактичних, цей метод є корисним. Для оптимальних результатів GeoPard радить поєднувати його з Pathwise калібруванням: спочатку застосувати Pathwise, а потім коригувати до відомих значень Average/Total.

**Conditional калібрування** коригує значення атрибутів на основі заданих порогів мінімуму та максимуму. Цей метод особливо цінний, коли геопросторові шаблони точні, але розподіл значень потребує налаштування, особливо якщо відомі мінімальні та максимальні значення. Для найкращих результатів GeoPard рекомендує поєднувати його з Pathwise калібруванням: почати з Pathwise, а потім виконати коригування для відповідності відомим мінімуму та максимуму.

### Підказки

{% hint style="warning" %}
**Підказка щодо аномалій у даних**

Якщо користувач стикається з аномаліями в даних, наприклад значеннями на або близькими до нуля, або незвично великими значеннями (наприклад, середнє 10 з максимумом 8000), рекомендується **робочий процес Clean & Calibration** Він налаштований за допомогою параметрів `дії: [CLEAN, CALIBRATE]`.&#x20;

Пріоритетне очищення даних перед калібруванням забезпечує видалення помилок, відсутніх значень або невідповідностей, тим самим покращуючи якість і точність даних.
{% endhint %}

{% hint style="warning" %}
**Підказка для даних без початкових помилок**&#x20;

Для наборів даних, що спочатку не містять помилок, відсутніх значень або невідповідностей, і коли відомо про участь кількох жнивних машин, розгляньте можливість використання **робочого процесу Calibration & Clean** Він налаштований за допомогою параметрів `дії:  [CALIBRATE, CLEAN]`.

Очищення даних після калібрування допомагає додатково відшліфувати набір даних, потенційно усуваючи будь-які артефакти, введені під час калібрування.
{% endhint %}

### Документація: деталі мутації

Стандартна конфігурація за замовчуванням дозволяє автоматичне калібрування та очищення "YieldDataset".

{% code overflow="wrap" lineNumbers="true" %}

```graphql
мутація AutoCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    дії: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        conditionPathwiseCalibration: {
          calibrationBasis: "WetMass"
          maxHomogeneityRegion: true
          syntheticMachinePath: true
        }
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
      }
      
      дії:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

Більш просунутий приклад надає ручний контроль діапазонів min/max і включає додаткові атрибути.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
мутація CustomCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    дії: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        smoothWindowSize: 11
        conditionPathwiseCalibration: {
          calibrationBasis: "Machine"
          maxHomogeneityRegion: true
          syntheticMachinePath: false
        }
        conditionAvgTotalCalibration:[{
          calibrationAttribute: "WetMass"
          average:8.0
        }]
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
        conditionMinMaxClean: [{
          cleanAttribute: "Distance"
          min: 1.5
          max: 10.0
        }]
      }
      дії:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
Щоб дотримуватися протоколу USDA для `ОЧИСТИТИ` операції, ви повинні або вказати ВСІ стовпці в `cleanAction` -> `conditionMinMaxClean` або вказати частину з них у `cleanAction` -> `conditionMinMaxClean` і решту в `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Вхідні параметри:

* `дії` як масив, що дозволяє вам вибирати *коригувальні дії та їх послідовність* застосування; підтримувані значення включають `ОЧИСТИТИ` та `КАЛІБРУВАТИ`.
* `calibrateAction` як об’єкт, що містить деталі конфігурації, пов’язані з `КАЛІБРУВАТИ` операцією.&#x20;
  * `calibrationAttributes` як масив атрибутів, що потребують калібрування, зазвичай пов’язаних зі стовпцем Yield.
  * `smoothWindowSize` як непарне ціле число, яке згладжує результуючі значення, зменшуючи різкі стрибки у значеннях.
  * `conditionPathwiseCalibration` як об’єкт з **Pathwise** калібрування відповідає шляхам машини. Кожен шлях машини обробляється як окрема область для цілей калібрування.
    * `calibrationBasis` як рядок, що представляє атрибут, використаний як основа для калібрування.
    * `maxHomogeneityRegion` як булеве значення, яке вказує, чи використовується регіон максимального різноманіття як довідкова область для калібрування.
    * `syntheticMachinePath` як булеве значення, яке вказує на імітацію маршрутів машин; воно корисне, коли точний атрибут шляху машини відсутній і потребує імітації на основі часових міток або подібного атрибуту.
  * `conditionAvgTotalCalibration` як об’єкт з **Average/Total** калібрування зосереджується на перерозподілі значень атрибутів. Якщо геопросторові шаблони точні, але абсолютні показники відрізняються від фактичних, цей метод є корисним.
    * `calibrationAttribute` як рядок, що представляє атрибут, який буде калібруватися.
    * `average` як число, що представляє середні значення атрибуту; значення атрибуту повинні відповідати цьому середньому. Слід використовувати лише один варіант, або `average` або `total`, одночасно.
    * `total` як число, що представляє загальну суму значень атрибуту; сума цих значень повинна відповідати загальному підсумку. Слід використовувати лише один варіант, або `average` або `total`, одночасно.
  * `conditionMinMaxCalibration` як об’єкт з **Conditional** калібрування коригує значення атрибутів на основі заданих порогів мінімуму та максимуму.
    * `calibrationAttribute` як рядок, що представляє атрибут, який буде калібруватися.
    * `min` як число, що представляє мінімальні значення атрибуту, які служать нижньою межею для калібрування.
    * `minIncluded` як булеве значення, що вказує, чи включати мінімальне значення.
    * `max` як число, що представляє максимальні значення атрибуту, які служать верхньою межею для калібрування.
    * `maxIncluded` як булеве значення, що вказує, чи включати максимальне значення.
* `cleanAction` як об’єкт, що включає специфіку конфігурації, пов’язану з `ОЧИСТИТИ` операцією.
  * `conditionAutoClean` як об’єкт, що включає налаштування, специфічні для алгоритму автoочищення.
    * `targetAttribute` як рядок, що представляє цільові значення Yield.
    * `excludedAttributes` як масив рядків, що визначають атрибути, які не впливають на операцію очищення.
  * `conditionMinMaxClean` як масив об’єктів, що містять описані правила очищення; кожен об’єкт включає такі параметри.
    * cleanAttribute як рядок, що вказує назву стовпця для правила.
    * `min` як число, що вказує мінімальне значення.
    * `max` як число, що вказує максимальне значення.

{% hint style="info" %}
Щоб переглянути вхідні дані та отримати доступ до останніх доступних значень перерахувань (наприклад, `операцій`), рекомендується використовувати [Altair](/geopard-tutorials/ukrainian/dokumentaciya-api/pochatok-roboti-z-geopard-api.md).
{% endhint %}

### Документація: запит YieldDataset

Як споживач GeoPard API, ви можете отримати деталі щодо коригувань, застосованих до YieldDatasets, через атрибути `appliedCorrections` та `appliedCorrectionsVersion`. Перший надає список внесених коригувань (наприклад, `КАЛІБРУВАТИ` та `ОЧИСТИТИ`), порядок виконання яких позначається їх послідовністю в масиві. Натомість `appliedCorrectionsVersion` вказує версію застосованого алгоритму.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
запит DetailsAboutAppliedCalibrations {
  getFields (filter: {fieldUuid: "<placeholder_of_field_uuid>"}){
    fields {
      uuid
      yieldDatasets  {
        uuid
        appliedCorrections
        appliedCorrectionsVersion
      }
    }
  }
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/84.-mutaciya-kalibruvati-ta-ochishati-yielddataset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
