¿Cómo incorporar la incertidumbre de los coeficientes del modelo en el intervalo de predicción de una regresión lineal múltiple?

Estoy lidiando con el modelado de pequeños conjuntos de datos de física experimental (específicamente la pegajosidad de los compuestos de pegamento). Como la mayoría del trabajo experimental no genera miles de muestras, sino un puñado, necesito ser inventivo en cómo manejar esta pequeña cantidad de conjuntos de datos (digamos 10-20). En este punto, tengo un modelo-marco (ver regresión a continuación en PSS) que puede manejar esto bastante bien.

Sin embargo, para tener una mejor idea de la precisión de mis predicciones, quiero tener una barra de error en mis valores predichos, esto para verificar qué tan bien mis predicciones predicen nuevos experimentos. Como este trabajo es de naturaleza numérica, la barra de error se originará en el modelo teórico subyacente, ¿cómo se propagan estos errores (es decir, el análisis de errores como se acostumbra en la física experimental)

En aras de la simplicidad, supongamos que estoy tratando con un modelo de regresión lineal múltiple, digamos (en realidad habrá muchos más términos):

(1) y = β 0 + β 1 X 1 + β 2 X 2
Lo que estoy buscando es una forma algebraica de calcular (numéricamente) las barras de error (en realidad, es el intervalo de predicción (PI) o el intervalo de confianza (CI), ya que ambos están relacionados). En la literatura estadística, hay referencias a tal problema y ejemplos de cómo se pueden calcular el PI y el IC. Sin embargo, estos sólo consideran la variabilidad de la X 's. El PI y el CI se relacionan entonces con (cf. pregunta 147242 ):
(2) V ^ F = s 2 X 0 ( X T X ) 1 X 0 T + s 2

En contraste con estos, cada uno de los coeficientes de mi modelo [ver: PSS a continuación] ( β 0 , β 1 y β 2 ) en este caso tienen una barra de error (extraído mediante bootstrapping de una distribución, siendo las distribuciones de naturaleza numérica no analítica, y las distribuciones son específicas para cada uno de los tres coeficientes). ¿Hay alguna manera de incorporar la incertidumbre de la β i 's (cq las "barras de error") en el cálculo del PI (y CI).

En pocas palabras, ¿cómo puede la ecuación

(3) V ^ F = s 2 X 0 ( X T X ) 1 X 0 T + s 2
modificarse para incorporar también el hecho de que los coeficientes mismos son una media de una distribución.

(PD: Uno podría crear un conjunto de varias instancias modelo con el β i extraídas de sus respectivas distribuciones, y en base a la distribución de las obtenidas y 0 calcular el IC de la y 0 , pero esto no es realmente eficiente desde el punto de vista computacional y trae muchos otros problemas que me gustaría evitar).

(PPS: El modelo de regresión presentado no es el resultado de una regresión directa hacia un solo conjunto de datos, sino que se construye de la siguiente manera:

  1. Cree un conjunto de N conjuntos de datos.
  2. En cada conjunto de datos, una regresión da lugar a un modelo lineal como se indica en la publicación anterior. Esto da lugar a N valores para cada uno de los coeficientes β .
  3. Se calcula la media de cada uno de los tres conjuntos.
  4. Estos tres coeficientes medios son los coeficientes del modelo presentado anteriormente.
  5. El objetivo aquí: encontrar el intervalo de predicción para el modelo promediado anterior teniendo en cuenta el hecho de que los coeficientes β se calculan a partir de distribuciones numéricas).
Esta pregunta probablemente debería publicarse aquí: stats.stackexchange.com
Lo publiqué allí esta mañana, pero se cerró casi de inmediato porque de alguna manera no entienden el punto que realmente estoy preguntando. :'( Debido a que este es el tipo de pregunta que proviene naturalmente de un fondo de física (experimental), esperaba obtener más ayuda aquí ( stats.stackexchange.com/q/457861 )
Volver a publicar una pregunta en el foro equivocado, porque un experto (como whuber) señaló que la pregunta no tiene suficiente enfoque es probablemente la estrategia incorrecta.
El análisis de errores es, hasta donde yo sé, un tema importante en la física experimental. Esta es una aplicación práctica (que, debido al contexto de los experimentos in-silico, también es adecuada para un foro de estadísticas). Estoy aquí para encontrar una respuesta. Si la respuesta es: "No hay nadie que sepa la respuesta", o "Esta pregunta no tiene respuesta, porque..." Yo también seré feliz.
Voto para cerrar esta pregunta como fuera de tema porque no parece tratarse de física.
Meta publicación sobre el cierre de esta pregunta.
Eliminé una serie de comentarios que intentaban responder la pregunta y/o las respuestas a ellos. Tenga en cuenta que los comentarios deben usarse para sugerir mejoras y solicitar aclaraciones sobre la pregunta, no para responder.
¿Alguna vez obtuvo una respuesta a esta pregunta, ya sea en algún lugar de la red de StackExchange o en otro lugar?
Esto es tan bueno como se puso.
Este problema es difícil, pero se ha encontrado antes. Consulte el siguiente enlace para comenzar a resolver el problema: asq.org/quality-resources/design-of-experiments

