• 数学建模-插值算法、拟合算法


    一维插值问题:构造函数 y=f(x),使得f(x)过所有节点,求f(x^{*})即可得到y*

    插值和拟合的区别

    插值算法中,得到的多项式f(x)要经过所有样本点。但是如果样本点太多,那么这个多项式次数过高,会造成龙格现象。

    尽管我们可以选择分段的方法避免这种现象,但是更多时候我们更倾向于得到一个确定的曲线,尽管这条曲线不能经过每一个样本点,但只要保证误差足够小即可(最小损失函数),这就是拟合的思想。(拟合的结果是得到一个确定的曲线)

    举一个小例子

    确定拟合曲线

    我们可以设定拟合曲线为y=kx+b ,(k和b取何值时,拟合曲线最为接近)

    这里引入最小二乘法进行解释

    第一种定义:y\hat{}_{i}=kx_{i}+b  ,  k\hat{}, b\hat{}=argmin(\left | y_{i}- y\hat{}_{i}\right |)

    第一种定义:y\hat{}_{i}=kx_{i}+b  ,  k\hat{}, b\hat{}=argmin((y_{i}- y\hat{}_{i})^{2})

    第一种定义有绝对值,不容易求导,因此计算比较复杂。
    所以我们往往使用第二种定义,这也正是最小二乘的思想。
    为什么不用四次方?
    (1)避免极端数据对拟合曲线的影响。
    (2)最小二乘法得到的结果和MLE极大似然估计一致。
    不用奇数次方的原因:误差会正负相抵。

    最小二乘法求解:

     求解代码:

    clear;clc
    load  data1
    plot(x,y,'o')
    % 给x和y轴加上标签
    xlabel('x的值')
    ylabel('y的值')
    n = size(x,1);
    k = (n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.*x)-sum(x)*sum(x))
    b = (sum(x.*x)*sum(y)-sum(x)*sum(x.*y))/(n*sum(x.*x)-sum(x)*sum(x))
    hold on % 继续在之前的图形上来画图形
    grid on % 显示网格线

    如何评价拟合的好坏

    拟合曲线工具箱的调用

     几个常用的随机生成函数

    % (1)randi : 产生均匀分布的随机整数(i = int)  
    %产生一个1至10之间的随机整数矩阵,大小为2x5;
    s1 = randi(10,2,5)
    %产生一个-5至5之间的随机整数矩阵,大小为1x10;
    s2 = randi([-5,5],1,10)

    %  (2) rand: 产生0至1之间均匀分布的随机数
    %产生一个0至1之间的随机矩阵,大小为1x5;
    s3 = rand(1,5)
    %产生一个a至b之间的随机矩阵,大小为1x5;  % a + (b-a) * rand(1,5); 如:a,b = 2,5
    s4= 2 + (5-2) * rand(1,5)

    % (3)normrnd:产生正态分布的随机数
    %产生一个均值为0,标准差(方差开根号)为2的正态分布的随机矩阵,大小为3x4;
    s5 = normrnd(0,2,3,4)

    % (4)roundn—任意位置四舍五入
    % 0个位 1十位  2百位 -1小数点后一位  
    a = 3.1415
    roundn(a,-2)    % ans   =  3.1400
    roundn(a,2)      % ans   =  0
    a =31415
    roundn(a,2)   % ans  = 31400
    roundn(5.5,0)  %6
    roundn(5.5,1) %10

  • 相关阅读:
    Python实现猎人猎物优化算法(HPO)优化Catboost分类模型(CatBoostClassifier算法)项目实战
    【Springboot】Filter 过滤器的使用
    JVM 内存模型
    自动化测试何时切入?为何选择selenium做UI自动化?
    VUE前端工程化-2
    迟到的秋招经验分享贴,希望能帮到大家
    数字孪生可视化开发技术(ThingJS)学习笔记.1
    Object转List<>,转List<Map<>>
    颜色标记txt和多根走线【Cadance进阶】
    编程语言的历史与趣事
  • 原文地址:https://blog.csdn.net/qq_60678226/article/details/126848035