# 84. Изменение: откалибровать и очистить YieldDataset

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

Типичные варианты использования этой функции включают:

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

Для более детального изучения и примеров, пожалуйста, обратитесь к нашему [Калибровка и очистка урожайности](/geopard-tutorials/ru/agronomiya/kalibrovka-i-ochistka-urozhainosti.md) примеру использования.

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

Пять комбайнов работали параллельно на показанном ниже поле площадью 30 га. Калибровка одного из комбайнов не была синхронизирована с другими, в результате чего образовались <mark style="color:оранжевый;">оранжевый</mark> участки, указывающие на то, что дополнительно `ТРЕБУЕТСЯ КАЛИБРОВКА` Кроме того, имеются многочисленные развороты <mark style="color:красные;">красные</mark> участки ближе к краям "Поля", которые необходимо устранить.

<figure><img src="/files/1881746d5c31ecf4576145d86e6f8ff0dfaf0871" alt=""><figcaption><p>Оригинальный YieldDataset с атрибутом WetMass</p></figcaption></figure>

### Откалиброванный и очищенный YieldDataset с атрибутом WetMass

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

<figure><img src="/files/71ec7e04655965f6410c1e3bb30a06127567d239" alt=""><figcaption><p>Откалиброванный и очищенный YieldDataset с атрибутом WetMass</p></figcaption></figure>

### Варианты: по путям vs по среднему/итогу vs условная

**Калибровка по путям** соответствует следам машины. Каждый след машины обрабатывается как отдельная область для целей калибровки. Команда GeoPard предлагает использовать этот метод в качестве стандартного подхода.

**Калибровка по среднему/итогу** ориентируется на перераспределение значений атрибутов. Если геопространственные закономерности точны, но абсолютные показатели отличаются от фактических, этот метод оказывается полезным. Для достижения оптимальных результатов GeoPard советует комбинировать его с калибровкой по путям: сначала применять калибровку по путям, затем корректировать до известных средних/итоговых значений.

**Условная калибровка** корректирует значения атрибутов на основе заданных минимальных и максимальных порогов. Этот метод особенно ценен, когда геопространственные закономерности точны, но распределение значений требует корректировок, особенно если известны минимальные и максимальные значения. Для лучших результатов GeoPard рекомендует сочетать его с калибровкой по путям: начинать с калибровки по путям, затем выполнять корректировки для согласования с известными мин/макс значениями.

### Подсказки

{% hint style="warning" %}
**Подсказка по аномалиям данных**

Если пользователь сталкивается с аномалиями в данных, такими как значения, равные или близкие к нулю, или необычно большие значения (например, среднее 10 при максимуме 8000), рекомендуется использовать **Рабочий процесс Очистка и Калибровка** Он настраивается с помощью параметров `actions: [CLEAN, CALIBRATE]`.&#x20;

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

{% hint style="warning" %}
**Подсказка для данных без первоначальных ошибок**&#x20;

Для наборов данных, изначально свободных от ошибок, отсутствующих значений или несоответствий, и когда известно, что задействованы несколько комбайнов, рассмотрите возможность использования **Калибровка и Очистка** Рабочий процесс настраивается с помощью параметров `actions:  [CALIBRATE, CLEAN]`.

Очистка данных после калибровки помогает дополнительно улучшить набор данных, потенциально устраняя артефакты, возникшие в процессе калибровки.
{% endhint %}

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

Конфигурация по умолчанию включает автоматическую калибровку и очистку "YieldDataset".

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

```graphql
mutation AutoCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        conditionPathwiseCalibration: {
          calibrationBasis: "WetMass"
          maxHomogeneityRegion: true
          syntheticMachinePath: true
        }
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
      }
      
      actions:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

Более продвинутый пример предоставляет ручной контроль диапазонов мин/макс и включает дополнительные атрибуты.

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

```graphql
mutation CustomCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      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
        }]
      }
      actions:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
