Categoría: data science

  • Transformación de Raíz Cúbica

    Entre las técnicas de transformación más utilizadas para corregir este problema se encuentran las transformaciones de potencia, como la transformación logarítmica, la raíz cuadrada y la raíz cúbica. Aunque suele recibir menos atención que otras alternativas, la Transformación de Raíz Cúbica es una herramienta muy útil cuando los datos contienen valores positivos, negativos o cero, y se desea reducir la asimetría sin aplicar una transformación demasiado agresiva.

    ¿Qué es la transformación de raíz cúbica?

    La Transformación de Raíz Cúbica (Cube Root Transformation) consiste en sustituir cada valor de una variable por su raíz cúbica.

    Matemáticamente:

    $$y=\sqrt[3]{x}=x^{\frac{1}{3}}$$

    Donde:

    • x representa el valor original.
    • y representa el valor transformado.

    Esta transformación pertenece al grupo de las transformaciones de potencia y tiene como objetivo principal:

    • Reducir la asimetría.
    • Comprimir valores extremos.
    • Estabilizar la varianza.
    • Facilitar el modelado estadístico.

    Una de sus principales características es que puede aplicarse directamente a números positivos, negativos y al valor cero.

    ¿Cómo Funciona?

    La raíz cúbica reduce la distancia relativa entre los valores grandes y pequeños de una variable.

    ventas: [1, 8, 27, 125, 1000]
    
    ventas_sqr3 = [1, 2, 3, 5, 10]

    Obsérvese que mientras los valores originales crecen rápidamente, los valores transformados crecen mucho más lentamente. Este efecto produce una compresión de las colas de la distribución y ayuda a disminuir la asimetría positiva.

    La transformación de raíz cúbica admite: valores positivos, negativos y valor cero.

    Beneficios

    • Reduce la asimetría: cuando una distribución presenta una cola larga hacia la derecha, la raíz cúbica ayuda a equilibrarla.
    • Comprime Valores Extremos: Los valores muy grandes dejan de dominar la distribución. Esto reduce la influencia excesiva de ciertos registros sobre el modelo.
    • Admite valores negativos: una ventaja importante frente a las transformaciones logarítmicas y de raíz cuadrada.
    • Fácil Interpretación: Su comportamiento matemático es sencillo y fácilmente comprensible.
    • Implementación simple: No requiere estimar parámetros adicionales ni realizar optimización matemática.

    ¿Cuándo utilizar la transformación de raíz cúbica?

    • Es recomendable cuando existen valores negativos, por ejemplo: beneficios y pérdidas, variaciones de precios, cambios porcentuales o indicadores financieros.
    • Hay asimetría moderada o alta: Variables como ingresos, consumo energético y producción industrial
    • Se desea una transformación menos agresiva: La transformación logarítmica puede modificar drásticamente la escala de los datos. La raíz cúbica suele ofrecer una corrección más suave.
    • Existen valores extremos: La compresión de las colas ayuda a reducir su influencia.

    Ventajas

    • Funciona con cualquier número real: no necesita ajustes previos para tratar valores negativos o ceros.
    • No requiere estimar parámetros: a diferencia de Box-Cox o Yeo-Johnson.
    • Fácil de aplicar: Puede implementarse con una única operación matemática.
    • Reduce la influencia de outliers: aunque no los elimina, disminuye significativamente su impacto.
    • Mantiene el orden de los datos: Las observaciones conservan su posición relativa. Si un valor era mayor que otro antes de la transformación, seguirá siéndolo después.

    Desventajas

    • Menor capacidad de normalización: no suele acercar la distribución a la normalidad tanto como Box-Cox o Yeo-Johnson.
    • Puede ser insuficiente: en distribuciones extremadamente sesgadas puede no generar una mejora significativa.
    • No elimina outliers: los valores extremos continúan existiendo. Simplemente se reduce su influencia.
    • Pérdida de interpretabilidad directa: los valores transformados dejan de representar las unidades originales.

    Limitaciones

    Aunque es una técnica útil, presenta ciertas limitaciones.

    • No garantiza normalidad: reducir la asimetría no implica obtener una distribución normal.
    • No corrige relaciones no lineales: la transformación actúa sobre una variable individual. No modifica las relaciones entre variables.
    • No sustituye al tratamiento de outliers: si existen errores de captura o valores anómalos extremos, será necesario tratarlos mediante técnicas específicas.
    • No siempre mejora el rendimiento: algunos algoritmos modernos son poco sensibles a la distribución de las variables.
      • Random Forest.
      • XGBoost.
      • LightGBM.
      • CatBoost.

    Aplicaciones en Data Science y Machine Learning

    • Regresión Lineal
    • EDA
    • Clustering
    • Detección de anomalías
    • Ingeniería de Características (Feature Engineering)

    Implementación en Python

    Utilizando NumPy

    import numpy as np
    
    datos = np.array([
        -1000,
        -125,
        -8,
        0,
        8,
        125,
        1000
    ])
    
    datos_transformados = np.cbrt(datos)
    
    print(datos_transformados)
    

    Resultado:

    [-10.  -5.  -2.   0.   2.   5.  10.]

    Aplicación sobre un DataFrame

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame({
        "ventas": [10, 50, 125, 1000, 5000]
    })
    
    df["ventas_cuberoot"] = np.cbrt(df["ventas"])
    
    print(df)
    

    Integración con Scikit-Learn

    Puede utilizarse mediante FunctionTransformer.

    from sklearn.preprocessing import FunctionTransformer
    import numpy as np
    
    cube_root = FunctionTransformer(np.cbrt)
    
    X_transformado = cube_root.fit_transform(X)
    

    Uso dentro de un Pipeline

    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import FunctionTransformer
    from sklearn.linear_model import LinearRegression
    import numpy as np
    
    pipeline = Pipeline([
        ("cube_root", FunctionTransformer(np.cbrt)),
        ("modelo", LinearRegression())
    ])
    
    pipeline.fit(X_train, y_train)
    

    Esta es la forma recomendada para evitar fugas de información (data leakage) durante el entrenamiento.

    Comparación con Otras Transformaciones

    CaracterísticaLogarítmicaRaíz CuadradaRaíz CúbicaYeo-Johnson
    Admite negativosNoNo
    Admite ceroNo
    Reduce asimetríaAltaModeradaModeradaAlta
    Requiere parámetrosNoNoNo
    Fácil implementaciónAltaAltaAltaMedia
    Normalización avanzadaBajaBajaBajaAlta

    Buenas Prácticas

    1. Analizar la distribución antes y después de la transformación.
    2. Medir el nivel de asimetría para comprobar la mejora obtenida.
    3. Aplicar la transformación únicamente sobre variables numéricas.
    4. Integrarla dentro de un Pipeline cuando forme parte de un modelo de Machine Learning.
    5. Comparar los resultados con otras transformaciones como logaritmo, Box-Cox o Yeo-Johnson.

    Conclusión

    La Transformación de Raíz Cúbica es una técnica simple, eficiente y extremadamente flexible para reducir la asimetría de variables numéricas. Su principal ventaja frente a otras transformaciones clásicas es que puede aplicarse directamente a valores positivos, negativos y ceros, sin necesidad de modificaciones previas en los datos.

    Aunque su capacidad para aproximar una distribución normal suele ser menor que la de métodos más avanzados como Box-Cox o Yeo-Johnson, su facilidad de implementación y su capacidad para comprimir valores extremos la convierten en una herramienta muy valiosa dentro de los procesos de limpieza, transformación y preparación de datos para proyectos de Data Science y Machine Learning.

  • Transformación Yeo-Johnson

    Muchos algoritmos funcionan mejor cuando las variables presentan una distribución aproximadamente normal. Para lograrlo, existen diversas técnicas de transformación matemática, entre ellas la Transformación Yeo-Johnson, una de las más versátiles debido a que puede aplicarse tanto a valores positivos como negativos.

    Esta técnica fue propuesta por In-Kwon Yeo y Richard A. Johnson en el año 2000 como una extensión de la Transformación Box-Cox, eliminando una de sus principales limitaciones: la necesidad de trabajar exclusivamente con valores positivos.

    ¿Qué es la Transformación Yeo-Johnson?

    La Transformación Yeo-Johnson es un método de transformación de potencia (Power Transformation) diseñado para reducir la asimetría de una variable y acercar su distribución a una forma normal. Su principal objetivo es:

    • Reducir la asimetría.
    • Disminuir el impacto de valores extremos.
    • Estabilizar la varianza.
    • Mejorar el comportamiento estadístico de los datos.
    • Facilitar el aprendizaje de modelos sensibles a la distribución de las variables.

    A diferencia de Box-Cox, Yeo-Johnson puede trabajar con:

    • Valores positivos.
    • Valores negativos.
    • Valores iguales a cero.

    Por ello se ha convertido en una de las transformaciones más utilizadas en los procesos modernos de preprocesamiento de datos.

    Fundamento Matemático

    La transformación utiliza un parámetro λ (lambda), que controla el grado de transformación aplicado a los datos.

    Para valores positivos (x ≥ 0)

    $$y=\frac{(x+1)^{\lambda}-1}{\lambda},\quad \lambda\neq0$$

    Cuando λ = 0:

    $$y=\ln(x+1)$$

    Para valores negativos (x < 0)

    $$y=-\frac{(-x+1)^{2-\lambda}-1}{2-\lambda},\quad \lambda\neq2$$

    Cuando λ = 2:

    $$y=-\ln(-x+1)$$

    Interpretación del parámetro λ

    El parámetro λ determina la intensidad de la transformación.

    Valor de λEfecto
    λ = 1Sin transformación
    λ < 1Reduce asimetría positiva
    λ = 0Similar a transformación logarítmica
    λ > 1Expande ciertas regiones de los datos
    λ < 0Compresión más agresiva

    El valor óptimo suele calcularse automáticamente mediante máxima verosimilitud (Maximum Likelihood Estimation).

    ¿Cómo Funciona?

    El procedimiento general es:

    • Paso 1: Analizar la distribución: Se identifica si la variable presenta: asimetría positiva, negativa o varianza inestable.
    • Paso 2: Estimar λ: El algoritmo busca el valor de λ que mejor aproxima la distribución a una distribución normal.
    • Paso 3: Aplicar la transformación: Cada observación se transforma utilizando la fórmula correspondiente según sea positiva o negativa.
    • Paso 4: Evaluar el resultado: Se comprueban: histograma, skewness, curtosis y test de normalidad.

    Beneficios de la Transformación Yeo-Johnson

    • 1. Admite valores negativos: Es su principal ventaja frente a Box-Cox. No requiere desplazar los datos para volverlos positivos.
    • 2. Reduce la asimetría: Permite acercar la distribución a una forma más normal. Esto facilita el aprendizaje de numerosos algoritmos estadísticos.
    • 3. Estabiliza la varianza: Variables con dispersión heterogénea suelen comportarse mejor tras la transformación.
    • 4. Reduce el efecto de valores extremos: Aunque no elimina outliers, disminuye su influencia sobre el modelo.
    • 5. Automatiza la búsqueda del mejor λ: No es necesario seleccionar manualmente el parámetro. Las librerías modernas calculan automáticamente el valor óptimo.

    ¿Cuándo Utilizar Yeo-Johnson?

    • Es recomendable cuando existen valores negativos. Algunos tipos de datos pueden tener valores positivos como el beneficio neto, rendimientos financieros, variaciones porcentuales y temperaturas.
    • Hay una fuerte asimetría, como sucede en ingresos, ventas, gastos y clientes.
    • Se utilizarán algoritmos sensibles a la escala y distribución como:
      • Regresión Lineal.
      • Regresión Logística.
      • Redes Neuronales.
      • Análisis Discriminante.
      • PCA.
    • Se busca aproximar una distribución normal: especialmente en modelos estadísticos clásicos.

    Ventajas

    • Mayor flexibilidad que Box-Cox: puede trabajar con cualquier valor real.
    • Menor necesidad de ingeniería manual: no requiere sumar constantes para eliminar negativos.
    • Compatible con pipelines de Machine Learning: puede integrarse fácilmente dentro de procesos automatizados.
    • Fácil implementación: Scikit-Learn la incluye de forma nativa.

    Desventajas

    • Menor interpretabilidad:
      • Después de la transformación:
      • Los valores dejan de tener significado directo.
      • Las unidades originales se pierden temporalmente.
    • No garantiza normalidad perfecta: la distribución puede mejorar considerablemente sin llegar a ser completamente normal.
    • Puede no aportar beneficios: Algunos algoritmos modernos son robustos frente a distribuciones asimétricas. Por ejemplo:
      • Random Forest.
      • XGBoost.
      • LightGBM.
      • CatBoost.

    Limitaciones

    Aunque es una técnica muy potente, tiene ciertas limitaciones.

    • No elimina outliers: solo reduce parcialmente su impacto. Si existen valores extremos muy severos, puede ser necesario:
      • Winsorización.
      • Recorte de datos.
      • Métodos robustos.
    • No corrige relaciones no lineales: la transformación actúa sobre una variable individual. No modifica las relaciones entre variables.
    • Puede afectar la interpretabilidad del modelo : especialmente en entornos de negocio donde se requiere explicar los resultados en unidades originales.

    Aplicaciones en Data Science y Machine Learning

    • Modelos de Regresión: Mejora:
      • Normalidad de residuos.
      • Homocedasticidad.
      • Estabilidad de coeficientes.
    • En EDA: Permite visualizar patrones que antes quedaban ocultos por distribuciones extremadamente sesgadas.
    • Reducción de Dimensionalidad: Métodos como PCA suelen beneficiarse de variables más próximas a la normalidad.
    • Clustering: Algoritmos basados en distancia pueden producir grupos más consistentes.
    • Detección de Anomalías: La reducción de la asimetría puede facilitar la identificación de observaciones atípicas.

    Implementación en Python

    from sklearn.preprocessing import PowerTransformer
    import pandas as pd
    
    df = pd.DataFrame({
        "ventas": [-100, 0, 50, 200, 1000, 5000]
    })
    
    pt = PowerTransformer(method="yeo-johnson")
    
    df["ventas_transformadas"] = pt.fit_transform(df[["ventas"]])
    
    print(df)
    

    Obtener el valor λ calculado

    from sklearn.preprocessing import PowerTransformer
    
    pt = PowerTransformer(method="yeo-johnson")
    
    pt.fit(df[["ventas"]])
    
    print(pt.lambdas_)
    
    [0.34]

    Este valor representa el λ óptimo encontrado para la variable.

    Uso dentro de un Pipeline

    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import PowerTransformer
    from sklearn.linear_model import LinearRegression
    
    pipeline = Pipeline([
        ("yeo_johnson", PowerTransformer(method="yeo-johnson")),
        ("modelo", LinearRegression())
    ])
    
    pipeline.fit(X_train, y_train)

    Esta es la forma recomendada en proyectos de Machine Learning, ya que evita fugas de información (data leakage) entre entrenamiento y prueba.

    Comparación entre Yeo-Johnson y Box-Cox

    CaracterísticaYeo-JohnsonBox-Cox
    Admite valores negativosNo
    Admite cerosNo
    Usa parámetro λ
    Reduce asimetría
    Estabiliza varianza
    Implementación en Scikit-Learn
    Requiere datos positivosNo

    Buenas Prácticas

    1. Aplicar únicamente sobre variables numéricas.
    2. Ajustar la transformación únicamente con los datos de entrenamiento.
    3. Integrarla dentro de un Pipeline.
    4. Comparar la distribución antes y después de la transformación.
    5. Verificar si realmente mejora el rendimiento del modelo.

    Conclusión

    La Transformación Yeo-Johnson es una de las técnicas de normalización más versátiles utilizadas actualmente en Data Science y Machine Learning. Su capacidad para trabajar con valores positivos, negativos y ceros la convierte en una alternativa superior a Box-Cox en muchos escenarios reales.

    Cuando los datos presentan asimetría significativa, varianza inestable o contienen valores negativos, Yeo-Johnson permite generar distribuciones más equilibradas, facilitando el trabajo de algoritmos estadísticos y mejorando la calidad de los modelos predictivos.

    Por su facilidad de uso, integración con Scikit-Learn y capacidad para automatizar la búsqueda del parámetro óptimo λ, constituye una herramienta fundamental dentro del proceso moderno de preparación de datos.

  • Transformación de Box-Cox

    La transformación de Box-Cox es una de las técnicas más importantes para el tratamiento de datos sesgados en estadística, ciencia de datos y machine learning. Su principal objetivo es transformar una variable para que su distribución se aproxime lo máximo posible a una distribución normal, facilitando el análisis estadístico y mejorando el comportamiento de determinados modelos predictivos.

    A diferencia de transformaciones más simples como el logaritmo o la raíz cuadrada, la transformación Box-Cox no utiliza una única fórmula fija. En su lugar, busca automáticamente la transformación más adecuada para cada conjunto de datos mediante un parámetro denominado λ (lambda).

    ¿Qué es la transformación de Box-Cox?

    La transformación Box-Cox fue propuesta por los estadísticos George Box y David Cox en 1964 como un método para transformar variables y aproximarlas a una distribución normal. La técnica aplica una familia de transformaciones parametrizadas por λ:

    $$y(\lambda)=\begin{cases}\frac{x^\lambda – 1}{\lambda}, & \text{si } \lambda \neq 0 \\ \ln(x), & \text{si } \lambda = 0 \end{cases}$$

    cuando:

    $$\lambda \neq 0$$

    y utiliza una transformación logarítmica cuando:

    $$\lambda = 0$$

    Cuando aplicamos un logaritmo estamos imponiendo una transformación concreta. Cuando aplicamos una raíz cuadrada, también estamos imponiendo una transformación concreta. Box-Cox adopta un enfoque diferente y busca automáticamente cuál es la transformación que mejor aproxima los datos a una distribución normal. Para ello prueba distintos valores de λ.

    Interpretación del Parámetro λ

    El valor de λ determina qué transformación se aplicará. Algunos casos especiales son:

    λTransformación Aproximada
    -1Recíproca
    -0.5Recíproca de raíz cuadrada
    0Logaritmo
    0.5Raíz cuadrada
    1Sin transformación

    Esto significa que Box-Cox puede comportarse como varias transformaciones clásicas dependiendo del valor óptimo encontrado.

    Ejemplo Conceptual

    Supongamos una variable de ingresos:

    ventas: [20000, 25000, 30000, 40000, 500000]

    La distribución presenta una fuerte cola hacia la derecha. Al aplicar Box-Cox:

    1. El algoritmo prueba distintos valores de λ.
    2. Evalúa qué transformación produce una distribución más cercana a la normalidad.
    3. Selecciona automáticamente el valor óptimo.

    El resultado suele ser una distribución mucho más equilibrada.

    Beneficios de la Transformación Box-Cox

    • Reducción de la Asimetría: Es especialmente eficaz cuando los datos presentan una fuerte asimetría positiva.
    • Aproximación a la Normalidad: Su principal objetivo es acercar la distribución a una forma gaussiana.
    • Estabilización de la Varianza: En muchos casos ayuda a reducir problemas de heterocedasticidad.
    • Automatización: No obliga al analista a elegir manualmente entre logaritmo, raíz cuadrada, transformación recíproca el algoritmo selecciona la mejor opción.

    ¿Cuándo Utilizar Box-Cox?

    La transformación Box-Cox suele ser recomendable cuando:

    • Existe una fuerte asimetría positiva.
    • Se desea aproximar la distribución a la normalidad.
    • Se trabaja con métodos estadísticos sensibles a la distribución.
    • La variable contiene únicamente valores positivos.

    La Principal Limitación

    Box-Cox tiene una restricción importante: solo funciona con valores estrictamente positivos. Si la variable contiene valores negativos o iguales a cero la transformación Box-Cox no puede aplicarse directamente. En estos casos suele utilizarse una alternativa moderna denominada: Transformación Yeo-Johnson que fue diseñada precisamente para eliminar esta limitación.

    Box-Cox vs transformación logarítmica

    CaracterísticaLogaritmoBox-Cox
    Fácil de aplicar
    Reduce asimetría
    Busca automáticamente la mejor transformaciónNo
    Solo admite valores positivos
    Aproxima a la normalidadParcialmenteMejor

    Box-Cox vs Yeo-Johnson

    CaracterísticaBox-CoxYeo-Johnson
    Valores positivos
    Valores ceroNo
    Valores negativosNo
    Búsqueda automática de λ

    Actualmente, Yeo-Johnson suele utilizarse cuando no se puede garantizar que todos los valores sean positivos.

    Aplicación en Machine Learning

    Aunque Box-Cox nació en el ámbito estadístico, también se utiliza durante la preparación de datos para Machine Learning. Puede aplicarse antes de entrenar modelos como:

    • Regresión Lineal.
    • Ridge Regression.
    • Lasso Regression.
    • Support Vector Machines.
    • Redes Neuronales.

    Los modelos basados en árboles suelen ser menos sensibles a este tipo de transformaciones.

    Implementación en Python

    La biblioteca SciPy incluye una implementación de Box-Cox.

    from scipy.stats import boxcox
    
    datos_transformados, lambda_optimo = boxcox(df["ventas"])
    
    print(lambda_optimo)
    

    El algoritmo devuelve:

    • Los datos transformados.
    • El valor óptimo de λ encontrado.

    Visualización Antes y Después

    import matplotlib.pyplot as plt
    from scipy.stats import boxcox
    
    plt.hist(df["ventas"])
    plt.title("Distribución Original")
    plt.show()
    
    ventas_boxcox, _ = boxcox(df["ventas"])
    
    plt.hist(ventas_boxcox)
    plt.title("Distribución Box-Cox")
    plt.show()
    

    Esto permite observar visualmente la reducción de la asimetría.

    Utilización con Scikit-Learn

    from sklearn.preprocessing import PowerTransformer
    
    pt = PowerTransformer(method="box-cox")
    
    ventas_transformadas = pt.fit_transform(df[["ventas"]])
    

    Este enfoque resulta especialmente útil dentro de pipelines de Machine Learning.

    Buenas Prácticas

    Antes de aplicar Box-Cox:

    • Analizar la distribución mediante histogramas.
    • Medir la asimetría (skewness).
    • Verificar que todos los valores sean positivos.

    Después de la transformación:

    • Comparar distribuciones.
    • Revisar la reducción de la asimetría.
    • Evaluar el impacto sobre el modelo.

    Conclusión

    La transformación Box-Cox es una de las técnicas más potentes para el tratamiento de datos sesgados. Su principal ventaja consiste en buscar automáticamente la transformación que mejor aproxima una variable a una distribución normal, permitiendo reducir la asimetría, estabilizar la varianza y mejorar el comportamiento de numerosos métodos estadísticos y modelos de Machine Learning. Aunque su uso está limitado a variables con valores positivos, sigue siendo una herramienta fundamental dentro del conjunto de técnicas de transformación de datos utilizadas durante la preparación de datos en proyectos de Ciencia de Datos.

  • Transformación de Raíz Cuadrada

    La transformación de raíz cuadrada es una técnica de preprocesamiento utilizada para modificar la distribución de una variable numérica con el objetivo de reducir la asimetría, disminuir el impacto de los valores extremos y facilitar el análisis estadístico. Aunque suele recibir menos atención que la transformación logarítmica, constituye una alternativa muy útil cuando la asimetría es moderada o cuando los datos contienen valores iguales a cero.

    Dentro del proceso de preparación de datos, esta técnica forma parte de las transformaciones destinadas a corregir distribuciones sesgadas antes de aplicar algoritmos de Machine Learning o realizar análisis estadísticos.

    ¿Qué es una transformación de raíz cuadrada?

    La transformación consiste en sustituir cada valor de una variable por su raíz cuadrada. La fórmula es:

    $$Y=\sqr{X}$$

    Donde:

    • \( X \) es el valor original.
    • \( Y \) es el valor transformado.

    Esta operación reduce progresivamente las diferencias entre los valores más grandes sin alterar el orden de los datos.

    ¿Por qué utilizar una transformación de raíz cuadrada?

    Muchos conjuntos de datos presentan distribuciones asimétricas hacia la derecha. Por ejemplo:

    ventas = [1, 2, 3, 5, 25]

    El valor 25 se encuentra muy alejado del resto y puede influir excesivamente en algunos análisis. Aplicando la raíz cuadrada obtenemos:

    ventas_sqr = [1.00, 1.41, 1.73, 2.24, 5.00]

    Observamos que la diferencia entre los valores sigue existiendo, pero es considerablemente menor.

    Diferencia Entre Raíz Cuadrada y Logaritmo

    Ambas transformaciones buscan reducir la asimetría, pero lo hacen con distinta intensidad.

    • Transformación Logarítmica: es más agresiva, reduce fuertemente los valores grandes y es adecuada para asimetrías elevadas.
    • Transformación de Raíz Cuadrada: es menos agresiva, mantiene mejor las diferencias originales y es adecuada para asimetrías moderadas.

    ¿Cuándo Utilizarla?

    La transformación de raíz cuadrada suele ser una buena elección cuando existe una asimetría positiva moderada. Una ventaja importante frente al logaritmo es que puede aplicarse directamente sobre variables que contienen valores iguales a cero.

    En cambio, no queremos una transformación demasiado agresiva, si el logaritmo altera excesivamente la distribución, la raíz cuadrada puede ofrecer un equilibrio mejor.

    Ventajas de la Transformación de Raíz Cuadrada

    • Reduce la asimetría: ayuda a equilibrar distribuciones con sesgo positivo.
    • Admite valores cero: no requiere transformaciones adicionales como ocurre con el logaritmo.
    • Menor impacto sobre la interpretación: los datos transformados conservan mejor la relación con la escala original.
    • Reduce parcialmente los outliers: los valores extremos siguen existiendo, pero su influencia disminuye.

    Limitaciones

    • No funciona con valores negativos: la raíz cuadrada real no está definida para números negativos. No puede calcularse dentro de los números reales.
    • Menos efectiva para asimetrías extremas: Cuando la distribución está muy sesgada, transformaciones como la logarítmica,
    • Box-Cox o Yeo-Johnson suelen ofrecer mejores resultados.
    • No garantiza una distribución normal: aunque reduce la asimetría, no siempre produce una distribución perfectamente normal.

    Comparación de Transformaciones para Datos Sesgados

    TransformaciónIntensidadAdmite CerosAdmite Negativos
    LogarítmicaAltaNoNo
    Raíz CuadradaMediaNo
    Raíz CúbicaBaja
    Box-CoxAltaNoNo
    Yeo-JohnsonAlta

    Implementación en Python

    Utilizando NumPy

    import numpy as np
    
    df["ventas_sqrt"] = np.sqrt(df["ventas"])
    

    Aplicando a una Serie

    import pandas as pd
    import numpy as np
    
    ventas = pd.Series([1, 4, 9, 16, 25])
    
    ventas_sqrt = np.sqrt(ventas)
    
    print(ventas_sqrt)
    
    0    1.0
    1    2.0
    2    3.0
    3    4.0
    4    5.0
    dtype: float64

    Comparando Distribuciones

    import matplotlib.pyplot as plt
    import numpy as np
    
    df["ventas"].hist()
    
    plt.title("Distribución Original")
    plt.show()
    
    np.sqrt(df["ventas"]).hist()
    
    plt.title("Distribución Transformada")
    plt.show()
    

    Esta visualización permite comprobar si la transformación ha reducido efectivamente la asimetría.

    Relación con Machine Learning

    La transformación de raíz cuadrada suele aplicarse durante la fase de Transformación de Datos antes del entrenamiento de modelos. Puede resultar útil en algoritmos sensibles a la distribución de los datos, como:

    • Regresión Lineal.
    • Regresión Ridge.
    • Regresión Lasso.
    • Support Vector Machines.
    • Redes Neuronales.

    Su objetivo no es mejorar directamente la precisión del modelo, sino proporcionar una representación de los datos más adecuada para el aprendizaje.