Formas paramétricas, semi-paramétricas y no paramétricas de los Modelos Aditivos Generalizados

Introducción

En el campo estadístico, los Modelos Aditivos Generalizados (GAM) constituyen una extensión de los modelos lineales generalizados donde la variable respuesta depende linealmente de funciones suaves desconocidas de ciertas variables predictivas, siendo de interés particular la inferencia sobre estas funciones suaves.

Los GAM fueron originalmente desarrollados por Trevor Hastie y Robert Tibshirani[1] para combinar las propiedades de los modelos lineales generalizados con los modelos aditivos. Pueden interpretarse como una generalización discriminativa de modelos generativos bayesianos ingenuos. El modelo relaciona una variable respuesta univariada Y con varias variables predictivas. Se especifica una distribución de familia exponencial para Y, como la normal, binomial o Poisson, junto con una estructura de la forma:

g(E[Y]) = β₀ + f₁(X₁) + f₂(X₂) + ... + fₚ(Xₚ)

donde g es una función de enlace (como la identidad o logarítmica) que conecta el valor esperado de Y con las variables predictivas. Las funciones fᵢ pueden tener formas paramétricas específicas (como polinomios o curvas de regresión sin penalización de una variable) o ser no paramétricas o semi-paramétricas, especific simplemente como "funciones suaves" estimadas mediante métodos no paramétricos.

Composición de funciones

A continuación se presentan brevemente las formas paramétricas, no paramétricas y semi-paramétricas de funciones en los modelos GAM. En estos modelos, la variable respuesta (también conocida como variable dependiente, como el valor en el siguiente punto de tiempo en una serie temporal) se modela como la suma de funciones de varias variables predictivas (como tiempo, factores estacionales, etc.). Cada función correspondiente a una variable predictiva se denota como fᵢ, y puede adoptar diferentes formas:

  1. Forma paramétrica: Pueden ser funciones con parámetros predefinidos, como polinomios. En este caso, la forma de la función está determinada por una serie de parámetros. Por ejemplo, en un polinomio cuadrático, existen tres parámetros (coeficiente del término cuadrático, coeficiente del término lineal y término constante).

Supongamos que deseamos predecir el índice de salud de una persona basándonos en su edad, y asumimos que la relación entre edad e índice de salud puede modelarse mediante un polinomio cuadrático. Entonces, la función correspondiente a la edad podría expresarse como:

f_edad(edad) = α₂·edad² + α₁·edad + α₀

donde α₂, α₁ y α₀ son los coeficientes del polinomio que deben estimarse a partir de los datos.

  1. Forma semi-paramétrica: Imaginemos que estamos modelando el efecto de algún índice ambiental en el índice de salud, considerando al mismo tiempo el efecto estacional. En este escenario, podríamos emplear un enfoque semi-paramétrico. Por ejemplo, podríamos modelar el efecto estacional como una función suave no paramétrica, mientras que el índice ambiental se representa mediante un término lineal:
f_estacional(Estación)  # Efecto estacional no paramétrico, representado mediante función suave
f_ambiental(Índice_Ambiental) = β · Índice_Ambiental  # Modelo lineal paramétrico

De esta manera, el modelo GAM puede combinar funciones tanto no paramétricas como paramétricas para adaptarse a las características particulares de los datos.

  1. Forma no paramétrica: También pueden adoptar una forma no paramétrica, es decir, sin especificar una expresión matemática exacta con parámetros, permitiendo que los datos mismos "cuenten" la forma de la función. En este caso, la función se estima mediante una aproximación suave a los puntos de datos. Métodos comunes incluyen el suavizado por kernel (kernel smoothing) y la regresión local (local regression).

Por ejemplo, si no tenemos suficiente información para假设 una relación específica entre edad e índice de salud, podríamos permitir que los datos determinen la curva de mejor ajuste en lugar de definir previamente una función parametrizada. En este caso, podríamos utilizar un método no paramétrico como los splines suaves (smooth splines) para modelar la relación, sin asumir una forma funcional específica, sino permitiendo que la curva se ajuste lo más posible a los puntos de datos bajo ciertas restricciones de suavidad. Las formas no paramétric通常 involucran parámetros de suavidad ajustables que pueden determinarse durante el entrenamiento del modelo mediante métodos como la validación cruzada.

Un ejemplo más concreto:

Un ejemplo típico del método no paramétrico es el suavizado por kernel (Kernel Smoothing). Primero, comprendamos cómo funciona la estimación no paramétrica mediante un conjunto de datos de dispersión simple.

