% 产生X均值为0,标准差为1的30个样本,
% 产生Y均值为0.5,标准差为1的40个样本,检验均值。
X = normrnd(0,1,30,1); Y = normrnd(0.5,1,40,1);
[h,significance,ci] = ttest2(X,Y)
显著性水平0.05下
统计量计算结果
拒绝域 接受域
7.2 分布的拟合优度检验
科尔莫格诺夫-斯米尔诺夫检验 D0?supFn?x??F?x?命令kstest,其语法为: ???x??H = kstest(X) % 进行正态分布检验
H = kstest(X,cdf) % 进行给定分布函数cdf的拟合优度检验
H = kstest(X,cdf,alpha,tail) % 进行给定显著性水平、分布cdf及备择假设的拟合优度检验 [H,P,KSSTAT,CV] = kstest(X,cdf,alpha,tail) % 同上,并多输出拒绝域概率,KS统计量等
这里:
X:为原始数据,注意为列向量。 cdf:原假设的分布。
H:检验结果,H=0接受样本来自假设的分布,H=1拒绝原假设。 P:KS统计量的上侧概率。
KSSTAT:计算出的格诺夫-斯米尔诺夫统计量的值。
% 例,抽200个服从自由度为5的卡方分布,检验: % 1)是否服从自由度为5的卡方分布 % 2)是否服从参数为5的指数分布
x = chi2rnd(5, 200, 1); % 抽200个自由度为5的卡方分布 h1=kstest(x, [x chi2cdf(x, 5)]) % 卡方检验
h2=kstest(x, [x expcdf(x, 5)]) % 指数分布检验
注意,CDF的写法
卡方检验
% 例 抽标准正态分布机数200个,对密度函数进行统计推断
X = normrnd(0,1,200,1) % 抽200个正态分布随机数 histfit(X,8); % 作示意图 % 构造卡方统计量 k=8;
kk=linspace(-3,3,k+1); % 对区间分成8个等区间 P=normcdf(kk,0,1); % 计算每个区间的概率
n=(P(2:k+1)-P(1:k))*200 % 计算每个区间的理论频数 m=hist(X,k) % 计算每个区间的观测频数 kf_7 = sum(((n-m).^2)./m) % 计算卡方统计量 % 进行统计推断
chi2_p=chi2cdf(kf_8,k-1) % 计算下侧概率 if chi2_p<0.95 chi2_str='接受'; else
chi2_str='拒绝'; end
chi2_str
7.3正态性检验
提供两种方法:法一:
s为接受假设的概率值,s越接近于0,则可以拒绝是正态分布的原假设.
X=[216,203,197,208,206,209,206,208,202,203,206,213,218,207,208,... 202,194,203,213,211,193,213,208,208,204,206,204,206,208,209,... 213,203,206,207,196,201,208,207,213,208,210,208,211,211,214,... 220,211,203,216,224,211,209,218,214,219,211,208,221,211,218,... 218,190,219,211,208,199,214,207,207,214,206,217,214,201,212,...
213,211,212,216,206,210,216,204,221,208,209,214,214,199,204,... 211,201,216,211,209,208,209,202,211,207,202,205,206,216,206,... 213,206,207,200,198,200,202,203,208,216,206,222,213,209,219];
[H1,p1]=jbtest(X,0.05) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;
法二:
7.4 非参数检验:
符号秩和检验(Wilcoxon)(成对数据)
X=[26 24 28 30 35 24 27 21]; Y=[30 34 36 28 40 35 33 20]; [p h]=signrank(X,Y)
秩和检验(Wilcoxon)(成组数据)
X=[41 38 35 45 32]; Y=[56 49 60 43 39 58]; [p,h] = ranksum(X,Y)
kruskal-wallis检验(多元非参数方差分析)(多组数据) %三组不同材料的型材强度的比较
strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79];
alloy = {'st','st','st','st','st','st','st','st', 'al1','al1','al1','al1','al1','al1', 'al2','al2','al2','al2','al2','al2'}; p=kruskalwallis(strength,alloy,'off')
八、方差分析 8.1 单因素方差分析
One-way analysis of variance (ANOVA) 语法为:
p = anova1(X)
p = anova1(X,group)
p = anova1(X,group,'displayopt') [p,table] = anova1(...)
[p,table,stats] = anova1(...) 这里:
X:是二维数组 proup:为分组
P: 为F统计量的上侧概率 Table:为方差分析表 Stats:为F统计量 例:
load hogg % 调牛奶含菌量数据
[p,tbl,stats] = anova1(hogg) % 进行单因素方差分析
data = [0.365 0.255 0.195 0.215 0.27 0.275 0.24 0.265 0.185 0.305 0.25 0.225]; group = {'1','1','1','1','2','2','2','2', '2','3','3','3'}; p = anova1(data, group)
8.2 多因素方差分析
anovan语法:N-way analysis of variance (ANOVA) p = anovan(x,group)
p = anovan(x,group,'Param1',val1,'Param2',val2,...) [p,table] = anovan(...)
[p,table,stats] = anovan(...)
[p,table,stats,terms] = anovan(...) 例
设三因素各有二水平,每个水平搭配下实验一次。
52.7 57.5 45.9 44.5 53.0 57.0 45.9 44.0 实验数据 1 2 1 2 1 2 1 2 A因素 1 1 2 2 1 1 2 2 B因素 1 1 1 1 2 2 2 2 C因素
y = [52.7 57.5 45.9 44.5 53.0 57.0 45.9 44.0]' g1 = [1 2 1 2 1 2 1 2]; g2 = [1 1 2 2 1 1 2 2]; g3 = [1 1 1 1 2 2 2 2];
p = anovan(y, {g1 g2 g3}, 'model', 'interaction','varname',{'A','B','C'})
九、主成分分析
主成分分析命令princomp的语法Principal components analysis (PCA) : COEFF = princomp(X)
[COEFF,SCORE,latent,tsquare] = princomp(X) [...] = princomp(X, 'econ') 这里:
X:为原始数据
COEFF:是M×M的特征向量,第i列是第i主成分系数。 SCORE:为计算出的最后主成分向量矩阵N×M。 Latent:为X的协方差阵的特征值向量。 Tsquare:Hotelling‘s T2 统计量
十、因子分析
lambda = factoran(X,m)
[lambda,psi] = factoran(X,m) [lambda,psi,T] = factoran(X,m)
[lambda,psi,T,stats] = factoran(X,m) [lambda,psi,T,stats,F] = factoran(X,m)
[...] = factoran(...,'param1',value1,'param2',value2,...) lambda:为计算出的因子载荷矩阵。
X: 为输入数据,可以是原始数据,也可以是数据的协方差矩阵或相关矩阵。 m: 为打算抽出的因子数。 psi: 方差估计值。
T: 对载荷矩阵旋转的矩阵,维数为m×m。
stats: 为一构架数组,包括进行统计检验的各元素,如: loglike:最大log似然估计值
dfe: 统计量的自由度,
chisq: 在零假设下的卡方统计量 p: 统计量的上侧概率 'parami':各种参数的类型名。 'valuei': 各类型参数的值。