Cómo intervienen las incertezas de cada punto en el ajuste.
Hasta acá el ajuste trataba a todos los puntos por igual. Pero si un punto tiene una barra de error diez veces más chica que otro, no vale lo mismo. Tomarse en serio las barras cambia el resultado, cambia su incerteza, y —sobre todo— habilita una pregunta nueva: ¿el modelo describe los datos dentro de sus incertezas?
χ² = Σ [(yᵢ − f(xᵢ))/σᵢ]² suma los residuos en unidades de barra de error. Si el modelo describe el proceso y las incertezas están bien estimadas, cada término aporta ≈ 1 y χ²red = χ²/ν ≈ 1, con ν = N − (parámetros ajustados).
absolute_sigma=FalseEs el valor por omisión de scipy.optimize.curve_fit y conviene entender su efecto antes de interpretar la matriz de covarianza.
absolute_sigma=False, scipy reescala la matriz de covarianza por
χ²red, es decir supone que tus barras están bien salvo un factor global y lo absorbe.
Consecuencia doble: (1) las incertezas de los parámetros ya no son las que corresponden a tus
incertezas experimentales, y (2) perdés simultáneamente el diagnóstico, porque el ajuste queda
"forzado" a χ²red = 1 por construcción. Si tus σ son incertezas físicas de verdad, la
llamada correcta es curve_fit(f, x, y, sigma=sy, absolute_sigma=True).
Ajustar el modelo más simple posible —una constante, y = c— con pesos 1/σᵢ² da exactamente c = Σwᵢyᵢ/Σwᵢ con Δc = 1/√Σwᵢ. El promedio ponderado es un ajuste por cuadrados mínimos ponderados; no hay que aprenderlo como fórmula suelta.