Dans Scipy comment et pourquoi curve_fit calculer la covariance des estimations des paramètres

J'ai été en utilisant scipy.optimize.leastsq pour s'adapter à certaines données. J'aimerais obtenir des intervalles de confiance de ces estimations, donc, je regarde dans le cov_x de sortie, mais la documentation ne précise pas ce que c'est et comment obtenir la matrice de covariance pour mes paramètres de cette.

Tout d'abord, il dit que c'est un Jacobien, mais dans le notes il dit aussi que "cov_x est un Jacobien approximation de la Hessienne" de sorte qu'il n'est pas réellement un Jacobien mais un de Hesse en utilisant une approximation de la Jacobienne. Laquelle de ces affirmations est correcte?

Deuxièmement, cette phrase m'est déroutant:

Cette matrice doit être multiplié par la variance résiduelle pour obtenir la covariance des estimations des paramètres – voir curve_fit.

J'ai en effet aller regarder le code source pour curve_fit où ils n':

s_sq = (func(popt, *args)**2).sum()/(len(ydata)-len(p0))
pcov = pcov * s_sq

qui correspond à la multiplication des cov_x par s_sq mais je ne trouve pas cette équation dans toute référence. Quelqu'un peut m'expliquer pourquoi cette équation est correcte?
Mon intuition me dit qu'il devrait être dans l'autre sens depuis cov_x est censé être un dérivé (Jacobien ou de Hesse) alors que je pensais:
cov_x * covariance(parameters) = sum of errors(residuals)sigma(parameters) est la chose que je veux.

Comment puis-je connecter la chose curve_fit est en train de faire avec ce que je vois à, par exemple. wikipedia:
http://en.wikipedia.org/wiki/Propagation_of_uncertainty#Non-linear_combinations

InformationsquelleAutor HansHarhoff | 2013-02-13