# 84. Mutation: Kalibrera och rensa avkastningsdataset

Kalibrering av "YieldDataset" är en funktion som korrigerar värdefördelningen i enlighet med matematiska principer och förbättrar datans övergripande integritet. Den stärker beslutsfattandets kvalitet och gör datasettet användbart för vidare fördjupad analys.

Vanliga användningsfall för denna funktionalitet inkluderar:

* Synkronisering av data när flera skördetröskor har arbetat samtidigt eller över flera dagar, för att säkerställa konsekvens.
* Gör datasettet mer homogent och exakt genom att jämna ut variationer.
* Tar bort databrus och överflödig information som kan dölja insikter.
* Eliminerar vändningar eller onormala geometriska former som kan förvränga verkliga mönster och trender på fältet.
* Justera skördeuppgifter så att de motsvarar etablerade medelvärden eller totalsummor för varje attribut.

För en mer detaljerad genomgång och exempel, vänligen se vår [Yield Calibration & Cleaning](/geopard-tutorials/swe/agronomi/skordekalibrering-och-rensning.md) användningsfall.

### Originalt YieldDataset med attributet WetMass

Fem skördetröskor arbetade parallellt på det 30 ha stora fältet som visas nedan. Kalibreringen av en av tröskorna var inte synkroniserad med de andra, vilket resulterade i <mark style="color:orange;">orange</mark> fläckar, vilket indikerar att ytterligare `KALIBRERING` krävs. Dessutom finns det många vändnings- <mark style="color:röda;">röda</mark> fläckar närmare "Field"-kanterna som behöver elimineras.

<figure><img src="/files/226322eb0a7836171ce79d20f1fb8df89442bb0b" alt=""><figcaption><p>Originalt YieldDataset med attributet WetMass</p></figcaption></figure>

### Kalibrerat och rensat YieldDataset med attributet WetMass

Resultatet nedan visar datasettet efter att automatiska `KALIBRERA` och `RENSA` operationer har tillämpats med standardparametrar. Det resulterande "YieldDataset" har blivit homogent, utan avvikare eller plötsliga förändringar mellan intilliggande geometrier.

<figure><img src="/files/4e0c3e92cd9c4cb20c0b56a91b068216a14ef6a1" alt=""><figcaption><p>Kalibrerat och rensat YieldDataset med attributet WetMass</p></figcaption></figure>

### Alternativ: Pathwise vs Average/Total vs Conditional

**Pathwise-kalibrering** motsvarar maskinens körspår. Varje maskinspår behandlas som en separat region för kalibreringsändamål. GeoPard-teamet föreslår att använda denna metod som standard.

**Average/Total-kalibrering** fokuserar på att omfördela attributvärden. Om de geospatiala mönstren är korrekta men de absoluta siffrorna avviker från verkligheten, är denna metod fördelaktig. För bästa resultat rekommenderar GeoPard att kombinera den med Pathwise-kalibrering: tillämpa först Pathwise och justera sedan till kända Average/Total-värden.

**Conditional-kalibrering** justerar attributvärden baserat på angivna min- och maxtrösklar. Denna metod är särskilt värdefull när de geospatiala mönstren är precisa men värdefördelningen behöver justeras, särskilt när kända min- och maxvärden finns. För bästa resultat rekommenderar GeoPard att kombinera den med Pathwise-kalibrering: börja med Pathwise och följ sedan upp med justeringar för att anpassa till de kända min- och maxvärdena.

### Tips

{% hint style="warning" %}
**Tips för dataavvikelser**

Om en användare stöter på avvikelser i datan, som värden vid eller nära noll, eller ovanligt stora värden (till exempel ett medelvärde på 10 med en maximal värde på 8000), rekommenderas **Clean & Calibration** arbetsflödet. Det konfigureras med parametrar `åtgärder: [CLEAN, CALIBRATE]`.&#x20;

Att prioritera datarensning innan kalibrering säkerställer att fel, saknade värden eller inkonsekvenser tas bort, vilket förbättrar datakvalitet och noggrannhet.
{% endhint %}

{% hint style="warning" %}
**Tips för data utan initiala fel**&#x20;

För dataset som initialt är fria från fel, saknade värden eller inkonsekvenser, och när flera skördetröskor är kända att ha varit involverade, överväg **Calibration & Clean** arbetsflödet. Det konfigureras med parametrar `åtgärder:  [CALIBRATE, CLEAN]`.

Att rensa datan efter kalibrering hjälper till att ytterligare förfina datasettet genom att potentiellt eliminera artefakter som introducerats under kalibreringen.
{% endhint %}

### Dokumentation: Mutationdetaljer

Standardkonfigurationen aktiverar automatisk kalibrering och rensning av "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"
        }
      }
      
      åtgärder:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

