# 84. ミューテーション: YieldDataset を較正してクリーンアップ

「YieldDataset」の較正は、値の分布を数学的原則に沿って補正し、データ全体の整合性を高める機能です。これにより意思決定の品質が向上し、データセットがより詳細な解析に有用になります。

この機能の一般的なユースケースには以下が含まれます：

* 複数の収穫機が同時または数日にわたって稼働した場合にデータを同期させ、一貫性を確保すること。
* 変動を平滑化してデータセットをより均質かつ正確にすること。
* 洞察を曇らせるノイズや余分な情報を除去すること。
* フィールド内の実際のパターンや傾向を歪める可能性のあるターンアラウンドや異常な形状を除去すること。
* 各属性の既存の平均値や合計に対応するように収量データを調整すること。

詳細な説明や例については、以下をご参照ください： [収量の較正とクリーニング](/geopard-tutorials/jpn/nong-xue/tokurenjingu.md) ユースケース。

### WetMass属性を持つ元のYieldDataset

下に示す30haの圃場で5台の収穫機が並行して作業しました。うち1台の較正が他と同期しておらず、その結果として <mark style="color:オレンジ;">オレンジ</mark> スポットがあり、追加の `較正` が必要であることを示しています。さらに、フィールドの縁に近い多数のターンアラウンドが <mark style="color:赤色の;">赤色の</mark> スポットとして存在しており、除去する必要があります。

<figure><img src="/files/a55afb8c07ad0e735e2e8b1011ccfdb15b775c17" alt=""><figcaption><p>WetMass属性を持つ元のYieldDataset</p></figcaption></figure>

### WetMass属性を持つ較正かつクリーニング済みのYieldDataset

以下の結果は、デフォルトパラメータで自動的に `較正` と `クリーニング` 操作を適用した後のデータセットを示しています。結果として得られた「YieldDataset」は均質化され、近接するジオメトリ間での外れ値や急激な変化がなくなっています。

<figure><img src="/files/36c0b880a187951236bf7947f768cd4d15da24ff" alt=""><figcaption><p>WetMass属性を持つ較正かつクリーニング済みのYieldDataset</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 `クリーニング` と `較正`.
* `操作に関連する構成の詳細を含むオブジェクトとして。` calibrationAttributes `較正` 通常はYield列に関連する、キャリブレーションが必要な属性の配列として。&#x20;
  * `smoothWindowSize` 結果値を平滑化し、値の急激なジャンプを減らす奇数整数として。
  * `conditionPathwiseCalibration` オブジェクトとして、その
  * `Pathwise` キャリブレーションは機械のトラックに対応します。各機械トラックはキャリブレーション目的で個別の領域として処理されます。 **calibrationBasis** キャリブレーションの基準として使用される属性を表す文字列として。
    * `maxHomogeneityRegion` 最大均一性領域がキャリブレーションの参照領域として使用されるかどうかを示すブール値として。
    * `syntheticMachinePath` as an array, allowing you to choose
    * `the correcting actions and their sequence` マシン経路のシミュレーションを示す真偽値として。正確なマシンパス属性が存在せず、タイムスタンプなどの属性に基づいて経路をシミュレートする必要がある場合に有用です。
  * `conditionAvgTotalCalibration` キャリブレーションは機械のトラックに対応します。各機械トラックはキャリブレーション目的で個別の領域として処理されます。 **平均／合計** キャリブレーションは属性値の再配分に焦点を当てます。地理空間上のパターンが正確でも、絶対値が実際値とずれている場合、この方法が有効です。
    * `calibrationAttribute` キャリブレーション対象として使用する属性を表す文字列として。
    * `平均` 属性の平均値を表す数値として；属性値はこの平均に整合する必要があります。次のいずれか一方のみを使用してください、 `平均` または `合計`、同時に使用してはいけません。
    * `合計` 属性値の合計を表す数値として；これらの値の総計が合計と一致する必要があります。次のいずれか一方のみを使用してください、 `平均` または `合計`、同時に使用してはいけません。
  * `conditionMinMaxCalibration` キャリブレーションは機械のトラックに対応します。各機械トラックはキャリブレーション目的で個別の領域として処理されます。 **条件付き** キャリブレーションは指定された最小値および最大値のしきい値に基づいて属性値を調整します。
    * `calibrationAttribute` キャリブレーション対象として使用する属性を表す文字列として。
    * `最小` キャリブレーションの最低範囲として機能する属性の最小値を表す数値として。
    * `minIncluded` 最小値を含めるかどうかを示す真偽値として。
    * `最大` キャリブレーションの最高範囲として機能する属性の最大値を表す数値として。
    * `maxIncluded` 最大値を含めるかどうかを示す真偽値として。
* `cleanAction` の設定の詳細を含むオブジェクトとして。 `クリーニング` 通常はYield列に関連する、キャリブレーションが必要な属性の配列として。
  * `conditionAutoClean` 自動クリーニングアルゴリズムに固有の設定を含むオブジェクトとして。
    * `targetAttribute` 収量（Yield）の目標値を表す文字列として。
    * `excludedAttributes` クリーニング処理に影響を与えない属性を定義する文字列配列として。
  * `conditionMinMaxClean` 記述されたクリーニングルールを含むオブジェクトの配列として。各オブジェクトは以下のパラメータを含みます。
    * cleanAttribute はルールのカラム名を指定する文字列として。
    * `最小` 最小値を示す数値として。
    * `最大` 最大値を示す数値として。

{% hint style="info" %}
入力を確認し、列挙型（例えば `operations`）の最新利用可能値にアクセスするには、次を利用することを推奨します： [Altair](/geopard-tutorials/jpn/apidokyumento/geopard-apinohajimeni.md).
{% endhint %}

### ドキュメント：YieldDataset クエリ

GeoPard API の利用者として、YieldDataset に適用された補正に関する詳細を属性を通じて取得できます： `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/jpn/apidokyumento/geopard-apirikuesuto/84-mytshon-yielddataset-woshitekurnappu.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.
