【数学建模】《实战数学建模:例题与讲解》第七讲-Bootstrap方法(含Matlab代码)

【数学建模】《实战数学建模:例题与讲解》第七讲-Bootstrap方法(含Matlab代码)

如果这篇文章对你有帮助,欢迎点赞与收藏~
在这里插入图片描述

基本概念

Bootstrap方法是一种统计技术,用于估计一个样本统计量的分布(例如均值、中位数或标准偏差)。它通过从原始数据集中重复抽取样本(通常是带替换的)来工作,允许评估统计量的变异性和不确定性。这种方法特别有用于小样本数据集或当传统参数统计方法不适用时。

Bootstrap过程的基本步骤如下:

  1. 重复抽样:从原始数据集中随机抽取n个观测值,形成一个新的样本。这个过程通常是带替换的,意味着同一个观测值可以在一个样本中出现多次。

  2. 计算统计量:在每个新生成的样本上计算感兴趣的统计量(例如均值或中位数)。

  3. 重复过程:重复上述两步多次(通常是成千上万次),生成统计量的多个估计值。

  4. 分析结果:通过观察所有估计值的分布来评估统计量的分布、置信区间等。

习题7.3

1. 题目要求

image-20230427135726289

2.解题过程

解:

相继地、独立地自原始样本数据用放回抽样的方法,得到10000个容量均为5的Bootstrap 样本。

对每个Bootstrap样本算出样本均值 x ‾ i ∗ ( i = 1 , 2 , ⋯   , 10000 ) \overline{{{x}}}_{i}^{^{\ast}}(i=1,2,\cdots,10000) xi(i=1,2,,10000) ,将10000个 x ‾ ∗ {\overline{{x}}}^{*} x 按自小到大排序,左起第500位为 x ‾ ( 500 ) ∗ = 1098 {\overline{{x}}}_{(500)}^{*}=1098 x(500)=1098 ,左起第9500位为 x ‾ ( 9500 ) ∗ = 1232 {\overline{{x}}}_{(9500)}^{*}=1232 x(9500)=1232 ,于是得 μ 的一个置信水平为0.90的Bootstrap置信区间为
( x ‾ ( 500 ) ∗ , x ‾ ( 9500 ) ∗ ) = ( 1098 , 1232 ) ({\overline{{x}}}_{(500)}^{*},{\overline{{x}}}_{(9500)}^{*})=(1098,1232) (x(500),x(9500))=(1098,1232)

3.程序

求解的MATLAB程序如下:

clc, clear

a = [1050, 1100, 1120, 1250, 1280];
b = bootci(10000, {@ (x)mean(x), a}, 'alpha', 0.1);
b

4.结果

image-20230427140709076

得 μ 的一个置信水平为0.90的Bootstrap置信区间为:
( x ‾ ( 500 ) ∗ , x ‾ ( 9500 ) ∗ ) = ( 1098 , 1232 ) ({\overline{{x}}}_{(500)}^{*},{\overline{{x}}}_{(9500)}^{*})=(1098,1232) (x(500),x(9500))=(1098,1232)

习题7.5

1. 题目要求

image-20230427144554002

2.解题过程

解:

求解 x 和 y 之间的回归方程,即一个能够最佳拟合这些数据的线性模型.

构造线性方程组的系数矩阵 b。它由四列组成,分别是 1/x、1、x 和 x 的平方。这些列的选择基于假设的线性关系形式,但也可以根据具体的问题进行调整。需要注意的是,已经对 x 取了转置,使其成为一个列向量。

