Wie lineare regression, wobei Fehlerbalken berücksichtigt?

Ich bin in der computer-simulation für ein physisches system von endlicher Größe, und nach dieser mache ich extrapolation auf die unendlich (Thermodynamischen limit). Eine Theorie sagt, dass, sollten die Daten der Waage Linear mit der Systemgröße, so Tue ich die lineare regression.

Die Daten, die ich habe, ist laut, aber für jeden Datenpunkt kann ich abschätzen Fehlerbalken. So, zum Beispiel die Punkte sieht wie folgt aus:

x_list = [0.3333333333333333, 0.2886751345948129, 0.25, 0.23570226039551587, 0.22360679774997896, 0.20412414523193154, 0.2, 0.16666666666666666]
y_list = [0.13250359351851854, 0.12098339583333334, 0.12398501145833334, 0.09152715, 0.11167239583333334, 0.10876248333333333, 0.09814170444444444, 0.08560799305555555]
y_err = [0.003306749165349316, 0.003818446389148108, 0.0056036878203831785, 0.0036635292592592595, 0.0037034897788415424, 0.007576672222222223, 0.002981084130692832, 0.0034913019065973983]

Sagen wir, ich bin versucht, dies in Python.

  1. Erste Weg, den ich kenne, ist:

    m, c, r_value, p_value, std_err = scipy.stats.linregress(x_list, y_list)

    Ich verstehen, das gibt mir Fehlerbalken mit dem Ergebnis, aber diese berücksichtigen nicht die Fehlerbalken der ersten Daten.

  2. Zweite Möglichkeit, die ich kenne, ist:

    m, c = numpy.polynomial.polynomial.polyfit(x_list, y_list, 1, w = [1.0 / ty for ty in y_err], full=False)

Hier verwenden wir die inverse der errorbar für jeden Punkt ein Gewicht, das in der least square-approximation. Also, wenn ein Punkt nicht wirklich zuverlässig und es wird keinen Einfluss auf das Ergebnis einer Partie, die zumutbar ist.

Aber ich kann nicht herausfinden, wie man etwas, das verbindet diese beiden Methoden.

Was ich wirklich will, ist, was zweiten - Methode, Bedeutung, nutzen, regression, wenn jeder Punkt wirkt sich auf das Ergebnis mit unterschiedlichen Gewicht. Aber zur gleichen Zeit ich will wissen wie genau mein Ergebnis ist, das heißt, ich will wissen, was sind die Fehlerbalken der resultierenden Koeffizienten.

Wie kann ich dies tun?

  • Bin ich Missverständnis Sie, oder werden Sie versuchen, zu verwenden die y_err Serie als Gewicht-matrix?
InformationsquelleAutor Vladimir | 2014-01-30
Schreibe einen Kommentar