# 84. Mutasjon: Kalibrer og rens YieldDataset

Kalibrering av "YieldDataset" er en funksjon som korrigerer fordelingen av verdier i tråd med matematiske prinsipper, noe som forbedrer dataintegriteten. Det styrker beslutningskvaliteten og gjør datasettet verdifullt for videre dyptgående analyser.

Vanlige bruksområder for denne funksjonaliteten inkluderer:

* Synkronisering av data når flere treskere har jobbet samtidig eller over flere dager, for å sikre konsistens.
* Gjøre datasettet mer homogent og nøyaktig ved å utjevne variasjoner.
* Fjerne datastøy og overflødig informasjon som kan tilsløre innsikter.
* Fjerne vendinger eller unormale geometrier som kan forvrenge de faktiske mønstrene og trender i åkeren.
* Justere avlingsdata slik at de samsvarer med etablerte gjennomsnitt eller totaler for hvert attributt.

For en mer detaljert gjennomgang og eksempler, vennligst se vår [Yield Calibration & Cleaning](/geopard-tutorials/nor/agronomi/kalibrering-og-rensing-av-avlingsdata.md) brukstilfelle.

### Originalt YieldDataset med attributtet WetMass

Fem treskere jobbet parallelt på 30 ha-åkeren vist nedenfor. Kalibreringen av en av treskerne var ikke synkronisert med de andre, noe som resulterte i <mark style="color:oransje;">oransje</mark> flekkene, som indikerer at ytterligere `KALIBRERING` er nødvendig. I tillegg finnes det en rekke vendinger <mark style="color:røde;">røde</mark> flekkene nærmere "Field"-kanten som må fjernes.

<figure><img src="/files/2caee4530f40c317387c02b0b01ead6a8e221c3c" alt=""><figcaption><p>Originalt YieldDataset med attributtet WetMass</p></figcaption></figure>

### Kalibrert og renset YieldDataset med attributtet WetMass

Resultatet nedenfor viser datasettet etter å ha brukt automatiske `KALIBRER` og `RENS` operasjoner med standardparametere. Det resulterende "YieldDataset" har blitt homogent, uten uteliggere eller brå endringer mellom nabogeometrier.

<figure><img src="/files/7fe44ef70b0355061f0475d6a0baec482247305c" alt=""><figcaption><p>Kalibrert og renset YieldDataset med attributtet WetMass</p></figcaption></figure>

### Alternativene Pathwise vs Average/Total vs Conditional

**Pathwise-kalibrering** tilsvarer maskinens kjørespor. Hvert maskinspors behandles som en individuell region for kalibreringsformål. GeoPard-teamet foreslår å bruke denne metoden som standardtilnærming.

**Average/Total-kalibrering** fokuserer på å omfordele attributtverdier. Hvis de geospatiale mønstrene er riktige, men de absolutte tallene avviker fra realitetene, er denne metoden nyttig. For best resultat anbefaler GeoPard å kombinere den med Pathwise-kalibrering: først bruke Pathwise, deretter justere til kjente Average/Total-verdier.

**Conditional-kalibrering** justerer attributtverdier basert på oppgitte min- og maksgrenser. Denne metoden er spesielt verdifull når de geospatiale mønstrene er presise, men fordelingen av verdier trenger justeringer, særlig når kjente min- og maksverdier finnes. For beste resultater anbefaler GeoPard å kombinere den med Pathwise-kalibrering: starte med Pathwise, etterfulgt av justeringer for å samsvare med de kjente min- og maksverdiene.

### Tips

{% hint style="warning" %}
**Tips for dataanomalier**

Hvis en bruker møter anomalier i dataene, som verdier på eller nær null, eller uvanlig store verdier (for eksempel et gjennomsnitt på 10 med en maksimum på 8000), anbefales **Clean & Calibration** arbeidsflyten. Den er konfigurert ved hjelp av parametere `actions: [CLEAN, CALIBRATE]`.&#x20;

Å prioritere datarensing før kalibrering sikrer fjerning av feil, manglende verdier eller inkonsistenser, og forbedrer dermed datakvaliteten og nøyaktigheten.
{% endhint %}

{% hint style="warning" %}
**Tips for data uten innledende feil**&#x20;

For datasett som i utgangspunktet er fri for feil, manglende verdier eller inkonsistenser, og når flere treskere er kjent å ha vært involvert, vurder **Calibration & Clean** arbeidsflyten. Den er konfigurert ved hjelp av parametere `actions:  [CALIBRATE, CLEAN]`.

Rensing av data etter kalibrering hjelper med å finpusse datasettet ytterligere ved å potensielt eliminere eventuelle artefakter som ble introdusert under kalibreringen.
{% endhint %}

### Dokumentasjon: Detaljer om mutasjon

