一.数据集的描述
1.集中趋势(Central Tendency):
求均值:M = mean(A[,dim,outtype,nonflag])
#参数说明:
A:指定数据
#若为向量,则求数组的均值
#若为为矩阵,则求每列的均值
#若为多维数组,则沿大小不等于1的第1个维度求均值
dim:指定沿哪个/些维度求均值;为int/vector
outtype:指定M的数据类型;为'default'/'double'/'native'
nonflag:指定是否忽略NaN;为'includenan'(不忽略)/'omitnan(忽略)
M:返回均值
#实例:
>> A=[1,2,3;4,5,6;7,8,99];
>> mean(A)
ans =
4 5 36
>> mean(A,2)
ans =
2
5
38
################################################################################################################################
求中位数:M = median(A[,dim,nonflag])
#实例:接上
>> median(A)
ans =
4 5 6
>> median(A,2)
ans =
2
5
8
################################################################################################################################
求众数:[M,F,C] = median(A[,dim])
#参数说明:
F:返回频率数组,其元素代表M中相应元素出现的次数
C:返回元胞数组C,其元素是与M中相应元素出现频率相同的所有值构成的排序向量
#实例:接上
>> mode(A)
ans =
1 2 3
>> mode(A,2)
ans =
1
4
7
>> [M,F,C]=mode(A,2)
M =
1
4
7
F =
1
1
1
C =
3×1 cell 数组 %C为[[1;2;3];[4;5;6];[7;8;99]]
{3×1 double}
{3×1 double}
{3×1 double}
################################################################################################################################
求百分位数:Y = prctile(X,p[,dim,'Method',method])
#参数说明:
X:指定数据
#若为向量,则求数组的百分位数
#若为为矩阵,则求每列的百分位数
#若为多维数组,则沿大小不等于1的第1个维度求百分位数
p:指定百分比
method:根据method的值,返回精确或近似百分位数
#实例:接上
>> prctile(A,25)
ans =
1.7500 2.7500 3.7500
>> prctile(A,33.3)
ans =
2.4970 3.4970 4.4970
>> prctile(A,33.3,2)
ans =
1.4990
4.4990
7.4990
2.离中趋势(Variation):
求最大值:[M,I] = max(A[,B,dim,nanflag])
#参数说明:
B:若同时指定了A,B,则求A,B对应元素处较大的那个
若只想求A中的最大值,则B处传入[]
I:返回最大值在运算维度上的索引
#实例:接上
>> max(A)
ans =
7 8 99
>> max(A,2)
ans =
2 2 3
4 5 6
7 8 99
>> max(A,[],2)
ans =
3
6
99
################################################################################################################################
求最小值:[M,I] = min(A[,B,dim,nanflag])
#实例:接上
>> min(A)
ans =
1 2 3
>> min(A,[],2)
ans =
1
4
7
################################################################################################################################
求方差:V = var(A[,w,dim,nanflag])
#参数说明:
w:指定各元素的权重;为0(默认;按N-1实现归一化,即求样本方差)/1(则N实现归一化,即求总体方差)/向量(元素非负,指定各数据的权重)
#实例:接上
>> var(A)
ans =
9 9 2979
>> var(A,1)
ans =
6 6 1986
################################################################################################################################
求标准差:V = std(A[,w,dim,nanflag])
3.其他:
求偏度:y = skewness(X[,flag,dim])
#参数说明:
X:指定数据
flag:指定求整体偏度(指定为1)还是样本偏度(指定为0)
y:返回偏度
################################################################################################################################
求峰度:k = kurtosis(X[,flag,dim])
#参数说明:
k:返回峰度
二.绘图
1.准备工作
(1)坐标区:
创建坐标区:ax = subplot(m,n,p[,Name,Value])
(2)坐标:
查看显示的x坐标的范围:xl = xlim
指定显示的x坐标的范围:xlim(limits)
#参数说明:
xl:返回显示的x坐标的范围
limits:指定显示的x坐标的范围;格式为[xmin,xmax]
(3)文字说明:
指定x轴的说明:t = xlabel([target,]txt[,Name,Value])
指定x轴的说明:t = ylabel([target,]txt[,Name,Value])
指定图片标题:t = title([target,]txt[,Name,Value])
#参数说明:
target:指定要添加说明的对象(如ax)
txt:指定文字说明
t:返回文本对象,以便之后进行修改
2.绘图
(1)条形图:
绘制条形图:b = bar([ax,x,]y[,width,style,color,Name,Value])
#参数说明:
ax:指定坐标区;默认为当前坐标区(gca)
x,y:指定x,y坐标;为array/matrix(每行为1组,每组包含该行中的所有数据),x默认为[1,2...n]
width,style,color:分别指定条形的宽度/样式/颜色
b:返回Bar对象
(2)二维填充图:
绘制区域填充图(见下图):ar = area([ax,X,]Y[,basevalue,Name,Value])
#参数说明:
X,Y:分别指定数据点x,y坐标;为array/matrix(每列为1组,每组包含该列中的所有数据),x默认为[1,2...n]
basevalue:指定基值(即显示的y坐标的起始值);默认为0
ar:返回Area对象
(3)针状图:
绘制针状图:h = stem([ax,X,]Y[,'filled',LineSpec,Name,Value])
#参数说明:
X,Y:分别指定数据的x,y坐标;为array/matrix(每列为1组,每组包含该列中的所有数据),x默认为[1,2...n]
'filled':指定使用实心圆点(默认为空心圆圈)坐标数据点的标记
LineSpec:指定线型/标记/颜色
h:返回Stem对象
(4)箱线图:
绘制箱线图:boxplot([ax,]x[,g,Name,Value])
#参数说明:
x:指定数据;为array/matrix(每列为1组,每组包含该列中的所有数据)
g:指定分组变量,为具有相同的g值的x值创建1个单独的箱子
#x值对应的g值为与该x值索引相同的g值
(5)散点图:
绘制散点图:s = scatter([ax,]x,y[,sz,c,'filled',mkr,Name,Value])
#参数说明:
x,y:分别指定数据的x,y坐标;为array
sz:指定数据点标记的大小;为scalar/array
c:指定数据点标记的颜色;为scalar(颜色名称/RGB三元组)/array/3列matrix(每列表示RGB中的1种颜色)
'filled':使用实心圆点而非空心圆圈作为数据点标记
mkr:指定数据点标记的形状
s:返回Scatter对象
三.假设检验(Hypothesis Test)
1.t-检验:
进行单样本(和配对样本的)t-检验:[h,p,ci,stats] = ttest(x[,y,Name,Value])
[h,p,ci,stats] = ttest(x,m[,Name,Value])
#参数说明:
x:指定样本;为向量
#原假设假定x中的数据来自均值为0且方差未知的正态分布;备择假设是总体分布的均值不等于零
y:指定配对样本;为向量
#原假设假定x – y中的数据来自均值为0且方差未知的正态分布
m:指定均值(m/y只能指定1个)
#原假设假定x中的数据来自均值为m且方差未知的正态分布;备择假设是均值不为m
h:返回原假设的检验决策
#如果检验在5%的显著性水平上拒绝原假设,则返回1,否则返回0
p:返回检验的p值
ci:返回x/x-y的均值的置信区间
stats:返回1个包含检验统计量信息的结构体
################################################################################################################################
进行双样本t-检验:[h,p,ci,stats] = ttest2(x,y[,Name,Value])
#参数说明:
x,y:指定2组样本;为向量
#原假设假定x,y中的数据是来自均值相等,方差相同但未知的正态分布的独立随机样本;备择假设是x,y中的数据来自均值不相等的总体
ci:返回总体均值差的置信区间
2.z-检验:
进行z-检验:[h,p,ci,zval] = ztest(x,m,sigma[,Name,Value])
#参数说明:
x:指定样本;为向量
#原假设假定x中的数据来自均值为m,标准差为sigma的正态分布
m,sigma:分别指定均值和标准差
ci:返回总体均值的置信区间
zval:返回检验的z值
3.威尔科克森符号秩检验:
进行威尔科克森符号秩检验:[p,h,stats] = signrank(x,y[,Name,Value])
[p,h,stats] = signrank(x,m[,Name,Value])
4.威尔科克森秩和检验:
进行威尔科克森秩和检验:[p,h,stats] = ranksum(x,y[,Name,Value])
四.多个数据集的相关性
1.皮尔逊相关系数:
求皮尔逊相关系数:[R,P,RL,RU] = corrcoef(A[,B,Name,Value])
#参数说明:
A:指定数据集;为matrix
#返回A的相关系数矩阵
A,B:指定2个数据集;为array
#返回A,B广播成的矩阵的相关系数矩阵
R:返回相关系数矩阵
P:返回p值矩阵
#原假设为观测到的现象间没有关系
RL,RU:返回每个系数的95%置信区间的下/上界