参数估计分为点估计和区间估计,在matlab中可以调用namefit()函数来计算参数的极大似然估计值和置信区间。而数据分析中用得最多的是正态分布参数估计。
例1
从某厂生产的滚珠中抽取10个,测得滚珠的直径(单位:mm)为x=[15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87];
若滚珠直径服从N(μ,σ2),其中μ,σ未知,求μ、σ的最大似然估计以及90%的置信区间。
>> [miu,sigma,miuci,sigmaci]=normfit(x,0.1)
miu =
15.0560
sigma =
0.1397
miuci =
14.9750
15.1370
sigmaci =
0.1019
0.2298
例2
某切割机正常工作时,切割的金属棒的长度服从N(100,4),从该切割机切割的一批金属棒中随机抽取15根,测得它们的长度(单位:mm)为: x=[97 102 105 112 99 103 102 94 100 95 105 98 102 100 103];
假设总体方差不变,试检验该切割机工作是否正常,即总体均值是否还等于100mm,取显著水平5%。
>> clear
>> x=[97 102 105 112 99 103 102 94 100 95 105 98 102 100 103];
>> [h,p,muci,zval]=ztest(x,100,2,0.05)
h =
1 %1拒绝H0,0接受H0
p =
0.0282 %p<5%,拒绝
muci =
100.1212 102.1455 %95%置信区间
zval =
2.1947 %统计量的观测值
例3
某化肥厂用自动包装机包装化肥,某日测得9包化肥的质量(单位:kg)为x=[49.4 50.5 50.7 51.7 49.8 47.0 49.2 51.4 48.9];设化肥包装的质量服从正态分布,是否认为每包化肥平均质量为50kg,取显著水平为5%。(方差未知)
>> clear
>> x=[49.4 50.5 50.7 51.7 49.8 47.0 49.2 51.4 48.9];
>> [h,p,muci,stats]=ttest(x,50,0.05)
h =
0 %接受H0
p =
0.7544
muci =
48.7364 50.9524
stats =
包含以下字段的 struct:
tstat: -0.3237
df: 8
sd: 1.4414
例4
甲、乙两台机床加工同一产品,从这两台机床加工的产品中抽取若干件,测得直径(单位:mm)为x=[20.1 20.0 19.3 20.6 20.2 19.9 20.0 19.9 19.1 19.9]; y=[18.6 19.1 20.0 20.0 20.0 19.7 19.9 19.6 20.2];
设甲、乙两台机床加工的产品直径分别服从正态分布试比较甲、乙两台机床加工的产品的直径是否有显著差异?取显著水平为5%.
>> x=[20.1 20.0 19.3 20.6 20.2 19.9 20.0 19.9 19.1 19.9];
>> y=[18.6 19.1 20.0 20.0 20.0 19.7 19.9 19.6 20.2];
>> alhpa=0.05;tail='both';vartype='equal';
>> [h,p,muci,stats]=ttest2(x,y,alhpa,tail,vartype)
h =
0
p =
0.3191
muci =
-0.2346 0.6791
stats =
包含以下字段的 struct:
tstat: 1.0263
df: 17
sd: 0.4713