Regresión lineal en PowerBI

Page 1

Regresión lineal en PowerBI / Data Factory


La Regresión Lineal Simple La regresión lineal es un algoritmo de aprendizaje supervisado que se utiliza para establecer la relación entre una variable objetivo y una o más variables independientes mediante una línea de mejor ajuste. Se basa en el principio de mínimos cuadrados ordinarios (OLS o Error Cuadrático Medio, MSE) para estimar los parámetros desconocidos de una función de regresión lineal. El objetivo principal es minimizar la diferencia cuadrada entre las variables dependientes observadas en los datos y las predichas por la función de regresión lineal.

Contexto La industria de seguros, tiene una larga tradición en la toma de decisiones basadas en datos, está teniendo dificultades para adaptarse y aprovechar las nuevas tecnologías en el contexto digital actual, que se encuentra en una constante transformación. Algunos de los desafíos únicos que enfrenta la industria de seguros incluyen conjuntos de reglas de suscripción extremadamente complejos que varían radicalmente en diferentes líneas de productos. Algunos de los problemas ocurren por falta de información centralizada sobre los clientes y debilidades en la verificación de la identidad del cliente (KYC). Ya de por sí las relaciones entre las aseguradoras y los consumidores son complejas entorno las suscripciones tradicionales ofrecidas. En muchas ocasiones la orientación al cliente va en contra de la rentabilidad del negocio. Es importante comprender el nivel de riesgos en seguros de salud, los distintos atributos del asegurado y su relación con la prima del seguro.

Los Datos Este conjunto de datos contiene 1338 filas de datos asegurados, donde los cargos del seguro se dan en función de los siguientes atributos del asegurado: edad, sexo, IMC, número de hijos, fumador y región. Los datos son obtenidos de Kaggle


Análisis de datos exploratorios Dentro del workspace (area de trabajo) seleccionamos un nuevo Lakehouse y le ponemos el nombre que queremos

A B


En el Lakehouse, vamos a crear un Dataflow para cargar los datos que vamos a utilizar y realizar las modificaciones necesarias.

Podemos cambiar el nombre del data flow en esta sección

Vamos a cargar el archivo CSV adjunto con el material de esta asignatura


A

Buscan el archivo CSV que descargaron en el directorio de su PC

B


Podemos apreciar una muestra de los datos y el tipo de datos de cada columna. El proximo paso es crear la entra de los datos.


El siguiente paso es transformar los datos. Vamos a iniciar con la columna sex: • Los datos que están representados como male (hombre) lo vamos a categorizar como 0 • Los datos que están representados como female (mujer) lo vamos a categorizar como 1 1) Seleccionamos la columna presionando el título de la misma

2) Presionamos la opción de remplazar valores

3) Buscamos los valores que queremos remplazar con el nuevo valor que deseamos


Podemos ver que los valores de la columna sex son 0 y 1

4) Debemos convertir la columna a un campo numérico


Debemos repetir los mismo paso con las columnas de smoker y región Smoker Noz -> 0 Yes -> 1 Región Southeast -> 0 Southwest -> 1 Northeast -> 2 Northwest -> 3


Podemos ver que los valores de las columnas se transformaron

En esta sección podemos observar todos los pasos aplicados

Ahora debemos publicar


Los modelos de regresión lineal se basan en ecuaciones matemáticas que involucran operaciones matemáticas como sumas, multiplicaciones y divisiones. Estas operaciones solo pueden realizarse con valores numéricos. Convertir variables categóricas en valores numéricos facilita la interpretación de su impacto en el modelo. Al asignar números a categorías, puedes cuantificar y comparar cómo cada categoría afecta la variable dependiente en términos de unidades numéricas. En algunos casos, la conversión de valores categóricos a numéricos puede mejorar el rendimiento del modelo. Existen diferentes técnicas para convertir valores categóricos en numéricos, como la codificación one-hot (binaria) o la codificación de etiquetas (asignar un número a cada categoría). La elección de la técnica dependerá del tipo de variable categórica, la cantidad de categorías y otros factores. Es importante mencionar que la transformación de valores categóricos en numéricos debe hacerse de manera cuidadosa para evitar introducir sesgos o problemas en el modelo. Además, es fundamental entender el contexto de los datos y la naturaleza de las categorías antes de aplicar cualquier método de codificación.


Regresamos al workspace (area de trabajo) y seleccionamos para crear un nuevo reporte.


1) Seleccionamos un dataset ya publicado y buscamos el lakehouse que creamos

2) Podemos optar por un reporte auto generado o un reporte en blanco. Para la exploración iniciamos con el auto generado


Podemos observar algunos resúmenes de los datos, sin embargo deseamos ver otros adicionales.

En una nueva pagina vamos a trabajar con los otros gráficos.


Para ver la relación entre variables, usamos un gráfico de dispersión en el eje Y colocamos la variable dependiente y en el eje X la variable independiente


Si agregamo unas de las variables categóricas en el campo de legend, podemos ver diferente colores por cada categoría


