Estoy intentando implementar un algoritmo que resuelva un problema de regresión lineal con la siguiente función objetivo (LASSO):
$$\min_\beta \frac{1}{2}||y-X\beta||_2^2 + \lambda ||\beta||_1$$
para distintos valores de $\lambda$ bajo varias restricciones que se añaden o cambian de vez en cuando. $y$ y $X$ son mis datos de entrenamiento que han sido estandarizados para tener media 0 y normalizados para tener unidad $l_2$ -norm. Para todos los problemas de regresión que resuelvo (recuerde que añado algunas restricciones de vez en cuando), quiero calcular una fuera de muestra $R^2$ en un conjunto de validación para comparar los modelos. El conjunto de validación también se ha normalizado, aunque yo utilicé la media del conjunto de entrenamiento y el conjunto de validación no estaba normalizado.
Cuando calculo el $R^2$ de la siguiente manera recibo valores superiores a 1:
$$R^2= \frac{\sum_{i=1}^n(\hat{y_i}-\bar{y_i})^2}{\sum_{i=1}^n (y_i - \bar{y_i})^2}$$
Dado que el conjunto de entrenamiento se estandarizó para tener 0 de media y la media del conjunto de entrenamiento se utiliza para el cálculo de $R^2$ el término anterior se simplifica a:
$$R^2= \frac{\sum_{i=1}^n(\hat{y_i})^2}{\sum_{i=1}^n (y_i )^2}$$
Todos mis $R^2$ son superiores a 1 (entre 1,5 y 1,6). Incluso si utilizo el mismo cálculo en el conjunto de entrenamiento, el valor supera 1 (tenga en cuenta que en el caso del conjunto de entrenamiento el denominador es igual a 1, ya que el conjunto de entrenamiento se normalizó para tener unidad $l_2$ -norm.
Tengo la sensación de que algo va totalmente mal aquí, pero no he conseguido encontrar el error. Pensé que tal vez este cálculo estándar de $R^2$ no funciona para mi función objetivo LASSO. Si ese es el caso, ¿cuál sería la forma correcta de calcular $R^2$ ¿Aquí?
0 votos
Posible duplicado con esto stats.stackexchange.com/questions/246347/ ?
0 votos
Al parecer, el usuario tenía una pregunta similar. Sin embargo, no había respuesta sobre cómo calcular $R^2$ en el caso de los modelos penalizados.