【實驗目的及要求】
I.熟練掌握Matlab編程中常見概率分布的概率密度、概率分布、逆分布、均值和方差等語句的調用格式,學會用Matlab對服從各種分布的樣本進行參數估計和假設檢驗。對實際問題,能夠進行樣本的分析,得出服從哪種分布的預測,依該分布進行參數估計和假設檢驗。
II.熟練掌握Matlab編程中線性回歸、多項式回歸、多元二項式回歸、非線性回歸、逐步回歸等語句的調用格式,學會用Matlab對各種數據樣本進行回歸分析,并分析回歸結果,對回歸進行評價。對實際問題,能夠進行數據樣本的分析,選用哪種方式進行回歸模擬,依該回歸進行預測。
【實驗過程】(實驗步驟、繪圖、記錄、數據、分析、結果及實驗教師評語(可選))
一.實驗題目
1.某校60名學生的一次考試成績如下:
93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96
81
79 97 78 75 67 69 68 84 83 81 75 66 85 70
94 84 83 82 80 78
74 73 76 70 86 76 90 89 71 66 86 73 80 94
79 78 77 63 53 55
1)計算均值、標準差、極差、偏度、峰度,畫出直方圖;
2)檢驗分布的正態性;
3)若檢驗符合正態分布,估計正態分布的參數并檢驗參數.
解:主程序shiyan1.m如下:
clear,clc
x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81
79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73
76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
jun_zhi=mean(x)
biao_zhun_cha=std(x)
ji_cha=range(x)
pian_du=skewness(x)
feng_du=kurtosis(x)
figure(1);
hist(x,6);
figure(2);
normplot(x);
[muhat,sigmahat,muci,sigmaci]=normfit(x)
[h,sig,ci]=ttest(x,muhat)
結果分析:
(1).均值、標準差、極差、偏度、峰度分別為:
jun_zhi =80.1000;biao_zhun_cha =9.7106;ji_cha =44;pian_du
=-0.4682;feng_du =3.1529
頻率直方圖為:
(2).對數據總體分布進行檢驗,數據基本上分布在一條直線上,初步判斷成績服從正態分布,
對數據進行參數估計:
muhat =80.1000,sigmahat =9.7106
muci =[77.5915,?82.6085],sigmaci =[8.2310, 11.8436]
即:估計出均值為80.1000,標準差為9.7106,均值的0.95置信區間為[77.5915
82.6085],標準差的置信區間為[8.2310 11.8436],
(3).假設檢驗結果:
h =0;表示不拒絕零假設,說明提出的假設均值為80.1000是合理的。
sig =1;遠超過0.05,不能拒絕原假設。
ci =[77.5915?82.6085],95%的置信區間為[77.5915?82.6085],它包括80.1000,且精度很高.
2. 下表分別給出兩個文學家馬克﹒吐溫(Mark
Twain)的八篇小品文及斯諾特格拉斯(Snodgrass)的10篇小品文中由3個字母組成的詞的比例。
馬克﹒吐溫0.225?0.262?0.217?0.240?0.230?0.229?0.235?0.217
斯諾特格拉斯?0.209?0.205?0.196?0.210?0.202?0.207?0.224?0.223 0.220?0.201
設兩組數據分別來自正態總體,且兩總體方差相等。兩樣本相互獨立,問兩個作家所寫的小品文中包含由3個字母組成的詞的比例是否有顯著的差異(取
=0.05)?
解:主程序shiyahn2.m如下:
clear,clc
Close all
m=[ 0.225?0.262
0.217?0.240?0.230?0.229?0.235?0.217?];
s=[ 0.209?0.205?0.196?0.210?0.202?0.207?0.224?0.223?0.220 0.201];
[h,sig,ci]=ttest2(m,s,0.05,0)
結果分析:
h=1有理由拒絕原假設,所以兩個作家所寫的小品文中包含由3個字母組成的詞的比例有顯著的差異,
Sig=0.0013,遠小于0.05,不能接受沒有顯著性差異的假設。所以可以任為馬克吐溫小說中的三個字母
的單詞的比例要比斯格拉斯小說中的三個字母的單詞的比例有顯著性差異。
(�的置信區間)ci =[
0.0101?0.0343],說明Mark
Twain的八篇小品文比斯諾特格拉斯(Snodgrass)的10篇小品文中由3個字母組成的詞的比例高約%1-%3.4。
3. 考察溫度 對產量 的影響,測得下列10組數據:
溫度(°C)
20
25
30
35
40
45
50
55
60
65
產量(kg)
13.2
15.1
16.4
17.1
17.9
18.7
19.6
21.2
22.5
24.3
求 關于 的線性回歸方程,檢驗回歸效果是否顯著,并預測
°C時產量的估值及預測區間(置信度95%)。
解:主程序
x1=[20?25?30?35?40?45?50?55?60?65]';% x=20:5:65;
y=[13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5
24.3]';
X=[ones(10,1) x1];
[b,bint,r,rint,stas]=regress(y,X);
b,stas
%y=b(1)+b(2).*42?(42度時的預測值可以由此表達式給出,也可以從下面的命令中得到)
polytool(x1,y,1)?%此命令亦可以給出回歸系數,此處主要是用來返回42對應的y值和預測區間.
%也可以用rstool,但是與上面的預測區間不一樣
rstool(x1,y,'linear')
Regress返回的結果
b = 9.1212
0.2230 ?%回答問題時,一定要知道哪一個是模型中的常數項,哪一個是一次項的系數.
stas = 0.9821?439.8311?0.0000?0.2333
y的98.21%可由模型確定,
F遠超過F檢驗的臨界值,p遠小于a=0.05 ,則回歸顯著
polytool返回的結果(從Export輸出)
yhat =
18.4885
yci =
17.3203?19.6566
4. 在研究化學動力學反應過程中,建立了一個反應速度和反應物含量的數學模型,形式為 其中
是未知參數,是三種反應物(氫,n戊烷,異構戊烷)的含量,y是反應速度.今測得一組數據如表4,試由此確定參數 ,并給出置信區間.
的參考值為(1,0.05, 0.02, 0.1, 2).
序號
反應速度y
氫x1
n戊烷x2
異構戊烷x3
1
8.55
470
300
10
2
3.79
285
80
10
3
4.82
470
300
120
4
0.02
470
80
120
5
2.75
470
80
10
6
14.39
100
190
10
7
2.54
100
80
65
8
4.35
470
190
65
9
13.00
100
300
54
10
8.50
100
300
120
11
0.05
100
80
120
12
11.32
285
300
10
13
3.13
285
190
120
解法一:
首先建立fun.m:
function f=fun(beta0,X)
x1=X(:,1);x2=X(:,2);x3=X(:,3);
beta1=beta0(1);beta2=beta0(2);beta3=beta0(3);beta4=beta0(4);beta5=beta0(5);
f=(beta1.*x2-x3./beta5)./(1+beta2.*x1+beta3.*x2+beta4.*x3);
主程序shiyan3.m:
clear,clc
close all
data=[8.55 470 300 10
3.79 285 80 10
4.82 470 300 120
0.02 470 80 120
2.75 470 80 10
14.39 100 190 10
2.54 100 80 65
4.35 470 190 65
13.00 100 300 54
8.50 100 300 120
0.05 100 80 120
11.32 285 300 10
3.13 285 190 120
];
X=data(:,2:4);
y=data(:,1);
beta0=[1 0.05 0.02 0.1 2]';
nlintool(X,y, 'fun',beta0,0.05)
[betahat,r,j]=nlinfit(X,y,
'fun',beta0) %r,j是下面命令用的信息
betaci=nlparci(betahat,r,j);%返回回歸系數的置信區間(該命令不做要求)
betaa=[betahat,betaci] %回歸系數及其置信區間
結果分析:
得到回歸系數為:beta = 1.2526?0.0628?0.0400?0.1124?1.1914
即 ,并求得各 處的預測值為:
beta的顯著性水平為0.05的置信區間為:
beta1:[-0.7467,3.2519]
beta2 :[-0.0377,0.1632]
beta3:[-0.0312,0.1113]
beta4:[-0.0609,0.2857]
beta5:[-0.7381,3.1208]
解法二:
主程序:
clear,clc
close all
data=[8.55 470 300 10
3.79 285 80 10
4.82 470 300 120
0.02 470 80 120
2.75 470 80 10
14.39 100 190 10
2.54 100 80 65
4.35 470 190 65
13.00 100 300 54
8.50 100 300 120
0.05 100 80 120
11.32 285 300 10
3.13 285 190 120
];
X=data(:,2:4);
y=data(:,1);
beta0=[1 0.05 0.02 0.1 2]';
[betahat,r,j]=nlinfit(X,y, 'fun',beta0);
%r,j是下面命令用的信息
betaci=nlparci(betahat,r,j);%返回回歸系數的置信區間(該命令不做要求)
betaa=[betahat,betaci] %回歸系數及其置信區間
結果:
betaa =
1.2526?-0.7467?3.2519
0.0628?-0.0377?0.1632
0.0400?-0.0312?0.1113
0.1124?-0.0609?0.2857
1.1914?-0.7381?3.1208
教材上的程序:
函數文件:
function yhat=huaxue(beta,x);
yhat=(beta(1)*x(:,2)-x(:,3)/beta(5))./(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3));
end
主程序:
clc,clear
x0=[1 8.55 470 300 10
2?3.79 285 80 10
3?4.82 470 300 120
4?0.02 470 80 120
5?2.75 470 80 10
6?14.39 100 190 10
7?2.54 100 80 65
8?4.35 470 190 65
9?13.00 100 300 54
10?8.50 100 300 120
11?0.05 100 80 120
12?11.32 285 300 10
13?3.13 285 190 120
];
x=x0(:,3:5);
y=x0(:,2);
beta0=[0.1,0.05,0.02,0.1,2];%回歸系數的初值
[betahat,r,j]=nlinfit(x,y, 'huaxue',beta0) %r,j是下面用的信息
betaci=nlparci(betahat,r,j)
[yhat,delta]=nlpredci('huaxue',x,betahat,r,j)