如果我有一个月平均值的矢量,如
aa = [1,2,3,2,1,3,5,3,4,8,9,7;...
11,12,3,21,1,3,15,3,4,8,19,7;...
21,2,3,2,1,23,5,3,34,84,9,7]';
其中每列指的是来自不同位置的月平均值,每行代表一年中的月份。我可以将所有网站的平均值计算为:
mean_a = nanmean(aa,2);
因此可以将这些的平均值绘制为:
plot(1:12, mean_a);
我现在如何计算这些平均值周围的95%置信区间?
任何建议都将受到赞赏。
我的尝试:
假设正常分布:
aa = [1,2,3,2,1,3,5,3,4,8,9,7;...
11,12,3,21,1,3,15,3,4,8,19,7;...
21,2,3,2,1,23,5,3,34,84,9,7]';
mean_a = nanmean(aa,2);
sem = (nanstd(aa')./sqrt(size(aa,2))).*1.96;
errorbar(1:12,mean_a,sem);
答案 0 :(得分:3)
使用quantile
计算分位数:或者如果您知道分布,请将标准差乘以正确的分位数值。
答案 1 :(得分:1)
我知道这是一个老问题,但是对于记录,here is a function called confidence_intervals()将为数据集提供任何置信区间,并且可以与Matlab中的errorbar() function一起使用。在给定可选参数的情况下,也可以使用它来查找log-normal方差的置信区间。
如您的示例所示,代码变为:
map.getStyle().layers