¿Cómo trazo los intervalos de confianza en MATLAB?
-
05-07-2019 - |
Pregunta
Quiero trazar algunos gráficos de intervalos de confianza en MATLAB, pero no tengo idea de cómo hacerlo. Tengo los datos en un archivo .xls.
¿Puede alguien darme una pista, o alguien conoce los comandos para trazar CI?
Solución
No estoy seguro de lo que querías decir con el gráfico de intervalos de confianza, pero este es un ejemplo de cómo trazar un IC del 95% de dos caras de una distribución 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')
Otros consejos
Después de leer numerosos hilos, aquí está mi intento.
% 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 basado en esta pregunta: Trazado con transparencia
Ver p. estos archivos m en Matlab File Exchange:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow