Pergunta

Eu quero traçar alguns gráficos de intervalo de confiança em MATLAB, mas eu não tenho nenhuma idéia a todos como fazê-lo. Eu tenho os dados em um arquivo .xls.

Alguém pode me dar uma dica, ou faz comandos Alguém sabe para traçar CIs?

Foi útil?

Solução

Eu não tenho certeza que você entende por confiança gráfico intervalos, mas este é um exemplo de como traçar um dois lados IC 95% de uma distribuição normal:

alpha = 0.05;          % significance level
mu = 10;               % mean
sigma = 2;             % std
cutoff1 = norminv(alpha, mu, sigma);
cutoff2 = norminv(1-alpha, mu, sigma);
x = [linspace(mu-4*sigma,cutoff1), ...
    linspace(cutoff1,cutoff2), ...
    linspace(cutoff2,mu+4*sigma)];
y = normpdf(x, mu, sigma);
plot(x,y)

xlo = [x(x<=cutoff1) cutoff1];
ylo = [y(x<=cutoff1) 0];
patch(xlo, ylo, 'b')

xhi = [cutoff2 x(x>=cutoff2)];
yhi = [0 y(x>=cutoff2)];
patch(xhi, yhi, 'b')

plot

Outras dicas

Depois de ler vários tópicos, aqui está a minha tentativa.

 enter descrição da imagem aqui

% Get some random data
x       = linspace(0.3, pi-0.3, 10);
Data    = sin(x) + randn(1, 10)/10;
Data_sd = 0.1+randn(1,10)/30;

% prepare it for the fill function
x_ax    = 1:10;
X_plot  = [x_ax, fliplr(x_ax)];
Y_plot  = [Data-1.96.*Data_sd, fliplr(Data+1.96.*Data_sd)];

% plot a line + confidence bands
hold on 
plot(x_ax, Data, 'blue', 'LineWidth', 1.2)
fill(X_plot, Y_plot , 1,....
        'facecolor','blue', ...
        'edgecolor','none', ...
        'facealpha', 0.3);
hold off 

Na maior parte com base nesta pergunta: plotagem com transparência

Veja por exemplo estes m-arquivos em Matlab File Exchange:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top