Supongamos que tenemos un conjunto de datos que contiene un conjunto de variables independientes X (como puntos en el tiempo) y las variables correspondientes Y (como ciertos valores medidos), sin tener una forma predefinida de la relación entre Y y X. El objetivo de la estimación no paramétrica es encontrar una línea de tendencia o una curva suave que se ajuste lo mejor posible a estos puntos de dispersión.

En el siguiente ejemplo de código en Python, utilizaremos un suavizador no paramétrico simple: el suavizado de dispersión ponderada localmente (Locally Weighted Scatterplot Smoothing, LOWESS). No presupondremos la forma de la relación, sino que permitiremos que los datos mismos revelen esta relación.

import numpy as np
import matplotlib.pyplot as plt
from statsmodels.nonparametric.smoothers_lowess import lowess

# Crear un conjunto de datos con una relación no lineal
# Por ejemplo, consideramos Y = cos(X) + ε, donde ε es ruido aleatorio
np.random.seed(42)
X = np.linspace(0, 2 * np.pi, 120)
Y = np.cos(X) + np.random.normal(0, 0.3, len(X))

# Utilizar el método LOWESS para estimar la relación entre Y y X
# El parámetro fracc indica qué proporción de puntos de datos se utilizan para estimar cada valor y localmente
Y_suavizado = lowess(Y, X, frac=0.15)[:, 1]

# Visualizar los datos originales y la curva suavizada LOWESS
plt.scatter(X, Y, label='Datos Originales', color='lightgreen')
plt.plot(X, Y_suavizado, label='LOWESS Suavizado', color='darkblue', linewidth=2)
plt.legend()
plt.title('Estimación No Paramétrica con LOWESS')
plt.show()

En este ejemplo, el algoritmo LOWESS recorre cada valor de X (o una ventana de valores X), y para cada valor, encuentra los puntos circundantes y les asigna pesos según su distancia. Luego, utiliza un método de mínimos cuadrados ponderados para ajustar una línea recta (o curva, dependiendo del grado polinomial dado) en cada pequeña región. La汇总 de estos ajustes locales forma la curva suave general, sin necesidad de presuponer una relación específica entre X e Y.

Es importante destacar que el parámetro de suavizado fracc controla la proporción de puntos de datos considerados en cada ajuste: un valor fracc mayor resulta en una curva más suave (pero podría ignorar algunas características locales); un valor fracc menor permite capturar mejor las características locales de los datos (pero podría ser más susceptible al ruido). Probando diferentes valores de fracc, podemos encontrar un equilibrio adecuado para revelar la relación intrínseca de los datos de manera no paramétrica.

En la práctica, la elección de la forma funcional depende de las características de los datos disponibles y del conocimiento del dominio. Los modelos paramétricos suelen ser más fáciles de interpretar, pero pueden carecer de flexibilidad; mientras que los modelos no paramétricos o semi-paramétricos son más flexibles, pero pueden ser más difíciles de interpretar y podrían requerir más datos para una estimación precisa.

Antecedentes teóricos

Desde la década de 1950 (a través del teorema de representación de Kolmogorov-Arnold), se sabe que cualquier función continua multivariable puede expresarse como la suma de funciones univariables:

f(x₁, x₂, ..., xₙ) = g₁(φ₁(x₁)) + g₂(φ₂(x₂)) + ... + gₙ(φₙ(xₙ))

donde φᵢ son funciones reales arbitrarias.

Desafortunadamente, aunque el teorema de representación de Kolmogorov-Arnold afirma la existencia de funciones en esta forma, no proporciona un mecanismo para construirlas. Algunas pruebas constructivas existen, pero a menudo requieren funciones altamente complejas (es decir, fractales), por lo que no son adecuadas para métodos de modelado. Por lo tanto, los modelos aditivos generalizados eliminan la suma exterior y requieren que las funciones pertenezcan a clases más simples:

f(x₁, x₂, ..., xₙ) = g₁(x₁) + g₂(x₂) + ... + gₙ(xₙ)

donde cada gᵢ es una función suave y monótona. Al denotar g como la inversa de g, tradicionalmente se escribe como:

g(E[Y]) = β₀ + f₁(x₁) + f₂(x₂) + ... + fₙ(xₙ)

Cuando esta función aproxima el valor esperado de alguna observación, puede ser utilizada en modelos estadísticos. Esta es la fórmula estándar para los modelos aditivos generalizados. Luego se demostró[1] que el algoritmo de refitting siempre convergerá hacia estas fnuciones.

Etiquetas: Modelos Aditivos Generalizados Estadística No Paramétrica Suavizado de Datos Python Estadístico Regresión No Lineal

Publicado el 6-12 01:32