Cómo funciona Clasificación y regresión basadas en bosque

La herramienta Clasificación y regresión basadas en bosque entrena un modelo con unos valores conocidos proporcionados como parte de un dataset de entrenamiento. Este modelo de predicción puede utilizarse después para predecir valores desconocidos en un dataset de predicción que tenga asociadas las mismas variables explicativas. La herramienta crea modelos y genera predicciones mediante una adaptación del algoritmo de bosque aleatorio de Leo Breiman, que es un método de aprendizaje de máquina supervisado. La herramienta crea muchos árboles de decisión, denominados conjunto o bosque, que se utilizan en la predicción. Cada árbol genera su propia predicción y se utiliza como parte de un esquema de votación para hacer predicciones finales. Las predicciones finales no se basan en un solo árbol, sino en todo el bosque. El uso de un bosque completo en vez de un árbol individual le ayuda a evitar el exceso de ajuste en el modelo respecto al dataset de entrenamiento, como hace el uso de un subconjunto aleatorio de datos de entrenamiento y un subconjunto aleatorio de variables explicativas en cada árbol que compone el bosque.

Potenciales aplicaciones

A continuación se describen aplicaciones potenciales para esta herramienta:

  • Considerando los datos sobre la presencia de posidonia, así como numerosas variables explicativas representadas como atributos y rásteres, además de las distancias hasta fábricas aguas arriba y puertos importantes, es posible predecir la presencia futura de posidonia basándose en proyecciones futuras de esas mismas variables explicativas medioambientales.
  • Imagínese que dispone de datos del rendimiento de los cultivos de cientos de granjas de todo el país, así como otros atributos sobre cada una de esas granjas (número de empleados, extensión, etc.) y varios rásteres que representan la pendiente, elevación, precipitación y temperatura de cada granja. Con estos datos, puede proporcionar un conjunto de entidades que representan las granjas para las que no tiene datos sobre el rendimiento de cultivo (pero para las que sí tiene el resto de variables) y hacer una predicción sobre el rendimiento de los cultivos.
  • Es posible predecir el valor de la vivienda en función de los precios de las viviendas vendidas en el año en curso. Puede utilizar el precio de venta de las viviendas vendidas, así como información sobre el número de habitaciones, la distancia hasta las escuelas, la proximidad a carreteras importantes, el nivel medio de ingresos y los recuentos de delitos, para predecir los precios de venta de viviendas similares.
  • Es posible clasificar los tipos de usos del suelo mediante datos de entrenamiento y una combinación de capas ráster, incluidas varias bandas individuales y productos tales como NDVI.
  • Considerando una información sobre los niveles de plomo en sangre en niños y el Id. de parcela fiscal de sus viviendas, combinada con atributos a nivel de parcela (por ejemplo, la antigüedad de la vivienda), datos a nivel de censo (por ejemplo, niveles de ingresos y de estudios) y datasets nacionales que reflejen los vertidos tóxicos de plomo y compuestos de plomo, es posible predecir el riesgo de exposición al plomo para las parcelas sin datos sobre el nivel de plomo en sangre. Estas predicciones de riesgos podrían fomentar las políticas y los programas de educación en el área.

Entrenar un modelo

El primer paso en el uso de la herramienta Clasificación y regresión basadas en bosque es entrenar un modelo para hacer predicciones. El entrenamiento genera un bosque que establece una relación entre variables explicativas y el parámetro Variable para predecir. Si elige la opción Solo entrenar o la opción para entrenar y predecir, la herramienta comienza por construir un modelo basado en el parámetro Variable para predecir y cualquier combinación de los parámetros Variables de entrenamiento explicativas, Entidades de distancia de entrenamiento explicativas y Rásteres de entrenamiento explicativos (disponibles con una licencia de Spatial Analyst). La herramienta evalúa el rendimiento del modelo creado y proporciona un diagnóstico adicional.

De forma predeterminada, se excluye de la formación el 10 por ciento de los datos de entrenamiento para fines de validación. Una vez entrenado el modelo, este se utiliza para predecir los valores para los datos de prueba; los valores predichos se comparan con los valores observados para ofrecer una medida de precisión de la predicción basada en los datos que no se incluyeron en el proceso de entrenamiento. También se incluyen otros tipos de diagnósticos sobre el modelo, por ejemplo, características del bosque, errores fuera de bolsa (OOB) y un resumen de la importancia variable. Estas salidas se describen en detalle a continuación.

El modelo se puede construir para predecir una Variable de categorías para predecir (clasificación) o una Variable continua para predecir (regresión). Si elige Tratar variable como variable de categorías, el modelo construido se basa en árboles de clasificación. Si se deja sin activar, se entiende que el parámetro Variable para predecir ha de ser continuo, por lo que el modelo construido se basa en árboles de regresión.

Variables de entrenamiento explicativas

Una de las formas más habituales de las variables explicativas utilizadas para entrenar un modelo de bosque son campos en el dataset de entrenamiento que también contienen el parámetro Variable para predecir. Estos campos pueden ser continuos o de categorías. Independientemente de si elige predecir una variable continua o de categorías, cada una de las Variables de entrenamiento explicativas puede ser continua o de categorías. Si el modelo entrenado también se va a utilizar para predecir, cada una de las Variables de entrenamiento explicativas debe estar disponible para el dataset de entrenamiento y el dataset de predicción.

Entidades de distancia de entrenamiento explicativas

Aunque Clasificación y regresión basadas en bosque no es una herramienta espacial de aprendizaje de máquina, una forma de aprovechar el poder del espacio en su análisis consiste en utilizar entidades de distancia. Si estuviera modelando el rendimiento de una serie de tiendas, sería imprescindible contar con una variable que represente la distancia hasta carreteras por rampas o la distancia hasta el competidor más cercano para generar predicciones precisas. Del mismo modo, si deseara modelar la calidad del aire, sería imprescindible contar con una variable explicativa que representara la distancia hasta orígenes de contaminación importantes o la distancia hasta carreteras importantes. Se usan entidades de distancia para crear automáticamente variables explicativas calculando una distancia desde las entidades proporcionadas a las Entidades de entrenamiento de entrada. Las distancias se calculan desde cada una de las Entidades de distancia de entrenamiento explicativas de entrada hasta las Entidades de entrenamiento de entrada más cercanas. Si las Entidades de distancia de entrenamiento explicativas de entrada son polígonos o líneas, los atributos de distancia se calculan como la distancia entre los segmentos más cercanos del par de entidades. Sin embargo, las distancias se calculan de forma diferente para los polígonos y las líneas. Consulte Cómo calculan la distancia las herramientas de proximidad para obtener más detalles.

Rásteres de entrenamiento explicativos

También puede utilizar Rásteres de entrenamiento explicativos para entrenar el modelo, que expone las fuentes de datos, por ejemplo, imágenes, DEM, modelos de densidad de población o mediciones medioambientales. El parámetro Rásteres de entrenamiento explicativos solo está disponible si dispone de una licencia de Spatial Analyst. Si sus Entidades de entrenamiento de entrada son puntos, la herramienta profundiza para extraer variables explicativas de cada ubicación de punto. En el caso de los rásteres multibanda, solo se usa la primera banda. Para los datasets de mosaico, utilice primero la herramienta Crear capa de mosaico.

Estos rásteres pueden ser continuos o de categorías. Independientemente de si elige predecir una variable continua o de categorías, cada uno de los Rásteres de entrenamiento explicativos puede ser continuo o de categorías.

Si sus Entidades de entrenamiento de entrada son polígonos, la Variable para predecir es de categorías y está usando Rásteres de entrenamiento explicativos, existe una opción para Convertir polígonos a resolución de ráster para entrenamiento. Si esta opción está activada, el polígono se divide en puntos en el centroide de cada celda ráster cuyo centroide quede dentro del polígono, y el polígono se trata como un dataset de puntos. A continuación, se extraen los valores de ráster de cada ubicación de punto, que se utilizan para entrenar el modelo. El modelo ya no se entrena en el polígono, sino en los valores de ráster extraídos para cada centroide de celda. En el caso de las variables numéricas se utiliza un método de muestreo bilineal, mientras que en las variables de categorías se usa el método de mayor cercanía. El tamaño de celda predeterminado de los polígonos convertidos será el tamaño de celda máximo de los rásteres de entrada. Sin embargo, se puede cambiar con la configuración del entorno Tamaño de celda. Si no está activado, se usará un valor de ráster para cada polígono del modelo. Se asigna a cada polígono el valor medio en el caso de los rásteres continuos y la mayoría en el caso de los rásteres de categorías.

Los polígonos se convierten a la resolución de ráster (izquierda) o se les asigna un valor medio (derecha).

Predecir con un modelo basado en bosque

Se recomienda comenzar por la opción Solo entrenar, evaluar los resultados del análisis, ajustar las variables incluidas y los parámetros avanzados según sea necesario y, una vez encontrado un buen modelo, volver a ejecutar la herramienta para predecir entidades o rásteres. Cuando vaya a pasar a la predicción, se recomienda cambiar el parámetro Datos de entrenamiento excluidos para la validación (%) a 0% para que pueda incluir todos los datos de entrenamiento disponibles en el modelo final utilizado para la predicción. Puede hacer predicciones de las siguientes formas:

  • Predicciones en la misma área de estudio

    • Si predice a entidades de la misma área de estudio, cada entidad de predicción debe incluir todas las variables explicativas (campos) asociadas, así como las extensiones superpuestas con las Entidades de distancia de entrenamiento explicativas y los Rásteres de entrenamiento explicativos.

    • Si predice para un ráster de la misma área de estudio con los Rásteres de entrenamiento explicativos proporcionados, la predicción será la extensión superpuesta de todos los rásteres explicativos.

  • Predicciones en otra área de estudio

    • Si predice a entidades de otra área de estudio, cada entidad de predicción debe incluir todas las variables explicativas (campos) asociadas, y se deben asignar entidades de distancia explicativas y rásteres explicativos nuevos a sus correspondientes Entidades de distancia de entrenamiento explicativas y rásteres. Estas nuevas entidades de distancia y rásteres deben estar disponibles para la nueva área de estudio y corresponderse con Entidades de distancia de entrenamiento explicativas y Rásteres de entrenamiento explicativos. Por ejemplo, si se utiliza un ráster de categorías para entrenar el modelo, el correspondiente ráster explicativo de predicción no puede tener categorías distintas ni un rango de valores drásticamente distinto.

    • Si predice a un ráster en otra área de estudio, es necesario proporcionar rásteres de predicción explicativos nuevos y asignarlos a sus correspondientes Rásteres de entrenamiento explicativos. El correspondiente ráster explicativo de predicción no puede tener categorías distintas ni un rango de valores drásticamente distinto. El Ráster de predicción de salida resultante será la extensión superpuesta de todos los rásteres explicativos de predicción proporcionados.

  • Predicciones a otro periodo de tiempo mediante la asignación de las variables explicativas utilizadas en el entrenamiento de variables con proyecciones futuras

    • Si predice a un periodo de tiempo futuro, ya sean entidades o un ráster, cada variable explicativa de predicción proyectada (campos, entidades de distancia y rásteres) debe estar asignada a las correspondientes variables explicativas de entrenamiento.

Predicciones a entidades

Si ha entrenado un modelo con cualquier combinación de Variables de entrenamiento explicativas, Entidades de distancia de entrenamiento explicativas y Rásteres de entrenamiento explicativos, este se puede usar para predecir a puntos o polígonos en la misma área de estudio o en un área de estudio diferente. Para hacer predicciones a entidades se necesita que toda entidad que reciba una predicción tenga valores para cada campo, entidad de distancia y ráster proporcionados.

Si los nombres de campo Input Training Features y Input Prediction Features no coinciden, se proporciona un parámetro variable coincidente. Al comparar variables explicativas, los campos Prediction y Training deben ser del mismo tipo (un campo doble en Training debe corresponderse con un campo doble en Prediction).

Para utilizar entidades o rásteres de distancia distintos de los utilizados para entrenar el modelo porque va a predecir en otra área de estudio u otro periodo de tiempo, se ofrecen los parámetros Entidades de distancia coincidentes y Rásteres explicativos coincidentes.

Predicciones a rásteres

Si utiliza un modelo entrenado solo con Rásteres de entrenamiento explicativos, puede predecir a un ráster en la misma área de estudio o en un área de estudio diferente. Para utilizar rásteres de predicción distintos de los utilizados para entrenar el modelo porque va a predecir en otra área de estudio u otro periodo de tiempo, se ofrece el parámetro Rásteres explicativos coincidentes. Puede crear un Ráster de predicción de salida con una licencia de Spatial Analyst si elige Predecir a ráster en Tipo de predicción.

Generar mensajes y diagnósticos

Esta herramienta también crea mensajes y gráficos para ayudarle a comprender el rendimiento del modelo. Puede acceder a los mensajes desplazándose sobre la barra de progreso, haciendo clic en el botón emergente o ampliando la sección Mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de una ejecución anterior de la herramienta Clasificación y predicción basadas en bosque a través del Historial de geoprocesamiento. Los mensajes contienen información acerca de las características del modelo, los errores OOB, la importancia variable y diagnósticos de validación.

La tabla Características del modelo contiene información sobre diversos aspectos importantes de su modelo de bosque; una parte de estas características se elige con los parámetros de Opciones avanzadas de bosque y otra parte se basa en datos. Las características de bosque basadas en datos pueden ser importantes para comprender cuándo se debe optimizar el rendimiento del modelo. El Rango de profundidad de árboles muestra la profundidad mínima de árbol encontrada en el bosque (el máximo se define como parámetro, pero es posible que haya profundidades inferiores a ese máximo). Profundidad media de árbol informa sobre la profundidad media de los árboles del bosque. Si la profundidad máxima está establecida en 100, pero el rango y el valor medio de profundidad indican que se está utilizando una profundidad mucho menor la mayoría del tiempo, un parámetro de profundidad máxima más pequeño puede mejorar el rendimiento del modelo, ya que se reducen las posibilidades de exceso de ajuste en el modelo respecto a los datos de entrenamiento. La opción Número de variables muestreadas aleatoriamente comunica el número de variables seleccionadas aleatoriamente que se utilizan para cualquier árbol del bosque. Cada árbol tendrá una combinación diferente de variables, pero cada uno utilizará exactamente ese número. El número elegido de forma predeterminada se basa en una combinación del número de entidades y del número de variables disponibles. En el caso de la regresión, es un tercio del número total de variables explicativas (incluidos entidades, rásteres y entidades de distancia). En el caso de la clasificación, es la raíz cuadrada del número total de variables.

