rcoplot
X = [ones(10,1) (1:10)'];
y = X * [10;1] + normrnd(0,0.1,10,1); [b,bint,r,rint] = regress(y,X,0.05); rcoplot(r,rint);
例3.1.3: 对男性大学生随机抽检,共抽400名大学生测量其身高。将身高区间(1.50, 2.1)分划分成若干段,计算每段学生身高的数量,并作直方图。
R = normrnd(1.7,0.1,400,1); % 产生正态分布的随机数 histfit(R,12) % 作直方图并建立拟合曲线
poisson的概率 X=0:10;
Y = poissinv(X,5); % 计算泊松分布每点的概率 stem(X,Y) % 作分布律图形
利用中心极限定理产生标准正态分布随机数并检验 clc,clear for i=1:1000 R=rand(1,12); X(i)=sum(R)-6; end X=X';
m=mean(X) v=var(X)
subplot(1,2,1),cdfplot(X) subplot(1,2,2),histfit(X)
h=kstest(X, [X normcdf(X, 0,1)]) 结果为:
H=0, 接受原假设,变换后的确为标准正态分布。
四、描述性统计量 命令 mean(X) median(X) var(X) std(X) 含义 求样本的平均值 求样本的中位数 求样本的方差 求样本的标准差 skewness(X) 求样本的偏度 kurtosis(X) 求样本的峰度 corrcoef(X) 求多变量样本的相关系数 n4i 3n11 skewness?Xi?X?kurtosis??? ni?1n
举例:正态分布的样本的方差、标准差和极差
X=normrnd(0,1,1,200) VAR=var(X) STD=std(X)
RANG=range(X)
??Xi?1?X?协方差阵和相关矩阵
X=rand(6,4) C=cov(X)
R=corrcoef(X)
综合举例:
% 案例1,抽200个正态分布随机数并进行各种检验
clear,clc
MU=0;SIGMA=1;
R = normrnd(MU,SIGMA,200,1); MU_1=mean(R); SIGMA_1=std(R); VAR_1=var(R);
MEDIAN_1= median(R); K_1 = kurtosis(R); S_1 = skewness(R); Max_1=max(R); Min_1=min(R);
fid = fopen('examp1.txt','w'); % 将数据文件my_data.txt置为fid fprintf(fid,' 计算结果为:\\n')
fprintf(fid,'=============================\\n') fprintf(fid,' 均值 = %8.4f\\n',MU_1) fprintf(fid,' 标准差 = %8.4f\\n',SIGMA_1) fprintf(fid,' 方差 = %8.4f\\n',VAR_1) fprintf(fid,' 中位数 = %8.4f\\n',MEDIAN_1) fprintf(fid,' 峰度 = %8.4f\\n',K_1) fprintf(fid,' 偏度 = %8.4f\\n',S_1) fprintf(fid,' 最大值 = %8.4f\\n',Max_1) fprintf(fid,' 最小值 = %8.4f\\n',Min_1)
fprintf(fid,'=============================\\n') fclose(fid)
subplot(1,2,1),normplot(R) subplot(1,2,2),histfit(R)
Normal Probability Plot350.9970.99 0.98 0.95 0.90 0.75 Probability3025200.50 150.25 0.10 0.05 0.02 0.01 0.003-2-101Data20-4-2024510
五、缺失值的处理
忽略缺损值并进行统计计算的命令 nanmax nanmean nanmedian nanmin nanstd nansum 忽略缺损值计算数组最大值 忽略缺损值计算数组均值 忽略缺损值计算数组中位数 忽略缺损值计算数组最小值 忽略缺损值计算数组标准差 忽略缺损值计算数组和 六、分类数据的简单统计
6.1分组统计函数grpstats
means = grpstats(X)
means = grpstats(X,group) grpstats(x,group,alpha)
[A,B,...] = grpstats(x,group,whichstats)
[...] = grpstats(X,group,whichstats,alpha)
这里:
means = grpstats(X) 计算没有分组时的总体均值,其中 X是样本观测矩阵
means = grpstats(X,group) 根据group的值,可进行分组统计,二维列联表的统计,高维列联表的统计,默认情况是返回均值。
grpstats(x,group,alpha) 与上调用相同,只是给出了均值的 100(1 - alpha)%置信区间图
[A,B,...] = grpstats(x,group,whichstats) 其中:whichstats表示
'mean' Mean
'sem' Standard error of the mean 'numel' Count, or number of elements 'gname' Group name
'std' Standard deviation 'var' Variance
'meanci' 95% confidence interval for the mean
'predci' 95% prediction interval for a new observation Mean
例如:分组统计
load carsmall
[m,p,g] = grpstats(Weight,{Origin Model_Year},{'mean','numel','gname'}) %n = length(m)
%errorbar((1:n)',m,p(:,2)-m)
%set(gca,'xtick',1:n,'xticklabel',g)
%title('95% prediction intervals for mean weight by year')
6.2 交叉表统计函数crosstab
table = crosstab(col1,col2)
table = crosstab(col1,col2,col3,...) [table,chi2,p] = crosstab(col1,col2)
[table,chi2,p,label] = crosstab(col1,col2)
这里:
table = crosstab(col1,col2)返回两列整数向量的频数交叉统计表(事实上列向量也可是分类数据,字符数据均可)
table = crosstab(col1,col2,col3,...)多组分类变量的列联表(频数统计表)
[table,chi2,p] = crosstab(col1,col2)给出两个分类变量间的列联表,卡方统计量,及p值 [table,chi2,p,label] = crosstab(col1,col2) 返回值中多出一项,显式给出分类搭配情况
load carsmall
[tab,chi2,p,label]=crosstab(Origin,Model_Year)
七、统计推断分类
统计推断方法可以分为三类,参数统计推断、分布的拟合优度统计推断和非参数统计推断。当已知分布的情况下,对分布的各种参数进行推断称为参数统计推断。对样本服从某种分布进行假设,并进行检验称分布进行分布的拟合优度统计推断。当对某个参数进行统计推断而事先不知其分布时称为非参数统计推断。
7.1 参数假设检验:
对平均值进行T检验 命令的语法:
h = ttest(x,m) h = ttest(x,m,alpha) h = ttest(x,m,alpha,tail) [h,p,ci] = ttest(...)
这里 x: 表示样本 m:在0假设下的平均值 alpha:显著性水平 h: 0接受,1拒绝。
p: 计算出的概率 ci:平均值的置信区间。
R=[1.66 1.53 1.71 1.73 1.59 1.82 1.82 1.69 1.73 1.72... 1.68 1.77 1.641 1.92 1.69 1.71 1.80 1.71 1.69 1.62]
ex=mean(R) % 计算平均值 [h,p,ci] = ttest(R,1.70) % 进行均值检验
命令语法为:
[h,significance,ci,stats] = ttest2(x,y,alpha,tail) 这里:
alpha:输入变量,给定的显著性水平,如果没有这一项,内定alpha=0.05。 tail: 输入变量,假设类型。当:
tail=’both’,为双尾检验,即备择假设。当没有tail项时系统内定此选择 tail=’right’,为右单尾检验,即备择假设。 tail=’left’,为左单尾检验,即备择假设。
h:输出变量,统计推断最后结果,h=0接受原假设,h=1拒绝原假设。 Significance:输出变量,统计量的拒绝域概率。 ci:计算出统计量的上下限。 stats:有关的其他统计量。