Uzyskanie standardowych błędów na dopasowanych parametrach za pomocą metody optimize.leastsq w pythonie

Mam zestaw danych (przemieszczenie vs czas), które dopasowałem do kilku równań za pomocą metody optimize.leastsq. Teraz szukam wartości błędów dla dopasowanych parametrów. Przeglądając dokumentację macierz wyprowadzona jest macierzą jacobijską i muszę ją pomnożyć przez macierz resztkową, aby uzyskać moje wartości. Niestety nie jestem statystykiem, więc tonę nieco w terminologii.

Z tego, co rozumiem, wszystko, czego potrzebuję, to macierz kowariancji, która pasuje do moich dopasowanych parametrów, więc mogę przekroić elementy diagonalne, aby uzyskać standardowy błąd w dopasowanych parametrach. Mam mgliste wspomnienie, że macierz kowariancji jest tym, co jest wyprowadzane z metody optimize.leastsq. Czy to jest poprawne? Jeśli nie, to w jaki sposób uzyskać macierz rezydualną, aby pomnożyć wyprowadzony Jacobian przez macierz kowariancji?

Każda pomoc byłaby bardzo mile widziana. Jestem bardzo nowy w pytonie i dlatego przepraszam, jeśli pytanie okaże się podstawowe.

kod dopasowania jest następujący:

fitfunc = lambda p, t: p[0]+p[1]*np.log(t-p[2])+ p[3]*t # Target function'

errfunc = lambda p, t, y: (fitfunc(p, t) - y)# Distance to the target function

p0 = [ 1,1,1,1] # Initial guess for the parameters


  out = optimize.leastsq(errfunc, p0[:], args=(t, disp,), full_output=1)

Argumenty t i disp są tablicą wartości czasu i przesunięcia (w zasadzie tylko 2 kolumny danych). Zaimportowałem wszystko, co potrzebne w górnej części kodu. Dopasowane wartości i macierz dostarczone przez dane wyjściowe są następujące:

[  7.53847074e-07   1.84931494e-08   3.25102795e+01  -3.28882437e-11]

[[  3.29326356e-01  -7.43957919e-02   8.02246944e+07   2.64522183e-04]
 [ -7.43957919e-02   1.70872763e-02  -1.76477289e+07  -6.35825520e-05]
 [  8.02246944e+07  -1.76477289e+07   2.51023348e+16   5.87705672e+04]
 [  2.64522183e-04  -6.35825520e-05   5.87705672e+04   2.70249488e-07]]

Podejrzewam, że w tej chwili dopasowanie jest trochę podejrzane. Zostanie to potwierdzone, gdy będę mógł wyciągnąć błędy.

questionAnswers(3)

yourAnswerToTheQuestion