本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

描述性统计量

如果您需要更高级的统计功能,您可能要使用 Statistics and Machine Learning Toolbox™ 软件。

用于计算描述性统计量的函数

使用以下 MATLAB® 函数对您的数据进行描述性统计量计算。

注意

对于矩阵数据,每列的描述性统计量是独立计算的。

统计函数汇总

函数

说明

max

最大值

mean

平均值或均值

median

中值

min

最小值

mode

出现次数最多的值

std

标准差

var

方差,用于度量值的分散程度

以下示例应用 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 数据统计仅可用于二维图。

计算和绘制描述性统计量

  1. 加载并绘制数据:

    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 1Station 2Station 3数据集指您绘制的数组中的每列数据。如果您未命名数据集,则会分配默认名称 data1data2,依此类推。

  2. 在图窗窗口中,选择工具 > 数据统计信息

    “数据统计信息”对话框将打开并显示 Station 1 数据集的 XY 数据的描述性统计量。

    注意

    “数据统计信息”对话框显示一个极差,它是所选数据集中最小值和最大值之间的差值。该对话框不在绘图上显示该范围。

  3. 以下项的统计信息列表中选择另一个数据集 Station 2

    这将显示 Station 2 数据集的 XY 数据的统计量。

  4. 选中您要在绘图上显示的每个统计量的复选框,然后点击保存到工作区

    例如,要绘制 Station 2 的均值,请在 Y 列中选中均值复选框。

    这将绘制一条水平线来表示 Station 2 的均值,并更新图例以包含此统计量。

设置绘图上数据统计量的格式

“数据统计信息”对话框使用颜色和线型将统计量与绘图上的数据区分开来。示例的此部分显示如何自定义绘图上描述性统计量的显示,例如颜色、线宽、线型或标记。

注意

在绘制完数据的所有统计量前,不要编辑统计量的显示属性。如果在编辑绘图属性后添加或删除统计量,则对绘图属性的更改将丢失。

要修改绘图上数据统计量的显示,请执行下列操作:

  1. 在 MATLAB 图窗窗口中,点击工具栏中的 编辑绘图)按钮。

    此步骤将启用绘图编辑。

  2. 双击要编辑其显示属性的绘图上的统计量。例如,双击表示 Station 2 均值的水平线。

    此步骤将在 MATLAB 图窗窗口下方打开属性编辑器,您可以在其中修改用于表示此统计量的线条的外观。

  3. 在属性编辑器中,指定线条标记的样式、大小和颜色。

    提示

    或者,右键点击绘图上的统计量,然后从快捷菜单中选择一个选项。

将统计量保存到 MATLAB 工作区

执行下列步骤可将统计量保存到 MATLAB 工作区。

注意

当您的绘图包含多个数据集时,请分别保存各数据集的统计量。要显示其他数据集的统计量,请从“数据统计信息”对话框的以下项的统计信息列表中选择该数据集。

  1. 在“数据统计信息”对话框中,点击保存到工作区按钮。

  2. 在“将统计信息保存到工作区”对话框中,选择用于保存 X 数据或 Y 数据或两者的统计量的选项。然后,输入相应的变量名称。

    在本示例中,只保存 Y 数据。输入变量名称为 Loc2countstats

  3. 点击确定

    此步骤将描述性统计量保存到一个结构体中。新变量将添加到 MATLAB 工作区中。

要查看新结构体变量,请在 MATLAB 提示符下键入变量名称:

Loc2countstats
Loc2countstats = 

       min: 9
       max: 145
      mean: 46.5417
    median: 36
      mode: 9
       std: 41.4057
     range: 136

生成代码文件

示例的此部分显示如何从图形生成 MATLAB 代码文件,再将代码应用至新数据以重新生成相同格式的绘图和统计量。在 MATLAB Online™ 中不能生成代码文件。

  1. 在图窗窗口中,选择文件 > 生成代码

    此步骤创建一个函数代码文件并将其显示在 MATLAB 编辑器中。

  2. 将文件的第一行上的函数名称从 createfigure 更改为更具体的名称,如 countplot。使用文件名 countplot.m 将文件保存到您的当前文件夹中。

  3. 生成一些新的随机计数数据:

    randcount = 300*rand(24,3);
  4. 用新数据和重新计算的统计量重新生成绘图:

    countplot(t,randcount)