Tabla Características del modelo

Además de las características básicas del bosque, los errores OOB se proporcionan como ayuda para la evaluación de la precisión del modelo. Tanto el error cuadrático medio (MSE) como el porcentaje de variación explicada se basan en la capacidad que tiene el modelo para predecir el valor de la Variable para predecir con precisión, basándose en los valores observados del dataset de entrenamiento. OBB es un error de predicción calculado con los datos que forman parte del dataset de entrenamiento y que no pueden ser vistos por un subconjunto de los árboles que componen el bosque. Si desea entrenar un modelo con el cien por cien de sus datos, tendría que confiar en OOB para evaluar la precisión del modelo. Estos errores se comunican para la mitad del número de árboles y el número total de árboles utilizados como ayuda para evaluar si un aumento del número de árboles supone un aumento del rendimiento del modelo. Si los errores y el porcentaje de variación explicada son valores similares para ambos números de árboles, indica que puede utilizarse un número menor de árboles sin que por ello el rendimiento del modelo se viera afectado significativamente. Sin embargo, se recomienda utilizar tantos árboles como permita su equipo. Un mayor número de árboles en el bosque generará resultados más estables y un modelo menos propenso a tener ruido en los datos y en el esquema de muestreo.

Errores OOB para una variable continua

Si el valor de Variable para predecir es de categorías (indicado por el parámetro Tratar variable como variable de categorías), los errores OOB se calculan en función del porcentaje de clasificaciones incorrectas de cada categoría de árboles que no vieran un subconjunto de los árboles en el bosque. El porcentaje de clasificaciones OOB incorrectas de cada categoría se imprime en los mensajes de geoprocesamiento. El MSE de las clasificaciones también se imprime y se puede interpretar como la proporción general de clasificaciones OOB incorrectas de todas las categorías. Si utiliza una cifra baja para el parámetro Número de árboles, puede que los árboles no vean ningún dato de entrenamiento de una o más categorías. En este caso, el error OOB será de 100 %.

Errores OOB de una variable de categorías

Otro factor importante en el rendimiento del modelo son las variables explicativas utilizadas. La tabla de importancia variable superior enumera las variables con las 20 puntuaciones de mayor importancia. La importancia se calcula con coeficientes de Gini, que pueden entenderse como el número de veces que una variable es la responsable de una división y el impacto de dicha división dividido entre el número de árboles. Las divisiones son cada una de las decisiones individuales dentro de un árbol de decisión. La importancia variable se puede utilizar para crear un modelo más parsimonioso que contenga las variables que se hayan detectado y sean significativas.

Tabla de importancia variable superior
Los valores de la columna Importancia son la suma de los coeficientes de Gini de los tres árboles de cada variable enumerada. Los valores de la columna % son el porcentaje de la suma total de los coeficientes de Gini.

Se creará un gráfico de barras opcional que muestra la importancia de cada variable utilizada en el modelo si se especifica Tabla de diagnóstico de salida y se puede acceder a él en el panel Contenido. El gráfico muestra las variables utilizadas en el modelo en el eje y y su importancia basada en el coeficiente de Gini del eje x.

Gráfico de barras de importancia variable

Si se especifica un valor para Número de ciclos de validación, se crea un gráfico de diagrama de caja de importancia variable en lugar de un gráfico de barras. El diagrama de caja muestra la distribución de los valores de importancia variable en todos los ciclos de validación. La distribución de la importancia variable es un indicador de la estabilidad del modelo de bosque entrenado. Si la importancia de una variable cambia claramente en los ciclos de validación, lo cual se muestra en una caja larga del gráfico, puede indicar que se trata de un modelo de bosque aleatorio inestable. A menudo, un modelo inestable se puede mejorar aumentado el Número de árboles para reflejar relaciones más complejas en los datos.

La importancia variable es un diagnóstico que ayuda a comprender las variables que determinan los resultados del modelo y no es una medida del grado de predicción del modelo (por ejemplo, R2 en los modelos de regresión). Una práctica recomendada es utilizar todos los datos para el entrenamiento estableciendo Datos de entrenamiento excluidos para la validación en 0 y explorando el diagrama de caja de la importancia variable. A continuación, modifique otros parámetros, como Número de árboles o Profundidad máxima de árbol, y explore los diagramas de caja hasta que tenga un modelo estable. Una vez que se haya entrenado un modelo estable respecto a la importancia variable, puede aumentar Datos de entrenamiento excluidos para la validación para determinar la precisión del modelo. Explore los errores OOB de los mensajes de diagnóstico para determinar la precisión del modelo. Una vez que tiene un modelo preciso y con una importancia variable estable, puede establecer el Número de ciclos de validación en 1 y obtener un único gráfico de barras que represente la importancia variable final del modelo.