Standardkonfigurasjonen aktiverer automatisk kalibrering og rensing 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"
        }
      }
      
      actions:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusKode
    statusMessage
  }
}
```

{% endcode %}

Et mer avansert eksempel gir manuell kontroll av min/maks-områder og inkluderer flere 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
    statusKode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
For å følge USDA-protokollen for `RENS` operasjonen, må du enten nevne ALLE kolonner i `cleanAction` -> `conditionMinMaxClean` eller spesifisere en del av dem i `cleanAction` -> `conditionMinMaxClean` og de resterende i `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Inndataparamertere:

* `actions` som et array, som lar deg velge *korrigeringshandlingene og rekkefølgen* av anvendelse; støttede verdier inkluderer `RENS` og `KALIBRER`.
* `calibrateAction` som et objekt som inneholder konfigurasjonsdetaljer knyttet til `KALIBRER` operasjonen.&#x20;
  * `calibrationAttributes` som et array av attributter som krever kalibrering, vanligvis knyttet til Yield-kolonnen.
  * `smoothWindowSize` som et oddetalls heltall som jevner resultatverdiene og reduserer brå hopp i verdiene.
  * `conditionPathwiseCalibration` som et objekt med **Pathwise** kalibrering tilsvarer maskinens kjørespor. Hvert maskinspors behandles som en individuell region for kalibreringsformål.
    * `calibrationBasis` som en streng som representerer attributtet som brukes som basis for kalibrering.
    * `maxHomogeneityRegion` som en boolsk verdi som angir om maksimal homogenitetsregion brukes som referanseområde for kalibrering.
    * `syntheticMachinePath` som en boolsk verdi som angir simulering av maskinruter; det er nyttig når det presise maskinsporattributtet mangler og må simuleres basert på tidsstempler eller et lignende attributt.
  * `conditionAvgTotalCalibration` som et objekt med **Average/Total** kalibrering fokuserer på å omfordele attributtverdier. Hvis de geospatiale mønstrene er riktige, men de absolutte tallene avviker fra realitetene, er denne metoden nyttig.
    * `calibrationAttribute` som en streng som representerer attributtet som skal kalibreres.
    * `average` som et tall som representerer gjennomsnittsverdiene for attributtet; attributtverdiene bør samsvare med dette gjennomsnittet. Bare ett alternativ, enten `average` eller `total`, bør brukes om gangen.
    * `total` som et tall som representerer totalsummen av attributtverdiene; aggregatet av disse verdiene bør matche totalen. Bare ett alternativ, enten `average` eller `total`, bør brukes om gangen.
  * `conditionMinMaxCalibration` som et objekt med **Conditional** kalibrering justerer attributtverdier basert på oppgitte min- og maksgrenser.
    * `calibrationAttribute` som en streng som representerer attributtet som skal kalibreres.
    * `min` som et tall som representerer minimumsverdiene for attributtet, som fungerer som laveste grense for kalibrering.
    * `minIncluded` som en boolsk verdi som angir om minverdien skal inkluderes eller ikke
    * `max` som et tall som representerer maksimumsverdiene for attributtet, som fungerer som høyeste grense for kalibrering.
    * `maxIncluded` som en boolsk verdi som angir om maksverdien skal inkluderes eller ikke.
* `cleanAction` som et objekt som inkluderer konfigurasjonsspesifikasjonene knyttet til `RENS` operasjonen.
  * `conditionAutoClean` som et objekt som inkluderer konfigurasjonene spesifikke for auto-clean-algoritmen.
    * `targetAttribute` som en streng som representerer målte Yield-verdier.
    * `excludedAttributes` som et array av strenger som definerer attributter som ikke påvirker renseoperasjonen.
  * `conditionMinMaxClean` som et array av objekter som inneholder de beskrevne rense-reglene; hvert objekt inkluderer følgende parametere.
    * cleanAttribute som en streng som spesifiserer kolonnenavnet for regelen.
    * `min` som et tall som angir minimumsverdien.
    * `max` som et tall som angir maksimumsverdien.

{% hint style="info" %}
For å se inputene og få tilgang til de siste tilgjengelige verdiene av enumerasjoner (for eksempel `operations`), anbefales det å bruke [Altair](/geopard-tutorials/nor/api-dokumentasjon/kom-i-gang-med-geopard-api.md).
{% endhint %}

### Dokumentasjon: YieldDataset-spørring

Som en GeoPard API-bruker kan du hente detaljer om korrigeringene som er brukt på YieldDatasets gjennom attributtene `appliedCorrections` og `appliedCorrectionsVersion`. Den førstnevnte gir en liste over utførte korrigeringer (f.eks., `KALIBRER` og `RENS`), hvor rekkefølgen av utførelse angis av sekvensen i arrayet. I mellomtiden `appliedCorrectionsVersion` indikerer versjonen av algoritmen som ble brukt.

{% 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/nor/api-dokumentasjon/geopard-api-foresporsler-oversikt/84.-mutasjon-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.
