用描述性统计量进行计算
如果您需要更高级的统计功能,您可能要使用 Statistics and Machine Learning Toolbox™ 软件。
用于计算描述性统计量的函数
使用以下 MATLAB® 函数对您的数据进行描述性统计量计算。
注意
对于矩阵数据,每列的描述性统计量是独立计算的。
以下示例应用 MATLAB 函数来计算描述性统计量:
示例 1 - 计算最大值、均值和标准差
此示例说明如何使用 MATLAB 函数计算一个 24×3 矩阵(称为 count
)的最大值、均值和标准差值。MATLAB 为矩阵中的每列独立计算这些统计信息。
% Load the sample data load count.dat % Find the maximum value in each column mx = max(count) % Calculate the mean of each column mu = mean(count) % Calculate the standard deviation of each column sigma = std(count)
结果是
mx = 114 145 257 mu = 32.0000 46.5417 65.5833 sigma = 25.3703 41.4057 68.0281
要获取每个数据列中最大数据值所在的行号,请指定另一个输出参数 indx
以返回行索引。例如:
[mx,indx] = max(count)
这些结果是
mx = 114 145 257 indx = 20 20 20
此处,变量 mx
是行向量,它包含三个数据列中每个列中的最大值。变量 indx
包含每列中对应于最大值的行索引。
要找到整个 count
矩阵中的最小值,请使用语法 count(:)
将 24×3 矩阵转换为 72×1 列向量。然后,要找到该单一列中的最小值,请使用以下语法:
min(count(:)) ans = 7
示例 2 - 减去均值
使用以下语法从矩阵的每列中减去均值:
% Get the size of the count matrix [n,p] = size(count) % Compute the mean of each column mu = mean(count) % Create a matrix of mean values by % replicating the mu vector for n rows MeanMat = repmat(mu,n,1) % Subtract the column mean from each element % in that column x = count - MeanMat
注意
从数据中减去均值也称为去除线性趋势。有关从数据中删除均值或最佳拟合线的详细信息,请参阅去除时间表数据中的线性趋势。
示例:使用 MATLAB 数据统计信息
数据统计信息
“数据统计信息”对话框可帮助您计算和绘制数据的描述性统计量。此示例说明如何使用 MATLAB 数据统计信息来计算并绘制 24×3 矩阵 count
的统计量。该数据表示有多少辆车经过了三条街道上的交通计数站。
本节包含以下主题:
注意
MATLAB 数据统计仅可用于二维图。
计算和绘制描述性统计量
加载并绘制数据:
load count.dat [n,p] = size(count); % Define the x-values t = 1:n; % Plot the data and annotate the graph plot(t,count) legend('Station 1','Station 2','Station 3','Location','northwest') xlabel('Time') ylabel('Vehicle Count')
注意
图例包含每个数据集的名称,由
legend
函数指定:Station 1
、Station 2
和Station 3
。数据集指您绘制的数组中的每列数据。如果您未命名数据集,则会分配默认名称data1
、data2
,依此类推。在图窗窗口中,选择工具 > 数据统计信息。
“数据统计信息”对话框将打开并显示
Station 1
数据集的X
和Y
数据的描述性统计量。注意
“数据统计信息”对话框显示一个极差,它是所选数据集中最小值和最大值之间的差值。该对话框不在绘图上显示该范围。
在以下项的数据统计信息列表中选择另一个数据集
Station 2
。这将显示
Station 2
数据集的X
和Y
数据的统计量。选中您要在绘图上显示的每个统计量的复选框,然后点击保存到工作区。
例如,要绘制
Station 2
的均值,请在 Y 列中选中均值复选框。这将绘制一条水平线来表示
Station 2
的均值,并更新图例以包含此统计量。
设置绘图上数据统计量的格式
“数据统计信息”对话框使用颜色和线型将统计量与绘图上的数据区分开来。示例的此部分显示如何自定义绘图上描述性统计量的显示,例如颜色、线宽、线型或标记。
注意
在绘制完数据的所有统计量前,不要编辑统计量的显示属性。如果在编辑绘图属性后添加或删除统计量,则对绘图属性的更改将丢失。
要修改绘图上数据统计量的显示,请执行下列操作:
在 MATLAB 图窗窗口中,点击工具栏中的 (编辑绘图)按钮。
此步骤将启用绘图编辑。
双击要编辑其显示属性的绘图上的统计量。例如,双击表示
Station 2
均值的水平线。此步骤将打开属性检查器,您可以在其中修改用于表示此统计量的线条的外观。
在属性检查器窗口中,指定线条和标记的样式、大小和颜色。
提示
或者,右键点击绘图上的统计量,然后从快捷菜单中选择一个选项。
将统计量保存到 MATLAB 工作区
执行下列步骤可将统计量保存到 MATLAB 工作区。
注意
当您的绘图包含多个数据集时,请分别保存各数据集的统计量。要显示其他数据集的统计量,请从“数据统计信息”对话框的以下项的数据统计信息列表中选择该数据集。
在“数据统计信息”对话框中,点击保存到工作区按钮。
在“将统计信息保存到工作区”对话框中,选择用于保存
X
数据或Y
数据或两者的统计量的选项。然后,输入相应的变量名称。在本示例中,只保存
Y
数据。输入变量名称为Loc2countstats
。点击确定。
此步骤将描述性统计量保存到一个结构体中。新变量将添加到 MATLAB 工作区中。
要查看新结构体变量,请在 MATLAB 提示符下键入变量名称:
Loc2countstats
Loc2countstats = struct with fields: min: 9 max: 145 mean: 46.5417 median: 36 mode: 9 std: 41.4057 range: 136
生成代码文件
示例的此部分显示如何从图形生成 MATLAB 代码文件,再将代码应用至新数据以重新生成相同格式的绘图和统计量。在 MATLAB Online™ 中不能生成代码文件。
在图窗窗口中,选择文件 > 生成代码。
此步骤创建一个函数代码文件并将其显示在 MATLAB 编辑器中。
将文件的第一行上的函数名称从
createfigure
更改为更具体的名称,如countplot
。使用文件名countplot.m
将文件保存到您的当前文件夹中。生成一些新的随机计数数据:
rng('default') randcount = 300*rand(24,3);
用新数据和重新计算的统计量重新生成绘图:
countplot(t,randcount)