ランダム・データ・サンプリング

ランダム・データ・サンプリングを指定するには、「Editor Options (2 of 8) (編集オプション (8 の 2))」パネルの「Sampling type (サンプリング・タイプ)」オプションを「3.Random sampling (ランダム・サンプリング)」に設定します。

ランダム・データ・サンプリングを使用する場合の FM/Db2 エディターの動作を以下に説明します。
  • データ・サンプリングは、ブラウズ、表示、および編集に適用されます。
  • データ・サンプリングを使用している場合、エディターは常にすべてのサンプリングされた行をメモリーにロードします。そのため、データをサンプリングする場合、大きな表のサポートは使用できません。
  • ランダム・サンプリングに関連するオプションは、次のとおりです。
    • 機能入力パネルの「Row count (行カウント)
    • 機能入力パネルの「Start position (開始位置)
    • 「Editor Options (2 of 8) (編集オプション (8 の 2))」パネルの「Sampling limit (サンプリング制限)
    • 「Editor Options (2 of 8) (編集オプション (8 の 2))」パネルの「Sampling frequency (サンプリング頻度)
    • 「Editor Options (2 of 8) (編集オプション (8 の 2))」パネルの「Sampling seed (サンプリング・シード)
ランダム・データ・サンプリングに関連するオプションに対応した FM/Db2 エディターの動作 で、ランダム・データ・サンプリングに関連する各種オプションに対応した FM/Db2 エディターの動作を説明します。
1. ランダム・データ・サンプリングに関連するオプションに対応した FM/Db2 エディターの動作

この表には 6 つの列があります。

Row count (行カウント) Start position (開始位置) サンプリング制限 サンプリング頻度 サンプル・シード 振る舞い1
0 1 0 0.fff 0 行 1 から始まり、結果表の末尾まで行が取り出されます。
0 1 bbb 0.fff 0 行 1 から始まり、結果表の末尾まで、または bbb 行がエディターに追加されるまで、行が取り出されます。
rrr 1 0 0.fff 0 最初の行から始まり、rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) がサンプル・データ・セットに追加されます。
rrr 1 bbb 0.fff 0 最初の行から始まり、最大で rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) が最大で bbb 行、サンプル・データ・セットに追加されます。
0 sss 0 0.fff 0 sss から始まり、結果表の末尾まで行がサンプリングされます。
0 sss bbb 0.fff 0 sss から始まり、結果表の末尾まで、または bbb 行がエディターに追加されるまで、行が取り出されます。
rrr sss 0 0.fff 0 sss から始まり、rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) がサンプル・データ・セットに追加されます。
rrr sss bbb 0.fff 0 sss から始まり、最大で rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) が最大で bbb 行、サンプル・データ・セットに追加されます。
0 1 0 0.fff 0 行 1 から始まり、結果表の末尾まで行が取り出されます。乱数発生ルーチンは、シード yyy で開始します。
0 1 bbb 0.fff 0 行 1 から始まり、結果表の末尾まで、または bbb 行がエディターに追加されるまで、行が取り出されます。乱数発生ルーチンは、シード yyy で開始します。
rrr 1 0 0.fff 0 最初の行から始まり、rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) がサンプル・データ・セットに追加されます。乱数発生ルーチンは、シード yyy で開始します。
rrr 1 bbb 0.fff 0 最初の行から始まり、最大で rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) が最大で bbb 行、サンプル・データ・セットに追加されます。乱数発生ルーチンは、シード yyy で開始します。
0 sss 0 0.fff 0 sss から始まり、結果表の末尾まで行がサンプリングされます。乱数発生ルーチンは、シード yyy で開始します。
0 sss bbb 0.fff 0 sss から始まり、結果表の末尾まで、または bbb 行がエディターに追加されるまで、行が取り出されます。乱数発生ルーチンは、シード yyy で開始します。
rrr sss 0 0.fff 0 sss から始まり、rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) がサンプル・データ・セットに追加されます。乱数発生ルーチンは、シード yyy で開始します。
rrr sss bbb 0.fff 0 sss から始まり、最大で rrr 行が取り出されます。これらの行のサブセット (約 0.fff x rrr) が最大で bbb 行、サンプル・データ・セットに追加されます。乱数発生ルーチンは、シード yyy で開始します。

関連した参照

1
  1. サンプリングは、次のいずれかの条件に当てはまるまで継続されます。
    • ゼロ以外のサンプリング制限に達した。
    • ゼロ以外の行カウント (取り出し) 制限に達した。
    • 結果表の末尾に達した。

    Sampling limit (サンプリング制限)」には、エディターにロードする行の数の上限を設定します。これは、エディター・セッションの行数です。この行数に達するには、約「1/(サンプリング頻度 x サンプリング制限)」の行を取り出す必要があります。一方、「Row count (行カウント)」制限には、オブジェクトから取り出される行の数の上限を設定します。サンプリングされる行の数は、約「行カウント x サンプリング頻度」です。

    「小さな」サンプリング頻度で、低い行カウント制限を指定すると、行がサンプリングされないことがあります。例えば、「Row count (行カウント)」制限が 60、「Sampling count (サンプリング・カウント)」が 2000、「Sampling frequency (サンプリング頻度)」が 0.01 の場合、行がサンプリングされない可能性が高くなります。

  2. Sampling frequency (サンプリング頻度)」を 0.fff にすると、平均して、また多数の行のサンプリング時に、0.fff x 100% の行がサンプリングされます。そのため、頻度を 0.1 にすると、10% の行がサンプリングされます。頻度を小さくした場合、一致する各行を検索するために多くの行を処理する必要があります。データの特定のランダム・サンプルで、サンプル内の行数がサンプリング頻度を正確に反映しているという保証はありません。

    Sampling seed (サンプリング・シード)」の値に 0 が指定されている場合、FM/Db2 は、現行システム・クロック値から派生した秒の値の小数部を使用して、乱数発生ルーチンを開始します。この値はマイクロ秒までの精度なので、各シードは 0 から 999999 の値 (両端を含む) を持ちます。サンプリング・シードを 0 にして生成した 2 つのランダム・サンプルが同一になることは、まずありません。

    同じ表およびその他の条件で、同じユーザー指定の「Sampling seed (サンプリング・シード)」を使用した場合、作成されるデータ・サンプルは同一です。