[h,p,st] = chi2gof(x,'ctrs',x,'frequency',obsCounts, ... 'expected',expCounts,'nparams',1,'alpha',0.025)
输出:
h = 0 p = 0.73 st =
chi2stat: 7.86 df: 11.00
edges: [1x14 double] O: [1x13 double] E: [1x13 double]
【例四】将250个元件进行寿命实验,每隔100h,记录其失效产品个数,直到全部失效为止,不同时间内失效产品个数如下表: 时间区间/h 失效数 0~100 39 100~200 58 200~300 47 300~400 33 400~500 25 时间区间/h 失效数 500~600 22 600~700 12 700~800 6 800~900 6 900~1000 2 问这批产品的寿命是否服从指数分布(??0.01)? 解:原假设H0:X~F0(x)?1?e1?x?
clear,clc
xx = 50:100:1000; %产生区间中间点 x=0:100:1000; %区间边间点 obsCounts = [39,58,47,33,25,22,12,6,6,2]; %观测频数 n = sum(obsCounts); %样本容量
theta= sum(xx.*obsCounts) / n; %计算参数theta的估计值
expFre=expcdf(x(2:end),theta)-expcdf(x(1:end-1),theta); %计算落在小区间的频率 expCounts =n*expFre; % 理论频数 [h,p,st] = chi2gof(xx,'ctrs',xx,'frequency',obsCounts, ... 'expected',expCounts,'nparams',1,'alpha',0.01)
输出结果:
h = 1.00 %否定原假设 p = 0.00 st =
chi2stat: 27.53 df: 7.00
edges: [1x10 double]
O: [39.00 58.00 47.00 33.00 25.00 22.00 12.00 6.00 8.00] E: [69.62 50.23 36.24 26.15 18.87 13.61 9.82 7.09 8.80]
【例五】某厂生产一种白炽灯泡,其光通亮(单位:明流)用X表示,先从总体X中抽取容量为n=120的样本,得观察值如下。
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
问X是否服从正态分布N(?,?2)(??0.05)? 解:
H0:F(x)??2??1x??e?(t??)22?2dt
clear,clc
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]; [h,p,st] = chi2gof(x,'cdf',{@normcdf,mean(x),std(x)},'alpha',0.05)
结论:
h = 0 p = 0.97 st =
chi2stat: 0.54 df: 4.00
edges: [190.00 200.20 203.60 207.00 210.40 213.80 217.20 224.00] O: [10.00 14.00 24.00 23.00 22.00 15.00 12.00] E: [10.38 14.18 21.87 25.43 22.30 14.74 11.09]
或者: clear,clc
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]; edges=linspace(189,225,11);
[h,p,st] = chi2gof(x,'edges',edges,'cdf',{@normcdf,mean(x),std(x)},'alpha',0.05)
输出:
h = 0 p = 0.12 st =
chi2stat: 7.41 df: 4.00
edges: [189.00 199.80 203.40 207.00 210.60 214.20 217.80 225.00] O: [8.00 16.00 17.00 30.00 29.00 8.00 12.00] E: [9.23 14.27 22.93 26.89 23.00 14.35 9.32]
【注意】独立性检验没有程序,所以自编如下程序: 先定义函数
% nij 观察结果,落在各个小区间内的观察频数 % alpha 显著性水平
% chi2 统计量的值,chi2alpha 检验临界值,h 检验结果 function [chi2,chi21,h]=indenpendencetest0(nij,alpha) if nargin<2 alpha=0.05; end
[r,s]=size(nij); n=sum(sum(nij)); ni=sum(nij'); nj=sum(nij);
chi2=n*sum(sum(((nij-ni'*nj/n).^2)./(ni'*nj))); chi21=chi2inv(1-alpha,(r-1)*(s-1)); if chi2>=chi21 h='X与Y有关';
else
h=' X与Y独立'; end
调用函数格式:
[chi2,chi21,h]=indenpendencetest0(nij,alpha)
18、为了研究慢性气管炎和吸烟量的关系,调查了350人,统计数据如下表所示。
吸烟量 人数 类型 患病人数 健康者 总和 a支/日 b支/日 c支/日 总和 26 30 56 147 123 270 37 22 59 210 175 385 试问慢性支气管炎与吸烟是否有关系(??0.05)? 解:H0:F(x,y)?FX(x)FY(y),H1:F(x,y)?FX(x)FY(y)
n2?n?n[??ik?1]i?1k?1ni?n?krs2?385?(26147373012322??????1)?3.0856*210270*21059*21056*175270*17559*175222222
22??n?3.08??0.95(4)?5.99
所以认为他们独立。 输入:
x=[26 147 37 ; 30 123 22];
[chi2,chi21,h]=indenpendencetest0(x,0.05) 输出:
chi2 = 3.08 chi21 = 5.99 h =X 与 Y 独立
19、为调查3个城镇居民的收入情况,我们从3个城镇共抽查400个家庭,他们的年收入情况如下:
收入 户数 城镇别 A 小于5000(元) 50 5000~10000(元) 75 10000(元)以上 25 总和 150 B C 总和 25 25 100 50 75 200 25 50 100 100 150 400 能否认为三个城镇经济收入无显著差别(??0.05)? 解:具体计算如18题 Matlab运行如下: 输入:
x = [ 50 75 25; 25 50 25; 25 75 50]; [chi2,chi21,h]=indenpendencetest0(x,0.05) 输出:
chi2 = 16.67 chi21 = 9.49 h = X 与 Y 有关
20、抽查3个民族中380人血型所得数据如下表: 收入 户数 城镇别 A1 A2 A3 总和 B1 B2 B3 B4 总和 42 47 50 139 26 49 59 134 26 22 26 74 8 10 15 33 102 128 150 380 问人的血型与他所属的民族是否有关(??0.05)? 解:输入:
x=[42 26 26 8 ;47 49 22 10 ;50 59 26 15]; [chi2,chi21,h]=indenpendencetest0(x,0.05)
输出:
chi2 = 7.91 chi21 = 12.59 h =X 与 Y 独立