该资料是笔者根据自身理解一点点写出来的,希望各位能尊重这一份来之不易的劳动成果。因个人水平有限,资料中难免会出现不足与错误,欢迎各位的批评指正。(笔者曾获得2015年全国大学生数学建模国家一等奖,2015研究生数学建模竞赛国家二等奖,2016年美国大学生数学建模竞赛M奖)

统计算法总览

统计一词源于国情调查,一般来说包括三个含义:统计工作、统计资料和统计科学。其中统计工作是指的搜集、整理和分析客观事物总体数量方面的资料,统计资料则是由统计工作所获得的各项数字或文字资料,一般反映在图表、分析报告、统计年鉴里面,而统计科学则是指导统计工作的原理、原则和方法。
       因此,在数学建模比赛中统计问题一定要有文献资源和数据资源的搜集,并且这一部分内容也要反映在论文中,而整理通常来说是将搜集到的资料以图表的形式呈现在论文中,最后分析自然就是数据预处理和统计算法建模求解。

1.预测

预测,顾名思义,即根据先用数据规律推算接下来的数据。而预测按照算法可以分为四大类,一为回归分析,二为概率估计,三为时间序列,四为机器学习

(1)回归分析

对于回归分析,该类算法适用于求解单一输出的问题,在某种程度上可以叫做函数拟合,即利用一种函数去逼近原有数据 。我们在高中阶段学习的线性回归就属于一种预测方法,下面给出几种函数类型:

多项式拟合

非线性拟合

多元拟合

如下图所示,该图像是利用了非线性函数对原有数据进行了逼近,有了函数自然也就可以根据输入计算出接下来的数据,所以回归分析也只适用于单输出问题。而回归分析的关键问题就是对某一函数模型的参数进行求解,matlab中有专门的拟合工具箱polyfit和lsqcurvefit:

 这里给出matlab两种基础的回归分析代码:
clc;
clear;
close all;
%% 线性最小二乘拟合
x = 0 : 0.1 : 1;%输入
y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];%输出
A = polyfit(x, y, 2);%设定多项式最高次为2,且输入输出长度要一致,并输出多项式系数A
z = polyval(A,x);%将多项式系数导入,即得到函数,然后输入数据x,得到输出数据z
figure(1)
plot(x, y, 'k+', x, z, 'r') %将原数据以“黑色十字”散点绘出,然后将函数以红色曲线绘出
title('线性最小二乘拟合');

%% 非线性最小二乘回归
f = inline('a(1)*x+a(2)*x.^2.*exp(-a(3)*x)+a(4)','a','x');%定义一个非线性函数,变量为系数a和自变量x
a = lsqcurvefit(f, [1;2;2;2], x, y);%设定系数a的初值为1 2 2 2,然后开始求解;
figure(2)
plot(x, y, 'k+', x, f(a,x), 'r') %将原数据以“黑色十字”散点绘出,然后将函数以红色曲线绘出
title('非线性最小二乘拟合');

效果如下: 

(2)概率估计

而对于概率估计,其中的代表是马尔科夫链算法,即先给数据划分状态,然后将数据的分布规律用状态转移来解释。最后对于当时数据的状态,利用根据状态间的转移概率可以求得未来的状态概率分布,自然也能求得下一状态的预测值。

比方说,我只去A,B,C,D四个食堂吃饭,现在告诉你我吃饭的记录,现在就需要计算我在这四个食堂中的转移概率,如我去食堂A吃过后再去四个食堂吃饭的概率是多少?通过这些转移概率不断推算我下一个要去的食堂,再根据四个转移概率得到最大可能去的食堂。但是这只是离散问题的预测,对于连续问题,自然也就需要将连续数据划分为若干个离散的状态,在使用此方法。

此方法对于初学者来说掌握会比较困难,不过如果能成功使用会为论文添色不少,有兴趣的同学可以自行查找资料了解。(《数学建模算法与应用》一书上有讲解)

(3)时间序列

第三类称其为时间序列,因为输入是按顺序的离散值,大多数情况下就是时间,针对此类问题,由于输入以稳定步长增长的,所以不用考虑输入,直接研究输出的变化规律,这一点类似于高中学的数列,比方说有名的斐波那契数组:1,1,2,3,5...,它的数据特征是f(n+2)=f(n)+f(n+1),现在我们要求后面的数就直接利用该数据特征就行了,当然也可以求出其通项公式,有兴趣的同学可以求着试试。

而时间序列方面的算法其实就是猜测数据前后存在着什么关系,比如说:一次移动平均算法就是猜测每一个数据 与最近的部分数据的均值存在着某种关系,指数平滑法就是猜测每个数据都跟之前的历史数据的加权平均存在着某种关系。这些算法都可以算作是时间序列算法,不过以上算法都是对数据特征简单的猜测,而对于更复杂的数据特征则可能会用到微分方程,利用微分方程,即可以直接预测,还能用于灰色系统,从而将无规则数据转化为有规律的生成序列。

(4)机器学习

最后一个就是机器学习,即我们只需要搭好框架,数据特征则会由其自己挖掘,比较有名的有:支持向量机(SVM)、决策树、神经网络(深度学习)。这种算法的最终目的是模拟人脑的结构,它的好处就是在搭建好网络结构之后,通过对已有数据的学习,网络会自行提取数据特征,然后只要我们输入一个数据,网络将自行计算,然后输出它的预测值。这种方法的优点是方便,无需考虑数据规律和数据维度,而缺点则是要求数据量要大,少量样本的训练效果一般不具有适用性。

(5)模型检验

预测问题中尤其还要注意的是对结果的检验,通常使用残差和后验误差等作为概率统计的检验,也可以用均方误差MSE检验。

       残差值反映了预测值和原始数据的相对差距:

       后验误差反映模型的精度:

然后依据下表判断模型精度:

      均方误差则是一个简单的误差效果:

数学建模 ————统计问题之预测(一)相关推荐

  1. 数学建模——统计回归模型

    前言:看完数学建模的统计回归模型,更是感到了数学建模的"细腻"之处,对比与机器学习,如果说机器学习像是"打一场仗",那数学建模更是像"做一场手术&qu ...

  2. 数学建模常用算法—灰色预测

    今天数模君给大家讲解一下数学建模比赛中常用的一种预测方法:灰色预测法. 目录 模型的含义 灰色预测的原理 实例 模型的含义 灰色预测模型 ( Gray Forecast Model )是通过少量的.不 ...

  3. 数学建模-电池剩余放电时间预测

    电池剩余放电时间预测 摘要 现在的通讯,金融,铁路,电动自行车,都大量的用到铅酸蓄电池.完全充电的电池在被使用或放置很长时间之后,充电状态将被衰减,减小电池寿命.本文主要针对铅酸电池剩余放电时间的预测 ...

  4. 数学建模————统计问题之分类/聚类(二)

    首先要弄明白分类和聚类的区别: 分类(判别):数据包含数据特征部分和样本标签部分,分类的目的就是判别新的数据特征到其应有的样本标签(类别)中. 比方说,现在告诉大家一个教室里面其中一半人每个人的性别( ...

  5. 数学建模论文-是否全球变暖预测?/2022年亚太杯C题思路/2022年亚太地区数学建模C题思路

    建模思路获取见文末 是否全球变暖? 加拿大的49.6°C创造了地球北纬50°以上地区的气温新纪录,一周内数百人死于高温:美国加利福尼亚州死亡谷是54.4°C,这是有史以来地球上记录的最高温度:科威特5 ...

  6. 数学建模————统计问题之评价(三)

    评价一般用来评估某件事物的成绩.水平或程度.通常每个个体都有多个不同的指标去衡量,除开数据的预处理之外,评价的过程可分为三大步: 一对于每个指标给每个个体打分: 二赋予每个指标一个权重: 三根据权重将 ...

  7. 数学建模预测类——拟合算法

    写在前文,懒编正准备参加数学建模并负责编程部分,写文章的初衷是为了加深自己的记忆.当然,如果可以帮助到其他人我也是很开心的.我主要介绍的是拟合算法的应用,所以接下来的文章更适合和我有一样工作的同学浏览 ...

  8. 2018 亚太数学建模大赛B题解题思路

    首先说明,本人不参赛.不出售论文,也不以任何形式参与任何商业活动.请不要以任何形式私聊我,这会给我造成困扰.我之所以写这篇博客,仅仅是因为参加了太多的数学建模比赛,知道没有思路的痛苦而已,所以相以学长 ...

  9. 数学建模时间序列分析_时间序列分析建模验证

    数学建模时间序列分析 时间序列预测 (Time Series Forecasting) 背景 (Background) This article is the fourth in the series ...

最新文章

  1. matlab函数 size()函数和waterfal()l函数,三维图形,矩阵
  2. 【转】开放api接口签名验证
  3. zookeeper学习总结
  4. python创意编程比赛-报名了!2019年全国青少年创意编程与智能设计大赛报名开始了...
  5. oracle_plseq客户端中文乱码
  6. 《凡人修仙传》中打斗场景(c++多态实现)
  7. VALSE 2020 线上大会简明日程发布(7月31日-8月5日)
  8. select count(*)和select count(1)
  9. super在python中有什么用
  10. 拓端tecdat|R语言Gabor滤波进行目标图像纹理特征的提取
  11. sap apo 生产排程软件的架构和设计分析
  12. 2021年全国程序员工资出炉想要年薪60万,难吗?网友,扎心了
  13. 【读书】卡勒德·胡赛尼《群山回唱》 摘录
  14. 网页制作中PS图像处理的应用
  15. lone warrior
  16. 在Anaconda下创建一个新的环境并安装tensorflow
  17. java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务
  18. 生成数据库设计文档小技巧
  19. 【杂谈】windows10给U盘或者文件加密(设置访问密码)
  20. echarts 横坐标显示一个月_图表太丑怎么破,ECharts神器带你飞!

热门文章

  1. 差之毫厘.失之千里 英语学习新需求之.支持通配符的电子字典
  2. Echarts折线图拐点突出显示效果
  3. mysql sphinx windows_sphinx安装 Windows端
  4. 采用CCG和kkt条件编制两阶段鲁棒优化程序,以储能、发电、风电和光伏容量作为第一阶段变量
  5. Parallels Desktop2023最新版免费虚拟机软件
  6. 服务器制作raid,实战案例——服务器制作raid磁盘阵列并管理
  7. 【分享opengl教程】
  8. 使用hexo+github免费搭建个人博客网站超详细教程
  9. Select下拉框支持搜索,jq插件,使用超级简单!
  10. 华为项目管理的精髓干货!可收藏