Pregunta de función de penalización de cresta en regresión generalizadaNuestro cliente tiene algunas preguntas sobre la regresión generalizada, de acuerdo con su experiencia anterior, quiere usar "Ridge" como función de penalización para construir el modelo porque no quiere perder el efecto de ninguna variable, la "Red elástica" o " La función de penalización Lasso” no se ajusta en este caso.
Sin embargo, el cliente generalmente analiza datos de espectro con muchas variables (algunos datos contienen 4500 variables con 65 filas), tomó mucho tiempo y no puede obtener el resultado cuando uso "Ridge" como función de penalización.
Le envié la pregunta al soporte de JMP, probaron la muestra que di (como archivo adjunto, alrededor de 2400 variables y 65 observaciones) en Máquina con Windows 10, con 16 GB de RAM y 4 núcleos.Y JMP entró en el modo "No responde" durante la primera hora, pero luego produjo una barra de progreso. Tomó mucho tiempo obtener el resultado de la cresta (4,5 horas), incluso cambiar el punto de cuadrícula a 50.
Compare con el método Elastic net o Lasso, que duran entre 2 y 3 minutos, hay una gran diferencia de tiempo entre Elastic net/Lasso y Ridge
Además, el cliente también mencionó que Python puede ejecutar la regresión generalizada con "Ridge" como función de penalización más rápidamente.
¿Es posible acelerar el proceso de ajuste del modelo? ¿Algo así como hacer que la CPU se cargue por completo?¿U otra característica/plataforma adecuada puede ayudar al cliente a obtener un resultado estimado más eficiente?
Adjunté los datos de muestra también. Gracias
Re: Pregunta de función de penalización de cresta en regresión generalizada@Eric_Wang Algunas implementaciones de Ridge Regression en Python requieren que las variables de entrada estén estandarizadas. Estandarizar las variables podría acelerar el tiempo para resolver los coeficientes. No estoy seguro de si la rutina de JMP realiza automáticamente algún tipo de estandarización para las entradas, pero puede experimentar si la estandarización de las ~4500 variables de entrada permite un tiempo de cálculo más rápido.
Re: Pregunta de función de penalización de cresta en regresión generalizadaEsto suena como un caso en el que deberíamos estar usando la red elástica.En casos como este, donde hay muchos más predictores que observaciones, la gran preocupación al hacer la selección de variables es que la colinealidad y la redundancia harán que pasemos por alto los predictores que realmente importan. Si X1 y X2 están altamente correlacionados, es probable que algo como la selección hacia adelante solo elija uno de ellos. La fuerza de la red elástica es que seleccionará grupos de predictores correlacionados, por lo que X1 y X2 en este caso. Supongo que en esta situación "no quiero perderme el efecto de ninguna variable" en realidad significa que no quiero perderme ningún efecto que pueda tener un impacto real. La red elástica está construida para este escenario exacto.
Entonces, ¿por qué lasso y elastic son mucho más rápidos que la regresión de cresta aquí? Debido a que realizan selección de variables, los cálculos de red elástica y lazo solo involucran un puñado de predictores, mientras que la regresión de cresta optimiza las 2400 variables especificadas. También es importante tener en cuenta que tanto el lazo como la red elástica tienden a dominar la regresión de la cresta en términos de interpretación y calidad del ajuste, por lo que hemos hecho esfuerzos para mejorar los tiempos de cálculo para los ajustadores de lazo y red elástica. No hemos podido priorizar mejoras similares para la regresión de crestas.
Re: Pregunta de función de penalización de cresta en regresión generalizadaGracias, Ian, modifiqué y volví a adjuntar los datos de muestra con la secuencia de comandos en el área de la secuencia de comandos, llamada "Ridge test", puede ejecutar la secuencia de comandos para probar.
Re: Pregunta de función de penalización de cresta en regresión generalizadaFWIW, tengo una caja de Windows 10 con 32 núcleos y 128 GB de RAM. No estoy seguro de qué aprovechará JMP, pero estaría feliz de intentar obtener otro punto de referencia si ayuda. Pero los detalles importan (particularmente si se tarda cinco horas en correr...).Entonces, ¿podría publicar el script para hacer la regresión de la cresta, por favor? No lo vi en la tabla.
Re: Pregunta de función de penalización de cresta en regresión generalizadaHola Eric,
Una sugerencia más para que su cliente pruebe es Mínimos cuadrados parciales y, en este caso, es PLS-DA.La plataforma permite la selección de variables, pero utiliza todas las variables en el primer paso del proceso de modelado. Es bastante rápido y podría ser útil para la comparación de modelos para ver qué plataforma de modelado ofrece el mejor ajuste general.

Dicho esto, por favor, estoy con Clay en este caso.He usado Gen Reg para analizar varios conjuntos de datos espectrales y Elastic Net ocupa un lugar destacado en la construcción de un buen modelo predictivo con conjuntos de datos tan amplios.
Atentamente,
Factura
Re: Pregunta de función de penalización de cresta en regresión generalizadaGracias por tu tiempo y ayuda, Ian.
Re: Pregunta de función de penalización de cresta en regresión generalizadaHola @clay_barker , gracias por su respuesta, tengo algunas preguntas que necesito consultar con un experto en GR como usted. Nuestro cliente quiere saber si tiene alguna sugerencia sobre "evitar" usar Ridge como método de penalización, cuando se analizan datos sobre cuántas variables u observaciones.Además, solo tiene curiosidad, ¿sugiere que analicen esos datos de espectro por FDE? Gracias.
Re: Pregunta de función de penalización de cresta en regresión generalizada@ian_jmp , aquí está la pista de soporte técnico, 7613489182 . Puede que encuentres lo que buscas allí.
CC: @AdamMorris , @clay_barker