Otra forma importante de evaluar el rendimiento de un modelo es utilizarlo para predecir valores para entidades que no se incluyeron en el entrenamiento del modelo. De forma predeterminada, este dataset de prueba es el 10 por ciento de las Entidades de entrenamiento de entrada y se pueden controlar con el parámetro Datos de entrenamiento excluidos para la validación (%). Una desventaja de OOB es que utiliza un subconjunto del bosque (árboles que no han utilizado una entidad concreta del dataset de entrenamiento) en lugar de utilizar todo el bosque. Al excluir algunos datos para la validación, es posible evaluar métricas de error para todo el bosque.

Al predecir una variable continua, el valor observado para cada una de las entidades de prueba se compara con las predicciones de dichas entidades en función del modelo entrenado, y se informa de lo siguiente: R cuadrado, valor P y error estándar asociados. Estos diagnósticos cambiarán cada vez que ejecute el proceso de entrenamiento, ya que la selección del dataset de prueba es aleatoria. Para crear un modelo que no cambie cada vez que se ejecute, puede establecer un valor de inicialización en la configuración de entorno Generador de números aleatorios.

Tabla de diagnóstico de regresión

Al predecir una variable de categorías, tanto la sensibilidad como la precisión se notifican en la ventaja de mensajes. Estos diagnósticos se calculan usando una matriz de confusión, que realiza un rastreo de cada instancia en la que la categoría de interés se ha clasificado correcta o incorrectamente y si otras categorías están clasificadas de forma incorrecta como categorías de interés. La sensibilidad para cada categoría se comunica como el porcentaje de veces que las entidades con una categoría observada se predijeron correctamente con esa categoría. Por ejemplo, si va a predecir Suelo y Agua y Suelo tiene una sensibilidad de 1,00, toda entidad que debería haber sido marcada como Suelo se predijo correctamente. Sin embargo, si una entidad Agua se marcó incorrectamente como Suelo, no se reflejará en el número de sensibilidad de Suelo. Sin embargo, esto se reflejaría en el número de sensibilidad de Agua, ya que significa que una de las entidades de agua no se predijo con precisión.

El diagnóstico de precisión tiene en cuenta si las entidades con una categoría particular se predicen adecuadamente y con qué frecuencia se clasifican incorrectamente otras categorías para la categoría de interés. Proporciona una idea de con qué frecuencia se identifica correctamente una categoría entre el número total de confusiones para esa categoría. Al clasificar una variable con solo dos clases, la medida de precisión será la misma para cada clase, pero la sensibilidad puede ser diferente. Al clasificar una variable con más de dos clases, tanto la sensibilidad como la precisión pueden ser diferentes entre dichas clases.

Classification diagnostics

También se ofrecen los mismos diagnósticos para comparar los valores predichos con los valores observados para el dataset de entrenamiento. Estos diagnósticos pueden ayudarle a comprender el grado de adecuación del modelo respecto a los datos de entrenamiento.

El diagnóstico de rango explicativo puede ayudarle a evaluar si los valores utilizados para el entrenamiento, la validación y la predicción son suficientes para producir un buen modelo y permite que confíe en otros diagnósticos de modelo. Los datos utilizados para entrenar un modelo de bosque aleatorio tienen un gran impacto en la calidad de la clasificación y las predicciones resultantes. Lo ideal sería que los datos de entrenamiento fueran representativos de los datos que está modelando. De forma predeterminada, el 10 por ciento de los datos de entrenamiento se excluye aleatoriamente, lo que resulta en un subconjunto de entrenamiento y un subconjunto de validación de las Entidades de entrenamiento de entrada. La tabla Diagnóstico de rango de variables explicativas muestra los valores mínimo y máximo de estos subconjuntos y, si está realizando una predicción de entidades o rásteres, de los datos utilizados para la predicción.

Tabla Diagnóstico de rango de variables explicativas

Debido a que los subconjuntos se determinan aleatoriamente, puede que los valores de las variables del subconjunto de entrenamiento no sean representativos de los valores generales de las Entidades de entrenamiento de entrada. Para cada variable explicativa continua, la columna Porcentaje de entrenamiento indica el porcentaje de superposición entre los valores del subconjunto de entrenamiento y los valores de todas las entidades de las Entidades de entrenamiento de entrada. Por ejemplo, si la variable A de las Entidades de entrenamiento de entrada tuviera los valores de 1 a 100 y el subconjunto de entrenamiento tuviera los valores de 50 a 100, el Porcentaje de entrenamiento para la variable A sería 0,50 o el 50 por ciento. Para la variable A, el subconjunto de entrenamiento abarca el 50 por ciento del rango de valores de las Entidades de entrenamiento de entrada. Si el subconjunto de entrenamiento no cubre un amplio rango de los valores que se encuentran en las Entidades de entrenamiento de entrada para cada variable explicativa del modelo, puede que influya en otros diagnósticos de modelo. Se realiza un cálculo similar para producir el diagnóstico del Porcentaje de validación. Es importante que los valores utilizados para validar el modelo abarquen la mayor parte posible del rango de valores utilizado para entrenar el modelo. Por ejemplo, si la variable B del subconjunto de entrenamiento tuviera los valores de 1 a 100 y el subconjunto de validación tuviera los valores de 1 a 10, el Porcentaje de validación para la variable B sería 0,10 o el 10 por ciento. Este pequeño rango de valores puede contener solo valores bajos o solo valores altos y, por consiguiente, influiría en otros diagnósticos. Si el subconjunto de validación contuviera todos los valores bajos, otros diagnósticos de modelo como MSE y porcentaje de variación explicada registrarían en qué medida el modelo predice de manera fiable los valores bajos, y no el rango completo de valores que se encuentra en las Entidades de entrenamiento de entrada.

