Calculer l'incertitude de la pente de régression linéaire en fonction de l'incertitude des données

12

Comment calculer l'incertitude de la pente de régression linéaire en fonction de l'incertitude des données (éventuellement dans Excel / Mathematica)?

Exemple: Exemple de tracé Ayons des points de données (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16), mais chaque valeur y a une incertitude de 4. La plupart des fonctions que j'ai trouvées calculaient l'incertitude à 0, car les points correspondent parfaitement à la fonction y = 2x. Mais, comme le montre l'image, y = x / 2 correspond également aux points. C'est un exemple exagéré, mais j'espère qu'il montre ce dont j'ai besoin.

EDIT: Si j'essaie d'expliquer un peu plus, alors que chaque point dans l'exemple a une certaine valeur de y, nous prétendons que nous ne savons pas si c'est vrai. Par exemple, le premier point (0,0) pourrait en fait être (0,6) ou (0, -6) ou n'importe quoi entre les deux. Je demande s'il y a un algorithme dans l'un des problèmes populaires qui en tient compte. Dans l'exemple, les points (0,6), (1,6,5), (2,7), (3,7,5), (4,8), ... (8, 10) tombent toujours dans la plage d'incertitude, ils peuvent donc être les bons points et la ligne qui relie ces points a une équation: y = x / 2 + 6, tandis que l'équation que nous obtenons en ne tenant pas compte des incertitudes a l'équation: y = 2x + 0. Donc, l'incertitude de k est 1,5 et de n est 6.

TL; DR: Dans l'image, il y a une ligne y = 2x qui est calculée en utilisant l'ajustement le moins carré et elle correspond parfaitement aux données. J'essaie de savoir dans quelle mesure k et n dans y = kx + n peuvent changer, mais toujours en adéquation avec les données si nous connaissons l'incertitude des valeurs de y. Dans mon exemple, l'incertitude de k est de 1,5 et dans n de 6. Dans l'image, il y a la «meilleure» ligne d'ajustement et une ligne qui correspond à peine aux points.

bedanec
la source
1
x
Je pose principalement des questions sur l'incertitude des y. Mais je serais heureux si la solution prenait également en compte l'incertitude des x. En règle générale, ils ne sont pas constants, mais une solution qui les oblige à être constants conviendrait également.J'ai essayé de les ajuster avec linearfit, fit, findfit dans mathématique et linest (et une fonction personnalisée dans laquelle j'ai trouvé que les valeurs sont pondérées par les incertitudes) dans exceller.
bedanec
Pouvez-vous expliquer aussi clairement que possible comment les valeurs d '"incertitude" seraient liées à ce qui se passerait dans le cas, par exemple, d'une répétition de l'expérience? c'est-à-dire, que représentent précisément ces incertitudes?
Glen_b -Reinstate Monica
Err par exemple si y est le poids, mais la balance numérique n'est précise qu'à + -6. (Pas le meilleur exemple avec ces valeurs, mais par exemple lorsque l'échelle indique 255g, cela pourrait être 255,0 ou 255,9)
bedanec
Pourriez-vous expliquer comment cela se rapporterait à la première phrase de ma question, s'il vous plaît?
Glen_b -Reinstate Monica

Réponses:

8

kny=kx+ny

y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

yiyi(k,n)204(k2)2+72n(k2)+9n2=152.271

entrez la description de l'image ici

Ray Koopman
la source
4

J'ai fait un échantillonnage direct naïf avec ce code 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]])

et j'ai obtenu ceci: Histogramme des résultats d'échantillonnage direct

Bien sûr, vous pouvez extraire le Ppour les données souhaitées ou modifier les distributions d'incertitude.

E.Mroz
la source
0

J'étais sur la même chasse avant et je pense que cela peut être un bon point de départ. La fonction macro Excel donne des termes d'ajustement linéaire et leurs incertitudes en fonction des points tabulaires et de l'incertitude pour chaque point dans les deux ordonnées. Peut-être recherchez-vous le document sur lequel il est basé pour décider si vous voulez l'implémenter dans un environnement différent, le modifier, etc. (Il y a un peu de travail effectué pour Mathematica.) 'ai pas ouvert la macro pour voir à quel point elle est bien annotée.

invité sympathique
la source