Respuestas (3)

No entiendo totalmente la publicación que vinculaste, parece que están asumiendo implícitamente que tienen un modelo de cómo X 0 se genera, lo cual no es cierto en el caso genérico... Sin embargo, si entiendo su pregunta, la solución más genérica y simple para lograr lo que desea es arrancar sus intervalos de predicción . La idea básica es utilizar cada uno de sus norte conjuntos de datos para producir un vector β , luego apila tu β en una matriz

B = [ β 1 β 2 β norte ] .

Ahora su distribución de salidas es B X 0 , y puede hacer estadísticas sobre los elementos de ese vector presentan intervalos de confianza.

La suposición no está implícita ya que es una regresión lineal, que se realiza de acuerdo con un algoritmo dado. El hecho de que use una regresión lineal en un conjunto para producir una ecuación de la misma forma explícita hace que esto sea un poco complicado. Por un lado, creo que necesita incorporar el error del modelo de regresión lineal, y al mismo tiempo necesito las barras de error en los coeficientes obtenidos del conjunto.
El arranque sugerido es una idea válida (cf. el PS de mi publicación). Sin embargo, como ya expliqué, esto es bastante ineficiente ya que necesita realizar un gran conjunto de predicciones y debe realizar un seguimiento del conjunto de modelos.
Si solo tienes la distribución de β , entonces dado que se trata de una regresión lineal múltiple, la varianza de la salida sobre todo β es solo
σ i 2 X i 2 ,
dónde X i son la entrada en σ i 2 es la varianza de la i parámetro de β sobre el norte regresores Entonces puedes calcular la varianza de cada columna de B y úselo para darle la varianza de su salida en solo dos pasos en lugar de norte . Sin embargo, esto solo funciona para la regresión lineal y no te da percentiles, que es lo que querías.
eso se ve interesante gracias

Este es un problema que está esencialmente hecho a medida para el análisis bayesiano. El resultado de un análisis bayesiano es la distribución conjunta de todos los coeficientes de su modelo. Por lo tanto, puede simular muestras a partir de los datos pronosticados extrayendo primero una muestra de los coeficientes del modelo y luego usando esos coeficientes del modelo para extraer una muestra de los datos. Esto se denomina "distribución predictiva posterior". Se usa comúnmente en el análisis bayesiano para evaluar la validez del modelo. Si su modelo se aproxima razonablemente a su proceso de generación de datos, entonces sus datos reales deberían ser razonablemente similares a sus datos pronosticados posteriormente.

Recomiendo usar el paquete rstanarm en R. En mi opinión, incluso si no sabe R, vale la pena aprenderlo solo para usar este paquete.

https://mc-stan.org/rstanarm/

Eso probablemente funcione en un conjunto de datos razonable, pero existen algunas limitaciones: (1) debe implementarse dentro de un marco de Python existente para que R-libs esté fuera de discusión y (2) De hecho, hay muchas maneras en las que puede generar conjuntos de predicciones y continuar a partir de eso, pero esa es la ruta ineficiente que deseo evitar. Debería ser un cálculo de un solo punto en su lugar.
También está PyStan, que está estrechamente relacionado. De todos modos, como quiera con respecto a los cálculos. Creo que las estadísticas bayesianas son el enfoque correcto para este tipo de problema, pero es su proyecto
Gracias por la referencia. Lo miraré.

No debes ensuciar tu cerebro con estadísticas. Hay Mentiras, Grandes Mentiras, y hay Estadísticas.

Debes trabajar en tu tarea directa, cuál es la causalidad de los efectos que obtienes en tu trabajo.

Todos conocemos los hechos de la "correlación espuria". Correlación no es causalidad. La Copa Stanley está correlacionada con las ventas de Staples[1]. ¿Así que lo que? Nada.

No entiendo por qué necesita la regresión lineal múltiple, que es increíblemente defectuosa debido a las inconsistencias teóricas internas . Principalmente, no hay forma de que pueda usar ningún resultado de ninguna "regresión" como prueba de una fuerte causalidad. Pero la regresión de múltiples variables mixtas ni siquiera le permite encontrar una causalidad débil. ¿Sabes qué es la heterocedasticidad? [2]

Es por lo que se otorgó el Premio Nobel de 2003. Trabaja en física, no en estadísticas. Tienes a Robert Engle para lo segundo.

Acerca de las barras de error que necesita. Dibuje barras de error en papel con el tamaño que considere correcto. Eres científico. Estos son tus bares , no los de otra persona. Inserte algo de ruido dentro de su línea de señal experimental y concluya los tamaños de error que obtiene.

[1] http://tylervigen.com/view_correlation?id=28910

[2] https://en.wikipedia.org/wiki/Heteroscedasticidad

Estamos tratando con un modelo de conjunto dentro del contexto de ML, y aplicado a un pequeño conjunto de datos del mundo real (es decir, sin curva/distribución agradable/... solo datos numéricos). Y no estamos buscando una prueba de causalidad fuerte o débil, solo un modelo que se ajuste a los datos.