Regresión Local y de Kernel (No Paramétrica)
Este problema se inspiró en una consulta de un cliente sobre dos de nuestras funciones de ajuste de datos no paramétricos: NxLOCREG(.) y NxKREG(.), que se utilizan para la regresión local y la regresión del kernel, respectivamente. El cliente escribió:
Consulta 1:
“Necesito ayuda para comprender las funciones NxLOCREG y NxKREG.
- Para NxLOCREG y NxKREG: si Y es 100 puntos de datos y Alfa = 0,333, ¿significa esto que el algoritmo está analizando los últimos 33 puntos de datos o una distribución cada tercer punto?
- Solo puedo usar hasta polinomio de orden 3 (cúbico). ¡Cualquier cosa mayor regresa como #NUM!. ¿Permiten los algoritmos órdenes superiores?
- No tengo clara la distinción entre NxLOCREG y NxKREG. ¿Podrían darme una breve explicación?”
La función NxLOCREG(.) implementa un algoritmo de regresión localizado: LOESS (o LOWESS), también conocido como el filtro Savitzky-Golay.
La función NxKREG(.) implementa una regresión de mínimos cuadrados ponderados.
Las dos funciones son muy similares, pero NxLOCREG(.) tiene un argumento adicional: Alpha o H, que puede tomar un valor entre cero (exclusivo) y 1 (inclusivo). Como resultado, la función NxLOCREG selecciona los puntos de datos H*N más cercanos, mientras que NxKREG (.) siempre incluye el conjunto de datos completo (es decir, N).
Más detalladamente, dado un valor objetivo X, el procedimiento de regresión del kernel es el siguiente:
- Calcule la distancia entre el valor objetivo y los puntos de datos en la muestra.
- Ordene los puntos de datos según su distancia en orden ascendente.
- Seleccione el conjunto de datos de entrada de regresión:
- (Caso NxKREG) Seleccione los N puntos de datos completos.
- (Caso NxKREG) Seleccione los N puntos de datos completos.
- Calcule los pesos de los puntos de datos seleccionados usando la función Kernel dada.
- Realice el modelo de regresión de mínimos cuadrados ponderados. .
- Calcule el valor de regresión en el valor X.
El procedimiento/algoritmo utiliza los puntos de datos H*N que están más cerca del valor objetivo; por lo que cada valor construirá su propio modelo de regresión con un conjunto de datos (posiblemente) diferente.
Si Alpha = 1.0, manteniendo todos los demás argumentos iguales, las funciones NxKREG(.) y NxLOCREG(.) devolverán resultados idénticos.
Actualmente, las funciones NxLOCREG y NxKREG(.) admiten polinomios de orden hasta 3 (cúbico).
Independientemente de la función kernel de ponderación elegida, necesitamos un valor para el ancho de banda (también conocido como el parámetro de suavizado). NumXL utiliza un método de selección de ancho de banda basado en datos, lo que minimiza el RMSE para la validación cruzada.
En pocas palabras, para un ancho de banda dado, calculamos el valor de regresión para cada punto de datos (usando la validación cruzada de exclusión de uno) y calculamos el RMSE entre los valores de regresión y los valores reales.
Consulta 2:
"Entonces, si tenemos un pico en nuestros datos, es posible que algunos de los puntos del pico no estén en el conjunto de datos de regresión."
Esto dependerá de cómo defina “Spike”. Si Spike es una referencia a un valor atípico (un valor Y grande), este método incluirá puntos de datos con valores atípicos. Aun así, estos puntos de datos pueden ponderarse en función de su distancia euclidiana desde el valor objetivo.
Por otro lado, si Spike es una referencia a un punto de datos remoto a lo largo del dominio x, esos puntos de datos remotos se ponderarán significativamente en la regresión.
Consulta 3:
"Parece que el suavizado de diagramas de dispersión estándar de Excel se basa en una función LOESS. Si quiero calcular los valores intermedios manualmente, ¿qué enfoque tiene la función predeterminada de Excel para producir este suavizado localizado?"
Sí, creemos que Microsoft Excel usa un algoritmo LOESS para generar las líneas suavizadas en el diagrama de dispersión. Puede usar la función NxLOCREG(.), pero no podemos estar seguros de los valores de los parámetros usados, por ejemplo, la función kernel, el orden polinomial o el valor alfa.
Descargue una prueba gratuita de 14 días completamente funcional de NumXL para probar o aplicar estas funciones a sus propios datos. Consulte las secciones Sugerencias y trucos y Ajuste de datos para obtener más artículos que puedan interesarle.
Ejemplos de Archivos
Haga clic en el botón a continuación para descargar el ejemplo de regresión local y de kernel (no paramétrica).