Come tracciare gli intervalli di confidenza in MATLAB?
-
05-07-2019 - |
Domanda
Voglio tracciare alcuni grafici degli intervalli di confidenza in MATLAB ma non ho idea di come farlo. Ho i dati in un file .xls.
Qualcuno può darmi un suggerimento o qualcuno conosce i comandi per tracciare elementi della configurazione?
Soluzione
Non sono sicuro di cosa intendevi con il grafico degli intervalli di confidenza, ma questo è un esempio di come tracciare un elemento 95% su due lati di una distribuzione normale:
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')
Altri suggerimenti
Dopo aver letto numerosi thread, ecco il mio tentativo.
% 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
Principalmente basato su questa domanda: Stampa con trasparenza
Vedi ad es. questi m-file su Matlab File Exchange:
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow