# 84. Mutation: Kalibrér og rens YieldDataset

Kalibrering af "YieldDataset" er en funktion, der korrigerer fordeling af værdier i overensstemmelse med matematiske principper og forbedrer datas integritet. Det styrker kvaliteten af beslutningstagning og gør datasættet værdifuldt til yderligere dybdegående analyser.

Almindelige anvendelsestilfælde for denne funktion omfatter:

* Synkronisering af data når flere mejetærskere har arbejdet enten samtidig eller over flere dage for at sikre konsistens.
* Gøre datasættet mere homogent og præcist ved at udjævne variationer.
* Fjerne datastøj og overflødig information, som kan sløre indsigt.
* Fjerne vendinger eller unormale geometrier, som kan forvride de faktiske mønstre og tendenser i marken.
* Justere udbyttedata, så de svarer til etablerede gennemsnit eller totaler for hver attribut.

For en mere detaljeret gennemgang og eksempler, se venligst vores [Yield Kalibrering & Rensning](/geopard-tutorials/dnk/agronomi/udbyttekalibrering-og-rensning.md) use case.

### Originalt YieldDataset med WetMass-attribut

Fem mejetærskere arbejdede parallelt på den 30 ha store mark vist nedenfor. Kalibreringen af en af mejetærskerne var ikke synkroniseret med de andre, hvilket resulterede i <mark style="color:orange;">orange</mark> pletter, hvilket indikerer, at yderligere `KALIBRERING` er påkrævet. Derudover er der talrige vendinger <mark style="color:røde;">røde</mark> pletter tættere på "Mark"-kanterne, som skal fjernes.

<figure><img src="/files/903d5a631357b6040c38af31d0c156d28101ff67" alt=""><figcaption><p>Originalt YieldDataset med WetMass-attribut</p></figcaption></figure>

### Kalibreret og Renset YieldDataset med WetMass-attribut

Resultatet nedenfor viser datasættet efter automatisk anvendelse af `KALIBRER` og `RENS` operationer med standardparametre. Det resulterende "YieldDataset" er blevet homogent, uden afvigere eller abrupt skift mellem nabogeometrier.

<figure><img src="/files/3991cdf61149e30b5812fa85dabecfd4a22872b0" alt=""><figcaption><p>Kalibreret og Renset YieldDataset med WetMass-attribut</p></figcaption></figure>

### Pathwise vs Gennemsnit/Total vs Betingede muligheder

**Pathwise-kalibrering** svarrer til maskinens spor. Hvert maskinspors behandles som en individuel region til kalibreringsformål. GeoPard-teamet foreslår at bruge denne metode som standardtilgang.

**Gennemsnit/Total-kalibrering** fokuserer på at omfordele attributværdier. Hvis de geospatiale mønstre er korrekte, men de absolutte tal afviger fra realiteterne, er denne metode nyttig. For optimale resultater anbefaler GeoPard at kombinere den med Pathwise-kalibrering: først anvende Pathwise og derefter justere til kendte gennemsnits-/totalværdier.

**Betinget kalibrering** justerer attributværdier baseret på angivne min- og maks-grænser. Denne metode er særligt værdifuld, når de geospatiale mønstre er præcise, men fordelingen af værdier kræver justeringer, især hvis kendte min- og maks-værdier foreligger. For de bedste resultater anbefaler GeoPard at parre denne metode med Pathwise-kalibrering: start med Pathwise og følg op med justeringer for at tilpasse til de kendte min- og maks-værdier.

### Tip

{% hint style="warning" %}
**Tip til dataanomalier**

Hvis en bruger støder på anomalier i dataene, såsom værdier på eller tæt på nul, eller usædvanlig store værdier (for eksempel et gennemsnit på 10 med et maksimum på 8000), anbefales **Rens & Kalibrering** workflowet. Det konfigureres ved hjælp af parametre `actions: [CLEAN, CALIBRATE]`.&#x20;

At prioritere rensning af data før kalibrering sikrer fjernelse af fejl, manglende værdier eller inkonsistenser og forbedrer dermed datakvaliteten og nøjagtigheden.
{% endhint %}

{% hint style="warning" %}
**Tip til data uden indledende fejl**&#x20;

For datasæt, der indledningsvist er fri for fejl, manglende værdier eller inkonsistenser, og når flere mejetærskere vides at være involveret, bør man overveje **Kalibrering & Rens** workflowet. Det konfigureres ved hjælp af parametre `actions:  [CALIBRATE, CLEAN]`.

At rense data efter kalibrering hjælper med yderligere at forfine datasættet ved potentielt at fjerne artefakter, der er indført under kalibreringen.
{% endhint %}

### Dokumentation: Mutation detaljer

Standardkonfigurationen aktiverer automatisk kalibrering og rensning af "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 %}

Et mere avanceret eksempel giver manuel kontrol af min/max-intervaller og indarbejder yderligere attributter.

{% 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" %}
For at følge USDA-protokollen for `RENS` operationen, skal du enten nævne ALLE kolonner i `cleanAction` -> `conditionMinMaxClean` eller angive en del af dem i `cleanAction` -> `conditionMinMaxClean` og de resterende i `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Inputparametre:

* `actions` som et array, der giver dig mulighed for at vælge *de korrigerende handlinger og deres rækkefølge* for anvendelse; understøttede værdier inkluderer `RENS` og `KALIBRER`.
* `calibrateAction` som et objekt, der indeholder konfigurationsdetaljer relateret til `KALIBRER` operationen.&#x20;
  * `calibrationAttributes` som et array af attributter, der kræver kalibrering, typisk knyttet til Yield-kolonnen.
  * `smoothWindowSize` som et ulige heltal, der udjævner resultatværdierne og reducerer pludselige spring i værdierne.
  * `conditionPathwiseCalibration` som et objekt med **Pathwise** kalibreringen svarer til maskinens spor. Hvert maskinspors behandles som en individuel region til kalibreringsformål.
    * `calibrationBasis` som en streng, der repræsenterer den attribut, der bruges som basis for kalibrering.
    * `maxHomogeneityRegion` som en boolean, der angiver, om den maksimale homogenitetsregion bruges som referenceområde for kalibrering.
    * `syntheticMachinePath` som en boolean, der angiver simulering af maskineruter; det er nyttigt, når den præcise maskinsti-attribut mangler og skal simuleres baseret på tidsstempler eller en lignende attribut.
  * `conditionAvgTotalCalibration` som et objekt med **Gennemsnit/Total** kalibrering fokuserer på omfordeling af attributværdier. Hvis de geospatiale mønstre er korrekte, men de absolutte tal afviger fra realiteterne, er denne metode nyttig.
    * `calibrationAttribute` som en streng, der repræsenterer den attribut, der skal kalibreres.
    * `average` som et tal, der repræsenterer attributtens gennemsnitsværdier; attributværdierne bør stemme overens med dette gennemsnit. Kun én mulighed, enten `average` eller `total`, bør anvendes ad gangen.
    * `total` som et tal, der repræsenterer den totale sum af attributværdierne; summen af disse værdier bør matche totalen. Kun én mulighed, enten `average` eller `total`, bør anvendes ad gangen.
  * `conditionMinMaxCalibration` som et objekt med **Betinget** kalibrering justerer attributværdier baseret på angivne min- og maks-grænser.
    * `calibrationAttribute` som en streng, der repræsenterer den attribut, der skal kalibreres.
    * `min` som et tal, der repræsenterer attributtens minimumsværdier og fungerer som den laveste rækkevidde for kalibrering.
    * `minIncluded` som en boolean, der angiver om minimumsværdien skal medtages eller ej.
    * `max` som et tal, der repræsenterer attributtens maksimumsværdier og fungerer som den højeste rækkevidde for kalibrering.
    * `maxIncluded` som en boolean, der angiver om maksimumsværdien skal medtages eller ej.
* `cleanAction` som et objekt, der indeholder konfigurationsspecifikke detaljer knyttet til `RENS` operationen.
  * `conditionAutoClean` som et objekt, der indeholder konfigurationer specifikke for auto-clean-algoritmen.
    * `targetAttribute` som en streng, der repræsenterer målte Yield-værdier.
    * `excludedAttributes` som et array af strenge, der definerer attributter, der ikke påvirker renseoperationen.
  * `conditionMinMaxClean` som et array af objekter, der indeholder de beskrevne rense-regler; hvert objekt inkluderer følgende parametre.
    * cleanAttribute som en streng, der specificerer kolonnenavnet for reglen.
    * `min` som et tal, der angiver minimumsværdien.
    * `max` som et tal, der angiver maksimumsværdien.

{% hint style="info" %}
For at se inputtene og få adgang til de senest tilgængelige værdier af enumerationer (såsom `operationer`), anbefales det at bruge [Altair](/geopard-tutorials/dnk/api-dokumentation/kom-i-gang-med-geopard-api.md).
{% endhint %}

### Dokumentation: YieldDataset-forespørgsel

Som GeoPard API-bruger kan du hente detaljer om de korrektioner, der er anvendt på YieldDatasets gennem attributterne `appliedCorrections` og `appliedCorrectionsVersion`. Den første giver en liste over foretagne korrektioner (f.eks., `KALIBRER` og `RENS`), med udførelsesrækkefølgen angivet ved deres sekvens i arrayet. Imens `appliedCorrectionsVersion` angiver den version af algoritmen, der blev anvendt.

{% 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/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/84.-mutation-kalibrer-og-rens-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.
