Tengo un problema de regresión lineal. En resumen, tengo un conjunto de datos, lo dividí en dos subconjuntos. Un subconjunto se usa para encontrar la regresión lineal (subconjunto de entrenamiento), otro se usa para evaluarlo (subconjunto de evaluación). Mi pregunta es ¿cómo evaluar el resultado de esta regresión lineal después de aplicarlo al subconjunto de datos de evaluación?
Aquí están los detalles:
En el subconjunto de entrenamiento, hago regresión lineal: , dónde es verdad (también conocida como objetivo), Es una variable independiente. Entonces encontré y . ( y se dan en el subconjunto de entrenamiento).
Ahora, usando y encontrado arriba del subconjunto de entrenamiento, aplíquelo al subconjunto de evaluación, encontré . En otras palabras, estos se encuentran de regresión lineal con . Ahora, además de, Tambien tengo del conjunto de evaluación. ¿Cómo evalúo mi resultado (cuánto difiere de )? ¿Algún modelo matemático general para hacer eso? Tiene que ser algún tipo de modelo / fórmula matemática. Puedo pensar en diferentes formas de hacerlo, pero todas son un poco ad-hoc o simples, pero esto es para un trabajo científico, por lo que desafortunadamente no se pueden usar aquí cosas que suenan ad-hoc.
¿Alguna idea?
fuente
Respuestas:
Estoy de acuerdo con @Octern en que rara vez se ve a las personas que usan divisiones de tren / prueba (o incluso cosas como la validación cruzada) para modelos lineales. El sobreajuste no es (casi) ciertamente un problema con un modelo muy simple como este.
Si desea tener una idea de la "calidad" de su modelo, puede informar los intervalos de confianza (o sus equivalentes bayesianos) alrededor de sus coeficientes de regresión. Hay varias formas de hacerlo. Si sabe / puede asumir que sus errores se distribuyen normalmente, hay una fórmula simple (y los paquetes de análisis de datos más populares le darán estos valores). Otra alternativa popular es calcularlos mediante remuestreo (p. Ej., Bootstrapping o jackknifing), lo que hace menos suposiciones sobre la distribución de errores. En cualquier caso, usaría el conjunto de datos completo para el cálculo.
fuente
si realmente está bien con su modelo de entrenamiento lineal y desea saber qué tan bien podría predecir los datos de su prueba, entonces todo lo que tendría que hacer es usar la fórmula del modelo lineal que ya tiene e incluir los coeficientes estimados a (= intercepción) yb (coeficiente de regresión, también llamado pendiente) resultante del primer modelo.
debería verse como y = a + b * X aquí algunos números imaginarios ... y = 2 + 0.5 * X
¿Qué software estás usando? ¿Estás usando R? si es así, puede usar la función predict.lm () y aplicarla en su segundo conjunto de datos.
fuente
Si bien esto depende en gran medida de cuáles son exactamente sus objetivos, una forma simple y estándar de hacerlo sería medir el error cuadrático medio (MSE) . Entonces, si tienes tu conjunto de datos de pruebare que consisten en pares de entrada / salida, D ={(X1,y1) , (X2,y2) , ... , (Xnorte,ynorte) } y tus parámetros una y si , entonces el MSE se puede calcular como
Esta es probablemente una forma sensata de medir su error también, ya que es probable que este sea el criterio que utilizó para encontrar los parámetros.una y si . Si desea tener una mejor idea de qué tan bien se generalizan sus parámetros estimados, debe considerar algo como la validación cruzada .
fuente