小编str*_*der的帖子

如何使用 scipy.optimize.least_squares 计算标准偏差误差

我将拟合与 optimize.curve_fit 和 optimize.least_squares 进行比较。使用曲线拟合,我将协方差矩阵 pcov 作为输出,我可以通过以下方式计算拟合变量的标准偏差误差:

perr = np.sqrt(np.diag(pcov))
Run Code Online (Sandbox Code Playgroud)

如果我使用least_squares 进行拟合,则不会得到任何协方差矩阵输出,并且无法计算变量的标准偏差误差。

这是我的例子:

#import modules
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from scipy.optimize import least_squares

noise = 0.5
N = 100
t = np.linspace(0, 4*np.pi, N)

# generate data
def generate_data(t, freq, amplitude, phase, offset, noise=0, n_outliers=0, random_state=0):
    #formula for data generation with noise and outliers
    y = np.sin(t * freq + phase) * amplitude + offset
    rnd = np.random.RandomState(random_state)
    error = …
Run Code Online (Sandbox Code Playgroud)

python scipy least-squares

6
推荐指数
2
解决办法
4405
查看次数

标签 统计

least-squares ×1

python ×1

scipy ×1