Estás leyendo la publicación: Aprendizaje automático con doble sesgo para evaluación e inferencia
Cuando se tiene una gran cantidad de variables independientes, entonces los procesos como la selección de características y la eliminación de características probablemente sean relevantes para seleccionar las más significativas. En algunas circunstancias, sin embargo, existe una alta probabilidad de introducir un sesgo conocido como sesgo de regularización, prueba previa o selección de características. Este artículo se centrará en comprender la funcionalidad de los algoritmos de aprendizaje automático con doble desesgo para eliminar el sesgo y generar una inferencia causal relacionada con el sesgo. Los siguientes son los temas a tratar.
Tabla de contenido
- ¿Qué es el aprendizaje automático doble/sin sesgo?
- ¿Cómo funciona el aprendizaje automático doble/sin sesgo?
- ¿Por qué es importante dividir la muestra?
- Implementando el ML doble/sin sesgo con DoubleML
El enfoque de aprendizaje automático doble es una combinación de aprendizaje automático ortogonalizado y división de muestras. Comencemos con la comprensión del aprendizaje automático doble/sin sesgo.
¿Qué es el aprendizaje automático doble/sin sesgo?
El aprendizaje automático sin sesgo es un metamétodo que utiliza la corrección de sesgo y la división de muestras para calcular los intervalos de confianza para los funcionales de aprendizaje automático (es decir, resúmenes escalares).
El algoritmo proporciona un teorema de aprendizaje automático sin sesgo no asintótico que se aplica a todas las funciones globales o locales de cualquier algoritmo de aprendizaje automático que cumpla con algunas restricciones básicas e interpretables. El algoritmo conduce a un conjunto simple de requisitos que los usuarios pueden utilizar para transformar las tasas de teoría de aprendizaje contemporáneas en inferencia estadística clásica.
¿Cuál es el objetivo?
En un entorno muy complicado, la técnica de aprendizaje automático doble/sin sesgo proporciona una forma sencilla y genérica de estimar e inferir el parámetro de interés de baja dimensión.
La alta complejidad indica que la entropía del espacio de parámetros del parámetro molesto aumenta con el tamaño de la muestra. El parámetro de interés suele ser un parámetro causal o de efecto del tratamiento.
¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.
¿Cómo funciona el aprendizaje automático doble/sin sesgo?
El objetivo principal es proporcionar un marco general para estimar y hacer inferencias sobre un parámetro dimensional bajo en presencia de un parámetro molesto dimensional alto que puede estimarse con nuevos métodos estadísticos no paramétricos.
- El parámetro de molestia es un parámetro de población secundario que debe tenerse en cuenta para producir un valor estimado para un parámetro primario.
En un problema de regresión, un enfoque ingenuo para la estimación del parámetro de interés utilizando métodos ML sería, por ejemplo, construir un estimador ML sofisticado para aprender la función de regresión. Supongamos, en aras de la claridad, que los datos se dividen aleatoriamente en dos partes iguales (muestras principal y auxiliar). La división de la muestra juega un papel importante en la superación del sesgo.
Ahora habría dos estimaciones que se obtendrían utilizando la muestra auxiliar y la muestra principal. El estimador obtenido de la muestra principal generalmente tendrá una tasa de convergencia más lenta. La fuerza impulsora detrás de este comportamiento “inferior” es el sesgo en el aprendizaje de la muestra auxiliar.
Este comportamiento se obtiene debido a ciertos términos que tienen una media distinta de cero. Estos términos tienen una media distinta de cero porque, en entornos altamente dimensionales o muy complejos, debemos emplear estimadores regularizados, como lazo, cresta, refuerzo o redes neuronales penalizadas, para que el aprendizaje informativo sea factible. La regularización en estos estimadores evita que la varianza del estimador se dispare, pero también introduce serios sesgos en la estimación. Específicamente, la tasa de convergencia del sesgo del estimador en el sentido del error cuadrático medio será típicamente menor que ‘1’. Por lo tanto, la suma de los términos que tienen una media distinta de cero estaría en un orden estocástico que tiende a infinito.
Pero regularizar los sesgos genera otro sesgo que se conoce como sesgo regularizado. Para mitigar este tipo de sesgo, el algoritmo utiliza una formulación “ortogonalizada”. Esta formulación se obtiene directamente por parcialización el efecto de las variables independientes de la variable de tratamiento para obtener el regresor ortogonalizado.
- La parcialización es un método estadístico para controlar el impacto de una variable o colección de factores en otras variables de interés (típicamente, las variables dependientes e independientes). La parcialización ayuda en la clarificación de una conexión dada al eliminar la influencia de otras variables que pueden estar conectadas.
En particular, el regresor ortogonal calculado incluye un estimador ML derivado de la muestra auxiliar de datos. Ahora, utilizando variables independientes, resuelva un problema de predicción auxiliar para estimar la media condicional de la variable de tratamiento (parámetro de interés). Al final, es una “doble predicción” o “doble aprendizaje automático”.
Después de la parcialización y estimación del estimador producido a partir de la muestra auxiliar, se construye el siguiente estimador de aprendizaje automático “sin sesgo” para el estimador adquirido de la muestra principal de observaciones.
¿Por qué es importante dividir la muestra?
El uso de la división de muestras juega un papel clave para establecer que los términos restantes desaparecen en probabilidad. La ecuación completa del error de estimación se divide en tres componentes que son
- El término principal contiene el estimador de aprendizaje automático sin sesgo.
- El segundo término captura el impacto del sesgo de regularización al estimar el estimador de diferentes muestras.
- El término restante contiene las sumas normalizadas de productos de no observables estructurales del modelo utilizado como un lazo, basado en árboles.
Se debe demostrar que el término restante se desvanece en probabilidad para equilibrar la estimación. El uso de la división de muestras permite un control simple y estricto de dichos términos.
Para ver esto, suponga que las observaciones son independientes y recuerde que el estimador se obtuvo de las observaciones en la muestra auxiliar. Entonces, condicionando sobre la muestra auxiliar es fácil verificar que el término resto tiene media cero y varianza que tiende a 0. Así, el término se anula en probabilidad por la desigualdad de Chebyshev.
Si bien la división de muestras permite el manejo de términos residuales, su aplicación directa tiene la desventaja de que el estimador del parámetro de interés solo usa la muestra principal, lo que puede resultar en una pérdida significativa de eficiencia porque solo estamos usando una parte de la disponible. datos.
Sin embargo, puede ser posible invertir los roles de las muestras principal y auxiliar para generar una segunda versión del estimador del parámetro de interés. Podemos restaurar la eficiencia completa promediando los dos estimadores resultantes. Debido a que los dos estimadores serán más o menos independientes, promediarlos es una técnica eficiente. Este procedimiento de división de muestras en el que se intercambian los roles de las muestras principal y auxiliar para obtener estimaciones múltiples y luego promediar los resultados se denomina ajuste cruzado.
Implementando el ML doble/sin sesgo con DoubleML
Este artículo utiliza datos de regresión, por lo que compararemos los resultados de DoubleML para el regresor del árbol de decisión, el regresor del bosque aleatorio y el regresor XGBoost.
El conjunto de datos utilizado para este artículo está relacionado con la esperanza de vida publicada por la OMS desde 2000 hasta 2015. Tiene un total de 22 características, incluida la variable objetivo que es “Expectativa”. La variable objetivo contiene datos relacionados con la edad esperada de la población para diferentes países en función de las diferentes características de la atención médica.
DoubleML es un módulo de Python y R que implementa el marco de aprendizaje automático doble/sin sesgo. El paquete Python se basa en sci-kit learn, mientras que el paquete R se basa en mlr3 y el ecosistema mlr3. Simplifica el uso del algoritmo Double/Debiased.
Instalación de doble aprendizaje automático
! pip instalar DoubleML
Importar bibliotecas necesarias
importar numpy como np importar pandas como pd importar doubleml como dml de xgboost importar XGBClassifier, XGBRegressor de sklearn.ensemble importar RandomForestRegressor de sklearn.tree importar DecisionTreeRegressor importar matplotlib.pyplot como plt importar seaborn como sns
Leer y preprocesar los datos.
data=pd.read_csv(‘Datos de esperanza de vida.csv’) data.head()
data_utils=data.dropna(axis=0) from sklearn.preprocessing import LabelEncoder encoder=LabelEncoder() data_utils[‘status_enc’]=encoder.fit_transform(data_utils[‘Status’])
Inicializar backend de datos
Usemos el paquete DoubleML para estimar el efecto promedio del tratamiento de la esperanza de vida (‘Esperanza de vida’), en la tasa de mortalidad de adultos (‘mortalidad de adultos’).
características_base=[‘infant deaths’,’Alcohol’, ‘percentage expenditure’, ‘Hepatitis B’,
‘Measles ‘, ‘ BMI ‘, ‘under-five deaths ‘, ‘Polio’, ‘Total expenditure’,
‘Diphtheria ‘, ‘ HIV/AIDS’, ‘GDP’, ‘Population’,
‘ thinness 1-19 years’, ‘ thinness 5-9 years’,
‘Income composition of resources’, ‘Schooling’, ‘status_enc’, ‘Year’]
data_dml_base = dml.DoubleMLData(data_utils, y_col=”Mortalidad de adultos”, d_cols=”Esperanza de vida”, x_cols=features_base)
La función ‘DoubleMLData’ necesita definir los datos, la variable de tratamiento, en este caso, su ‘Esperanza de vida’, la columna de salida en este caso, que es ‘Mortalidad de adultos’ y una lista de características que se utilizarán como variable independiente.
Construcción del modelo de doble aprendizaje automático
Este artículo requiere solo el uso de la regresión lineal parcial que se usa cuando la(s) variable(s) de tratamiento es(n) la(s) regresión(es).
El Double ML proporciona cuatro modelos: modelos de regresión parcialmente lineales (PLR), modelos de regresión IV parcialmente lineales (PLIV), modelos de regresión interactivos (IRM) y modelos de regresión IV interactivos (IIVM).
árboles = DecisionTreeRegressor( max_depth=30, ccp_alpha=0.0047, min_samples_split=203, min_samples_leaf=67) np.random.seed(123) dml_plr_tree = dml.DoubleMLPLR(data_dml_base, ml_l = árboles, ml_m = árboles, n_folds = 3) dml_plr _árbol. fit(store_predictions=True) tree_summary_plr = dml_plr_tree.summary tree_summary_plr
Este PLR es para el regresor del árbol de decisión, de manera similar, se construirían dos modelos más, uno para el regresor de bosque aleatorio y el otro para el regresor de impulso XG.
randomForest = RandomForestRegressor( n_estimators=500, max_ depth=7, max_features=3, min_samples_leaf=3) np.random.seed(123) dml_plr_forest = dml.DoubleMLPLR(data_dml_base, ml_l = randomForest, ml_m = randomForest, n_folds = 3) dml_plr_forest. fit(store_predictions=True) forest_summary_plr = dml_plr_forest.summary forest_summary_plr
boost = XGBRegressor(n_jobs=1, object = “reg:squarederror”, eta=0.1, n_estimators=35) np.random.seed(123) dml_plr_boost = dml.DoubleMLPLR(data_dml_base, ml_l = boost, ml_m = boost, n_folds = 3) dml_plr_boost.fit(store_predictions=True) boost_summary_plr = dml_plr_boost.summary boost_summary_plr
Comparando los resultados
final_summary = pd.concat(( forest_summary_plr, tree_summary_plr, boost_summary_plr)) final_summary.index = [ ‘forest’, ‘tree’, ‘xgboost’]
resumen_final[[‘coef’, ‘2.5 %’, ‘97.5 %’]]
Aquí podemos observar que el regresor de impulso XG claramente funciona bien en comparación con los otros dos; en general, todos los modelos definen claramente el efecto de la esperanza de vida en la mortalidad adulta.
Conclusión
El aprendizaje automático doble/sin sesgo es una operación combinada de función ortogonal y división de muestras que genera una inferencia estadística para la variable de interés. Con este artículo, hemos entendido la funcionalidad del aprendizaje automático doble/desequilibrado y su implementación con DoubleML.