Melatih dan menguji model yang dirancang untuk mendeteksi pencucian uang

Panduan memulai ini memandu Anda dalam penerapan model secara menyeluruh untuk mendeteksi pencucian uang menggunakan Anti Money Laundering AI (AML AI) API. Dalam panduan ini, Anda akan mempelajari cara melatih dan menguji model untuk mendeteksi pencucian uang melalui langkah-langkah berikut:

  1. Siapkan lingkungan Cloud Anda dan buat instance AML AI.
  2. Menyediakan data transaksi sintetis dalam bentuk tabel BigQuery.
  3. Latih dan uji kembali model dengan data input.
  4. Mendaftarkan pihak dan membuat prediksi model.

Setelah membuat hasil prediksi, panduan ini menganalisis satu kasus contoh pihak yang mencuci uang dengan menata dana.

Sebelum memulai

Bagian ini menjelaskan cara menyiapkan akun Google Cloud , mengaktifkan layananGoogle Cloud yang diperlukan, dan memberikan izin yang diperlukan untuk menjalankan panduan memulai cepat.

Jika Anda akan menggunakan project yang sudah ada dan bukan milik Anda, Anda mungkin perlu meminta administrator untuk memberi Anda izin tertentu agar dapat mengakses project yang sudah ada tersebut. Untuk informasi selengkapnya, lihat Membuat dan mengelola project.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the required APIs:

    gcloud services enable financialservices.googleapis.com bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com
  8. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

  9. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  10. Install the Google Cloud CLI.

  11. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  12. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  13. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  14. Verify that billing is enabled for your Google Cloud project.

  15. Enable the required APIs:

    gcloud services enable financialservices.googleapis.com bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com
  16. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

  17. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  18. Peran ini memenuhi izin wajib berikut:

    Izin yang diperlukan

    Izin berikut diperlukan untuk menyelesaikan panduan memulai ini:

    Izin Deskripsi
    resourcemanager.projects.getMendapatkan project Google Cloud
    resourcemanager.projects.listList Google Cloud projects
    cloudkms.keyRings.createBuat key ring Cloud KMS
    cloudkms.cryptoKeys.createMembuat kunci Cloud KMS
    financialservices.v1instances.createMembuat instance AML AI
    financialservices.operations.getMendapatkan operasi AML AI
    cloudkms.cryptoKeys.getIamPolicyMendapatkan kebijakan IAM pada kunci Cloud KMS
    cloudkms.cryptoKeys.setIamPolicyMenetapkan kebijakan IAM pada kunci Cloud KMS
    bigquery.datasets.createMembuat set data BigQuery
    bigquery.datasets.getMendapatkan set data BigQuery
    bigquery.transfers.getMendapatkan transfer BigQuery Data Transfer Service
    bigquery.transfers.updateMembuat atau menghapus transfer BigQuery Data Transfer Service
    bigquery.datasets.setIamPolicyMenetapkan kebijakan IAM pada set data BigQuery
    bigquery.datasets.updateMemperbarui set data BigQuery
    financialservices.v1datasets.createMembuat set data AML AI
    financialservices.v1engineconfigs.createMembuat konfigurasi mesin AML AI
    financialservices.v1models.createMembuat model AML AI
    financialservices.v1backtests.createMembuat hasil backtest AML AI
    financialservices.v1backtests.exportMetadataMengekspor metadata dari hasil backtest AI AML
    financialservices.v1instances.importRegisteredPartiesMengimpor pihak terdaftar ke instance AML AI
    financialservices.v1predictions.createMembuat hasil prediksi AML AI
    bigquery.jobs.createMembuat tugas BigQuery
    bigquery.tables.getDataMendapatkan data dari tabel BigQuery
    financialservices.v1predictions.deleteMenghapus hasil prediksi AI AML
    financialservices.v1backtests.deleteMenghapus hasil uji ulang AML AI
    financialservices.v1models.deleteMenghapus model AML AI
    financialservices.v1engineconfigs.deleteMenghapus konfigurasi mesin AI AML
    financialservices.v1datasets.deleteMenghapus set data AML AI
    financialservices.v1instances.deleteMenghapus instance AML AI
    bigquery.datasets.deleteMenghapus set data BigQuery

  19. Permintaan API dalam panduan ini menggunakan Google Cloud project dan lokasi yang sama serta ID resource yang dikodekan secara permanen untuk mempermudah penyelesaian panduan. ID resource mengikuti pola my-resource-type (misalnya, my-key-ring dan my-model).

    Pastikan penggantian berikut ditentukan untuk panduan ini:

    • PROJECT_ID: Google Cloud project ID Anda yang tercantum di IAM Settings
    • PROJECT_NUMBER: nomor project yang terkait dengan PROJECT_ID. Anda dapat menemukan nomor project di halaman IAM Settings.
    • LOCATION: lokasi resource API; gunakan salah satu region yang didukung
      Tampilkan lokasi
      • us-central1
      • us-east1
      • asia-south1
      • europe-west1
      • europe-west2
      • europe-west4
      • northamerica-northeast1
      • southamerica-east1
      • australia-southeast1
  20. Membuat instance

    Bagian ini menjelaskan cara membuat instance. Instance AML AI berada di root semua resource AML AI lainnya. Setiap instance memerlukan satu kunci enkripsi yang dikelola pelanggan (CMEK) terkait yang digunakan untuk mengenkripsi data apa pun yang dibuat oleh AML AI.

    Membuat key ring

    Untuk membuat ring kunci, gunakan projects.locations.keyRings.create metode.

    REST

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d "" \
    "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -Uri "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring",
      "createTime": CREATE_TIME
    }
    

    gcloud

    Jalankan perintah berikut:

    Linux, macOS, atau Cloud Shell

    gcloud kms keyrings create my-key-ring \
      --location LOCATION

    Windows (PowerShell)

    gcloud kms keyrings create my-key-ring `
      --location LOCATION

    Windows (cmd.exe)

    gcloud kms keyrings create my-key-ring ^
      --location LOCATION
    Anda akan menerima respons kosong:
    $

    Buat kunci

    Untuk membuat kunci, gunakan metode projects.locations.keyRings.cryptoKeys.

    REST

    Meminta isi JSON:

    {
      "purpose": "ENCRYPT_DECRYPT"
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "purpose": "ENCRYPT_DECRYPT"
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "purpose": "ENCRYPT_DECRYPT"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key",
      "primary": {
        "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1",
        "state": "ENABLED",
        "createTime": CREATE_TIME,
        "protectionLevel": "SOFTWARE",
        "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION",
        "generateTime": GENERATE_TIME
      },
      "purpose": "ENCRYPT_DECRYPT",
      "createTime": CREATE_TIME,
      "versionTemplate": {
        "protectionLevel": "SOFTWARE",
        "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
      },
      "destroyScheduledDuration": "86400s"
    }
    

    gcloud

    Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

    • LOCATION: lokasi key ring; gunakan salah satu wilayah yang didukung
      Tampilkan lokasi
      • us-central1
      • us-east1
      • asia-south1
      • europe-west1
      • europe-west2
      • europe-west4
      • northamerica-northeast1
      • southamerica-east1
      • australia-southeast1

    Jalankan perintah berikut:

    Linux, macOS, atau Cloud Shell

    gcloud kms keys create my-key \
      --keyring my-key-ring \
      --location LOCATION \
      --purpose "encryption"

    Windows (PowerShell)

    gcloud kms keys create my-key `
      --keyring my-key-ring `
      --location LOCATION `
      --purpose "encryption"

    Windows (cmd.exe)

    gcloud kms keys create my-key ^
      --keyring my-key-ring ^
      --location LOCATION ^
      --purpose "encryption"
    Anda akan menerima respons kosong:
    $

    Membuat instance menggunakan API

    Untuk membuat instance, gunakan metode projects.locations.instances.create.

    Meminta isi JSON:

    {
      "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key"
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key"
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=my-instance"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=my-instance" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Jika berhasil, isi respons akan berisi operasi yang berjalan lama yang berisi ID yang dapat digunakan untuk mengambil status operasi asinkron yang sedang berlangsung. Salin OPERATION_ID yang ditampilkan untuk digunakan di bagian berikutnya.

    Periksa hasilnya

    Gunakan metode projects.locations.operations.get untuk memeriksa apakah instance telah dibuat. Jika respons berisi "done": false, ulangi perintah hingga respons berisi "done": true.

    Operasi dalam panduan ini dapat memerlukan waktu beberapa menit hingga beberapa jam untuk diselesaikan. Anda harus menunggu hingga operasi selesai sebelum melanjutkan panduan ini karena API menggunakan output beberapa metode sebagai input ke metode lainnya.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • OPERATION_ID: ID untuk operasi

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "endTime": END_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance",
        "name": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance",
        "createTime": CREATE_TIME,
        "updateTime": UPDATE_TIME,
        "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key",
        "state": "ACTIVE"
      }
    }
    

    Memberikan akses ke kunci CMEK

    API akan otomatis membuat akun layanan di project Anda. Akun layanan memerlukan akses ke kunci CMEK agar dapat menggunakan kunci tersebut untuk mengenkripsi dan mendekripsi data pokok. Memberikan akses ke kunci.

    gcloud kms keys add-iam-policy-binding "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" \
      --keyring "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring" \
      --location "LOCATION" \
      --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" \
      --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
      --project="PROJECT_ID"

    Membuat set data BigQuery

    Bagian ini menjelaskan cara membuat set data BigQuery input dan output, lalu menyalin contoh data perbankan ke set data input.

    Membuat set data output

    Buat set data yang akan digunakan untuk mengirim output pipeline AML ke.

    Bash

    bq mk \
      --location=LOCATION \
      --project_id=PROJECT_ID \
      my_bq_output_dataset
    

    PowerShell

    bq mk `
      --location=LOCATION `
      --project_id=PROJECT_ID `
      my_bq_output_dataset
    

    Membuat set data input

    Buat set data untuk menyalin contoh tabel perbankan.

    Bash

    bq mk \
      --location=LOCATION \
      --project_id=PROJECT_ID \
      my_bq_input_dataset
    

    PowerShell

    bq mk `
      --location=LOCATION `
      --project_id=PROJECT_ID `
      my_bq_input_dataset
    

    Menyalin set data contoh

    Contoh data perbankan disediakan sebagai set data BigQuery di project set data bersama Google. Anda harus memiliki akses ke AML AI API agar set data ini dapat diakses. Fitur utama set data ini mencakup hal-hal berikut:

    • 100.000 pihak
    • Rentang waktu inti dari 1 Januari 2020 hingga 1 Januari 2023 dan 24 bulan data lihat ke belakang tambahan
    • 300 kasus risiko negatif dan 20 kasus risiko positif per bulan
    • Kasus risiko dengan atribut berikut:
      • Setengah dari kasus risiko positif adalah untuk aktivitas penataan yang terjadi dalam dua bulan sebelum acara AML_PROCESS_START
      • Setengah lainnya mencakup pihak dengan jumlah uang yang diterima tertinggi dalam dua bulan sebelum acara AML_PROCESS_START
      • Kasus negatif dibuat secara acak
      • Peluang 0,1% untuk kasus risiko yang dihasilkan dalam kondisi berlawanan (misalnya, pihak acak yang positif, atau pihak yang memiliki aktivitas penataan atau pendapatan tertinggi dan dilaporkan negatif)
    • Skema AML ditentukan dalam model data input AML.
    1. Salin data perbankan sampel ke dalam set data input yang Anda buat.

      Bash

      bq mk --transfer_config \
        --project_id=PROJECT_ID \
        --data_source=cross_region_copy \
        --target_dataset="my_bq_input_dataset" \
        --display_name="Copy the AML sample dataset." \
        --schedule=None \
        --params='{
          "source_project_id":"bigquery-public-data",
          "source_dataset_id":"aml_ai_input_dataset",
          "overwrite_destination_table":"true"
        }'
      

      PowerShell

      bq mk --transfer_config `
      --project_id=PROJECT_ID `
      --data_source=cross_region_copy `
      --target_dataset="my_bq_input_dataset" `
      --display_name="Copy the AML sample dataset." `
      --schedule=None `
      --params='{\"source_project_id\":\"bigquery-public-data\",\"source_dataset_id\":\"aml_ai_input_dataset\",\"overwrite_destination_table\":\"true\"}'
      
    2. Pantau tugas transfer data.

      Bash

      bq ls --transfer_config \
      --transfer_location=LOCATION \
      --project_id=PROJECT_ID \
      --filter="dataSourceIds:cross_region_copy"
      

      PowerShell

      bq ls --transfer_config `
      --transfer_location=LOCATION `
      --project_id=PROJECT_ID `
      --filter="dataSourceIds:cross_region_copy"
      

      Setelah transfer selesai, tugas transfer data dengan nama tampilan Copy the AML sample dataset akan dibuat.

      Anda juga dapat memeriksa status transfer menggunakan konsol Google Cloud .

      Anda akan melihat output seperti berikut.

                           name                           displayName         dataSourceId       state
      -------------------------------------------  -----------------------  -----------------  ---------
      projects/294024168771/locations/us-central1  Copy AML sample dataset  cross_region_copy  SUCCEEDED
      

    Memberikan akses ke set data BigQuery

    API akan otomatis membuat akun layanan di project Anda. Akun layanan memerlukan akses ke set data input dan output BigQuery.

    1. Memberikan akses baca ke set data input dan tabelnya.

      Bash

      bq query --project_id=PROJECT_ID --use_legacy_sql=false \
        'GRANT `roles/bigquery.dataViewer` ON SCHEMA `PROJECT_ID.my_bq_input_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
      

      PowerShell

      bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataViewer`` ON SCHEMA ``PROJECT_ID.my_bq_input_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
      
    2. Berikan akses tulis ke set data output.

      Bash

      bq query --project_id=PROJECT_ID --use_legacy_sql=false \
        'GRANT `roles/bigquery.dataEditor` ON SCHEMA `PROJECT_ID.my_bq_output_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
      

      PowerShell

      bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataEditor`` ON SCHEMA ``PROJECT_ID.my_bq_output_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
      

    Membuat set data AML AI

    Buat set data AML AI untuk menentukan tabel set data BigQuery input dan rentang waktu yang akan digunakan.

    Untuk membuat set data, gunakan metode projects.locations.instances.datasets.create.

    Meminta isi JSON:

    {
      "tableSpecs": {
        "party": "bq://PROJECT_ID.my_bq_input_dataset.party",
        "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link",
        "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction",
        "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event",
        "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data"
      },
      "dateRange": {
        "startTime": "2020-01-01T00:00:0.00Z",
        "endTime": "2023-01-01T00:00:0.00Z"
      },
      "timeZone": {
        "id": "UTC"
      }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "tableSpecs": {
        "party": "bq://PROJECT_ID.my_bq_input_dataset.party",
        "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link",
        "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction",
        "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event",
        "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data"
      },
      "dateRange": {
        "startTime": "2020-01-01T00:00:0.00Z",
        "endTime": "2023-01-01T00:00:0.00Z"
      },
      "timeZone": {
        "id": "UTC"
      }
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets?dataset_id=my-dataset"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "tableSpecs": {
        "party": "bq://PROJECT_ID.my_bq_input_dataset.party",
        "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link",
        "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction",
        "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event",
        "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data"
      },
      "dateRange": {
        "startTime": "2020-01-01T00:00:0.00Z",
        "endTime": "2023-01-01T00:00:0.00Z"
      },
      "timeZone": {
        "id": "UTC"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets?dataset_id=my-dataset" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Anda dapat memeriksa hasil operasi menggunakan ID operasi yang baru. (Anda dapat melakukannya untuk permintaan API yang tersisa yang digunakan dalam panduan ini.)

    Membuat konfigurasi engine

    Buat konfigurasi mesin AI AML untuk menyetel hyperparameter secara otomatis berdasarkan versi mesin tertentu dan data yang diberikan. Versi mesin dirilis secara berkala dan sesuai dengan logika model yang berbeda (misalnya, menargetkan lini bisnis retail versus komersial).

    Untuk membuat konfigurasi mesin, gunakan metode projects.locations.instances.engineConfigs.create.

    Tahap ini melibatkan penyesuaian hyperparameter yang dapat memerlukan waktu beberapa saat untuk diproses. Selama data Anda tidak berubah secara signifikan, langkah ini dapat digunakan untuk membuat dan menguji banyak model.

    Meminta isi JSON:

    {
      "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001",
      "tuning": {
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
      },
      "performanceTarget": {
        "partyInvestigationsPerPeriodHint": "30"
      }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001",
      "tuning": {
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
      },
      "performanceTarget": {
        "partyInvestigationsPerPeriodHint": "30"
      }
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs?engine_config_id=my-engine-config"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001",
      "tuning": {
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
      },
      "performanceTarget": {
        "partyInvestigationsPerPeriodHint": "30"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs?engine_config_id=my-engine-config" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Membuat model

    Pada langkah ini, Anda akan melatih model AI AML menggunakan data 12 bulan hingga 1 Juli 2021.

    Untuk membuat model, gunakan metode projects.locations.instances.models.create.

    Meminta isi JSON:

    {
        "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config",
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
        "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config",
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models?model_id=my-model"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
        "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config",
        "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2021-07-01T00:00:00Z"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models?model_id=my-model" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Membuat hasil backtest

    Prediksi pengujian ulang menggunakan model terlatih pada data historis yang ada. Buat hasil pengujian ulang pada data 12 bulan hingga Januari 2023, yang tidak digunakan dalam pelatihan. Bulan-bulan ini digunakan untuk menentukan jumlah kasus yang mungkin perlu kami tangani jika kami menggunakan model yang dilatih hingga Juli 2021 dalam produksi selama Januari hingga Desember 2022.

    Untuk membuat hasil pengujian ulang, gunakan metode projects.locations.instances.backtestResults.create.

    Meminta isi JSON:

    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "backtestPeriods": 12,
        "performanceTarget": {
          "partyInvestigationsPerPeriodHint": "150"
        }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "backtestPeriods": 12,
        "performanceTarget": {
          "partyInvestigationsPerPeriodHint": "150"
        }
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults?backtest_result_id=my-backtest-results"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "backtestPeriods": 12,
        "performanceTarget": {
          "partyInvestigationsPerPeriodHint": "150"
        }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults?backtest_result_id=my-backtest-results" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Mengekspor metadata hasil uji coba di masa lalu

    Setelah backtest dijalankan, Anda perlu mengekspor hasilnya ke BigQuery untuk melihatnya. Untuk mengekspor metadata dari hasil backtest, gunakan metode projects.locations.instances.backtestResults.exportMetadata.

    Meminta isi JSON:

    {
      "structuredMetadataDestination": {
        "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata",
        "writeDisposition": "WRITE_TRUNCATE"
      }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "structuredMetadataDestination": {
        "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata",
        "writeDisposition": "WRITE_TRUNCATE"
      }
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results:exportMetadata"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "structuredMetadataDestination": {
        "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata",
        "writeDisposition": "WRITE_TRUNCATE"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results:exportMetadata" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results",
        "verb": "exportMetadata",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Setelah operasi selesai, lakukan hal berikut:

    1. Buka BigQuery di konsol Google Cloud .

      Buka konsol Google Cloud

    2. Di panel Explorer, temukan dan luaskan project Anda.

    3. Luaskan my_bq_output_dataset, lalu klik my_backtest_results_metadata.

    4. Di panel menu, klik Pratinjau.

    5. Di kolom name, temukan baris dengan ObservedRecallValues.

      Nilai recall yang diamati di BigQuery.

    6. Asumsikan bahwa kapasitas Anda untuk melakukan penyelidikan adalah 120 per bulan. Temukan objek nilai recall dengan "partyInvestigationsPerPeriod": "120"`. Untuk nilai sampel berikut, jika Anda membatasi penyelidikan pada pihak dengan skor risiko lebih besar dari 0,53, Anda dapat memperkirakan akan menyelidiki 120 pihak baru setiap bulan. Selama periode pengujian ulang, tahun 2022, Anda akan mengidentifikasi 86% kasus yang diidentifikasi oleh sistem sebelumnya (dan mungkin kasus lainnya, yang tidak diidentifikasi oleh proses Anda saat ini).

      {
        "recallValues": [
          ...
          {
            "partyInvestigationsPerPeriod": "105",
            "recallValue": 0.8142077,
            "scoreThreshold": 0.6071321
          },
          {
            "partyInvestigationsPerPeriod": "120",
            "recallValue": 0.863388,
            "scoreThreshold": 0.5339603
          },
          {
            "partyInvestigationsPerPeriod": "135",
            "recallValue": 0.89071035,
            "scoreThreshold": 0.4739899
          },
          ...
        ]
      }
      

    Lihat informasi selengkapnya tentang kolom lainnya di hasil uji coba ulang.

    Dengan mengubah kolom partyInvestigationsPerPeriodHint, Anda dapat mengubah jumlah penyelidikan yang dihasilkan uji coba ulang. Untuk mendapatkan skor yang akan diselidiki, daftarkan pihak dan buat prediksi terhadap pihak tersebut.

    Mengimpor pihak terdaftar

    Sebelum membuat hasil prediksi, Anda perlu mengimpor pihak yang terdaftar (yaitu, pelanggan dalam set data).

    Untuk mengimpor pihak yang terdaftar, gunakan metode projects.locations.instances.importRegisteredParties.

    Meminta isi JSON:

    {
      "partyTables": [
         "bq://PROJECT_ID.my_bq_input_dataset.party_registration"
      ],
      "mode": "REPLACE",
      "lineOfBusiness": "COMMERCIAL"
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
      "partyTables": [
         "bq://PROJECT_ID.my_bq_input_dataset.party_registration"
      ],
      "mode": "REPLACE",
      "lineOfBusiness": "COMMERCIAL"
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance:importRegisteredParties"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "partyTables": [
         "bq://PROJECT_ID.my_bq_input_dataset.party_registration"
      ],
      "mode": "REPLACE",
      "lineOfBusiness": "COMMERCIAL"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance:importRegisteredParties" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance",
        "verb": "importRegisteredParties",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Terus periksa hasil operasi tersebut hingga selesai. Setelah selesai, Anda akan melihat bahwa 10.000 pihak terdaftar dalam output JSON.

    Membuat hasil prediksi

    Buat hasil prediksi selama 12 bulan terakhir dalam set data; bulan-bulan ini tidak digunakan selama pelatihan. Membuat hasil prediksi akan membuat skor untuk setiap pihak setiap bulan di semua periode prediksi.

    Untuk membuat hasil prediksi, gunakan metode projects.locations.instances.predictionResults.create.

    Meminta isi JSON:

    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "predictionPeriods": "12",
        "outputs": {
          "predictionDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results",
            "writeDisposition": "WRITE_TRUNCATE"
          },
          "explainabilityDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability",
            "writeDisposition": "WRITE_TRUNCATE"
          }
        }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    cat > request.json << 'EOF'
    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "predictionPeriods": "12",
        "outputs": {
          "predictionDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results",
            "writeDisposition": "WRITE_TRUNCATE"
          },
          "explainabilityDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability",
            "writeDisposition": "WRITE_TRUNCATE"
          }
        }
    }
    EOF

    Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults?prediction_result_id=my-prediction-results"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
        "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "endTime": "2023-01-01T00:00:00Z",
        "predictionPeriods": "12",
        "outputs": {
          "predictionDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results",
            "writeDisposition": "WRITE_TRUNCATE"
          },
          "explainabilityDestination": {
            "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability",
            "writeDisposition": "WRITE_TRUNCATE"
          }
        }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults?prediction_result_id=my-prediction-results" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menganalisis satu kasus penataan di konsol Google Cloud

    1. Buka BigQuery di konsol Google Cloud .

      Buka konsol Google Cloud

    2. Di panel detail, klik tab Untitled Query untuk melihat editor.

    3. Salin pernyataan SQL berikut ke dalam editor, lalu klik Run.

      SELECT *
      FROM `PROJECT_ID.my_bq_input_dataset.transaction`
      WHERE account_id = '1E60OAUNKP84WDKB' AND DATE_TRUNC(book_time, MONTH) = "2022-08-01"
      ORDER by book_time
      

      Pernyataan ini memeriksa ID akun 1E60OAUNKP84WDKB pada Agustus 2022. Akun ini ditautkan ke ID pihak EGS4NJD38JZ8NTL8. Anda dapat menemukan ID pihak untuk ID akun tertentu menggunakan tabel AccountPartyLink.

      Data transaksi menunjukkan transaksi berulang yang ditargetkan ke satu akun segera setelah setoran tunai dalam jumlah besar, yang terlihat mencurigakan. Transaksi ini dapat mengindikasikan smurfing (yaitu, memecah transaksi uang besar menjadi jumlah transaksi yang lebih kecil) atau structuring.

      Data transaksi mencurigakan untuk satu pihak.

    4. Salin pernyataan SQL berikut ke dalam editor, lalu klik Run.

      SELECT *
      FROM `PROJECT_ID.my_bq_input_dataset.risk_case_event`
      WHERE party_id = 'EGS4NJD38JZ8NTL8'
      

      Pernyataan ini menunjukkan bahwa ada kasus risiko yang menyebabkan pihak ini keluar. Kasus risiko dimulai dua bulan setelah aktivitas mencurigakan.

      Peristiwa kasus risiko untuk satu pihak.

    5. Salin pernyataan SQL berikut ke dalam editor, lalu klik Run.

      SELECT *
      FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results`
      WHERE party_id = 'EGS4NJD38JZ8NTL8'
      ORDER BY risk_period_end_time
      

      Dengan memeriksa hasil prediksi, Anda dapat melihat bahwa skor risiko pihak tersebut melonjak dari hampir nol (perhatikan nilai eksponen) menjadi nilai tinggi dalam beberapa bulan setelah aktivitas mencurigakan. Hasil Anda mungkin berbeda dengan hasil yang ditampilkan.

      Skor risiko meningkat untuk satu pihak.

      Skor risiko bukanlah probabilitas. Skor risiko harus selalu dievaluasi relatif terhadap skor risiko lainnya. Misalnya, nilai yang tampaknya kecil dapat dianggap positif jika skor risiko lainnya lebih rendah.

    6. Salin pernyataan SQL berikut ke dalam editor, lalu klik Run.

      SELECT *
      FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability`
      WHERE party_id = 'EGS4NJD38JZ8NTL8'
      AND risk_period_end_time = '2022-10-01'
      

      Dengan memeriksa hasil keterjelasan, Anda dapat melihat bahwa kelompok fitur yang benar mendapatkan skor tertinggi.

      Hasil penjelasan untuk prediksi.

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.

    Menghapus hasil prediksi

    Untuk menghapus hasil prediksi, gunakan metode projects.locations.instances.predictionResults.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus hasil uji coba

    Untuk menghapus hasil pengujian ulang, gunakan metode projects.locations.instances.backtestResults.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus model

    Untuk menghapus model, gunakan metode projects.locations.instances.models.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus konfigurasi mesin

    Untuk menghapus konfigurasi mesin, gunakan metode projects.locations.instances.engineConfigs.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus set data

    Untuk menghapus set data, gunakan metode projects.locations.instances.datasets.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus instance

    Untuk menghapus instance, gunakan metode projects.locations.instances.delete.

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method DELETE `
    -Headers $headers `
    -Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "target": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Menghapus set data BigQuery

    bq rm -r -f -d PROJECT_ID:my_bq_input_dataset
    
    bq rm -r -f -d PROJECT_ID:my_bq_output_dataset
    

    Menghapus konfigurasi tugas transfer

    1. Mencantumkan tugas transfer dalam project.

      Bash

      bq ls --transfer_config \
        --transfer_location=LOCATION \
        --project_id=PROJECT_ID  \
        --filter="dataSourceIds:cross_region_copy"
      

      PowerShell

      bq ls --transfer_config `
        --transfer_location=LOCATION `
        --project_id=PROJECT_ID `
        --filter="dataSourceIds:cross_region_copy"
      
    2. Output yang mirip dengan berikut ini akan ditampilkan.

      name                                                                                       displayName                    dataSourceId       state
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      projects/PROJECT_NUMBER/locations/LOCATION/transferConfigs/TRANSFER_CONFIG_ID    Copy the AML sample dataset.   cross_region_copy   SUCCEEDED
      

      Salin seluruh nama, dimulai dengan projects/ dan diakhiri dengan TRANSFER_CONFIG_ID.

    3. Hapus konfigurasi transfer.

      Bash

      bq rm --transfer_config TRANSFER_CONFIG_NAME
      

      PowerShell

      bq rm --transfer_config TRANSFER_CONFIG_NAME
      

    Langkah berikutnya