Hay varias cuestiones que se me ocurren, tenga en cuenta que no son mutuamente excluyentes y que pueden reforzarse mutuamente:
- Cuestiones relativas a los grados de libertad
Esta es la cuestión más importante, creo. La regresión de 2.000 variables sobre 3.000 observaciones le da unas 1,5 observaciones por variable para estimar sus efectos. Una referencia común en este sentido es el libro Regression Modeling Strategies de Frank Harrell, donde el autor sugiere unas 15 observaciones por variable para obtener resultados razonables. Así que en su caso necesitaría unas 10 veces más observaciones.
Esta podría ser una de las razones por las que los métodos basados en árboles que mencionas lo hacen mejor. No utilizan necesariamente todas las variables. Sólo las que dan lugar a una división. Si se observan los resultados basados en el árbol, se puede ver si se utilizaron sólo algunas variables (importancia de las variables) y eso puede dar pistas.
- Colinealidad
En una regresión lineal, no se pueden introducir 2.000 variables sin más (ni en una muestra tan pequeña ni en muestras más grandes) y esperar que todo salga bien. ¿Cómo son las correlaciones entre las variables? Me sorprende que esto haya funcionado en primer lugar. ¿Quizás sklearn deja de lado las variables colineales por defecto? Aunque haya suficiente información para la estimación, los coeficientes no serán correctos (es decir, estarán sesgados) y los resultados serán pobres. OLS no podrá atribuir el tamaño correcto del efecto a las variables si están muy correlacionadas
- Distribución de las variables en el conjunto de entrenamiento y prueba y/o valores atípicos
Si divide su conjunto de datos de forma aleatoria, esto no debería ser un problema, pero si no, los coeficientes estimados del conjunto de entrenamiento podrían estar muy alejados de los verdaderos efectos y producir predicciones no válidas para el conjunto de prueba. Recuerde que OLS es un estimador de varianza relativamente alto (comparado con, por ejemplo, los bosques aleatorios), por lo que los rangos de valores no vistos podrían producir resultados extraños. Aquí también entran en juego los valores atípicos.
Más información sobre lo que has hecho podría llevar a una respuesta más centrada. Por ejemplo, el rango de predicción que mencionas... ¿es generalmente malo, o hay algunos errores extremos pero el resto está bien? En cualquier caso, parece razonable realizar una selección de variables o una reducción de la dimensionalidad antes de aplicar el método OLS, teniendo en cuenta el tamaño de la muestra y de las características.