关于最小二乘法

以下代码摘自邹博老师的视频:
def residual(theta,x1,y1):
    mu1 = theta[0]
    sigma1 = theta[1]
    y_hat = np.exp(-(x1-mu1)**2 / (2*sigma1**2)) / (math.sqrt(2*math.pi)*sigma1)
    return y1 - y_hat


if __name__ == "__main__":
    np.set_printoptions(suppress=True)
    data = np.random.randn(1000) * 3 +2
    # print data

    y,x = np.histogram(data,bins=20,density=True)
    print x
    print y
    print u'x的长度' , len(x)

    x = (x[1:] + x[:-1]) / 2
    print "x"
    print x
    print "y"
    print y

    mu =0
    sigma = 1

    t = leastsq(residual,(mu,sigma),args=(x,y))
    mu,sigma = t[0]
    print t
    print u'期望和标准差的估计值:',mu,sigma
x表示数据被成从x[0]到x[1],x[1]到x[2] , y表示各区间的数据分布比例
x = (x[1:] + x[:-1]) / 2  请问这步的意义是什么呢,望好心人解答,谢谢

要回复问题请先登录注册