El diagnóstico del Porcentaje de predicción es especialmente importante. Los modelos basados en bosque no realizan extrapolación, solo pueden clasificar o predecir un valor con el que se haya entrenado el modelo. El Porcentaje de predicción es el porcentaje de superposición entre los valores de los datos de entrenamiento y los datos de predicción. Los valores inferiores a cero indican que está intentado predecir un valor con el que no se ha entrenado el modelo. Un valor de 1 indica que el rango de valores del subconjunto de entrenamiento y el rango de valores que se está utilizando para la predicción son equivalentes. Un valor superior a 1 indica que el rango de los valores del subconjunto de entrenamiento es más amplio que el rango de valores utilizado para la predicción.

Los tres diagnósticos de porcentajes solo son válidos si los rangos de los subconjuntos coinciden. Por ejemplo, si el subconjunto de validación para la variable C tuviera los valores de 1 a 100 y el subconjunto de entrenamiento tuviera los valores de 90 a 200, se superpondrían en un 10 por ciento, pero no tendrían rangos coincidentes. En este caso, el diagnóstico está marcado con un asterisco para mostrar que los rangos no son coincidentes. Examine los valores mínimo y máximo para consultar la extensión y la dirección de la ausencia de superposición. El Porcentaje de predicción está marcado con un signo más (+) si el modelo está intentado predecir fuera del rango de los datos de entrenamiento.

No existen reglas absolutas sobre los valores aceptables para la tabla Diagnóstico de rango de variables explicativas. El Porcentaje de entrenamiento y el Porcentaje de validación deberían ser tan altos como sea posible, dadas las restricciones de sus datos de entrenamiento. El Porcentaje de predicción no debería ser menor que 1. Si el diagnóstico del Porcentaje de validación es bajo, plantéese aumentar el valor del parámetro Datos de entrenamiento excluidos para la validación (%). Además, plantéese ejecutar el modelo varias veces y elija la ejecución que equilibre los mejores valores del diagnóstico de rango. El valor de inicialización aleatorio utilizado en cada ejecución se muestra en los mensajes.

Esta herramienta también produce una variedad de salidas. Las Entidades entrenadas de salida contendrán todas las Entidades de entrenamiento de entrada y las Variables de entrenamiento explicativas utilizadas en el modelo. En el caso de la regresión, las entidades entrenadas se dibujan en el mapa en función de los residuales estandarizados de las predicciones. En el caso de la clasificación, la simbología de las entidades entrenadas se basa en si la entidad está clasificada correctamente. Si el modelo predice correctamente la categoría conocida, la entidad se etiqueta como Correctamente clasificada; de lo contrario, la entidad se etiqueta como Mal clasificada.

Los campos de las entidades entrenadas incluyen los valores de ráster extraídos de cada variable de Rásteres de entrenamiento explicativos y los valores de distancia calculados para cada variable de Entidades de distancia de entrenamiento explicativas. Estos campos nuevos pueden utilizarse para volver a ejecutar la parte de entrenamiento del análisis sin tener que extraer valores de ráster ni calcular valores de distancia cada vez. Las Entidades entrenadas de salida también contendrán predicciones para todas las entidades, tanto las usadas en el entrenamiento como las excluidas para pruebas, lo cual puede resultar útil para evaluar el rendimiento del modelo. El campo trained_features de las Entidades entrenadas de salida tendrá un valor de cero en todos los datos de prueba (lo cual indica que no se utilizaron en el entrenamiento) y un valor de 1 en todos los datos de entrenamiento. Cuando se usa esta herramienta para la predicción, la herramienta producirá una nueva clase de entidad que contiene los valores de Entidades predichas de salida o un nuevo valor de Superficie de predicción de salida si se proporcionan rásteres explicativos.

Opciones avanzadas de bosque

La intensidad del método basado en bosque reside en que captura las similitudes de indicadores débiles (o árboles) y las combina para crear un indicador potente (el bosque). Si árboles singulares capturan de forma persistente una relación, significa que existe una sólida relación en los datos, que se puede detectar incluso cuando el modelo no es complejo. Ajustar los parámetros del bosque puede ayudar a crear un número elevado de indicadores débiles que den lugar a un modelo potente. Puede crear indicadores débiles utilizando menos información en cada árbol. Puede hacerlo con cualquier combinación de un subconjunto pequeño de las entidades por árbol, un número pequeño de las variables por árbol y una profundidad de árbol baja. El número de árboles controla la cantidad de indicadores débiles que se crean. Cuanto más débiles sean los indicadores (árboles), más árboles necesitará para poder crear un modelo sólido.