Чтобы следовать протоколу USDA для этой `ОЧИСТИТЬ` операции, вы должны либо указать ВСЕ столбцы в `cleanAction` -> `conditionMinMaxClean` или указать их часть в `cleanAction` -> `conditionMinMaxClean` и оставшиеся в `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Входные параметры:

* `actions` в виде массива, позволяющего выбирать *корректирующие действия и их последовательность* применения; поддерживаемые значения включают `ОЧИСТИТЬ` и `КАЛИБРОВАТЬ`.
* `calibrateAction` в виде объекта, содержащего детали конфигурации, связанные с `КАЛИБРОВАТЬ` операцией.&#x20;
  * `calibrationAttributes` в виде массива атрибутов, требующих калибровки, обычно связанных со столбцом урожая.
  * `smoothWindowSize` в виде нечетного целого числа, которое сглаживает результирующие значения, уменьшая резкие скачки в значениях.
  * `conditionPathwiseCalibration` в виде объекта с **По путям** калибровка соответствует следам машины. Каждый след машины обрабатывается как отдельная область для целей калибровки.
    * `calibrationBasis` в виде строки, представляющей атрибут, используемый в качестве основы для калибровки.
    * `maxHomogeneityRegion` в виде булева значения, указывающего, используется ли регион максимальной однородности в качестве опорного региона для калибровки.
    * `syntheticMachinePath` в виде булева значения, указывающего моделирование маршрутов машины; полезно, когда точный атрибут пути машины отсутствует и требуется его симуляция на основе меток времени или подобного атрибута.
  * `conditionAvgTotalCalibration` в виде объекта с **Среднее/Итог** калибровка ориентируется на перераспределение значений атрибутов. Если геопространственные закономерности точны, но абсолютные показатели отличаются от фактических, этот метод оказывается полезным.
    * `calibrationAttribute` в виде строки, представляющей атрибут, который будет откалиброван.
    * `average` в виде числа, представляющего средние значения атрибута; значения атрибута должны соответствовать этому среднему. В каждый момент используется только одна опция: либо `average` или `total`, следует использовать только одну из опций одновременно.
    * `total` в виде числа, представляющего суммарное значение атрибута; сумма этих значений должна соответствовать итогу. В каждый момент используется только одна опция: либо `average` или `total`, следует использовать только одну из опций одновременно.
  * `conditionMinMaxCalibration` в виде объекта с **Условная** калибровка корректирует значения атрибутов на основе заданных минимальных и максимальных порогов.
    * `calibrationAttribute` в виде строки, представляющей атрибут, который будет откалиброван.
    * `min` в виде числа, представляющего минимальные значения атрибута и служащего нижней границей для калибровки.
    * `minIncluded` в виде булева значения, указывающего, включать ли минимальное значение или нет
    * `max` в виде числа, представляющего максимальные значения атрибута и служащего верхней границей для калибровки.
    * `maxIncluded` в виде булева значения, указывающего, включать ли максимальное значение или нет.
* `cleanAction` в виде объекта, который включает конкретные настройки, связанные с `ОЧИСТИТЬ` операцией.
  * `conditionAutoClean` в виде объекта, включающего настройки, специфичные для алгоритма автоочистки.
    * `targetAttribute` в виде строки, представляющей целевые значения урожайности.
    * `excludedAttributes` в виде массива строк, определяющих атрибуты, которые не влияют на операцию очистки.
  * `conditionMinMaxClean` в виде массива объектов, содержащих описанные правила очистки; каждый объект включает следующие параметры.
    * cleanAttribute в виде строки, указывающей имя столбца для правила.
    * `min` в виде числа, указывающего минимальное значение.
    * `max` в виде числа, указывающего максимальное значение.

{% hint style="info" %}
Чтобы просмотреть входы и получить доступ к последним доступным значениям перечислений (таких как `операции`), рекомендуется использовать [Altair](/geopard-tutorials/ru/dokumentaciya-api/nachalo-raboty-s-api-geopard.md).
{% endhint %}

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

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

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

```graphql
query 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/ru/dokumentaciya-api/obzor-zaprosov-api-geopard/84.-izmenenie-otkalibrovat-i-ochistit-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.
