4 votos

Validación cruzada y selección de características de una regresión multivariante

He estado intentando crear un modelo de regresión multivariante para ajustar mis datos de entrenamiento a la predicción de un valor. He puesto mis datos en una matriz X con m x n donde m es el número de instancias y n el número de características/predictores. Mi vector de etiquetas es entonces m x 1 . Este es mi código para predecir los valores theta, o parámetros.

theta_matrix =  pinv(X'*X)*X'*y_label;

Ahora quiero deslizar los datos en tren y en prueba, e investigando he encontrado que cross-validation en 10 veces puede ser una buena opción. Si lo hago así, ¿no me daría 10 conjuntos de parámetros theta? ¿Qué elegir entonces?

Y sobre la selección de características, he descubierto que stepwise puede ser una buena opción, pero creo que no tiene en cuenta que las características pueden estar correlacionadas. ¿Alguna alternativa?

4voto

noah Puntos 61

Puede utilizar la validación cruzada para saber cómo se comportaría su modelo con datos completamente nuevos o "no vistos".

También debe utilizar la validación cruzada para seleccionar las características que se van a utilizar: pruebe la selección secuencial de características ( sequentialfs en Matlab) o Lasso ( lasso en Matlab). cvpartition en Matlab le permitirá configurar sus particiones de prueba/entrenamiento para la validación cruzada, sequentialfs tomará un objeto de partición como entrada.

Una vez que tenga una idea de cómo se comportará su modelo con los datos no vistos. Puede decidir qué características utilizar y generar su modelo "final" ejecutando la misma rutina en todos los datos disponibles, lo que dará un único conjunto de coeficientes.

Una excelente respuesta sobre un tema similar es aquí

1voto

Tuti Puntos 6

"Y sobre la selección de características, he encontrado que el paso a paso puede ser una buena opción, pero creo que no tiene en cuenta que las características pueden estar correlacionadas. ¿Alguna alternativa?"

La regresión escalonada es una buena manera de hacer la selección de características. Sin embargo, asegúrese de utilizar una métrica que penalice la incorporación de más características. Por ejemplo, la regresión por pasos en sólo $R^2$ puede no ser útil, pero la regresión por pasos en AIC puede ser útil.

En general, elimino las características correlacionadas antes de hacer la regresión por pasos (aunque en teoría la regresión por pasos que utiliza el AIC no debería incluir dos características correlacionadas). Para ello, examino la correlación por pares, pero también la multicolinealidad, en particular VIF .

Por último, en lugar de hacer cualquier selección de características, se puede hacer un análisis de componentes principales u otra técnica de reducción de dimensiones para reducir el número de entradas. Cuando lo he hecho en la práctica, luego utilizo la validación cruzada para elegir cuántas de las dimensiones reducidas utilizar. Por ejemplo, hago $X$ diferentes modelos que se entrenan en $1,2,3,4,...X$ dimensiones inferiores y luego ver cuál es el modelo que mejor funciona en términos de validación cruzada.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X