Calcular la incertidumbre de la pendiente de regresión lineal en función de la incertidumbre de los datos.

12

¿Cómo calcular la incertidumbre de la pendiente de regresión lineal en función de la incertidumbre de los datos (posiblemente en Excel / Mathematica)?

Ejemplo: Parcela de ejemplo tengamos puntos de datos (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16), pero cada valor y tiene una incertidumbre de 4. La mayoría de las funciones que encontré calcularían la incertidumbre como 0, ya que los puntos coinciden perfectamente con la función y = 2x. Pero, como se muestra en la imagen, y = x / 2 también coincide con los puntos. Es un ejemplo exagerado, pero espero que muestre lo que necesito.

EDITAR: Si trato de explicar un poco más, aunque cada punto en el ejemplo tiene un cierto valor de y, pretendemos que no sabemos si es cierto. Por ejemplo, el primer punto (0,0) podría ser (0,6) o (0, -6) o algo intermedio. Estoy preguntando si hay algún algoritmo en alguno de los problemas populares que tenga esto en cuenta. En el ejemplo, los puntos (0,6), (1,6.5), (2,7), (3,7.5), (4,8), ... (8, 10) todavía caen en el rango de incertidumbre, entonces podrían ser los puntos correctos y la línea que conecta esos puntos tiene una ecuación: y = x / 2 + 6, mientras que la ecuación que obtenemos al no factorizar las incertidumbres tiene la ecuación: y = 2x + 0. Entonces la incertidumbre de k es 1,5 y de n es 6.

TL; DR: En la imagen, hay una línea y = 2x que se calcula utilizando el ajuste de mínimos cuadrados y se ajusta perfectamente a los datos. Estoy tratando de encontrar cuánto pueden cambiar k y n en y = kx + n, pero aún así ajustar los datos si conocemos incertidumbre en los valores de y. En mi ejemplo, la incertidumbre de k es 1.5 y en n es 6. En la imagen hay la "mejor" línea de ajuste y una línea que apenas se ajusta a los puntos.

bedanec
fuente
1
Si tiene incertidumbre en sus 's, generalmente no debería usar la regresión lineal ordinaria porque está sesgada (aunque pequeñas incertidumbres resultarán en un pequeño sesgo; tal vez no le importe demasiado). ¿Las incertidumbres en sus y siempre son constantes o varían? ¿Cómo estás ajustando tu línea? x
Glen_b -Reinstate Monica
Principalmente estoy preguntando sobre la incertidumbre en y's. Pero sería feliz si la solución considerara también la incertidumbre en las x. En general, no son constantes, pero una solución que requiera que sean constantes también estaría bien, intenté ajustar con linearfit, fit, findfit en matemática y linest (y una función personalizada que encontré que pondera los valores por incertidumbres) en sobresalir.
bedanec
¿Puede explicar con la mayor claridad posible cómo se relacionarían los valores de "incertidumbre" con lo que sucedería bajo una repetición del experimento? es decir, ¿qué representan precisamente estas incertidumbres?
Glen_b -Reinstate Monica
Err por ejemplo si y es peso, pero la balanza digital solo es precisa a + -6. (No es el mejor ejemplo con estos valores, pero, por ejemplo, cuando la escala muestra 255 g, podría ser 255.0 o 255.9)
bedanec
¿Podría explicar cómo se relacionaría eso con la primera oración de mi pregunta, por favor?
Glen_b -Reinstalar Monica

Respuestas:

8

Respondiendo a "Estoy tratando de encontrar cuánto pueden cambiar y en , pero aún así se ajustan a los datos si conocemos incertidumbre en los valores de ".kny=kx+ny

Si la relación verdadera es lineal y los errores en son variables aleatorias normales independientes con medias cero y desviaciones estándar conocidas, entonces la región de confianza de % para es la elipse para la cual , donde es la desviación estándar del error en , es el número de pares , y es el frágil superior de la distribución de chi-cuadrado con grados de libertad.y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

EDITAR: tomar el error estándar de cada como 3, es decir, tomar las barras de error en el gráfico para representar intervalos de confianza aproximados del 95% para cada separado, la ecuación para el límite de la región de confianza del 95% para es .yiyi(k,n)204(k2)2+72n(k2)+9n2=152.271

ingrese la descripción de la imagen aquí

Ray Koopman
fuente
4

Hice un muestreo directo ingenuo con este código simple en Python:

import random
import numpy as np
import pylab
def uncreg(x, y, xu, yu, N=100000):
    out = np.zeros((N, 2))
    for n in xrange(N):
        tx = [s+random.uniform(-xu, xu) for s in x]
        ty = [s+random.uniform(-yu, yu) for s in y]
        a, b = np.linalg.lstsq(np.vstack([tx, np.ones(len(x))]).T, ty)[0]
        out[n, 0:2] = [a, b]
    return out
if __name__ == "__main__":
    P = uncreg(np.arange(0, 8.01), np.arange(0, 16.01, 2), 0.1, 6.)
    H, xedges, yedges = np.histogram2d(P[:, 0], P[:, 1], bins=(50, 50))
    pylab.imshow(H, interpolation='nearest', origin='low', aspect='auto',
                 extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

y obtuve esto: Histograma de resultados de muestreo directo

Por supuesto, puede extraer los Pdatos que desee o cambiar las distribuciones de incertidumbre.

E.Mroz
fuente
0

Estaba en la misma cacería antes y creo que este puede ser un lugar útil para comenzar. La función macro de Excel proporciona términos de ajuste lineal y sus incertidumbres basadas en puntos tabulares e incertidumbre para cada punto en ambas ordenadas. Tal vez busque el documento en el que se basa para decidir si desea implementarlo en un entorno diferente, modificarlo, etc. (Se han realizado algunos trabajos preliminares para Mathematica). Parece tener una buena documentación de referencia en la superficie pero refugio. No abrí la macro para ver qué tan bien anotada está.

invitado comprensivo
fuente