ミミック・ノード

Synthetic Data Generator では、Mimic ノードを使用して、合成データがどのようにサンプル・シード・データに似ているかの要件を設定することができます。

Mimicノードは、サンプルシードデータの各フィールドの統計分布を分析し、各フィールドに割り当てられた最も適合する分布を持つGenerateノードを生成(または更新)する。 Generateノードは、分析に基づいて合成データを自動的に生成することができる。

説明
Synthetic Data Generator フローの Mimic ノードを使用して、合成データが元のデータセットの統計的特性と分布にどの程度近いかを設定します。 このノードは高度なアルゴリズムを使って、入力データの基本的なパターンと関係を学習し、現実的でありながら人工的な記録を作成する。
また、差分プライバシー機能を設定することもできます。 詳しくは、「 差分プライバシーの使用 」を参照。
ノードの使用
Mimicノードは、ImportノードまたはAnonymizeノードの後に使用します。 Mimicノードが実行されると、Generateノードがまだ存在しない場合は作成される。
同じデータセットで異なる設定を使用して合成データを生成したい場合は、 Synthetic Data Generator フローに Mimic ノードを複数回含めることができます。 1つのImport of Anonymizeノードが複数のMimicノードに分岐することができる。
必須または任意
カスタム・データ・スキーマを使用して合成データを生成する場合を除き、Mimicノードは必須です。 ImportノードまたはAnonymizeノードをMimicノードに接続する必要があります。

タイプ指定なしとして設定された列

Mimicノードは、データ前処理中に Typeless として設定された列を常にデータセットから除外します。 除外された列は、Generateノードに表示されません。 機械学習アルゴリズムは一般的に、型指定のないフィールドを無視する。なぜなら、それらは統計分析によって特定できる予測的価値や識別可能なパターンを持たない可能性があるためである。

データセットで 「無型」 に設定されている列を保持したい場合、Mimicノードの設定で 「無型」を「現実的」に有効化し、Generateノードでその列を編集して辞書を設定できます。 その後、列のデータはその辞書型として扱われる。

Mimcノードを使ったスクリプティング

Python のようなスクリプト言語を使って、ノードのプロパティをプログラム的に設定することができます。

Mimcノードのプロパティ

以下のプロパティはMimcノード固有のものです。 一般的なノード・プロパティについては、 フローとノードのプロパティを参照してください。

表 1. スクリプティング用のノードプロパティ
プロパティー名 データ・タイプ 物件概要
bins 整数 連続変数の場合、経験分布は履歴データの累積分布関数である。
custom_gen_node_name ブール値 Auto を選択すると、生成(または更新)されたノードの名前を自動的に生成できます。
delta 整数 プライバシー漏洩の最大許容確率。 値は <= 1/n*n でなければならない。 nは一回のサンプルサイズである。 イプシロンまたはデルタのいずれかが 0より大きくなければならない
epsilon 整数 プライバシー予算を決定する。 値が小さいほど、プライバシー保護が大きくなり、正確さが損なわれる。
frequency_weight_field フィールド データセットに重量フィールドが含まれている場合は、そのフィールドを指定してください。 その後、重量フィールドは分布フィッティングプロセスから除外される。
gen_node_name ストリング 生成(または更新)される Generate ノードのカスタム名を指定します。
good_fit_type ストリング 連続フィールドに対して分布を適合させる場合、分布の適合度検定として順位分布の検定 AnderDarling (検定)または検定 KolmogSmirn のいずれかを指定してください。
locale ストリング ロケールは、フィールド生成に使用できる辞書タイプを決定し、["de_DE", "en_US", "es_ES", "fr_FR", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "ru_RU", "zh_CN"] から1つの値を持つことができます
missing_value_imputation ブール値 欠損データを置換するためにインピュテーションを使用する場合は、 True に設定します。 代入とは、欠損データを推定値で置き換え、代入された値を実際のデータであるかのように扱って完全なデータセットを分析することを意味する。
missing_value_imputation_continuous_strategy ストリング 連続フィールドの欠損値を置き換える場合、 mean または fixed として設定することができる。 デフォルトは「mean」である。
missing_value_imputation_continuous_replace_value 整数 fixedmissing_value_imputation_continuous_strategy に設定されている場合、ここに値を設定できる。
missing_value_imputation_nominal_strategy ストリング 指名フィールドの欠損値を置き換える場合、 mode または fixed として設定できる。 デフォルトは平均値。
missing_value_imputation_nominal_replace_value 整数 fixedmissing_value_imputation_nominal_strategy に設定されている場合、ここに値を設定できる。
missing_value_imputation_ordinal_strategy ストリング 順序フィールドの欠損値を置き換える場合、 medium または fixed として設定することができる。 デフォルトは平均値。
missing_value_imputation_ordinal_replace_value 整数 fixedmissing_value_imputation_ordinal_strategy に設定されている場合、ここに値を設定できる。
missing_value_imputation_strategies 構造化資産 missing_value_imputationTrue が設定されている場合、このプロパティを使用して、特定のフィールドの欠落値を置き換えることができます。 スクリプト例を参照。
random_seed 整数 ディファレンシャル・プライベート合成出力の再現が可能
typeless_as_realistic ブール値 型なしフィールドを辞書型として扱うには True
use_diff_privacy ブール値 プライバシーバジェット(epsilon)およびリーケージ(delta)パラメータを制御して生成された合成データにおいて、機密データが暴露されないようにするには、 True に設定する。
used_cases_type ストリング データセットのフィールドに分布を適合させる際に使用するケース数を指定します。 または AllCases を使用してください FirstNCases
used_cases 整数 症例数。

例スクリプト

以下は、スクリプトで使用されるプロパティの例である。

mimicnode.setPropertyValue("missing_value_imputation", "True")
mimicnode.setPropertyValue("missing_value_imputation_strategies","[['Age','Fixed','60']]")