En esta página se explica cómo crear y gestionar resultados de pruebas retrospectivas de predicciones de IA de AML. La retropredicción usa un modelo entrenado con datos históricos. Durante esos meses, el conjunto de datos debe contener una parte con actividad sospechosa o fechas de inicio de investigación que conduzcan a un evento AML_EXIT
. Para obtener más información sobre cómo etiqueta la IA de LBC a las distintas partes, consulta el ciclo de vida de un caso de riesgo.
Se puede usar el mismo conjunto de datos para el entrenamiento y la prueba retrospectiva siempre que la fecha de finalización del entrenamiento sea anterior a las fechas de la prueba retrospectiva.
Antes de empezar
-
Para obtener los permisos que necesitas para crear y gestionar resultados de pruebas retrospectivas, pide a tu administrador que te conceda el rol de gestión de identidades y accesos
financialservices.admin
(Administrador de servicios financieros) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
- Crear una instancia
- Crear un modelo
- Crear un conjunto de datos
Crear resultados de una prueba retrospectiva
Algunos métodos de la API devuelven una operación de larga duración (LRO). Estos métodos son asíncronos y devuelven un objeto Operation. Para obtener más información, consulta la referencia de REST. Es posible que la operación no se haya completado cuando el método devuelva una respuesta. Para usar estos métodos, envía la solicitud y, a continuación, comprueba el resultado. En general, todas las operaciones POST, PUT, UPDATE y DELETE son de larga duración.
Enviar la solicitud
Para crear resultados de una prueba retrospectiva, usa el método projects.locations.instances.backtestResults.create
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instanciaBACKTEST_RESULTS_ID
: identificador definido por el usuario para los resultados de la prueba retrospectiva.MODEL_ID
: identificador del modelo definido por el usuarioBACKTEST_DATASET_ID
: identificador definido por el usuario del conjunto de datos usado en la prueba retrospectiva. Las tablas no deben tener las columnas de etiquetas de entrenamiento.BACKTEST_END_DATE
: la hora más reciente a partir de la cual se usan los datos para generar funciones de pruebas retrospectivas. Esta fecha debe ser la misma o anterior a la hora de finalización de los conjuntos de datos. Usa el formato RFC3339 UTC "Zulu" (por ejemplo,2014-10-02T15:01:23Z
).PARTY_INVESTIGATIONS_PER_PERIOD_HINT
: Número que indica al sintonizador el número de partes de estos datos que se investigarán por periodo (mensual). Se usa para controlar cómo se evalúa el modelo. Por ejemplo, si vas a probar la IA de lucha contra el blanqueo de capitales por primera vez, te recomendamos que indiques el número de partes investigadas en un mes de media, según las alertas de tu sistema de alertas automatizado.
Cuerpo JSON de la solicitud:
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
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/backtestResults?backtest_result_id=BACKTEST_RESULTS_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
$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/backtestResults?backtest_result_id=BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Comprobar el resultado
Para comprobar si se han creado resultados de pruebas retrospectivas, usa el método
projects.locations.operations.get
. Si la respuesta contiene "done": false
, repite el comando hasta que la respuesta contenga "done": true
. Estas operaciones pueden tardar entre unos minutos y varias horas en completarse.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la sección Configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
OPERATION_ID
: el identificador de la operación
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "endTime": "2023-03-14T16:52:55.358979323Z", "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/dataresidency.monitoring.DataResidencyAugmentedView", "tpIds": [ "i608e8cf4abb2a7d9-tp" ] } }
Exportar metadatos
Para exportar metadatos de los resultados de una prueba retrospectiva, usa el método projects.locations.instances.backtestResults.exportMetadata
.
Para obtener más información, consulta Metadatos exportados en el modelo de datos de salida de AML.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidasMostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instanciaBACKTEST_RESULTS_ID
: identificador definido por el usuario para los resultados de la prueba retrospectiva.BQ_OUTPUT_DATASET_NAME
: un conjunto de datos de BigQuery en el que exportar una tabla que describa los metadatos estructurados de los resultados de la prueba retrospectivaSTRUCTURED_METADATA_TABLE
: la tabla en la que se escriben los metadatos estructuradosWRITE_DISPOSITION
: la acción que se lleva a cabo si la tabla de destino ya existe. Usa uno de los siguientes valores:-
WRITE_EMPTY
: solo exporta datos si la tabla de BigQuery está vacía. -
WRITE_TRUNCATE
: borra todos los datos de la tabla de BigQuery antes de escribir en ella.
-
Cuerpo JSON de la solicitud:
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
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/backtestResults/BACKTEST_RESULTS_ID:exportMetadata"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
$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/backtestResults/BACKTEST_RESULTS_ID:exportMetadata" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Para obtener más información sobre cómo obtener el resultado de la operación de larga duración, consulta Comprobar el resultado.
Obtener resultados de una prueba retrospectiva
Para obtener los resultados de la prueba retrospectiva, usa el método projects.locations.instances.backtestResults.get
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instanciaBACKTEST_RESULTS_ID
: identificador definido por el usuario para los resultados de la prueba retrospectiva
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID"
PowerShell
Ejecuta el comando siguiente:
$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/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "endTime": "BACKTEST_END_DATE", "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" }, "lineOfBusiness": "RETAIL" }
Actualizar resultados de una prueba retrospectiva
Para actualizar los resultados de la prueba retrospectiva, usa el método projects.locations.instances.backtestResults.patch
.
Solo se puede actualizar el campo labels
de los resultados de la prueba retrospectiva. En el siguiente ejemplo se actualiza el par clave-valor etiquetas de usuario asociado a los resultados de la prueba retrospectiva.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instanciaBACKTEST_RESULTS_ID
: identificador definido por el usuario para los resultados de la prueba retrospectivaKEY
: clave de un par clave-valor que se usa para organizar los resultados de las pruebas retrospectivas. Consulta más información enlabels
.VALUE
: valor de un par clave-valor que se usa para organizar los resultados de las pruebas retrospectivas. Consulta más información enlabels
.
Cuerpo JSON de la solicitud:
{ "labels": { "KEY": "VALUE" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
curl -X PATCH \
-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/backtestResults/BACKTEST_RESULTS_ID?updateMask=labels"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-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/backtestResults/BACKTEST_RESULTS_ID?updateMask=labels" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Para obtener más información sobre cómo obtener el resultado de la operación de larga duración, consulta Comprobar el resultado.
Lista los resultados de la prueba retrospectiva
Para enumerar los resultados de una prueba retrospectiva de una instancia determinada, usa el método projects.locations.instances.backtestResults.list
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instancia
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults"
PowerShell
Ejecuta el comando siguiente:
$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/instances/INSTANCE_ID/backtestResults" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "backtestResults": [ { "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "endTime": "BACKTEST_END_DATE", "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" }, "lineOfBusiness": "RETAIL" } ] }
Eliminar resultados de una prueba retrospectiva
Para eliminar los resultados de una prueba retrospectiva, utiliza el método projects.locations.instances.backtestResults.delete
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu proyecto Google Cloud aparece en la configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la instancia. Usa una de las regiones admitidasMostrar ubicacionesus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
: identificador definido por el usuario de la instanciaBACKTEST_RESULTS_ID
: identificador definido por el usuario para los resultados de la prueba retrospectiva
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID"
PowerShell
Ejecuta el comando siguiente:
$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/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Para obtener más información sobre cómo obtener el resultado de la operación de larga duración, consulta Comprobar el resultado.