Ett mer avancerat exempel ger manuell kontroll över min/max-intervall och inkluderar ytterligare attribut.

{% 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
        }]
      }
      åtgärder:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
För att följa USDA-protokollet för `RENSA` operationen måste du antingen nämna ALLA kolumner i `cleanAction` -> `conditionMinMaxClean` eller specificera en del av dem i `cleanAction` -> `conditionMinMaxClean` och de återstående i `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Inmatningsparametrar:

* `åtgärder` som en array, vilket låter dig välja *de korrigerande åtgärderna och deras ordningsföljd* för tillämpning; stödda värden inkluderar `RENSA` och `KALIBRERA`.
* `calibrateAction` som ett objekt som innehåller konfigurationsdetaljer relaterade till `KALIBRERA` operationen.&#x20;
  * `calibrationAttributes` som en lista med attribut som kräver kalibrering, vanligtvis kopplade till Yield-kolumnen.
  * `smoothWindowSize` som ett udda heltal som utjämnar resultatvärdena och minskar plötsliga hopp i värdena.
  * `conditionPathwiseCalibration` som ett objekt med **Pathwise** kalibreringen motsvarar maskinens körspår. Varje maskinspår behandlas som en separat region för kalibreringsändamål.
    * `calibrationBasis` som en sträng som representerar attributet som används som grund för kalibreringen.
    * `maxHomogeneityRegion` som en boolean som anger om maximal homogenitetsregion används som referensregion för kalibrering.
    * `syntheticMachinePath` som en boolean som indikerar simulering av maskinrutter; det är fördelaktigt när exakt maskinspårs-attribut saknas och behöver simuleras baserat på tidsstämplar eller liknande attribut.
  * `conditionAvgTotalCalibration` som ett objekt med **Average/Total** kalibrering fokuserar på att omfördela attributvärden. Om de geospatiala mönstren är korrekta men de absoluta siffrorna avviker från verkligheten är denna metod fördelaktig.
    * `calibrationAttribute` som en sträng som representerar attributet som ska kalibreras.
    * `average` som ett nummer som representerar attributets medelvärden; attributvärdena bör överensstämma med detta medelvärde. Endast ett alternativ, antingen `average` eller `total`, bör användas åt gången.
    * `total` som ett nummer som representerar den totala summan av attributvärdena; summan av dessa värden bör matcha totalen. Endast ett alternativ, antingen `average` eller `total`, bör användas åt gången.
  * `conditionMinMaxCalibration` som ett objekt med **Conditional** kalibrering justerar attributvärden baserat på angivna min- och maxtrösklar.
    * `calibrationAttribute` som en sträng som representerar attributet som ska kalibreras.
    * `min` som ett nummer som representerar attributets minimivärde och fungerar som det lägsta intervallet för kalibrering.
    * `minIncluded` som en boolean som indikerar om minimivärdet ska inkluderas eller inte
    * `max` som ett nummer som representerar attributets maximivärde och fungerar som det högsta intervallet för kalibrering.
    * `maxIncluded` som en boolean som indikerar om maximivärdet ska inkluderas eller inte.
* `cleanAction` som ett objekt som inkluderar konfigurationsspecifika detaljer knutna till `RENSA` operationen.
  * `conditionAutoClean` som ett objekt som innehåller konfigurationerna specifika för auto-clean-algoritmen.
    * `targetAttribute` som en sträng som representerar målade Yield-värden.
    * `excludedAttributes` som en lista med strängar som definierar attribut som inte påverkar rensningsoperationen.
  * `conditionMinMaxClean` som en lista med objekt som innehåller de beskrivna rensningsreglerna; varje objekt inkluderar följande parametrar.
    * cleanAttribute som en sträng som anger kolumnnamnet för regeln.
    * `min` som ett nummer som anger minimivärdet.
    * `max` som ett nummer som anger maximivärdet.

{% hint style="info" %}
För att visa inmatningarna och få tillgång till de senaste tillgängliga värdena för uppräkningar (såsom `operationer`), rekommenderas det att använda [Altair](/geopard-tutorials/swe/api-dokumentation/kom-igang-med-geopard-api.md).
{% endhint %}

### Dokumentation: YieldDataset-fråga

Som en GeoPard API-konsument kan du hämta detaljer om de korrigeringar som tillämpats på YieldDatasets genom attributen `appliedCorrections` och `appliedCorrectionsVersion`. Det förstnämnda ger en lista över gjorda korrigeringar (t.ex., `KALIBRERA` och `RENSA`), där utförandeordningen anges av deras sekvens i arrayen. Samtidigt `appliedCorrectionsVersion` anger versionen av den använda algoritmen.

{% 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/swe/api-dokumentation/oversikt-over-geopard-api-anrop/84.-mutation-kalibrera-och-rensa-avkastningsdataset.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.
