Ich habe eine Frage, mit der ich jetzt tagelang streite.Berechne die Vertrauensbande der kleinsten Quadrate
Wie berechne ich die (95%) Konfidenzband einer Anpassung?
Anpassungskurven zu den Daten sind die täglich Arbeit eines jeden Physikers - so denke ich, das irgendwo umgesetzt werden sollte - aber ich kann nicht eine Implementierung für diese finde ich auch nicht weiß, wie dies mathematisch zu tun .
Das einzige, was ich gefunden habe, ist seaborn
, die eine gute Arbeit für lineare Least-Square.
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd
x = np.linspace(0,10)
y = 3*np.random.randn(50) + x
data = {'x':x, 'y':y}
frame = pd.DataFrame(data, columns=['x', 'y'])
sns.lmplot('x', 'y', frame, ci=95)
plt.savefig("confidence_band.pdf")
Aber das ist nur lineare Least-Square. Wenn ich z.B. eine Sättigungskurve wie , ich bin geschraubt.
Sicher kann ich die T-Verteilung aus dem Std-Fehler einer Least-Square-Methode wie scipy.optimize.curve_fit
berechnen, aber das ist nicht was ich suche.
Danke für jede Hilfe !!
Leider ist dies derzeit nur in statsmodels für lineare Funktionen zur Verfügung und wird für verallgemeinerte lineare Modelle in der nächsten Version, aber noch nicht für die allgemeinen nichtlineare Funktionen zur Verfügung steht. – user333700