1. 程式人生 > >數學建模之假設檢驗

數學建模之假設檢驗

在總體的分佈函式完全未知或只知其形式但不知其引數的情況,為了推斷總體的某些性質,提出某些關於總體的假設。例如,提出總體服從泊松分佈的假設,又如對於正態總體提出數學期望等於μ0的假設等。假設檢驗就是根據樣本對所提出的假設做出判斷:是接受還是拒絕。這就是所謂的假設檢驗問題。

1. 單個總體N(μ,σ2) 均值μ的檢驗

這裡寫圖片描述

1.1 σ2已知,關於μ 的檢驗(Z 檢驗)

在 Matlab 中Z 檢驗法由函式 ztest 來實現,命令為

[h,p,ci]=ztest(x,mu,sigma,alpha,tail) 

這裡寫圖片描述

1.2 σ2未知,關於μ 的檢驗(t 檢驗)

在 Matlab 中t檢驗法由函式 ttest 來實現,命令為

[h,p,ci]=ttest(x,mu,alpha,tail) 

2 兩個正態總體均值差的檢驗(t檢驗)

還可以用t檢驗法檢驗具有相同方差的 2 個正態總體均值差的假設。在 Matlab 中 由函式 ttest2 實現,命令為:

[h,p,ci]=ttest2(x,y,alpha,tail) 

與上面的 ttest 相比,不同處只在於輸入的是兩個樣本 x,y(長度不一定相同), 而不是一個樣本和它的總體均值;tail 的用法與 ttest 相似,可參看幫助系統。

3 分佈擬合檢驗

在實際問題中,有時不能預知總體服從什麼型別的分佈,這時就需要根據樣本來檢 驗關於分佈的假設。下面介紹χ

2檢驗法和專用於檢驗分佈是否為正態的“偏峰、峰度檢驗法”。

3.1 χ2檢驗法

H0: 總體 x的分佈函式為F(x)
H1: 總體 x的分佈函式不是F(x)
在用下述χ2檢驗法檢驗假設H0時,若在假設H0下F(x)的形式已知,但其引數值未知,這時需要先用極大似然估計法估計引數,然後作檢驗。
這裡寫圖片描述
例1:
下面列出了 84 個伊特拉斯坎(Etruscan)人男子的頭顱的大寬度(mm), 試檢驗這些資料是否來自正態總體(取α=0.1)

141  148  132  138  154  142  150  146  155  158 
150  140  147  148  144  150  149  145  149  158 
143  141  144  144  126  140  144  142  141  140 
145  135  147  146  141  136  140  146  142  137 
148  154  137  139  143  140  131  143  141  149 
148  135  148  152  143  144  141  143  147  146 
150  132  142  142  143  153  149  146  149  138 
142  149  142  137  134  144  146  147  140  142 
140  137  152  145

解:編寫matlab程式碼如下:

clc 
x=[141  148  132  138  154  142  150  146  155  158 ... 
    150  140  147  148  144  150  149  145  149  158 ... 
    143  141  144  144  126  140  144  142  141  140 ... 
    145  135  147  146  141  136  140  146  142  137 ... 
    148  154  137  139  143  140  131  143  141  149 ... 
    148  135  148  152  143  144  141  143  147  146 ... 
    150  132  142  142  143  153  149  146  149  138 ... 
    142  149  142  137  134  144  146  147  140  142 ... 
    140  137  152  145]; 
mm=minmax(x)   %求資料中的小數和大數 
hist(x,8)      %畫直方圖 
fi=[length(find(x<135)),...    
    length(find(x>=135&x<138)),...    
    length(find(x>=138&x<142)),...    
    length(find(x>=142&x<146)),...    
    length(find(x>=146&x<150)),...    
    length(find(x>=150&x<154)),...    
    length(find(x>=154))] %各區間上出現的頻數 
mu=mean(x),sigma=std(x)   %均值和標準差 
fendian=[135,138,142,146,150,154] %區間的分點 
p0=normcdf(fendian,mu,sigma) %分點處分佈函式的值 
p1=diff(p0)                  %中間各區間的概率 
p=[p0(1),p1,1-p0(6)]         %所有區間的概率 
chi=(fi-84*p).^2./(84*p)               
chisum=sum(chi)              %皮爾遜統計量的值 
x_a=chi2inv(0.9,4)     %chi2分佈的0.9分位數 

這裡寫圖片描述