# 84. Мутация: Калибриране и почистване на YieldDataset

Калибрирането на "YieldDataset" е функционалност, която коригира разпределението на стойностите в съответствие с математическите принципи, подобрявайки общата цялост на данните. Това повишава качеството на вземане на решения и прави набора от данни полезен за по-нататъшен задълбочен анализ.

Чести случаи на употреба за тази функционалност включват:

* Синхронизиране на данни, когато няколко комбайна са работили едновременно или през няколко дни, за да се осигури последователност.
* Правене на набора от данни по-хомогенен и точен чрез изглаждане на вариациите.
* Премахване на шума в данните и излишна информация, която може да замъгли прозренията.
* Премахване на завъртания или аномални геометрии, които могат да изкривят действителните модели и тенденции в полето.
* Коригиране на данните за добив, за да съответстват на установени средни стойности или тотали за всеки атрибут.

За по-подробно разглеждане и примери, моля вижте нашия [Use case: Калибриране и почистване на добива](/geopard-tutorials/bg/agronomiya/kalibrirane-i-pochistvane-na-dobiv.md) случай на използване.

### Оригинален YieldDataset с атрибут WetMass

Пет комбайна работиха паралелно на полето от 30 ха, показано по-долу. Калибровката на един от комбайните не беше синхронизирана с останалите, в резултат на което се получиха <mark style="color:оранжево;">оранжево</mark> места, което показва, че са необходими допълнителни `КАЛИБРИРАНЕ` Освен това има множество завъртания/обратни преобръщания <mark style="color:червени;">червени</mark> точки по-близо до ръбовете на "Полето", които трябва да бъдат премахнати.

<figure><img src="/files/60059e67c03f242288850e1ee2cb4d040dc4885d" alt=""><figcaption><p>Оригинален YieldDataset с атрибут WetMass</p></figcaption></figure>

### Калибриран и почистен YieldDataset с атрибут WetMass

Резултатът по-долу показва набора от данни след прилагане на автоматични `КАЛИБРИРАЙ` и `ПОЧИСТИ` операции с използване на подразбиращи се параметри. Полученият "YieldDataset" стана хомогенен, без аномалии или резки промени между съседни геометрии.

<figure><img src="/files/0ded1a6f4697e6644f8306ab7d1f8dac1ebfe383" alt=""><figcaption><p>Калибриран и почистен YieldDataset с атрибут WetMass</p></figcaption></figure>

### Опции: По пътека срещу Средно/Тотал срещу Условно

**Калибриране по пътека** отговаря на следите на машината. Всяка следа на машината се обработва като индивидуален регион за целите на калибрирането. Екипът на 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/bg/api-dokumenti/prvi-stpki-s-geopard-api.md).
{% endhint %}

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

Като потребител на GeoPard API можете да получите подробности за корекциите, приложени към 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/bg/api-dokumenti/obsh-pregled-na-zayavkite-km-geopard-api/84.-mutaciya-kalibrirane-i-pochistvane-na-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.
