天天看點

matlab機率及數理統計學習-T檢驗、卡方檢驗、直方圖分布檢驗

%norm:Normal正态分布
%t:T分布
%chi2:卡方分布
%f:F分布
%weib:Weibull分布
%---------
%cdf:cumulative distribution function
%pdf:probability density function
%inv:分布函數反函數
%rdn:相應分布的随機數發生函數
%stat:相應分布的統計量估計函數
%fit:parameters estimates and confidence參數估計函數
%like:likelihood function似然函數

%----------------------------------------------------------
%例2-34:設某随機變量服從正态分布,試驗得出其10個樣本為
%{1490 1440 1680 1610 1500 1750 1550 1420 1800 1580}
%能否認為其期望值miu0=1600,其方差sigma^2=14400
%(取顯著性水準alfa=0.02)
%----------------------------------------------------------

clear;
x=[1490 1440 1680 1610 1500 1750 1550 1420 1800 1580];  %樣本
m0=1600;  %給定的期望值
n=length(x);  %樣本數
xbar=mean(x);  %樣本平均
s=std(x);  %樣本标準差=std(x,1)*sqrt(n/(n-1))
%s=std(x,1);  %樣本标準差(有偏)二次距
al=0.02;  %顯著性水準
% 期望的假設檢驗
% 因為随機變量的方差sigma未知,不能用Z檢驗,但是可以用随機變量方差的無偏估計量S^2來代替,
%進而采用T檢驗:  (xbar-m0)./(s./sqrt(n))
t1=tinv(1-al/2,n-1)   %自由度n-1的t分布al/2分位點,接受期間為(-t1,t1)
t=(xbar-m0)./(s./sqrt(n))   %計算統計量
h_mean=(t>abs(t1))  %判斷:若拒絕,則h_mean等于1
%方差的假設檢驗
% 因為随機變量的期望miu未知,不能用Z檢驗,可以用卡方檢驗:(n-1)*S^2/sigma^2
sig2=14400;   %給定的方內插補點
ch_1=chi2inv(al/2,n-1)  %1-al/2分位點
ch_2=chi2inv(1-al/2,n-1)  %al/2分位點
ch=(n-1)*s^2/(sig2)   %計算統計量
h_var=(ch<ch_1)|(ch>ch_2)  %判斷:若拒絕,則h_var等于1
           
%例2-38:直方圖檢驗F分布
%
%
clear;
n1=4;n2=5;  % F分布參數
n=10000;  % 随機數樣本數量
x=frnd(n2,n1,n,1); %随機數樣本産生
a=min(x); b=max(x);  %樣本值域區間計算
m=500;  %分組區間數or m=500等
de=(b-a)/m;  %分組寬度
[r,xout]=hist(x,[a:de:b]);  %計算直方圖資料,r為頻數,xout為分割區間向量
f=r./(n*de);  %計算統計頻率密度
bar(xout,f);  %作出頻率密度直方圖
hold on;
h=findobj(gca,'Type','patch');  %修改直方圖樣式
set(h,'facecolor',[0.6,0.6,0.6],'edgecolor','k');
x=0:0.01:10;  %計算并畫出F分布的理論機率密度函數曲線
y=fpdf(x,n2,n1);
plot(x,y,'k-');
axis([0 10 0 1]);
title('m=200的頻率密度直方圖');
           

繼續閱讀