Podemos ver la descripción de una variable


Explora con las distintas variables para ver que relación Pasos para construir un modelo de regresión lineal simple

La fórmula para la ecuación de una recta es y = mx + b Donde m= pendiente

b= intercepto


Regresa al dataflow creado al inicio y agregamos unos campos adicionales

Consideramos la columna bmi como la variable independiente


Con las siguientes formulas podemos crear las distintas columnas para determinar la regresión lineal simple.

Fórmulamatemática

Power Query

xy

[charges]*[bmi]

n

List.Count(#"Added custom 1"[charges])

sum(xy)

List.Sum(#"Added custom 1"[xy])

sum(x)

List.Sum(#"Added custom 1"[bmi])

sum(y)

List.Sum(#"Added custom 1"[charges])

sum(x^2)

List.Sum(#"Added custom 1"[xsq])

m

Value.Divide([n]*[sum_xy][sum_x]*[sum_y], [n]*[sum_xsq]Number.Power([sum_xsq],2)

b

Value.Divide ([sum_y ][m]*[sum_x], [n])


Ejemplo de la tabla resultante

Luego de agregar las columnas a la tabla regresamos a nuestro reporte en PowerBI


Los coeficientes de regresión en una regresión lineal representan la magnitud y la dirección de la relación entre las variables independientes y la variable dependiente. Un coeficiente positivo indica que a medida que la variable independiente aumenta, la variable dependiente también tiende a aumentar, y un coeficiente negativo indica lo contrario. En nuestro caso, el coeficiente es m. El valor que budismo determinar de m es positivo. Esto nos indica que existe una relación positiva entre la variable, el costo del seguro y el BMI. Cuando aumento el BMI del asegurador, la prima del seguro aumenta en una proporción de 2,656. El término de intercepto en una regresión lineal es el valor de la variable dependiente cuando todas las variables independientes son iguales a cero. En algunos casos, este valor puede tener un significado práctico, pero en otros, puede ser puramente matemático y carecer de un significado real. En nuestro caso, el intercepto nos ayuda al ajuste del modelo, pues la prima del seguro no es 0 en la práctica.


Para predecir un valor con nuestro modelo de regresión solo debemos sustituir los valores obtenido de la pendiente y el interceptó. Vamos a crear una nueva columna donde podamos predecir el valor de y (charges) dado el valor de x (bmi).

Predecimos los valores de Y

Calculamos la diferencia entre lo calculado y el valore real

Determinamos el MSE


El MSE mide la calidad de las predicciones realizadas por el modelo al calcular el promedio de los cuadrados de las diferencias entre los valores observados (o reales) y los valores predichos por el modelo. Cuanto menor sea el valor del MSE, mejor será el rendimiento del modelo. Un MSE igual a cero indicaría que el modelo hace predicciones perfectas que coinciden exactamente con los valores reales. El MSE se expresa en unidades cuadradas de la variable dependiente. Esto puede ser útil para comprender el grado de dispersión o dispersión de los errores.

Pasos para construir un modelo de regresión lineal simple La fórmula para la ecuación de una recta es y = m1x1 +m2x2 + b Donde m1 ym2 = coeficiente

b= intercepto


Con las siguientes formulas podemos crear las distintas columnas para determinar la regresión lineal multivariable.

x1 = bmi x2 = age

Fórmula matemática

Power Query

x1 y

[charges]*[bmi]

n

List.Count(#"Added custom 1"[charges])

sum(x1y)

List.Sum(#"Added custom 1"[xy])

sum(x1)

List.Sum(#"Added custom 1"[bmi])

sum(y)

List.Sum(#"Added custom 1"[charges])

sum(x1^2)

List.Sum(#"Added custom 1"[xsq])


Fórmula matemática

x2 y

Power Query

sum(x2y)

sum(x2)

List.Sum(#"Added custom 1”[age])

sum(x2^2)

[bmi]*[age]

sum(x1x2)

List.Sum(#"Added custom 1"[x1x2])

m1

Value.Divide([sum_x2sq]*[su m_xy][sum_x1x2]*[sum_x2y], [sum_xsq]*[sum_x2sq]Number.Power([sum_x1x2],2) )

m2

Value.Divide([sum_x1sq]*[su m_x2y][sum_x1x2]*[sum_x1y], [sum_xsq]*[sum_x2sq]Number.Power([sum_x1x2],2) )

b

Value.Divide([sum_y][m1]*[sum_x]-[m2]*[sum_x2], [n])

[charges]*[age]

List.Sum(#"Added custom 1"[x2y])

x2sq

x1 x2

Number.Power([age],2)

List.Sum(#"Added custom 1"[x2sq])


Próximos pasos

¿Qué acciones podemos tomar para mejorar el modelo de predicción? Desarrolla una estrategia para mejorar ese modelo ¿Cómo tomador de decisiones, que recomendaciones puedes dar con la información que te da el modelo?



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.