Introducción a la Estadística para Científicos de Datos. Capítulo 16. Modelización estadística. Conociendo los datos

Establecer un método para la modelización estadística En el capítulo 3 del ensayo se hacía mención al universo tidyverse y las librerías de R que englobaba, además de esas librerías hay una publicación de Hadley Wickham y Garret Grolemund R for data sience donde aparece la siguiente imagen: Esa imagen describe un método para realizar ciencia de datos con R. Como en la anterior figura, este capítulo se dedicará a describir e ilustrar un método de modelización que recoge todo lo trabajado con anterioridad en el ensayo, para ello se emplea el ejemplo que ha servido de hilo conductor en otros capítulos. El ya conocido modelo de venta cruzada en el sector asegurador: ...

16 de mayo de 2023 · rvaquerizo

Introducción a la Estadística para Científicos de Datos. Capítulo 15. Modelos GLM. Regresión logística y regresión de poisson

Motivación de los modelos GLM Hasta el momento se han planteado los siguientes modelos. Modelo de regresión lineal Modelos factoriales en diseño de experimentos Para ambos modelos la variable respuesta ha de ser cuantitativa y distribuida normalmente, pero en el capítulo 10 se vio la siguiente figura. La respuesta normal o gaussiana aparece, pero existen otro tipo de situaciones a las que se enfrenta el científico de datos donde el evento a estudiar no se distribuye normalmente. Sin ir mas lejos, en el ejercicio que está sirviendo de hilo conductor en el ensayo, una aseguradora española que opera en múltiples ramos quiere ofrecer seguro de automóviles a sus clientes del ramo de salud. Para ello se realizó un cuestionario a los clientes de forma que se marcó quienes de ellos estarían interesados en el producto de automóviles y quienes no. La variable de interés es si o no lo que plantea una clasificación binomial. ¿Qué sucede si se modeliza eventos si/no mediante un modelo de regresión lineal? Siguiendo el propio ejemplo de trabajo al que se hace permanentemente referencia. ...

11 de abril de 2023 · rvaquerizo

Introducción a la Estadística para Científicos de Datos. Capítulo 11. Análisis bivariable

De nuevo se retoma el ejemplo que está sirviendo de hilo conductor para este ensayo, la campaña de marketing de venta cruzada en el sector asegurador que está disponible en Kaggle. Una aseguradora española que opera en múltiples ramos quiere ofrecer seguro de automóviles a sus clientes del ramo de salud. Para ello se realizó un cuestionario a los clientes de forma que se marcó quienes de ellos estarían interesados en el producto de automóviles y quienes no. Se identificaron posibles tareas: ...

8 de diciembre de 2022 · rvaquerizo

Evaluando la capacidad predictiva de mi modelo `tweedie`

Cuando tenemos que evaluar el comportamiento de un modelo de clasificación binomial empleamos sensibilidad, especificidad,… ya he hablado sobre ese tema aunque volveré sobre ello. Sin embargo, si nuestro modelo estima un valor es posible que no tengamos tan claro como está funcionando su capacidad predictiva. Lo que traigo hoy es un análisis muy básico pero que entienden muy bien aquellas personas que no tienen grandes conocimientos en ciencia de datos, además es una continuación de la entrada en la que se ilustraba un ejemplo de uso de los modelos tweedie. ...

17 de diciembre de 2020 · rvaquerizo

Modelos tweedie con H2O. Mutualizar siniestralidad en base a factores de riesgo

Ya he escrito sobre la distribución tweedie en otra ocasión y hoy vuelvo a traeros un ejemplo de uso que además servirá para introducir un método, una forma de trabajar con modelos en H2O y R además de emplear gradient boosting machine (gbm) para la obtención de primas de riesgo. Ya hay buenos profesionales repartidos en el mercado laboral a los que les he mostrado como hacer modelos de riesgo para el sector asegurador con R y H2O dentro del Máster en Big Data de la UNED donde imparto el módulo de seguros. Pero hoy quiero traer al blog un resumen de otro tipo de modelos que nos pueden servir para segmentar una cartera de seguros en base a la siniestralidad esperada de un riesgo. Recordad que un seguro trata de mutualizar el gasto entre una cartera, no sé a priori quien va a tener un siniestro (¡si lo supiera!) pero si dispongo de información histórica de mi cartera y esa información me puede dar unas pistas sobre lo que ocurrirá a futuro (habitualmente un año), quiero ver que parte de esa información histórica es reproducible asumiendo siempre un error. ...

1 de diciembre de 2020 · rvaquerizo

Manejo de datos básico con Python datatable

Nueva entrada dedicada al **data management con Python** , esta vez con datatable. No voy a justificar el uso de datatableantes quepandas, en un vistazo rápido por la web encontráis numerosas ocasiones en las que datatablees más eficiente quepandasen el manejo de datos conPython. En cuanto a la complejidad en el uso de uno u otro mi opinión no es objetiva porque me cuesta mucho trabajar con Pandas`. Asumo que habéis instalado datatable en vuestro entorno de Python (siempre por encima de la versión 3.5) y una vez está instalado os propongo obtener un conjunto de datos del repositorio de analisisydecision. Por supuesto la carga de este csv de ejemplo la realizamos con datatable y la función fread: ...

8 de octubre de 2020 · rvaquerizo

Transformaciones de variables cuantitativas en modelos binomiales

Para mejorar la capacidad predictiva de nuestros modelos binomiales es recomendable transformar las variables independientes. Existen técnicas que lo hacen de modo automático pero hoy os quería mostrar en un video un método «casero» para agrupar una variable cuantitativa con respecto a una variable respuesta, todo muy orientado a que la transformación tenga un sentido de negocio. El código empleado para hacer el video es el siguiente: from urllib import urlretrieve link = 'https://raw.githubusercontent.com/yhat/demo-churn-pred/master/model/churn.csv' urlretrieve(link, "churn.txt") import pandas as pd import numpy as np df = pd.read_csv("churn.txt") df.head(5) import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt pd.crosstab(df['Churn?'], columns='count').plot(kind='bar') plt.show(); df['churn'] = np.where(df['Churn?'] == 'True.', 1, 0) pd.crosstab(df['churn'], columns='count') df['Day Mins'].isnull().sum() df['Day Mins'].describe() plt.hist(df['Day Mins'], bins=20); plt.show(); df['minutos'] = np.where(df['Day Mins'] >= 270, 270, (df['Day Mins']//10)*10) df['minutos'] = np.where(df['minutos'] <= 70, 70, df['minutos']) pd.crosstab(df['minutos'], columns='count') churn = pd.DataFrame((df['churn']).groupby(df['minutos']).mean()) clientes = pd.DataFrame((df['churn']).groupby(df['minutos']).count()) fig = plt.figure() ax = clientes['churn'].plot(kind='bar', grid=True) ax2 = ax.twinx() ax2.plot(churn['churn'].values, linestyle='-', linewidth=2.0,color='red') plt.show();

2 de octubre de 2020 · rvaquerizo

Obteniendo los parámetros de mi modelo `GAM`

Vimos como los modelos GAM iban más allá del GLM porque en el momento de obtener los parámetros asociados al modelo de un factor nos proponían, en vez de una función lineal una función de suavizado no paramétrica para aquellos factores susceptibles de transformar en variables numéricas ordinales con un sentido determinado. Se trabajó con un modelo de riesgo con una sola variable como era la edad y al sumarizar el modelo no era posible obtener los parámetros en la salida. En último término nuestra intención con este tipo de modelos es obtener esos parámetros para transformarlos en relatividades. Qué sentido tiene obtener un buen modelo para Negocio si su resultado no se puede expresar en términos de incrementos o descuentos, en términos de relatividades. ...

21 de noviembre de 2019 · rvaquerizo

Modelos GAM con R. Dejando satisfechos a los equipos de negocio

Los modelos GAM (Generalized Additive Model) son el conjuntos de modelos que tenemos los estadísticos, actuarios, data scientist o como nos denominen en el momento que leas esto para dejar a nuestros equipos de negocio contentos con los resultados de nuestro modelo GLM. No voy a entrar en los aspectos teóricos de este tipo de modelos, hay documentación como esta que os puede ayudar. Por qué se quedan contentos los equipos de negocio, porque nos ayudan a dar sentido a los modelos. Retomemos un ejemplo que vimos en otra entrada del blog en esta entrada presentamos como el resultado de un modelo GLM se transforma en una relatividad, en un mecanismo para ofrecer recargos y descuentos. ...

10 de noviembre de 2019 · rvaquerizo

Inteligencia Arficial frente a un juego de niños. La partícula tonta de Nicolás

Pablo Picasso decía que en aprender a pintar como los pintores del renacimiento tardó unos años pero pintar como los niños le llevó toda la vida y en ocasiones creo que hacemos las cosas difíciles porque nos creemos que hacemos cosas difíciles y entonces llega un niño de nueve años y dice “Papá un punto que primero vaya a la izquierda y luego a la derecha no es tan difícil”. Os pongo en antecedentes, el pasado 7 de mayo fui al AWS Summit de Madrid porque Sergio Caballero iba a contar uno de los casos de uso. Los de AWS no se deben ni imaginar de las maravillas que ha hecho Sergio en el Ayuntamiento de Alcobendas porque sólo dejaron que hablara 10 minutos, muy torpes ellos, su trabajo es mejor escaparate que el planteado por Mai-Lan Tomsen, un error en el planteamiento de la jornada. El caso es que había una competición de vehículos que circulaban por un circuito guiados por complicados algoritmos de inteligencia artificial. Vimos algún bucanero serio de alguno de los participantes, ya sabemos reinforcement learning, pero reinforcement reinforcement. Otros participantes más o menos honrosos, en fin, distraído. Viendo la competición me entraron ganas de participar y al llegar a casa me siento a preparar un algoritmo que recorriera el circuito del Jarama de Madrid, no un circuito cualquiera un circuito donde yo he visto ganar carreras a Jorge Martínez Aspar. ...

16 de julio de 2019 · rvaquerizo