求出的系数矩阵如下:
b = [ 1.0000 1.0000 1.0000 1.0000 0.5000 1.0000 2.0000 4.0000 0.2500 1.0000 4.0000 16.0000 0.2000 1.0000 5.0000 25.0000 0.1429 1.0000 7.0000 49.0000 0.1250 1.0000 8.0000 64.0000 0.1111 1.0000 9.0000 81.0000 0.1000 1.0000 10.0000 100.0000 ] b= \begin{bmatrix} 1.0000 & 1.0000 & 1.0000 & 1.0000 \\ 0.5000 & 1.0000 & 2.0000 & 4.0000 \\ 0.2500 & 1.0000 & 4.0000 & 16.0000 \\ 0.2000 & 1.0000 & 5.0000 & 25.0000 \\ 0.1429 & 1.0000 & 7.0000 & 49.0000 \\ 0.1250 & 1.0000 & 8.0000 & 64.0000 \\ 0.1111 & 1.0000 & 9.0000 & 81.0000 \\ 0.1000 & 1.0000 & 10.0000 & 100.0000 \\ \end{bmatrix} b= 1.00000.50000.25000.20000.14290.12500.11110.10001.00001.00001.00001.00001.00001.00001.00001.00001.00002.00004.00005.00007.00008.00009.000010.00001.00004.000016.000025.000049.000064.000081.0000100.0000
最后,使用反斜杠符号求解线性方程组的最小二乘解。具体来说,它使用了正规方程的方法,即求解 ( b T b ) − 1 b T y (b^T b)^{-1} b^T y (bTb)1bTy,其中 b T b^T bT 表示 b 的转置, − 1 ^{-1} 1 表示矩阵的逆, y y y 表示因变量的向量。最终的结果是一个包含了四个系数的列向量,分别对应于 b 矩阵的四列。这些系数定义了回归方程的形式,可以用于预测新的因变量值。

最终求解得到的回归方程为:
y = 0.6498 x + 0.5901 + 0.0666 x − 0.0091 x 2 , y={\frac{0.6498}{x}}+0.5901+0.0666x-0.0091x^{2}, y=x0.6498+0.5901+0.0666x0.0091x2,

3.程序

求解的MATLAB程序如下:

clc, clear

x = [1, 2, 4, 5, 7, 8, 9, 10]';
y = [1.3, 1, 0.9, 0.81, 0.7, 0.6, 0.55, 0.4]';

b = [1 ./ x, ones(size(x)), x, x.^2] % 构造线性方程组的系数矩阵
% 这一行代码构造了线性方程组的系数矩阵 b。它由四列组成,分别是 1/x、1、x 和 x 的平方

% 使用反斜杠符号求解线性方程组的最小二乘解
cs = b \ y % 求最小二乘解

4.结果

image-20230427145734428

回归方程为:
y = 0.6498 x + 0.5901 + 0.0666 x − 0.0091 x 2 , y={\frac{0.6498}{x}}+0.5901+0.0666x-0.0091x^{2}, y=x0.6498+0.5901+0.0666x0.0091x2,

如果这篇文章对你有帮助,欢迎点赞与收藏~

CAN长字节DM1报文是指在CAN总线上传输的长度超过8个字节的DM1报文。根据引用\[1\],当要传输的数据长度超过8个字节时,首先使用TPCM进行广播,广播内容包含即将传输报文的PGN、总的数据包长度等信息,然后使用TP.DT进行数据传输。相邻两个TP.DT之间的时间间隔是50ms到200ms。根据引用\[2\],当字节数大于8时,将会使用多帧传输参数组。根据引用\[3\],DM1报文是Diagnostic Message 1, Active Diagnostic Trouble Codes的缩写,用于点亮故障指示灯、红色停机灯等,并周期性播报控制器中处于激活状态的故障码。DM1报文的格式包括各个字节的定义,如故障指示灯、红色停机灯、琥珀色警告指示灯等。因此,CAN长字节DM1报文是指在CAN总线上传输的长度超过8个字节的DM1报文,用于传输更多的故障码信息。 #### 引用[.reference_title] - *1* [车载通信——J1939 DM1](https://blog.csdn.net/weixin_64064747/article/details/130193432)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [J1939广播DM1报文](https://blog.csdn.net/mengdeguodu_/article/details/108173263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [J1939商用车在线诊断DM1报文](https://blog.csdn.net/traveller93/article/details/120735912)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值