• 拟合方法数值分析王兵团北京交通大学


    [Class]数值分析.王兵团.北京交通大学.全128讲[48:35:32]_哔哩哔哩_bilibili

    插值一定是单值函数,就是一个插值的点只会对应一个函数值,但是有时候一个数据点会对应2个(函数)值。

    比如测量生产的布料的纤维长度和承受力:

     

    插值就是找自变量和函数之间的函数关系式,可以利用反插值进行做,但是即便是利用反插值的方法,也可能会遇到多值的问题。这样的话,插值就做不了了,因为插值问题的提出,是需要插值节点互异的。

    最重要的是,测量的数据大部分都是含有误差的,用插值的方法做,插值函数一定是过插值点的,插值出来的函数一定会被误差污染,一定也是含有误差的。

    插值指的是插值函数一定要过每一个插值点,现在我不要求插值函数过每一个数据点,那么近似函数和被近似函数之间会有一个残差。

    一般我们会要求残差之和最小。

     

    用残差之和去评判近似函数的好坏好像不是太好,因为残差有正有负假如只是简单的进行求和的话那么正负残差可能会抵消,而实际上残差就在那里,并不是0.

    所以,现在我们让残差加上绝对值最小。

    这个最小很难求的,涉及到:

    1.绝对值的缩放。

    2.不等式问题。

    3.有时求导做不到。

    4.经常把绝对值的问题变成平方的问题。

    注解:

    1.4次方也可以,但是平方的话,比较简单,比较好处理。

    注解:

    1.这个叫做最小二乘逼近法。

    那怎样根据这个最下二乘的原则去找这个近似函数呢?

    p(x)的形式又是怎样的呢?就是说函数模型是怎样的呢?或者说以什么样子的函数模型去对f(x)进行近似呢?

    答:找结构特别好的函数有时候不是特别容易。为了简单方便处理起见还是要找一般的好处理的函数这种函数是什么函数呢?这种函数就是线性函数

    这里的线性函数呀不是指的一般意义上的那种简单的线性函数:

    f(x)=ax+b

    而是指的函数的线性组合的意思.上文提到的线性函数中的线性指的是线性组合意义上的线性。即线性组合的函数。

    已知函数的线性组合构成的函数就是我们要找的函数,这个就是一般的线性模型:

    注解:

    1.它包含的形式更多,可以构成非常多的函数,数也数不完,例如:

    3.函数Φ(x)代表一个函数空间(是一个线性空间·),它是由函数的基Ψ(x)所张成的函数空间。

    注解:

    1.

    span
    英 [spæn] 美 [spæn]
    n.
    跨度;范围;持续时间;包括的种类;(桥或拱的)墩距;跨距;宽度
    vt.
    跨越;横跨;持续;贯穿;包括(广大地区);涵盖(多项内容)

    2.

    实际上是代数里面的线性空间得到的。

    向量就是特殊的函数。

    M看上去很麻烦,实际上就是向量空间推出来的。函数的很多定义其实可以通过向量推出来比如说什么叫做函数线性无关?

    首先什么是向量线性无关呢?实际上向量线性无关和线性相关是非常简单的一件事情。

    如果存在一组不全为0的系数使得下式成立的话那么就是线性相关否则就是线性无关。

    如果是线性相关的话就意味着其中1个向量可以有其余的向量线性表示出来。一表示出来的话就说明这个向量是多余的了,一般会想把多余的向量拿出去这样简单一点。

    线性相关的向量剔除多余的基底,就变成线性无关了。

    把上式换成函数的线性相关和无关的判断的式子:

    为何是恒等?因为这里面的函数式子列不出来,而向量是可以列出来的。

    函数线性相关或者线性无关的判断就是看看存不存在一组系数k使得上式成立。

    第一行的那组基函数是线性无关的还是线性相关的呢?

    也就是说是否存在一组系数k可以使得上式恒等于0呢?答案肯定是不存在的因为次多项式有n个根不是无穷多个根是有限个根,什么样子的多项式有无穷多个根呢?只有0才有无穷多个根,所以不可能存在一组系数k使得上是恒等于0。所以是线性无关的,这样看来,拉格朗日插值的时候,那组基函数就是线性无关的。牛顿插值的那组基函数也是线性无关的,所以才能表示出任意的插值函数。

    拉格朗日插值和牛顿插值的基函数是互相等价的。

    多项式中不同的基底(如拉格朗日插值的基底和牛顿插值的基底)就像是向量空间中不同的基底一样。

    那有么有线性相关的函数呢?

    答:有。

    下面这3个函数就是线性相关的。

     存在一组不全为0的系数1,-1,-1使得上式恒等于0,所以这个3个函数是线性相关的。

    3.经验公式,一般是去除了误差的公式。

     1.

    一般的话,m<n,且m比n小很多。

    m是什么呢?n是什么呢?

    答:n是所提供的数据点的个数。m是拟合的多项式的次数,m是拟合的基函数的个数。

     

    要求出来拟合函数的话就是求上面这个式子的系数。

    2.

    ωk是什么呢?

    答:是权。它的意义是突出说明哪个点更加的重要。加上一个权的话描述的东西会更多一点。

    假如不考虑权的话,那ωk=1.

    3.

    可以看成是一个关于a0, a1一直到am的一个多元函数。权是知道的假如没给的话那么全部取1就行了呀.

    让拟合函数相对原始数据的残差平方和最小的问题就变成了求这个多元函数的极值问题.

    对未知参数求偏导:

    注解:

    1.关于未知数a0,a1,...am线性方程组,为何?

    答:因为这些系数的次数是1次。

    2.法方程的系数矩阵是正定的。

    3.关于未知数a0,a1,...am是线性方程组的推导:

     注解:

    1.最小值为何是存在的呢:

    答:找的拟合函数和原函数正好恒等的话,那么误差平方和的最小值就是0,所以说最小值是存在的。

    2.参数的解是关于权的最小二乘解。

    3.最小二乘法在解没有解的线性方程组的时候经常去用它。没有解的线性方程组就是方程组个数大于未知数的线性方程组的情况。比如说2个未知数,3个方程(线性无关)。

    注解:

    1.φ可以选择三角函数、指数函数、对数函数等函数。

    2.基函数的个数(次数)不能超过4个(4),一般最多用到3次。

    3.往往拟合的点是比较多的,此时函数模型找的是经验公式。

    注解:

    1.拟合函数的基函数不一定是正交的,现在为避免病态,写成正交的。这个正交概念,也是来源于向量空间。

    2.向量正交的话,内积是0,这叫正交。

     3.

    4.怎样找到基底是正交的基函数组呢?

    注解:

    1.每一个方程都是一个解,所以很容易得到最小二乘解。

    2.span={1,x,x2,...xm},这一组基底,它们不是正交的。

    3.对于n个线性无关的向量组,可以通过一定的方法(施密特方法)把它们化成正交的向量组。

    注解:

    1.把向量正交化的技术用到基函数里面了。

    曲线拟合首先要找到一个函数模型,就是M函数类:

     注解:

    1.φ(x)是要求的拟合函数的函数模型,是关于已知函数的线性组合构成的(结构),是那一组基底的线性组合,必须是线性组合,其它组合不行。

    2.基底的一种:M=span(1,x,x2,...,xm).

    注解:

    1.给的不是拉格朗日形式的,而是类似牛顿插值的多项式的。

    2.基函数为何不取正交的?而是一般的?答:次数没超过4,不怕出现法方程系数矩阵病态的现象,不需要使用正交的多项式。

    3.写出函数方程,带入值,再利用matlab对法方程求解得:

     BTPB=

    注解:

    1.函数中基底函数的正交化可以和线性无关的向量组的正交化比对一下。

    2.向量组及它们的正交化:

    给了n个线性无关的向量相当于给了一套标架,这n个线性无关的向量组叫做一套标架,不是正交的向量组也可以建立坐标系用于描述平面或者空间中的点、图形等几何上的东西,但是用不是正交的2个(或者多个)线性无关的向量组描述一个几何图形的时候,就 不是我们常见的东西了,比如描述一个平面上的圆的时候,这个圆看起来可能像椭圆,球的话不是球,是椭球。

    3.

    二维空间还有一种仿射坐标(由不正交的线性无关的向量组构成的)。

    施密特正交化,就是先固定一个轴不变(如固定x轴),让其它的轴与事先被固定的轴垂直。假如有3个线性无关的向量,那第3个轴正交化的手段是让它和前两个正交化好的轴垂直。这就是施密特的想法。

    函数的正交化不是很好看出来,但是仿照向量组的施密特正交化,可以做出正交化的函数。

    注解:

    1.函数的施密特正交化,参照了向量组的施密特正交化,原来是向量的东西,现在变成函数了。

    2.相邻的3个正交函数,有这样的一个关系:

    注解:

    1.20次的拟合,计算机要做1年的时间。

    2.高次拟合的话,才考虑把基底函数正交化的做法。

    上述的题目是明确说求个2次曲线拟合,有时候让求形如。。。形式的曲线。

    φ(x)=a+b*x3

    这相当于告诉你所要拟合曲线的结构。给了拟合曲线的结构下一步要做的就是找到拟合函数的基底:

    φ0=1,φ1=0,φ2=0,φ3=x3,这正确吗?答:不正确。

    φ(x)里面有多少项就有多少个φ(x)

    正确的基底应该是:

    φ0(x)=1φ1(x)=x3

    第2例:

    所谓线性最小二乘拟合,指的是对基底函数的线性组合。基底函数可以不是线性函数。那有没有非线性的最小二乘的情况呢?就是说系数a、b不是像上面那样,对基底函数进行线性组合。答:有。下面的情况就是:

    注解:

    1.非线性最小二乘拟合比较麻烦,可能需要迭代的方法。

    2.对于非线性最小二乘,可以化成线性最小二乘进行解算。

    3.ebx,它能作为我的基函数吗?答:不能。因为参数b不知道,是未知的,基函数都是已知的函数,没有未知参数的函数。

    4.并不是所有非线性模型都是可以转化的。

    例如:

    y=a*xb

    这个函数不是线性模型,因为xb不是已知的,但是还是可以转换成线性模型,然后利用最小二乘求解。

    这就化成了线性模型了,就可以利用线性最小二乘进行求解了。说明,y=a*xb是可转化的。此时的基底是:1,In(x)

    例如:

    y=a*xb-c

    这个不是线性模型,因为不是基函数的线性组合,可以转化吗?

    答:可以。

    这个不好转的,因为Y里面含有参数。在最小二乘中,Y值能算出来的,这里的Y值是算不出来的。

    上面这个也不是线性模型,但是是可以转化成最小二乘线性模型的。

    注解:

    1.原来的最小二乘模型是一元的,现在变成了多元了。

    2.数据表是这样的:

    每个样本都有m个特征(自变量)

    例如,上式的线性模型是含有2个自变量(x,y)的线性模型。

    例题:

    注解: 

    1.药起作用的原理:

    (1)药在身体里面呆一段时间。

    (2)药可以排出去。

    2.假如用插值找这个关系,高次插值,容易出现龙格现象,不稳定。低次插值,是一段一段的,每一段都有一个参数,也不是很好。所以,最好用拟合的方法去找函数关系。拟合的话,公式比较完整,参数比较固定。

    3.很奇怪,很多自然中的现象,问题都跟自然底数e有关系。

    4.函数拟合模型是一个非线性拟合模型,先转变为线性拟合模型再求解。

    注解:

    1.上面这个是最小二乘,是针对的离散的数据进行的最小二乘参数解算,那有没有连续的情形呢?

    2.连续属于数学的理想化的东西,实际上现实生活中不怎么存在。

    3.当最小二乘解决的问题中,点特别稠密的时候,比如1亿个,求和就可以用积分表示了。

    注解:

    1.最佳平方逼近是连续自变量的最小二乘求解问题,只有数学中有用,实际中没有用处。

    2.最佳平方逼近的话,φ(x)是根据图像猜想的经验函数,f(x)也必须知道,不然积分积不出来。积分要是能积出来,f(x)必须已知,但是要是f(x)已知的话,那也没必要进行最小二乘拟合了。

    3.说到逼近的问题,一定是知道原始函数的表达式的,或者说知道原始函数的很多(甚至是无限多)数据点的。

    注解:

    1.在某个区间上拟合函数和原始之间差的最大值达到最小,这个叫做最佳一致逼近。

    2.最佳一致逼近,最佳平方逼近,最佳一次逼近,里面的拟合函数φ(x)都是在某个(由一组线性无关的基底函数)组成的函数空间上的。

    3.一组线性无关的基底函数,比如:

    注解:

    1.所有的积分的问题都可以用∑表示出来。

    注解:

    1.要做最佳平方逼近的话,就要给定3样东西:区间,原始函数,权。

    2.题目要求的是二次平方逼近,那就是说明拟合的函数模型是2次多项式。

    3.求的是最佳平方逼近,说明不是最小二乘的曲线拟合,后者针对的是离散的问题,而最佳平方逼近求的是一个连续的拟合函数。但是方法及步骤和最小二乘拟合的方法是一样的。

    4.法方程中所有的内积都要用前面的内积公式算。

    5.

    6.发现:对于不同的权得到的最佳平方逼近函数不一样。这个不奇怪,因为...

    用的比较多的权函数是:

    这个权函数画出来的话,能看出来在哪个位置对函数影响最大。

    注解:

    1.30°,45°,60°,角度要首先化成弧度。按照°计算就错了。

    2.在计算阶段误差的时候,ε是位于第一个插值点和最后一个插值点的值。在一次插值的时候,ε的范围是Π/4到Π/3之间的。

    3.在计算插值的误差的时候,在一点上的误差和一个区间上的插值误差分别按照下面两个式子进行计算:

     

    注解:

    (1)没给函数f(x)具体形式的,就写f(x)就行了,给了的,就放大后算出来。

    (2)这个最大值一般是估计出来的。

     

    注解:

    (1)这个最大值始终是可以算出来的。

    4.二次插值的误差的数量级是10的-3次方,比一次插值误差小很多。

    考察下面这个函数用插值函数和余项表示的形式:

    注解:

    1.只要适当的选择一些插值点,可以利用这个式子找到f(x)和它的导数之间的关系。因为有了插值点,Ln(x)是可以表示出来的。

     下面是例题:

    注解:

    1.余项中的导数是2阶的时候,考虑插值是1次插值(线性插值)。

    2.f(x)∈C2[a, b]表示f(x)在[a,b]上有二阶连续导数。

    3.f(a)=f(b)=0,相当于是给定了一组数据:

     有数据表,自然而然就想到了插值。

    4.求证的式子的等号左边是一个区间上的最大值,不是某个点的最大值。

    5.(x-a)(x-b)实际上是个抛物线。如果不是抛物线,那怎样求最大值呢?

    答:求驻点(导数值等于0的点),再和端点处的值进行比较。

    小结:

    1.在求函数和它的导数之间的关系的时候可以考虑首先把函数表示成插值函数和余项的和,然后余项的思想去求。

     注解:

    1.这个函数的积分是积不出来的。

    2.2次插值:需要选择3个点。

    注解:

    1.不要算,直接把值带进去。

     

    对于第2个问题,当x为何值时,积分值是0.5?直接让上面的1式等于0.5,然后反求x,这样行吗?

    答:可以是可以,但是很麻烦。相当于是解方程,2次函数还好,但是假如是3次,4次的话,就不太好解了。

    那怎么办?

    答:最好用反插值就去做。反插值的做法就是把数据反过来。把x和y的值互换一下。

    注解:

    1.反插值要求函数的单调的。 

    注解:

    1.函数f[x0,x1,x2,...,xk]是对称函数,对这种函数中的自变量随便调整它们的位置,函数是不变的。

    比如:f(x,y)=f(y,x)吗?答:一般来说是不等的。例如,f(x,y)=tan(x/y),x,y调换位置后,f(y,x)=tan(y/x),自变量调换位置后的函数和自变量调换位置前的函数是不相等的。因此,f(x,y)=tan(x/y)不是对称函数。

    f(x,y)=x2+y2这个函数是对称函数。这是因为:

    f(y,x)=y2+x2结果还是不变的。

    自变量随便调换,函数结果是不变的,这样的函数叫做对称函数。

    对称函数有很好的性质,如求偏导,只需要对一个自变量求偏导,然后对其它自变量求偏导的话,把求过偏导的自变量替换成其它自变量就行了。

    构造一个比较复杂的对称函数是不太容易的,但是如果利用差商的知识,就会比价容易了。

    2.交换等式左边的自变量次序的时候,相当于等式右边的和发生了交换,而加法是满足交换律的。

    等式右边的差商值,只依赖于等式左边的点的集合,不依赖于点的次序。

    下面的差商表来源于:(42条消息) 差商的概念及性质_十年磨一剑-CSDN博客_差商的性质

    3.数学归纳法一般用于证明一个已存在的等式。公式已经有了,现在用归纳法去证明。

    f[x0]=f(x0),0阶差商,相当于是不做差商,不做差商就是函数值。0阶差商不是差商,所有从1阶差商开始证明。f[x0,x1,x2,...,xk]代表函数f(x)的k阶差商。

    4.证明过程参考这个链接:42条消息) 差商的概念及性质_十年磨一剑-CSDN博客_差商的性质

    5.在证明的过程中,假定有k=n时等式成立,解释:对于等式而言,假定对于n+1个点的n阶差商成立,再证明对于n+2个点的n+1阶差商成立就行了。

    6.k阶差商是数据表中函数值的线性组合。

    7.有这个式子,就可以证明差商是对称函数。

    注解:

    1.一提到零点立刻就要想到函数的因子。函数一个零点意味着函数多项式有这个因子。 

    2.a0是最高项的系数,最高项的系数可以写出来的。

     

     

    注解:

    1.相当于是:求x4关于权ρ(x)=1在[-1,1]上的最佳二次平方逼近。

    2.低阶差商可以按照定义算出来,但是高阶差商的话,用定义算就很慢了。可以利用差商和导数之间的关系进行处理。

    f(0,1,2,3,4,5)是5阶差商,f(0,1,2,3,4,5)=1/5!分子是f(x)的5阶导数。

    f(0,1,2,3,4,5,6)=0

    所以,数据特别多的话,可能是1或者0.

  • 相关阅读:
    HTTP content-type
    python3学习--安装OCR识别库tesserocr
    http post get 类库 httphelper
    MD5
    解决python3中cv2读取中文路径的问题
    web api获得Post数据为空的解决办法
    python3项目打包成exe可执行程序
    pip install 使用国内镜像
    win10家庭版组策略安装
    在国企的日子(第七章 转正)
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/15847586.html
Copyright © 2020-2023  润新知