MATLAB R2018a 统计和机器学习工具箱学习(一) 描述性统计与可视化
该内容被分为三个部分:
一、数据管理(Managing Data);
二、描述性统计(Descriptive Statistics);
三、统计可视化(Statistical Visualization);
1、数据管理(Managing Data):
可以导入和导出多种文件格式,笔者目前用的主要是Microsoft Excel spreadsheets,其他的如果将来有需要的话再进行学习和补充.
(1)xlsread %读取Excel表中的数据
[num,text,raw] = xlsread('filename','sheet');
[num,text,raw] = xlsread('filename','sheet','xlRange');
num %返回为数值矩阵
text %元胞数组,返回文本数据
raw %元胞数组,返回工作表的数值数据和文本数据
filename %读取指定文件
sheet %读取该文件的指定工作表
xlRange %%读取指定工作表的范围,使用Excel范围的语法
这里要注意,MATLAB中一般显示出四位小数,如果想要显示出精度的话,可以使用 format long;
考虑到有时候要将数据写入到Excel中,这里也做一个总结,可以拿来复习。
status = xlswrite('filename',A,'sheet','xlRange') %这里的file要是已存在的
status %用0和1返回操作的状态
A %要写入的数据
2、描述性统计(Descriptive Statistics):
从样本数据中计算描述性统计, 包括集中趋势(central tendency),分散程度(dispersion), 形状(shape),相关性(correlation)和协方差(covariance).
A、集中趋势和分散程度(Central Tendency and Dispersion)
(1) geomean(x) %计算x的几何平均数(geometric mean)
若x为矩阵,则返回为行向量(row),为每一列(column)的几何平均数
(2) y = harmmean(x) %计算x的调和平均数(harmonic mean),用法类似geomean
(3) y = nanmean(x) %忽略了NaN值的平均值,用法类似geomean
(4) y = nanmedian(x) %忽略了NaN值的中位数,用法类似geomean
(5) k = kurtosis(x) %求样本的峰度,用法类似geomean 峰度,即样本的四阶中心矩除以方差的平方
(6) m = moment(X,k) %求X的k阶中心矩(Central moment)
(7) y = skewness(X) %计算X的偏度(skewness)
(8) y = nanstd(X) %忽略了NaN值的标准差(Standard deviation)
(9) y = nanvar(X) %忽略了NaN值的方差(Variance)
几何平均数的计算:
调和平均数的计算:
峰度的计算:
k阶中心矩的计算:
偏度的计算:
B、范围,百分位数和z分位数(Ranges, Percentiles, and z-Scores)
(1) y = range(X) %返回X中最大值与最小值的差值,若x为矩阵,则返回为行向量(row),为每一列(column)的range