利用MATLAB绘制置信区域
| 分类: matlab研究 |
统计中经常会遇到求置信区间、置信区域(如置信椭圆、置信椭球)等,有时候需要把置信区域画出来,这样看起看更为直观,下面结合具体案例介绍调用自编函数ConfidenceRegion绘制置信区域。
【例1】绘制置信区间。产生一元正态分布随机数向量,绘制样本数据的95%置信区间。
x = normrnd(10,4,100,1);
subplot(1,2,1)
ConfidenceRegion(x)
subplot(1,2,2)
ConfidenceRegion(x,'exp')
效果图如下图所示:
http://attach.matlabsky.com/data/attachment/forum/201104/14/1621046cuwc2b669m6e9j4.jpg.thumb.jpg
【例2】绘制置信椭圆。产生二元正态分布随机数矩阵,绘制样本数据的95%置信椭圆区域。
subplot(1,2,1)
ConfidenceRegion(x)
subplot(1,2,2)
ConfidenceRegion(x,'exp')
果图如下图所示:
http://attach.matlabsky.com/data/attachment/forum/201104/14/162103keph6eo040heploi.jpg.thumb.jpg
【例3】绘制置信椭球。产生三元正态分布随机数矩阵,绘制样本数据的95%置信椭球区域。
x = mvnrnd([1;2;3],[3 0 0;0 5 -1;0 -1 1],100);
subplot(1,2,1)
ConfidenceRegion(x)
subplot(1,2,2)
ConfidenceRegion(x,'exp')
效果图如下图所示:
http://attach.matlabsky.com/data/attachment/forum/201104/14/1621079p0w12epep0j0js9.jpg.thumb.jpg
自编函数ConfidenceRegion程序代码如下:
function ConfidenceRegion(xdat,alpha,distribution)
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
% 设定参数默认值
if nargin == 1
elseif nargin == 2
end
% 判断参数取值是否合适
if ~isscalar(alpha) || alpha>=1 || alpha<=0
end
if ~strncmpi(distribution,'norm',3) &&
~strncmpi(distribution,'experience',3)
end
% 检查数据维数是否正确
[m,n] = size(xdat);
p = min(m,n);
if ~ismember(p,[1,2,3])
end
% 把样本观测值矩阵转置,使得行对应观测,列对应变量
if m < n
end
xm = mean(xdat); % 均值
n = max(m,n);
% 分情况绘制置信区域
switch p

加载中…