Las siguientes opciones avanzadas de entrenamiento y validación están disponibles en la herramienta:

  • El valor predeterminado de Número de árboles es 100. El aumento del número de árboles del modelo de bosque por lo general dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse.
  • El Tamaño mínimo de hoja es el número mínimo de observaciones requeridas para conservar una hoja (es decir, el nodo terminal de un árbol que no tiene más divisiones). El mínimo predeterminado para regresión es 5 y el mínimo predeterminado para clasificación es 1. En el caso de datasets muy grandes, si aumenta estos números se reducirá el tiempo de ejecución de la herramienta. En el caso de tamaños de hoja muy pequeños (cercanos a los mínimos definidos), su bosque será propenso a tener ruido en los datos. Si desea tener un modelo más estable, pruebe a aumentar el Tamaño mínimo de hoja.
  • La Profundidad máxima de árbol es el número máximo de divisiones que se realizarán en un árbol. Si se utiliza una profundidad máxima grande, se podrán crear más divisiones, lo cual puede aumentar las probabilidades de exceso de ajuste en el modelo. El valor predeterminado se basa en datos y depende del número de árboles creados y el número de variables incluidas. Recuerde que no es posible dividir un nodo una vez que este alcanza el valor de Tamaño mínimo de hoja. Si Tamaño mínimo de hoja y Profundidad máxima de árbol están definidos, Tamaño mínimo de hoja dominará a la hora de determinar la profundidad de los árboles.
  • El parámetro Datos disponibles por árbol (%) especifica el porcentaje de las Entidades de entrenamiento de entrada utilizadas para cada árbol de decisión. El valor predeterminado es del 100 por cien de los datos. Cada árbol de decisión del bosque se crea con un subconjunto aleatorio (aproximadamente dos tercios) de los datos de entrenamiento disponibles. Si utiliza un porcentaje menor de los datos de entrada para cada árbol de decisión, se aumenta la velocidad de la herramienta si los datasets son muy grandes.
  • El parámetro Número de variables muestreadas aleatoriamente especifica el número de variables explicativas utilizadas para crear cada árbol de decisión. Cada árbol de decisión del bosque se crea con un subconjunto aleatorio de las variables explicativas especificadas. Aumentar el número de variables utilizadas en cada árbol de decisión aumentará también la probabilidad de exceso de ajuste en el modelo, especialmente si existe al menos una variable dominante. Una práctica habitual (y el comportamiento predeterminado seguido por la herramienta) consiste en utilizar la raíz cuadrada del número total de variables explicativas (campos, entidades de distancia y rásteres) si la Variable para predecir es numérica, o bien en dividir el número total de variables explicativas (campos, entidades de distancia y rásteres) entre 3 si la Variable para predecir es de categorías.
  • El parámetro Datos de entrenamiento excluidos para la validación (%) especifica el porcentaje (entre el 10 y el 50 por ciento) de las Entidades de entrenamiento de entrada que se deben reservar como el dataset de prueba para la validación. El modelo se entrenará sin este subconjunto aleatorio de datos, y los valores observados para esas entidades se compararán con los valores predichos para validar el rendimiento del modelo. El valor predeterminado es del 10 por ciento.
  • Si el parámetro Calcular incertidumbre está activado, la herramienta calculará un intervalo de predicción del 90 por ciento sobre cada valor predicho de la Variable para predecir. Si el Tipo de predicción es Solo entrenar o Predecir a entidades, se agregan dos campos adicionales a Entidades entrenadas de salida o Entidades predichas de salida. Estos campos, que terminan con _P05 y _P95, representan los límites superiores e inferiores del intervalo de predicción. Para cualquier observación nueva, puede predecir con una confianza del 90 por ciento que el valor de una observación nueva estará dentro del intervalo, dadas las mismas variables explicativas. Si se utiliza la opción Predecir a ráster, se agregan al panel Contenido dos rásteres que representan los límites superior e inferior del intervalo de predicción. El intervalo de predicción se calcula con los bosques de regresión de cuantiles. En un bosque de regresión de cuantiles, en lugar de guardar únicamente la predicción final del bosque, se guardan los valores predichos de cada hoja del bosque y se utilizan para crear una distribución de valores predichos.

Mejores prácticas

