

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de un trabajo de AutoML para la previsión de serie temporal con la API
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

En machine learning, la previsión se refiere al proceso de predecir los resultados o tendencias futuros en función de patrones y datos históricos. Al analizar datos de series temporales pasadas e identificar los patrones subyacentes, los algoritmos de machine learning pueden hacer predicciones y proporcionar información valiosa sobre el comportamiento futuro. Al pronosticar, el objetivo es desarrollar modelos que puedan capturar con precisión la relación entre las variables de entrada y la variable objetivo a lo largo del tiempo. Esto implica examinar varios factores, como las tendencias, la estacionalidad y otros patrones relevantes de los datos. La información recopilada se utiliza luego para entrenar un modelo de machine learning. El modelo entrenado es capaz de generar predicciones tomando nuevos datos de entrada y aplicando las relaciones y los patrones aprendidos. Puede proporcionar pronósticos para una amplia gama de casos de uso, como proyecciones de ventas, tendencias del mercado de valores, pronósticos meteorológicos, pronósticos de demanda y muchos más.

[Las siguientes instrucciones muestran cómo crear un trabajo de Amazon SageMaker Autopilot como experimento piloto para tipos de problemas de previsión de series temporales mediante SageMaker API Reference.](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)

**nota**  
Las tareas como la clasificación de textos e imágenes, la previsión de series temporales y el refinamiento de modelos de lenguaje de gran tamaño están disponibles exclusivamente en la versión 2 de la [API de REST de AutoML](autopilot-reference.md). Si su idioma preferido es Python, puede consultar directamente el [MLV2 objeto Auto](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2) del SDK de Amazon SageMaker Python. [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
Los usuarios que prefieran la comodidad de una interfaz de usuario pueden usar [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) para acceder a modelos previamente entrenados y modelos básicos de IA generativa, o crear modelos personalizados adaptados a textos específicos, clasificación de imágenes, necesidades de previsión o IA generativa.

Puede crear un experimento de previsión de series temporales con piloto automático mediante programación llamando a la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API en cualquier idioma compatible con Amazon Autopilot o el. SageMaker AWS CLI

Para obtener información sobre cómo se traduce esta acción de API en una función en el lenguaje que usted prefiera, consulte la sección [Véase también](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2` y seleccione un SDK. Como ejemplo, para los usuarios de Python, consulte la sintaxis de solicitud completa de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` en AWS SDK para Python (Boto3).

Piloto automático entrena a varios modelos candidatos con su serie temporal objetivo y, a continuación, selecciona un modelo de pronóstico óptimo para una métrica objetivo determinada. Cuando los candidatos a modelo hayan recibido entrenamiento, podrá encontrar las mejores métricas candidatas en la respuesta a `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` en `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)`.

En las siguientes secciones se definen los parámetros de solicitud de entrada obligatorios y opcionales para la API `CreateAutoMLJobV2` utilizada en la previsión de series temporales.

**nota**  
Consulte el cuaderno [Previsión de series temporales con Amazon SageMaker Autopilot para ver un ejemplo práctico y práctico de previsión](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb) de series temporales. En este cuaderno, utiliza Amazon SageMaker Autopilot para entrenar un modelo de series temporales y producir predicciones utilizando el modelo entrenado. El cuaderno proporciona instrucciones para recuperar un conjunto de datos históricos tabulares listo para usar en Amazon S3.

## Requisitos previos
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

Antes de usar el piloto automático para crear un experimento de previsión de series temporales en SageMaker IA, asegúrese de:
+ Prepare su conjunto de datos de series temporales. La preparación del conjunto de datos implica recopilar datos relevantes de diversas fuentes, limpiarlos y filtrarlos para eliminar el ruido y las incoherencias y organizarlos en un formato estructurado. Consulte [Formato de conjuntos de datos de series temporales y métodos de relleno de valores faltantes](timeseries-forecasting-data-format.md) para obtener más información sobre los requisitos de formato de series temporales en Piloto automático. Si lo desea, puede complementar su conjunto de datos con el calendario de días festivos del país que elija para capturar los patrones asociados. Para obtener más información sobre los calendarios de días festivos, consulte [Calendarios de días festivos nacionales](autopilot-timeseries-forecasting-holiday-calendars.md).
**nota**  
Recomendamos proporcionar al menos de 3 a 5 puntos de datos históricos por cada punto de datos futuro que desee predecir. Por ejemplo, para prever con 7 días de antelación (horizonte de 1 semana) en función de los datos diarios, entrene el modelo con un mínimo de 21 a 35 días de datos históricos. Asegúrese de proporcionar datos suficientes para captar los patrones estacionales y recurrentes. 
+ Coloque el conjunto de datos de serie temporal en un bucket de Amazon S3.
+ Conceda acceso completo al depósito de Amazon S3 que contiene los datos de entrada para la función de ejecución de SageMaker IA utilizada para ejecutar el experimento. Una vez hecho esto, puede usar el ARN de este rol de ejecución en las solicitudes de la API de Piloto automático.
  + Para obtener información sobre cómo recuperar su función de ejecución de SageMaker IA, consulte[Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role).
  + Para obtener información sobre cómo conceder permisos a su función de ejecución de SageMaker IA para acceder a uno o más buckets específicos en Amazon S3, consulte *Añadir permisos adicionales de Amazon S3 a una función de ejecución de SageMaker IA* en[Creación de un rol de ejecución](sagemaker-roles.md#sagemaker-roles-create-execution-role).

## Parámetros necesarios
<a name="timeseries-forecasting-api-required-params"></a>

Al llamar a `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` para crear un experimento de Piloto automático a fin de realizar una previsión de series temporales, debe proporcionar los siguientes valores:
+ Un `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` para especificar el nombre del trabajo. El nombre debe ser del tipo `string` y tener una longitud de caracteres de entre 1 y 32.
+ Al menos un `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` en `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`, en el que usted especifique el nombre del bucket de Amazon S3 que contiene sus datos. Si lo desea, puede especificar el contenido (archivos CSV o Parquet) y los tipos de compresión (GZip).
+ Un `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` del tipo `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` para configurar los ajustes de su trabajo de previsión de series temporales. Es especialmente importante que especifique lo siguiente:
  + La **frecuencia** de las predicciones; es decir, la granularidad deseada (por hora, día, mes, etc.) de su previsión.

    Los intervalos válidos son un número entero seguido de `Y` (año), `M` (mes), `W` (semana), `D` (día), `H` (hora) y `min` (minuto). Por ejemplo, `1D` indica todos los días y `15min` indica cada 15 minutos. El valor de una frecuencia no debe superponerse con la siguiente frecuencia mayor. Por ejemplo, debe utilizar una frecuencia de `1H` en lugar de `60min`.

    Los valores válidos de cada frecuencia son los siguientes:
    + Minuto: de 1 a 59
    + Hora: de 1 a 23
    + Día: de 1 a 6
    + Semana: de 1 a 4
    + Mes: de 1 a 11
    + Año: 1
  + El **horizonte** de predicciones de su pronóstico; es decir, el número de intervalos de tiempo que predice el modelo. El horizonte de previsión también se denomina longitud de predicción. El horizonte máximo de previsión es 500 intervalos temporales o 1/4 de los intervalos temporales del conjunto de datos (el valor más pequeño).
  + A, [TimeSeriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)en la que se define el esquema del conjunto de datos para asignar los encabezados de las columnas a la previsión especificando:
    + Un `TargetAttributeName`: la columna que contiene los datos históricos del campo objetivo que se va a pronosticar.
    + Un `TimestampAttributeName`: la columna que contiene un punto en el tiempo en el que se registra el valor objetivo de un elemento determinado.
    + Un `ItemIdentifierAttributeName`: la columna que contiene los identificadores de los elementos para los que desea predecir el valor objetivo.

  Lo que sigue es un ejemplo de estos parámetros de solicitud. En este ejemplo, está configurando una previsión diaria para la cantidad o el nivel de demanda esperados de artículos específicos durante un periodo de 20 días.

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ Una `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar la ruta de salida de Amazon S3 a fin de almacenar los artefactos de su trabajo de AutoML.
+ Un `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar el ARN del rol utilizado para acceder a sus datos. Puede utilizar el ARN de la función de ejecución a la que ha concedido acceso a sus datos.

Todos los demás parámetros son opcionales. Por ejemplo, puede establecer cuantiles de previsión específicos, elegir un método de relleno para los valores que faltan en el conjunto de datos o definir cómo agregar los datos que no se ajustan a la frecuencia de la previsión. Para saber cómo configurar esos parámetros adicionales, consulte [Parámetros opcionales](#timeseries-forecasting-api-optional-params).

## Parámetros opcionales
<a name="timeseries-forecasting-api-optional-params"></a>

En las siguientes secciones, se proporcionan detalles de algunos parámetros opcionales que puede pasar a la predicción de series temporales de AutoML.

### Cómo especificar los algoritmos
<a name="timeseries-forecasting-algorithms-selection"></a>

De forma predeterminada, el trabajo de Piloto automático entrena una lista predefinida de algoritmos en su conjunto de datos. No obstante, puede proporcionar un subconjunto de la selección de algoritmos predeterminada.

Para la previsión de series temporales, debe elegir `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` como tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

A continuación, puede especificar una matriz de los seleccionados `AutoMLAlgorithms` en el `AlgorithmsConfig` atributo de [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html).

A continuación se muestra un ejemplo de un atributo `AlgorithmsConfig` que enumera exactamente tres algoritmos ("cnn-qr", "prophet", "arima") en su campo `AutoMLAlgorithms`.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

Para ver la lista de algoritmos disponibles para la previsión de serie temporal, consulte [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms). Para obtener información sobre cada algoritmo, consulte [Compatibilidad de algoritmos para la previsión de series temporales](timeseries-forecasting-algorithms.md).

### Cómo especificar cuantiles personalizados
<a name="timeseries-forecasting-custom-quantiles"></a>

Piloto automático entrena a seis modelos candidatos con su serie temporal objetivo; luego, combina estos modelos con un método de conjunto de apilamiento a fin de crear un modelo de previsión óptimo para una métrica objetivo determinada. Cada modelo de pronóstico de Piloto automático genera un pronóstico probabilístico con pronósticos en cuantiles de entre P1 y P99. Estos cuantiles se utilizan para contabilizar la incertidumbre de las previsiones. De forma predeterminada, se generarán pronósticos para los valores 0,1 (`p10`), 0,5 (`p50`) y 0,9 (`p90`). Puede especificar sus propios cuantiles. 

En el piloto automático, puede especificar hasta cinco cuantiles de previsión, de 0,01 (`p1`) a 0,99 (`p99`), mediante incrementos de 0,01 o más en el atributo de. `ForecastQuantiles` [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)

En este ejemplo, se configura una previsión diaria de los percentiles 10, 25, 50, 75 y 90 para la cantidad o el nivel de demanda esperados de artículos específicos durante un periodo de 20 días.

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### Cómo agregar datos para distintas frecuencias de previsión
<a name="timeseries-forecasting-aggregation"></a>

Para crear un modelo de previsión (también denominado el mejor modelo candidato del experimento), debe especificar una frecuencia de previsión. La frecuencia de previsión determina la frecuencia de las predicciones en sus previsiones. Por ejemplo, las previsiones de ventas mensuales. El mejor modelo de Piloto automático puede generar pronósticos para frecuencias de datos superiores a la frecuencia con la que se registran los datos.

Durante el entrenamiento, Piloto automático agrega cualquier dato que no se ajuste a la frecuencia de previsión que especifique. Por ejemplo, puede que tenga algunos datos diarios, pero que especifique una frecuencia de previsión semanal. Piloto automático ajusta los datos diarios en función de la semana a la que pertenecen. Luego, Piloto automático los combina en un solo registro para cada semana.

Durante la agregación, el método de transformación predeterminado consiste en sumar los datos. Puede configurar la agregación al crear su trabajo de AutoML en el `Transformations` atributo de. [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) Los métodos de agregación compatibles son `sum` (predeterminado), `avg`, `first`, `min` y `max`. La agregación solo se admite en la columna de destino.

En el siguiente ejemplo, configura la agregación para calcular la media de las previsiones promocionales individuales y proporcionar los valores finales de las previsiones agregadas.

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### Cómo gestionar los valores que faltan en los conjuntos de datos de entrada
<a name="timeseries-forecasting-fill-missing-values"></a>

Piloto automático proporciona varios métodos de relleno para gestionar los valores que faltan en las columnas objetivo y otras columnas numéricas de sus conjuntos de datos de series temporales. Para obtener información sobre la lista de métodos de relleno compatibles y su lógica de relleno disponible, consulte [Gestión de valores que faltan](timeseries-forecasting-data-format.md#timeseries-missing-values).

Usted configura su estrategia de llenado en el `Transformations` atributo de [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)al crear su trabajo de AutoML.

Para configurar un método de relleno, debe proporcionar un par clave-valor:
+ La clave es el nombre de la columna cuyo método de relleno quiera especificar.
+ El valor asociado a la clave es un objeto que define la estrategia de relleno de esa columna.

Puede especificar varios métodos de relleno para una sola columna.

Para establecer un valor específico para el método de relleno, debe establecer el parámetro de relleno según el valor del método de relleno deseado (por ejemplo, `"backfill" : "value"`) y definir el valor de relleno real en un parámetro adicional con el sufijo “\$1value”. Por ejemplo, para establecer `backfill` a un valor de `2`, debe incluir dos parámetros: `"backfill": "value"` y `"backfill_value":"2"`.

En el siguiente ejemplo, se especifica la estrategia de relleno para la columna de datos incompleta (“precio”) de la siguiente manera: todos los valores faltantes entre el primer punto de datos de un artículo y el último se establecen en `0`; después, todos los valores faltantes se rellenan con el valor `2` hasta la fecha de finalización del conjunto de datos.

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### Cómo especificar una métrica objetivo
<a name="timeseries-forecasting-set-objective-metric"></a>

Piloto automático produce métricas de precisión para evaluar los modelos candidatos y ayudarlo a elegir cuál usar para generar pronósticos. Cuando ejecuta un experimento de previsión de series temporales, puede elegir AutoML para que Piloto automático optimice el predictor de forma automática, o puede elegir manualmente un algoritmo para su predictor.

De forma predeterminada, Piloto automático utiliza la pérdida de cuantil ponderada media. Sin embargo, puede configurar la métrica del objetivo al crear su trabajo de AutoML en el `MetricName` atributo de [Auto MLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) Objective.

Para ver la lista de algoritmos disponibles, consulte [Compatibilidad de algoritmos para la previsión de series temporales](timeseries-forecasting-algorithms.md).

### Cómo incorporar la información sobre días festivos nacionales a su conjunto de datos
<a name="timeseries-forecasting-add-holiday-calendar"></a>

En Piloto automático, puede incorporar a su serie temporal un conjunto de datos, con ingeniería de características, con información sobre los días festivos nacionales. Piloto automático proporciona soporte nativo para los calendarios de días festivos de más de 250 países. Después de elegir un país, Piloto automático aplica el calendario de días festivos de ese país a todos los elementos de su conjunto de datos durante el entrenamiento. Esto permite que el modelo identifique los patrones asociados a días festivos específicos.

Puede habilitar la función navideña al crear su trabajo de AutoML pasando un [HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html)objeto al atributo de. `HolidayConfig` [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) El objeto `HolidayConfigAttributes` contiene el atributo `CountryCode` de dos letras que determina el país del calendario festivo nacional público que se utiliza para aumentar el conjunto de datos de series temporales.

Consulte [Códigos de país](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes) para obtener una lista de calendarios compatibles y su código de país correspondiente.

### Cómo habilitar la implementación automática
<a name="timeseries-forecasting-auto-model-deployment"></a>

Piloto automático le permite implementar automáticamente su modelo de pronóstico en un punto de conexión. Para permitir la implementación automática del mejor candidato modelo para un trabajo de AutoML, incluya un `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` en la solicitud de trabajo de AutoML. Esto permite implementar el mejor modelo en un SageMaker punto final de IA. A continuación, se muestran las configuraciones disponibles para la personalización.
+ Para permitir que Piloto automático genere el nombre del punto de conexión, configure `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` en `True`.
+ Si desea proporcionar su propio nombre para el punto de conexión, configure `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`.

### Configuración de AutoML para iniciar un trabajo remoto en EMR sin servidor para conjuntos de datos grandes
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

Puede configurar su trabajo de AutoML V2 para iniciar automáticamente un trabajo remoto en Amazon EMR sin servidor cuando se necesiten recursos de computación adicionales para procesar conjuntos de datos de gran tamaño. Al realizar una transición sin problemas a EMR sin servidor cuando es necesario, el trabajo de AutoML puede gestionar conjuntos de datos que, de otro modo, superarían los recursos aprovisionados inicialmente, sin ninguna intervención manual por su parte. EMR sin servidor está disponible para los tipos de problemas tabulares y de series temporales. Recomendamos configurar esta opción para conjuntos de datos de series temporales de más de 30 GB.

Para permitir que el trabajo de AutoML V2 pase automáticamente a EMR sin servidor para conjuntos de datos grandes, debe proporcionar un objeto `EmrServerlessComputeConfig`, que incluya un campo `ExecutionRoleARN`, para el `AutoMLComputeConfig` de la solicitud de entrada del trabajo AutoML V2.

`ExecutionRoleARN` es el ARN del rol de IAM que otorga al trabajo de AutoML V2 los permisos necesarios para ejecutar los trabajos de EMR sin servidor.

Este rol debe tener la siguiente relación de confianza:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Y conceder los permisos para:
+ Crear, enumerar y actualizar aplicaciones de EMR sin servidor.
+ Iniciar, enumere, obtener o cancelar las ejecuciones de trabajos en una aplicación EMR sin servidor.
+ Etiquetar los recursos EMR sin servidor.
+ Pasar un rol de IAM al servicio de EMR sin servidor para su ejecución.

  Al conceder el permiso `iam:PassRole`, el trabajo de AutoML V2 puede asumir temporalmente el rol `EMRServerlessRuntimeRole-*` y pasarlo al servicio de EMR sin servidor. Estas son las funciones de IAM que utilizan los entornos de ejecución de trabajos sin servidor de EMR para acceder a AWS otros servicios y recursos necesarios durante el tiempo de ejecución, como Amazon S3 para el acceso a los datos, el registro CloudWatch , AWS Glue el acceso al catálogo de datos u otros servicios en función de sus requisitos de carga de trabajo.

  Consulte [Roles en tiempo de ejecución de trabajo para Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) para obtener más información sobre los permisos de este rol.

La política de IAM definida en el documento JSON proporcionado concede esos permisos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

# Formato de conjuntos de datos de series temporales y métodos de relleno de valores faltantes
<a name="timeseries-forecasting-data-format"></a>

Los datos de series temporales se refieren a un conjunto de observaciones o mediciones registradas a intervalos de tiempo regulares. En este tipo de datos, cada observación está asociada a una marca temporal o periodo de tiempo específico, lo que crea una secuencia de puntos de datos ordenados cronológicamente.

Las columnas específicas que incluya en su conjunto de datos de series temporales dependen de los objetivos del análisis y de los datos de los que disponga. Como mínimo, los datos de serie temporal se componen de una tabla de tres columnas:
+ Una columna contiene identificadores únicos asignados a elementos individuales para hacer referencia a su valor en un momento específico.
+ Otra columna representa el point-in-time valor o el **objetivo** para registrar el valor de un elemento determinado en un momento específico. Tras entrenar al modelo en esos valores objetivo, esta columna objetivo contiene los valores que el modelo predice con una frecuencia específica dentro de un horizonte definido.
+ Además, se incluye una columna timestamp para registrar la fecha y la hora en que se midió el valor.
+ Las columnas adicionales pueden contener otros factores que pueden influir en el rendimiento de la previsión. Por ejemplo, en un conjunto de datos de series temporales para el comercio minorista en el que el objetivo son las ventas o los ingresos, puede que haya funciones que proporcionen información sobre las unidades vendidas, el identificador del producto, la ubicación de la tienda, el número de clientes y los niveles de inventario, así como indicadores covariables, como los datos meteorológicos o la información demográfica.

**nota**  
Puede agregar a su serie temporal un conjunto de datos, con ingeniería de características, con información sobre los días festivos nacionales. Al incluir los días festivos en su modelo de series temporales, puede capturar los patrones periódicos que crean los días festivos. Esto ayuda a que sus pronósticos reflejen mejor la estacionalidad subyacente de sus datos. Para obtener información sobre los calendarios disponibles por país, consulte [Calendarios de días festivos nacionales](autopilot-timeseries-forecasting-holiday-calendars.md)

## Formato de conjuntos de datos para la previsión de series temporales
<a name="timeseries-format"></a>

Piloto automático admite tipos de datos numéricos, categóricos, de texto y de fecha y hora. El tipo de datos de la columna objetivo debe ser numérico.

Piloto automático admite datos de serie temporal formateados como archivos CSV (opción predeterminada) o como archivos Parquet.
+ El **CSV** (comma-separated-values) es un formato de archivo basado en filas que almacena los datos en texto plano legible para las personas. Es una opción popular para el intercambio de datos, ya que es compatible con una amplia gama de aplicaciones.
+ **Parquet** es un formato de archivo basado en columnas en el que los datos se almacenan y procesan de forma más eficiente que en los formatos de archivo basados en filas. Esto los convierte en una mejor opción para los problemas en macrodatos.

Para obtener más información sobre los límites de recursos de los conjuntos de datos de series temporales para la previsión en Piloto automático, consulte [Límites de recursos de previsión de series temporales para Piloto Automático](timeseries-forecasting-limits.md).

## Gestión de valores que faltan
<a name="timeseries-missing-values"></a>

Un problema habitual en los datos de predicción de series temporales es la presencia de valores faltantes. Es posible que sus datos contengan valores faltantes por varias razones, como fallos de medición, problemas de formato, errores humanos o falta de información para registrar. Por ejemplo, si pronostica la demanda de productos para una tienda minorista y un artículo está agotado o no está disponible, no habría datos de ventas que registrar mientras ese artículo estuviera agotado. Si están suficientemente extendidos, los valores faltantes pueden afectar de manera significativa a la precisión de un modelo.

Piloto automático proporciona varios métodos de relleno para gestionar los valores que faltan, con distintas estrategias para la columna objetivo y otras columnas adicionales. El llenado es el proceso de añadir valores estandarizados a las entradas que faltan en su conjunto de datos.

Consulte [Cómo gestionar los valores que faltan en los conjuntos de datos de entrada](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-fill-missing-values) para obtener información sobre cómo configurar el método para rellenar los valores faltantes en su conjunto de datos de series temporales.

Piloto automático admite los siguientes métodos de relleno.
+ **Rellenado frontal:** rellena los valores faltantes entre el primer punto de datos registrado de todos los elementos y el punto de partida de cada elemento (cada elemento puede empezar en un momento diferente). Esto garantiza que los datos de cada elemento estén completos y abarquen desde el primer punto de datos registrado hasta su punto de partida respectivo.
+ **Relleno intermedio:** rellena los valores que falten entre las fechas de inicio y finalización de los elementos del conjunto de datos.
+ **Relleno trasero:** rellena los valores faltantes entre el último punto de datos de cada elemento (cada elemento puede detenerse en un momento diferente) y el último punto de datos registrado de todos los elementos.
+ **Relleno futuro:** rellena los valores que falten entre el último punto de datos registrado entre todos los elementos y el final del horizonte de previsión.

La siguiente imagen proporciona una representación visual de los diferentes métodos de relleno.

![\[Los diferentes métodos de llenado para la previsión de series temporales en Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-forecast-filling-methods.png)


### Elección de una lógica de relleno
<a name="filling-logic"></a>

Al elegir una lógica de llenado, debe considerar cómo interpretará su modelo la lógica. Por ejemplo, en un caso comercial, registrar 0 ventas de un artículo disponible es diferente de registrar 0 ventas de un artículo no disponible, ya que este último no implica una falta de interés del cliente en el artículo. Debido a esto, el relleno `0` en la columna de destino de la serie temporal podría causar que el predictor sea poco sesgado en sus predicciones, mientras que el relleno `NaN` podría pasar por alto las ocurrencias reales de 0 artículos disponibles que se venden y hacer que el predictor sea excesivamente sesgado.

### Lógica de relleno
<a name="filling-restrictions"></a>

Puede llevar a cabo el relleno de la columna de destino y otras columnas numéricas en sus conjuntos de datos. Las columnas de destino tienen pautas y restricciones de llenado diferentes a las del resto de las columnas numéricas.

Directrices de llenado


| Tipo de columna | ¿Llenado por defecto? | Métodos de llenado admitidos | Lógica de llenado predeterminada | Lógica de relleno aceptada | 
| --- | --- | --- | --- | --- | 
| Columna objetivo | Sí | Llenado medio y final | 0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 
| Otras columnas numéricas | No | Llenado medio, final y futuro | No hay valor predeterminado |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 

**nota**  
Tanto para la columna objetivo como para otras columnas numéricas, `mean`, `median`, `min` y `max` se calculan en función de una ventana sucesiva de las 64 entradas de datos más recientes antes de los valores faltantes.

# Calendarios de días festivos nacionales
<a name="autopilot-timeseries-forecasting-holiday-calendars"></a>

Piloto automático admite un conjunto de datos de ingeniería de características con información sobre días festivos nacionales para tener acceso a los calendarios de días festivos de más de 250 países. Las características del calendario de días festivos son especialmente útiles en el sector minorista, donde los días festivos pueden afectar significativamente a la demanda. En la siguiente sección se enumeran los códigos de país que puede usar para acceder a los calendarios de días festivos de cada país compatible.

Consulte [Cómo incorporar la información sobre días festivos nacionales a su conjunto de datos](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-add-holiday-calendar) para obtener información sobre cómo añadir un calendario en su conjunto de datos.

## Códigos de país
<a name="holiday-country-codes"></a>

Piloto automático proporciona soporte nativo para los calendarios de días festivos de los siguientes países. Use el **código de país** al especificar un país con la API.


| País | Código de país | 
| --- | --- | 
|   Afganistán   |   AF   | 
|   Islas Åland   |   AX   | 
|   Albania   |   AL   | 
|   Argelia   |   DZ   | 
|   Samoa Americana   |   AS   | 
|   Andorra   |   AD   | 
|   Angola   |   AO   | 
|   Anguila   |   AI   | 
|   Antártida   |   AQ   | 
|   Antigua y Barbuda   |   AG   | 
|   Argentina   |   AR   | 
|   Armenia   |   AM   | 
|   Aruba   |   AW   | 
|   Australia   |   AU   | 
|   Austria   |   AT   | 
|   Azerbaiyán   |   AZ   | 
|   Bahamas   |   BS   | 
|   Bahréin   |   BH   | 
|   Bangladesh   |   BD   | 
|   Barbados   |   BB   | 
|   Bielorrusia   |   BY   | 
|   Bélgica   |   BE   | 
|   Belice   |   BZ   | 
|   Benín   |   BJ   | 
|   Bermudas   |   BM   | 
|   Bután   |   BT   | 
|   Bolivia   |   BO   | 
|   Bosnia y Herzegovina   |   BA   | 
|   Botsuana   |   BW   | 
|   Isla Bouvet   |   BV   | 
|   Brasil   |   BR   | 
|   Territorio Británico del Océano Índico   |   IO   | 
|   Islas Vírgenes Británicas   |   VG   | 
|   Brunéi   |   BN   | 
|   Bulgaria   |   BG   | 
|   Burkina Faso   |   BF   | 
|   Burundi   |   BI   | 
|   Camboya   |   KH   | 
|   Camerún   |   CM   | 
|   Canadá   |   CA   | 
|   Cabo Verde   |   CV   | 
|   Caribe Neerlandés   |   BQ   | 
|   Islas Caimán   |   KY   | 
|   República Centroafricana   |   CF   | 
|   Chad   |   TD   | 
|   Chile   |   CL   | 
|   China   |   CN   | 
|   Isla de Navidad   |   CX   | 
|   Islas Cocos   |   CC   | 
|   Colombia   |   CO   | 
|   Comoras   |   KM   | 
|   Islas Cook   |   CK   | 
|   Costa Rica   |   CR   | 
|   Croacia   |   HR   | 
|   Cuba   |   CU   | 
|   Curazao   |   CW   | 
|   Chipre   |   CY   | 
|   Chequia   |   CZ   | 
|   República Democrática del Congo   |   CD   | 
|   Dinamarca   |   DK   | 
|   Yibuti   |   DJ   | 
|   Dominica   |   DM   | 
|   República Dominicana   |   DO   | 
|   Ecuador   |   EC   | 
|   Egipto   |   EG   | 
|   El Salvador   |   SV   | 
|   Guinea Ecuatorial   |   GQ   | 
|   Eritrea   |   ER   | 
|   Estonia   |   EE   | 
|   Suazilandia   |   SZ   | 
|   Etiopía   |   ET   | 
|   Islas Malvinas   |   FK   | 
|   Islas Faroe   |   FO   | 
|   Fiyi   |   FJ   | 
|   Finlandia   |   FI   | 
|   Francia   |   FR   | 
|   Guayana Francesa   |   GF   | 
|   Polinesia Francesa   |   PF   | 
|   Territorios Australes Franceses   |   TF   | 
|   Gabón   |   GA   | 
|   Gambia   |   GM   | 
|   Georgia   |   GE   | 
|   Alemania   |   DE   | 
|   Ghana   |   GH   | 
|   Gibraltar   |   GI   | 
|   Grecia   |   GR   | 
|   Groenlandia   |   GL   | 
|   Granada   |   GD   | 
|   Guadalupe   |   GP   | 
|   Guam   |   GU   | 
|   Guatemala   |   GT   | 
|   Guernsey   |   GG   | 
|   Guinea   |   GN   | 
|   Guinea-Bissau   |   GW   | 
|   Guyana   |   GY   | 
|   Haití   |   HT   | 
|   Isla e McDonald islas Heard   |   HM   | 
|   Honduras   |   HN   | 
|   Hong Kong   |   HK   | 
|   Hungría   |   HU   | 
|   Iceland   |   IS   | 
|   India   |   IN   | 
|   Indonesia   |   ID   | 
|   Irán   |   IR   | 
|   Irak   |   IQ   | 
|   Irlanda   |   IE   | 
|   Isla de Man   |   IM   | 
|   Israel   |   IL   | 
|   Italia   |   IT   | 
|   Costa de Marfil   |   CI   | 
|   Jamaica   |   JM   | 
|   Japón   |   JP   | 
|   Jersey   |   JE   | 
|   Jordania   |   JO   | 
|   Kazajistán   |   KZ   | 
|   Kenia   |   KE   | 
|   Kiribati   |   KI   | 
|   Kosovo   |   XK   | 
|   Kuwait   |   KW   | 
|   Kirguistán   |   KG   | 
|   Laos   |   LA   | 
|   Letonia   |   LV   | 
|   Líbano   |   LB   | 
|   Lesoto   |   LS   | 
|   Liberia   |   LR   | 
|   Libia   |   LY   | 
|   Liechtenstein   |   LI   | 
|   Lituania   |   LT   | 
|   Luxemburgo   |   LU   | 
|   Macao   |   MO   | 
|   Madagascar   |   MG   | 
|   Malawi   |   MW   | 
|   Malasia   |   MY   | 
|   Maldivas   |   MV   | 
|   Mali   |   ML   | 
|   Malta   |   MT   | 
|   Islas Marshall   |   MH   | 
|   Martinica   |   MQ   | 
|   Mauritania   |   MR   | 
|   Mauricio   |   MU   | 
|   Mayotte   |   YT   | 
|   México   |   MX   | 
|   Micronesia   |   FM   | 
|   Moldavia   |   MD   | 
|   Mónaco   |   MC   | 
|   Mongolia   |   MN   | 
|   Montenegro   |   ME   | 
|   Montserrat   |   MS   | 
|   Marruecos   |   MA   | 
|   Mozambique   |   MZ   | 
|   Myanmar   |   MM   | 
|   Namibia   |   NA   | 
|   Nauru   |   NR   | 
|   Nepal   |   NP   | 
|   Países Bajos   |   NL   | 
|   Nueva Caledonia   |   NC   | 
|   Nueva Zelanda   |   NZ   | 
|   Nicaragua   |   NI   | 
|   Níger   |   NE   | 
|   Nigeria   |   NG   | 
|   Niue   |   NU   | 
|   Isla Norfolk   |   NF   | 
|   Corea del Norte   |   KP   | 
|   Macedonia del Norte   |   MK   | 
|   Islas Marianas del Norte   |   MP   | 
|   Noruega   |   NO   | 
|   Omán   |   OM   | 
|   Pakistán   |   PK   | 
|   Palaos   |   PW   | 
|   Palestina   |   PS   | 
|   Panamá   |   PA   | 
|   Papúa Nueva Guinea   |   PG   | 
|   Paraguay   |   PY   | 
|   Perú   |   PE   | 
|   Filipinas   |   PH   | 
|   Islas Pitcairn   |   PN   | 
|   Polonia   |   PL   | 
|   Portugal   |   PT   | 
|   Puerto Rico   |   PR   | 
|   Catar   |   QA   | 
|   República del Congo   |   CG   | 
|   Reunión   |   RE   | 
|   Rumanía   |   RO   | 
|   Federación de Rusia   |   RU   | 
|   Ruanda   |   RW   | 
|   San Bartolomé   |   BL   | 
|   Santa Elena, Ascensión y Tristán de Acuña   |   SH   | 
|   San Cristóbal y Nieves   |   KN   | 
|   Santa Lucía   |   LC   | 
|   San Martín (Francia)   |   MF   | 
|   San Pedro y Miquelón   |   PM   | 
|   San Vicente y las Granadinas   |   VC   | 
|   Samoa   |   WS   | 
|   San Marino   |   SM   | 
|   Santo Tomé y Príncipe   |   ST   | 
|   Arabia Saudí   |   SA   | 
|   Senegal   |   SN   | 
|   Serbia   |   RS   | 
|   Seychelles   |   SC   | 
|   Sierra Leona   |   SL   | 
|   Singapur   |   SG   | 
|   San Martín (Países Bajos)   |   SX   | 
|   Eslovaquia   |   SK   | 
|   Eslovenia   |   SI   | 
|   Islas Salomón   |   SB   | 
|   Somalia   |   SO   | 
|   Sudáfrica   |   ZA   | 
|   Islas Georgias del Sur y Sandwich del Sur   |   GS   | 
|   Corea del Sur   |   KR   | 
|   Sudán del Sur   |   SS   | 
|   España   |   ES   | 
|   Sri Lanka   |   LK   | 
|   Sudán   |   SD   | 
|   Surinam   |   SR   | 
|   Svalbard y Jan Mayen   |   SJ   | 
|   Suecia   |   SE   | 
|   Suiza   |   CH   | 
|   República Árabe Siria   |   SY   | 
|   Taiwán   |   TW   | 
|   Tayikistán   |   TJ   | 
|   Tanzania   |   TZ   | 
|   Tailandia   |   TH   | 
|   Timor Oriental   |   TL   | 
|   Togo   |   TG   | 
|   Tokelau   |   TK   | 
|   Tonga   |   TO   | 
|   Trinidad y Tobago   |   TT   | 
|   Túnez   |   TN   | 
|   Turquía   |   TR   | 
|   Turkmenistán   |   TM   | 
|   Islas Turcas y Caicos   |   TC   | 
|   Tuvalu   |   TV   | 
|   Uganda   |   UG   | 
|   Ucrania   |   UA   | 
|   Emiratos Árabes Unidos   |   AE   | 
|   Reino Unido   |   UK   | 
|   Naciones Unidas   |   UN   | 
|   Estados Unidos   |   US   | 
|   Islas Ultramarinas Menores de Estados Unidos   |   UM   | 
|   Islas Vírgenes de los Estados Unidos   |   VI   | 
|   Uruguay   |   UY   | 
|   Uzbekistán   |   UZ   | 
|   Vanuatu   |   VU   | 
|   Ciudad del Vaticano   |   VA   | 
|   Venezuela   |   VE   | 
|   Vietnam   |   VN   | 
|   Wallis y Futuna   |   WF   | 
|   Sahara Occidental   |   EH   | 
|   Yemen   |   YE   | 
|   Zambia   |   ZM   | 
|   Zimbabue   |   ZW   | 

# Métricas objetivo
<a name="timeseries-objective-metric"></a>

Piloto automático produce métricas de precisión para evaluar los modelos candidatos y ayudarlo a elegir cuál usar para generar pronósticos. Puede dejar que Piloto automático optimice el predictor de forma automática o puede elegir manualmente un algoritmo para su predictor. De forma predeterminada, Piloto automático utiliza la pérdida de cuantil ponderada media.

La siguiente lista contiene los nombres de las métricas que están disponibles actualmente para medir el rendimiento de los modelos de previsión de series temporales.

**`RMSE`**  
Raíz del error cuadrático medio (RMSE): mide la raíz cuadrada de la diferencia cuadrática entre los valores pronosticados y los reales, y se promedia sobre todos los valores. Es una métrica importante para indicar la presencia de valores atípicos y errores de modelo grandes. Los valores van desde cero (0) hasta infinito, y los números más pequeños indican el modelo que se ajusta mejor a los datos. El RMSE depende de la escala y no debe usarse para comparar conjuntos de datos de diferentes tamaños.

**`wQL`**  
Pérdida de cuantil ponderada (wQL): evalúe la precisión de la previsión midiendo las diferencias absolutas ponderadas entre los cuantiles P10, P50 y P90 previstos y reales; los valores más bajos indican un mejor rendimiento.

**`Average wQL (default)`**  
Pérdida de cuantil ponderada media (wQL promedio): evalúa el pronóstico promediando la exactitud de los cuantiles P10, P50 y P90. Un valor más bajo indica un modelo más exacto.

**`MASE`**  
Error escalado absoluto medio (MASE): el error absoluto medio de la previsión normalizado mediante el error absoluto medio de un método de previsión de referencia simple. Un valor más bajo indica un modelo más preciso, en el que MASE <1 se considera mejor que la referencia y MASE >1 se considera peor que la referencia.

**`MAPE`**  
Error porcentual absoluto medio (MAPE): el porcentaje de error (diferencia porcentual entre el valor medio previsto y el valor real) promediado en todos los puntos temporales. Un valor más bajo indica un modelo más exacto; donde MAPE = 0, es un modelo sin errores.

**`WAPE`**  
Error porcentual absoluto ponderado (WAPE): suma del error absoluto normalizado por la suma del objetivo absoluto, que mide la desviación general de los valores pronosticados con respecto a los valores observados. Un valor más bajo indica un modelo más exacto.

# Compatibilidad de algoritmos para la previsión de series temporales
<a name="timeseries-forecasting-algorithms"></a>

Piloto automático entrena los siguientes seis algoritmos integrados con la serie temporal objetivo. Luego, utiliza un método de conjunto de apilamiento para combinar estos modelos candidatos a fin de crear un modelo de previsión óptimo para una métrica objetivo determinada.
+ **Red neuronal convolucional: regresión cuantil (CNN-QR): CNN-QR** es un algoritmo de aprendizaje automático patentado para pronosticar series temporales utilizando redes neuronales convolucionales causales (). CNNs CNN-QR funciona mejor con conjuntos de datos grandes que contienen cientos de series temporales.
+ **DeepAr\$1**: DeepAr\$1 es un algoritmo de aprendizaje automático patentado para pronosticar series temporales mediante redes neuronales recurrentes (). RNNs DeepAR\$1 funciona mejor con conjuntos de datos grandes que contienen cientos de series temporales de características.
+ **Prophet**: [Prophet](https://facebook.github.io/prophet/) es un popular modelo local de series temporales estructurales bayesianas basado en un modelo aditivo en el que las tendencias no lineales se ajustan a la estacionalidad anual, semanal y diaria. El algoritmo Prophet utiliza la [clase Prophet](https://facebook.github.io/prophet/docs/quick_start.html#python-ap) de la implementación de Prophet en Python. Funciona mejor con series temporales con fuertes efectos estacionales y con una cantidad de datos históricos que refleje varios periodos estacionales. 
+ **Non-Parametric Time Series (NPTS)**: el algoritmo patentado NPTS es un pronosticador básico, probabilístico y escalable. Predice la distribución futura de valores de una serie temporal determinada mediante muestreos de observaciones anteriores. El NPTS resulta especialmente útil cuando se trabaja con series temporales dispersas o intermitentes. 
+ **Autoregressive Integrated Moving Average (ARIMA)**: ARIMA es un algoritmo estadístico local de uso común para la predicción de series temporales. El algoritmo captura estructuras temporales estándar (organizaciones con patrones de tiempo) en el conjunto de datos de entrada. Resulta especialmente útil para conjuntos de datos simples con menos de 100 series temporales. 
+ **Exponential Smoothing (ETS)**: el ETS es un algoritmo estadístico de uso común para la predicción de series temporales. El algoritmo es especialmente útil para conjuntos de datos simples con menos de 100 series temporales y conjuntos de datos con patrones de estacionalidad. El ETS calcula un promedio ponderado sobre todas las observaciones en el conjunto de datos de las series temporales como su predicción, y la ponderación decrece exponencialmente a lo largo del tiempo.

# Previsión de un modelo de piloto automático implementado
<a name="timeseries-forecasting-deploy-models"></a>

Después de entrenar sus modelos con la API de AutoML, puede implementarlos para realizar previsiones en tiempo real o por lotes. 

La API de AutoML entrena a varios modelos candidatos con sus datos de serie temporal y selecciona un modelo de previsión óptimo en función de una métrica objetivo determinada. Una vez que los candidatos a su modelo estén capacitados, podrá encontrar al mejor candidato en el Response [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) en [BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-CandidateName).

Para obtener predicciones con este modelo de mejor rendimiento, puede configurar un punto de conexión para obtener las previsiones de forma interactiva o utilizar la previsión por lotes para realizar predicciones a partir de un lote de observaciones.

**Consideraciones**
+ Al proporcionar datos de entrada para la previsión, el esquema de datos debe seguir siendo el mismo que el utilizado para entrenar al modelo, lo que incluye el número de columnas, los encabezados de las columnas y los tipos de datos. Puede realizar pronósticos para un elemento nuevo o existente IDs dentro del mismo intervalo de tiempo o uno diferente para realizar predicciones para un período de tiempo diferente.
+ Los modelos de predicción pronostican los puntos del horizonte de previsión en el futuro especificados en la solicitud de entrada durante el entrenamiento; es decir, desde la *fecha de finalización objetivo* hasta la *fecha de finalización objetivo \$1 horizonte de previsión*. A fin de usar el modelo para predecir fechas específicas, debe proporcionar los datos en el mismo formato que los datos de entrada originales, hasta una *fecha de finalización objetivo* determinada. En este escenario, el modelo empezará a realizar predicciones a partir de la nueva fecha finalización objetivo.

  Por ejemplo, si su conjunto de datos tuviera datos mensuales de enero a junio con un horizonte de previsión de 2, el modelo predeciría el valor objetivo para los próximos 2 meses, que serían julio y agosto. Si en agosto desea realizar una predicción para los próximos 2 meses, esta vez los datos de entrada deberían ser de enero a agosto, y el modelo realizará una predicción para los próximos 2 meses (septiembre y octubre).
+ Al prever puntos de datos futuros, no hay un mínimo establecido para la cantidad de datos históricos que se deben proporcionar. Incluya datos suficientes para captar los patrones estacionales y recurrentes en sus series temporales.

**Topics**
+ [Previsión en tiempo real](timeseries-forecasting-realtime.md)
+ [Previsión por lotes](timeseries-forecasting-batch.md)

# Previsión en tiempo real
<a name="timeseries-forecasting-realtime"></a>

La previsión en tiempo real resulta útil cuando se necesitan generar predicciones on-the-fly, como en el caso de aplicaciones que requieren respuestas inmediatas o cuando se realizan previsiones para puntos de datos individuales.

Al implementar su modelo AutoML como un punto de conexión en tiempo real, puede generar pronósticos bajo demanda y minimizar la latencia entre la recepción de nuevos datos y la obtención de predicciones. Esto hace que la previsión en tiempo real sea adecuada para aplicaciones que requieren capacidades de previsión inmediatas, personalizadas o basadas en eventos.

Para la previsión en tiempo real, el conjunto de datos debe ser un subconjunto del conjunto de datos de entrada. El punto de conexión en tiempo real tiene un tamaño de datos de entrada de aproximadamente 6 MB y un límite de tiempo de respuesta de 60 segundos. Recomendamos incluir uno o varios artículos a la vez.

Se puede utilizar SageMaker APIs para recuperar al mejor candidato de un trabajo de AutoML y, a continuación, crear un punto final de SageMaker IA con ese candidato.

También puede elegir la opción de implementación automática al crear el experimento de Piloto automático. Para obtener más información sobre cómo configurar la implementación automática de modelos, consulte [Cómo habilitar la implementación automática](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-auto-model-deployment).

**Para crear un punto final de SageMaker IA utilizando tu mejor modelo candidato:**

1. 

**Recuperación de los detalles del trabajo de AutoML.**

   El siguiente ejemplo de AWS CLI comando utiliza la API [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) para obtener detalles del trabajo de AutoML, incluida la información sobre el mejor modelo candidato.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**Extraiga la definición del [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)contenedor del mejor modelo candidato.**

   Una definición de contenedor es el entorno contenerizado que se utiliza para alojar el modelo de SageMaker IA entrenado para realizar predicciones.

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
     --auto-ml-job-name job-name 
     --region region \
     --query 'BestCandidate.InferenceContainers[0]' \
     --output json
   ```

   Este comando extrae la definición del contenedor para el mejor modelo candidato y la almacena en la variable `BEST_CANDIDATE`.

1. 

**Cree un modelo de SageMaker IA utilizando la mejor definición de contenedor candidata.**

   Usa las definiciones de contenedor de los pasos anteriores para crear un modelo de SageMaker IA mediante la [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API.

   ```
   aws sagemaker create-model \
               --model-name 'your-candidate-name>' \
               --primary-container "$BEST_CANDIDATE"
               --execution-role-arn 'execution-role-arn>' \
               --region 'region>
   ```

   El `--execution-role-arn` parámetro especifica la función de IAM que asume la SageMaker IA al utilizar el modelo para la inferencia. Para obtener más información sobre los permisos necesarios para este rol, consulte [CreateModel API: Permisos del rol de ejecución](https://docs.aws.amazon.com/).

1. 

**Cree una configuración de punto final de SageMaker IA utilizando el modelo.**

   El siguiente AWS CLI comando usa la [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API para crear una configuración de punto final.

   ```
   aws sagemaker create-endpoint-config \
     --production-variants file://production-variants.json \
     --region 'region'
   ```

   Donde el archivo `production-variants.json` contiene la configuración del modelo, incluidos el nombre del modelo y el tipo de instancia.
**nota**  
Se recomienda utilizar instancias [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) para la previsión en tiempo real.

   ```
   [
       {
         "VariantName": "variant-name",
         "ModelName": "model-name",
         "InitialInstanceCount": 1,
         "InstanceType": "m5.12xlarge"
       }
     ]
   }
   ```

1. 

**Cree el punto final de SageMaker IA mediante la configuración del punto final.**

   En el siguiente AWS CLI ejemplo, se utiliza la [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para crear el punto final.

   ```
   aws sagemaker create-endpoint \
               --endpoint-name 'endpoint-name>' \
               --endpoint-config-name 'endpoint-config-name' \
               --region 'region'
   ```

   Compruebe el progreso de la implementación de su punto final de inferencia en tiempo real mediante la [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker describe-endpoint \
               --endpoint-name 'endpoint-name' \
               --region 'region'
   ```

   Cuando `EndpointStatus` cambie a `InService`, el punto de conexión estará listo para usarse en la inferencia en tiempo real.

1. 

**Invoca el punto final de la SageMaker IA para hacer predicciones.**

   ```
   aws sagemaker invoke-endpoint \
               --endpoint-name 'endpoint-name' \ 
               --region 'region' \
               --body file://input-data-in-bytes.json \
               --content-type 'application/json' outfile
   ```

   Donde el archivo `input-data-in-bytes.json` contiene los datos de entrada para la predicción.

# Previsión por lotes
<a name="timeseries-forecasting-batch"></a>

La previsión por lotes, también conocida como inferencia fuera de línea, genera predicciones de modelos a partir de un lote de observaciones. La inferencia por lotes es una buena opción para conjuntos de datos grandes o si no necesita una respuesta inmediata a una solicitud de predicción del modelo.

Por el contrario, la inferencia en línea (inferencia en tiempo real) genera predicciones en tiempo real. 

Se puede utilizar SageMaker APIs para recuperar al mejor candidato de un trabajo de AutoML y, a continuación, enviar un lote de datos de entrada para su inferencia con ese candidato.

1. 

**Recuperación de los detalles del trabajo de AutoML.**

   El siguiente ejemplo de AWS CLI comando utiliza la API [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) para obtener detalles del trabajo de AutoML, incluida la información sobre el mejor modelo candidato.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**Extraiga la definición del [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)contenedor del mejor modelo candidato.**

   Una definición de contenedor es el entorno contenerizado que se utiliza para alojar el modelo de SageMaker IA entrenado para realizar predicciones.

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
         --auto-ml-job-name job-name 
         --region region \
         --query 'BestCandidate.InferenceContainers[0]' \
         --output json
   ```

   Este comando extrae la definición del contenedor para el mejor modelo candidato y la almacena en la variable `BEST_CANDIDATE`.

1. 

**Cree un modelo de SageMaker IA utilizando la mejor definición de contenedor candidata.**

   Usa las definiciones de contenedor de los pasos anteriores para crear un modelo de SageMaker IA mediante la [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API.

   ```
   aws sagemaker create-model \
         --model-name 'model-name' \
         --primary-container "$BEST_CANDIDATE"
         --execution-role-arn 'execution-role-arn>' \
         --region 'region>
   ```

   El `--execution-role-arn` parámetro especifica la función de IAM que asume la SageMaker IA al utilizar el modelo para la inferencia. Para obtener más información sobre los permisos necesarios para este rol, consulte [CreateModel API: Permisos del rol de ejecución](https://docs.aws.amazon.com/).

1. 

**Creación de trabajos de transformación por lotes.**

   En el siguiente ejemplo, se crea un trabajo de transformación mediante la [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. 

   ```
   aws sagemaker create-transform-job \ 
          --transform-job-name 'transform-job-name' \
          --model-name 'model-name'\
          --transform-input file://transform-input.json \
          --transform-output file://transform-output.json \
          --transform-resources file://transform-resources.json \
          --region 'region'
   ```

   Los detalles de entrada, salida y recursos se definen en archivos JSON independientes:
   + `transform-input.json`:

     ```
     {
       "DataSource": {
         "S3DataSource": {
           "S3DataType": "S3Prefix",
           "S3Uri": "s3://my-input-data-bucket/path/to/input/data"
         }
       },
       "ContentType": "text/csv",
       "SplitType": "None"
     }
     ```
   + `transform-output.json`:

     ```
     {
       "S3OutputPath": "s3://my-output-bucket/path/to/output",
       "AssembleWith": "Line"
     }
     ```
   + `transform-resources.json`:
**nota**  
Recomendamos el uso de instancias [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) para cargas de trabajo de uso general e instancias `m5.24xlarge` para tareas de previsión de macrodatos.

     ```
     {
       "InstanceType": "instance-type",
       "InstanceCount": 1
     }
     ```

1. 

**Supervisa el progreso de tu trabajo de transformación mediante la [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API.**

   Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker describe-transform-job \
         --transform-job-name 'transform-job-name' \
         --region region
   ```

1. 

**Recuperación del resultado de la transformación por lotes.**

   Una vez finalizado el trabajo, el resultado previsto estará disponible en `S3OutputPath`. 

   El nombre de archivo de salida tiene el siguiente formato: `input_data_file_name.out`. Por ejemplo, si el archivo de entrada es `text_x.csv`, el nombre de la salida será `text_x.csv.out`.

   ```
   aws s3 ls s3://my-output-bucket/path/to/output/
   ```

Los siguientes ejemplos de código ilustran el uso del AWS SDK para Python (boto3) y AWS CLI para la previsión por lotes.

------
#### [ AWS SDK for Python (boto3) ]

 El siguiente ejemplo usa el **SDK de AWS para Python (boto3)** a fin de hacer predicciones por lotes.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job_v2(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'None'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

El trabajo de inferencia por lotes devuelve una respuesta con el siguiente formato.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenga las definiciones del contenedor del mejor candidato**.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Cree el modelo**.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **Cree un trabajo de transformación**.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
    --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "None"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **Compruebe el progreso del trabajo de transformación**. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   Lo que sigue es la respuesta del trabajo de transformación.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "None"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Después de que `TransformJobStatus` cambie a `Completed`, puede comprobar el resultado de la inferencia en `S3OutputPath`.

------

# Cuaderno de exploración de datos Amazon SageMaker Autopilot
<a name="timeseries-forecasting-data-exploration-notebook"></a>

Amazon SageMaker Autopilot limpia y preprocesa el conjunto de datos automáticamente. Para ayudar a los usuarios a entender sus datos y descubrir patrones, relaciones y anomalías sobre las series temporales, Amazon SageMaker Autopilot genera un informe estático de **exploración de datos** en forma de bloc de notas para que los usuarios puedan consultarlo.

El cuaderno de exploración de datos se genera para cada trabajo de Piloto automático. El informe se almacena en un bucket de Amazon S3 y se puede acceder a él desde la ruta de salida del trabajo.

Puede encontrar el prefijo Amazon S3 del cuaderno de exploración de datos en la respuesta a `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` en `[AutoMLJobArtifacts.DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#sagemaker-DescribeAutoMLJobV2-response-AutoMLJobArtifacts)`.

# Informes generados por Amazon SageMaker Autopilot
<a name="timeseries-forecasting-reports"></a>

Además del cuaderno de exploración de datos, Piloto automático genera varios informes para el mejor modelo candidato de cada experimento.
+ Un informe de explicabilidad proporciona información sobre cómo hace pronósticos el modelo. 
+ Un informe de rendimiento proporciona una evaluación cuantitativa de las capacidades de previsión del modelo.
+ Tras comprobar el rendimiento del modelo con datos históricos, se genera un informe de resultados históricos. 

## Informe de explicabilidad
<a name="timeseries-forecasting-explainability-report"></a>

El informe de explicabilidad de Piloto automático le ayuda a comprender mejor el impacto de los atributos de sus conjuntos de datos sobre las previsiones para series temporales (combinaciones de elementos y dimensiones) y puntos temporales. Piloto automático utiliza una métrica llamada *puntuaciones de impacto* para cuantificar el impacto relativo de cada atributo y determinar si aumentan o disminuyen los valores de previsión.

Por ejemplo, imaginemos un escenario de pronóstico en el que el objetivo es `sales` y hay dos atributos relacionados: `price` y `color`. Piloto automático puede detectar que el color del artículo tiene un gran impacto en las ventas de algunos artículos, pero un efecto insignificante en el caso de otros artículos. También puede descubrir que una promoción en verano tiene un gran impacto en las ventas, mientras que una promoción en invierno tiene poco efecto.

El informe de explicabilidad se genera solo en estas situaciones:
+ El conjunto de datos de series temporales incluye columnas de características adicionales o está asociado a un calendario de días festivos.
+ Los modelos base CNN-QR y DeepAR\$1 se incluyen en el conjunto final.

### Interpretación de las puntuaciones de impacto
<a name="timeseries-forecasting-explainability-impact-scores"></a>

Las puntuaciones de impacto miden el impacto relativo que tienen los atributos en los valores de pronóstico. Por ejemplo, si el atributo `price` tiene una puntuación de impacto dos veces superior a la del atributo `store location`, podemos concluir que el precio de un artículo tiene el doble de impacto en los valores previstos que la ubicación de la tienda.

Las puntuaciones de impacto también proporcionan información sobre si los atributos aumentan o disminuyen los valores de previsión.

Las puntuaciones de impacto van de -1 a 1, y el signo indica la dirección del impacto. Una puntuación de 0 indica que no hay impacto, mientras que una puntuación cercana a 1 o -1 indica un impacto significativo.

Es importante tener en cuenta que las puntuaciones de impacto miden el impacto relativo de los atributos, no el impacto absoluto. Por lo tanto, las puntuaciones de impacto no se pueden utilizar para determinar si determinados atributos mejoran la precisión del modelo. Si un atributo tiene una puntuación de impacto baja, eso no significa necesariamente que tenga un impacto bajo en los valores de previsión; significa que tiene un impacto menor en los valores de previsión que otros atributos utilizados por el predictor.

### Buscar el informe de explicabilidad
<a name="timeseries-forecasting-explainability-report-location"></a>

Puede encontrar el prefijo Amazon S3 de los artefactos de explicabilidad generados para el mejor candidato en la respuesta a `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` en `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)`.

## Informe de rendimiento del modelo
<a name="timeseries-forecasting-model-performance-report"></a>

Un informe de calidad de modelo de Piloto automático (también denominado informe de rendimiento) proporciona información valiosa y de calidad sobre el mejor candidato de modelo (mejor predictor) generado por un trabajo de AutoML. Incluye información sobre los detalles del trabajo, la función objetivo y las métricas de precisión (`wQL`, `MAPE`, `WAPE`, `RMSE`, `MASE`).

Puede encontrar el prefijo Amazon S3 de los artefactos de informe de calidad del modelo generados para el mejor candidato en la respuesta a `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` en `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)`.

## Informe de resultados de pruebas retrospectivas
<a name="timeseries-forecasting-model-backtest-report"></a>

Los resultados de las pruebas retrospectivas proporcionan información sobre el rendimiento de un modelo de pronóstico de series temporales al evaluar su precisión y fiabilidad predictivas. Ayuda a los analistas y científicos de datos a evaluar su rendimiento con datos históricos y a comprender su rendimiento potencial con datos futuros y no observados.

Piloto automático utiliza pruebas retrospectivas (backtesting) para ajustar los parámetros y producir métricas de precisión. Durante las pruebas retrospectivas, Piloto automático divide automáticamente los datos de serie temporal en dos conjuntos: un conjunto de entrenamiento y un conjunto de pruebas. El conjunto de entrenamiento se usa para entrenar un modelo que, luego, se usará a fin de generar pronósticos para los puntos de datos del conjunto de pruebas. Piloto automático utiliza este conjunto de datos de prueba para evaluar la precisión del modelo comparando los valores pronosticados con los valores observados en el conjunto de pruebas.

Puede encontrar el prefijo Amazon S3 de los artefactos de informe de calidad del modelo generados para el mejor candidato en la respuesta a `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` en `[BestCandidate.CandidateProperties.CandidateArtifactLocations.BacktestResults](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-BacktestResults)`.

# Límites de recursos de previsión de series temporales para Piloto Automático
<a name="timeseries-forecasting-limits"></a>

En la siguiente tabla se indican los límites de recursos para los trabajos de previsión de series temporales en Amazon SageMaker Autopilot y si se puede ajustar o no cada límite.


| **Límites de recursos** | **Límite predeterminado** | **Ajustable** | 
| --- | --- | --- | 
|  Tamaño del conjunto de datos de entrada  |  30 GB  |  Sí  | 
|  Tamaño de un solo archivo de Parquet  |  2 GB  |  No  | 
|  Número máximo de filas en un grupo de conjuntos de datos  |  3000 millones  |  Sí  | 
|  Número máximo de columnas de agrupamiento  |  5  |  No  | 
|  Número máximo de características numéricas  |  13  |  No  | 
|  Número máximo de características categóricas  |  10  |  No  | 
|  Número máximo de series temporales (combinaciones únicas de columnas de elementos y agrupaciones) por conjunto de datos  |  5,000,000  |  Sí  | 
|  Horizonte de previsión máximo  |  500  |  Sí  | 