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