【问题标题】:Calculate and plot confidence intervals for the mean in MATLAB (bootci)在 MATLAB (bootci) 中计算和绘制均值的置信区间
【发布时间】:2016-05-08 08:21:15
【问题描述】:

我有一组随时间变化的曲线,它们存储在 MATLAB 矩阵中。矩阵的每一行都是这些曲线之一,随着时间的推移而展开。这些是随机实验的重复。

我需要绘制这些曲线随时间变化的平均值以及 95% 置信区间。

我对统计数据的理解相当差,但有人建议我使用 MATLAB 的 bootci 函数使用引导置信区间。

我在 MATLAB 中实现了一个最小示例,但我有一些疑问。我希望你能帮助我更好地掌握这一点并避免愚蠢的错误。

示例如下:

NVARIABLES = 200;
NOBSERVATIONS = 1000;
RESAMPLING = 10000;

DATA = rand(NOBSERVATIONS, NVARIABLES);

[CI, STAT] = bootci(RESAMPLING, @mean, DATA);

MEAN = mean(DATA); % <------- [1]

x = 1:NVARIABLES;

figure;
hold on;
plot(x, MEAN, 'LineWidth', 2);
plot(x, CI(1,:), '--', 'LineWidth', 2); % [2]
plot(x, CI(2,:), '--', 'LineWidth', 2);
% plot(x, MEAN-CI(1,:)); % ?
% plot(x, MEAN+CI(2,:)); % ?
hold off;

这是我的问题:

  • 我是否正确使用了该功能?
  • 报告/绘制平均值时,绘制平均值(数据)是否正确(参见行1)或者我应该绘制由引导程序得出的平均值?我看到 STAT 包含每个引导示例的平均值,但我不知道我是否应该使用这些信息,以及如何使用
  • 按照我的方式绘制置信区间是否正确(参见第 [2] 行),还是应该绘制 MEAN-CI(1,:) 和 MEAN+CI(2,:)?

请在附件中找到代码生成的图。

【问题讨论】:

    标签: matlab confidence-interval statistics-bootstrap


    【解决方案1】:

    我可以回答 Q1 和 Q3。

    第一季度。第一个参数需要是计算中使用的引导样本数,第二个参数是返回您希望找到置信区间的统计数据的函数,第三个是您要作为输入的数据集本身功能。您必须确保第一个参数对您来说是正确的,其余的似乎都是正确的。

    第三季度。您所做的是正确的- CI 给出了范围,而不是平均值的变化。还有另一种绘制它的方法,在某些情况下可能会更好,或者只是基于个人喜好。 plot_ci 是一个函数,可让您绘制置信区间并在同一图上显示这些区间的干净补丁。这些图看起来像这样(这是一个示例图,不是基于问题中的数据集):

    命令如下:

    plot_ci(x,[MEAN,CI(1,:),CI(2,:)],'PatchColor', 'k', 'PatchAlpha', 0.1, 'MainLineWidth', 2, 'MainLineStyle', '-', 'MainLineColor', 'b','LineWidth', 1.5, 'LineStyle','--', 'LineColor', 'k');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 2018-10-02
      • 2019-01-18
      • 2020-08-04
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多