如果這篇文章對(duì)你有幫助,歡迎點(diǎn)贊與收藏~
基本概念
Bootstrap方法是一種統(tǒng)計(jì)技術(shù),用于估計(jì)一個(gè)樣本統(tǒng)計(jì)量的分布(例如均值、中位數(shù)或標(biāo)準(zhǔn)偏差)。它通過從原始數(shù)據(jù)集中重復(fù)抽取樣本(通常是帶替換的)來工作,允許評(píng)估統(tǒng)計(jì)量的變異性和不確定性。這種方法特別有用于小樣本數(shù)據(jù)集或當(dāng)傳統(tǒng)參數(shù)統(tǒng)計(jì)方法不適用時(shí)。
Bootstrap過程的基本步驟如下:
-
重復(fù)抽樣:從原始數(shù)據(jù)集中隨機(jī)抽取n個(gè)觀測(cè)值,形成一個(gè)新的樣本。這個(gè)過程通常是帶替換的,意味著同一個(gè)觀測(cè)值可以在一個(gè)樣本中出現(xiàn)多次。
-
計(jì)算統(tǒng)計(jì)量:在每個(gè)新生成的樣本上計(jì)算感興趣的統(tǒng)計(jì)量(例如均值或中位數(shù))。
-
重復(fù)過程:重復(fù)上述兩步多次(通常是成千上萬次),生成統(tǒng)計(jì)量的多個(gè)估計(jì)值。
-
分析結(jié)果:通過觀察所有估計(jì)值的分布來評(píng)估統(tǒng)計(jì)量的分布、置信區(qū)間等。
習(xí)題7.3
1. 題目要求
2.解題過程
解:
相繼地、獨(dú)立地自原始樣本數(shù)據(jù)用放回抽樣的方法,得到10000個(gè)容量均為5的Bootstrap 樣本。
對(duì)每個(gè)Bootstrap樣本算出樣本均值
x
 ̄
i
?
(
i
=
1
,
2
,
?
?
,
10000
)
\overline{{{x}}}_{i}^{^{\ast}}(i=1,2,\cdots,10000)
xi??(i=1,2,?,10000) ,將10000個(gè)
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 ,于是得 μ 的一個(gè)置信水平為0.90的Bootstrap置信區(qū)間為
(
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.結(jié)果
得 μ 的一個(gè)置信水平為0.90的Bootstrap置信區(qū)間為:
(
x
 ̄
(
500
)
?
,
x
 ̄
(
9500
)
?
)
=
(
1098
,
1232
)
({\overline{{x}}}_{(500)}^{*},{\overline{{x}}}_{(9500)}^{*})=(1098,1232)
(x(500)??,x(9500)??)=(1098,1232)
習(xí)題7.5
1. 題目要求
2.解題過程
解:
求解 x 和 y 之間的回歸方程,即一個(gè)能夠最佳擬合這些數(shù)據(jù)的線性模型.
構(gòu)造線性方程組的系數(shù)矩陣 b。它由四列組成,分別是 1/x、1、x 和 x 的平方。這些列的選擇基于假設(shè)的線性關(guān)系形式,但也可以根據(jù)具體的問題進(jìn)行調(diào)整。需要注意的是,已經(jīng)對(duì) x 取了轉(zhuǎn)置,使其成為一個(gè)列向量。
求出的系數(shù)矩陣如下:
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.1000?1.00001.00001.00001.00001.00001.00001.00001.0000?1.00002.00004.00005.00007.00008.00009.000010.0000?1.00004.000016.000025.000049.000064.000081.0000100.0000?
?
最后,使用反斜杠符號(hào)求解線性方程組的最小二乘解。具體來說,它使用了正規(guī)方程的方法,即求解
(
b
T
b
)
?
1
b
T
y
(b^T b)^{-1} b^T y
(bTb)?1bTy,其中
b
T
b^T
bT 表示 b 的轉(zhuǎn)置,
?
1
^{-1}
?1 表示矩陣的逆,
y
y
y 表示因變量的向量。最終的結(jié)果是一個(gè)包含了四個(gè)系數(shù)的列向量,分別對(duì)應(yīng)于 b 矩陣的四列。這些系數(shù)定義了回歸方程的形式,可以用于預(yù)測(cè)新的因變量值。
最終求解得到的回歸方程為:
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.0666x?0.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] % 構(gòu)造線性方程組的系數(shù)矩陣
% 這一行代碼構(gòu)造了線性方程組的系數(shù)矩陣 b。它由四列組成,分別是 1/x、1、x 和 x 的平方
% 使用反斜杠符號(hào)求解線性方程組的最小二乘解
cs = b \ y % 求最小二乘解
4.結(jié)果
回歸方程為:
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.0666x?0.0091x2,文章來源:http://www.zghlxwxcb.cn/news/detail-814967.html
如果這篇文章對(duì)你有幫助,歡迎點(diǎn)贊與收藏~文章來源地址http://www.zghlxwxcb.cn/news/detail-814967.html
到了這里,關(guān)于【數(shù)學(xué)建?!俊秾?shí)戰(zhàn)數(shù)學(xué)建模:例題與講解》第七講-Bootstrap方法(含Matlab代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!