A continuación se explican las prácticas recomendadas para el uso de la herramienta Clasificación y regresión basadas en bosque:

  • El modelo de bosque debe entrenarse con al menos varios cientos de entidades para obtener unos resultados óptimos y no es la herramienta adecuada para datasets muy pequeños.
  • La herramienta podría presentar un rendimiento deficiente si se intenta predecir con variables explicativas que están fuera del rango de las variables explicativas empleadas para entrenar el modelo. Los modelos basados en bosque no realizan extrapolación: solo pueden clasificar o predecir con el rango de valores con el que se haya entrenado el modelo. Al predecir un valor basado en variables explicativas mucho mayores o menores que el rango del dataset de entrenamiento original, el modelo estima que el valor estará alrededor del valor más alto o más bajo del dataset original.
  • Para mejorar el rendimiento al extraer valores de Rásteres de entrenamiento explicativos y al calcular distancias con Entidades de distancia de entrenamiento explicativas, plantéese entrenar el modelo con el cien por cien de los datos, sin excluir ninguno para la validación, y crear Entidades entrenadas de salida. La próxima vez que ejecute la herramienta, utilice las Entidades entrenadas de salida como las Entidades de entrenamiento de entrada y todos los valores y distancias extraídos como Variables de entrenamiento explicativas en lugar de extraerlos cada vez que entrene el modelo. Si elige hacerlo, establezca Número de árboles, Profundidad máxima de árbol y Número de variables muestreadas aleatoriamente en 1 para crear un árbol de simulación pequeño para preparar rápidamente los datos para el análisis.
  • Por motivos de rendimiento, el parámetro Entidades de distancia de entrenamiento explicativas no está disponible al utilizar la opción Predecir a ráster del parámetro Tipo de predicción. Para incluir las distancias a las entidades como variables explicativas, calcule rásteres de distancia con la herramienta Acumulación de distancia e incluya los rásteres de distancia en el parámetro Rásteres de entrenamiento explicativos.

  • Aunque el valor del parámetro Número de árboles es 100, este número no está basado en datos. El número de árboles requeridos aumenta con la complejidad de las relaciones entre las variables explicativas, el tamaño del dataset y la Variable para predecir, además de la variación en estas variables.
  • Aumente el Número de árboles en el valor del bosque y lleve un registro de los errores OOB o de clasificación. Se recomienda que aumente el Número de árboles al menos 3 veces hasta un mínimo de 500 árboles para poder evaluar de forma óptima el rendimiento del modelo.
  • El tiempo de ejecución de la herramienta es altamente sensible al número de variables utilizadas por árbol. Al utilizar un número pequeño de variables por árbol, se reducen las posibilidades de exceso de ajuste. No obstante, asegúrese de utilizar muchos árboles si utiliza un número pequeño de variables por árbol, para así mejorar el rendimiento del modelo.
  • Para crear un modelo que no cambie cada vez que se ejecute, puede establecer un valor de inicialización en la configuración de entorno Generador de números aleatorios. Seguirá habiendo aleatoriedad en el modelo, pero esa aleatoriedad será uniforme ejecución tras ejecución.

Referencias

Breiman, Leo. (1996). "Out-Of-Bag Estimation." Abstract.

Breiman, L. (1996). "Bagging predictors." Machine learning 24 (2): 123–140.

Breiman, Leo. (2001). "Random Forests." Machine Learning 45 (1): 5-32. https://doi.org/10.1023/A:1010933404324.

Breiman, L., J.H. Friedman, R.A. Olshen y C.J. Stone. (2017). Classification and regression trees. New York: Routledge. Capítulo 4.

Dietterich, T. G. (2000, June). "Ensemble methods in machine learning." En International workshop on multiple classifier systems,. 1–15. Springer, Berlín, Heidelberg.

Gini, C. 1912 1955. Variabilità e mutabilità. Reimpreso en Memorie di metodologica statistica (eds. E. Pizetti and T. Salvemini). Rome: Libreria Eredi Virgilio Veschi.

Grömping, U. (2009). "Variable importance assessment in regression: linear regression versus random forest". The American Statistician 63 (4): 308–319.

Ho, T. K. (1995, agosto). "Random decision forests." En Document analysis and recognition, 1995., proceedings of the third international conference on Document Analysis and Recognition Vol. 1: 278-282. IEEE.

James, G., D. Witten, T. Hastie, and R. Tibshirani. (2013). An introduction to statistical learning Vol. 112. New York: springer.

LeBlanc, M. and R. Tibshirani. (1996). "Combining estimates in regression and classification." Journal of the American Statistical Association 91 (436): 1641–1650.

Loh, W. Y. and Y. S. Shih. (1997). "Split selection methods for classification trees." Statistica sinica, 815–840.

Meinshausen, Nicolai. "Quantile regression forests". Journal of Machine Learning Research 7. Junio (2006): 983-999.

Nadeau, C. and Y. Bengio. (2000). "Inference for the generalization error." En Advances in neural information processing systems, 307-313.

Strobl, C., A. L. Boulesteix, T. Kneib, T. Augustin, and A. Zeileis. (2008). "Conditional variable importance for random forests." BMC bioinformatics 9 (1): 307.

Zhou, Z. H. (2012). Ensemble methods: foundations and algorithms. CRC press.