Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

polyconf

Los intervalos de confianza polinómicos

Sintaxis

Y = polyconf(p,X)
[Y,DELTA] = polyconf(p,X,S)
[Y,DELTA] = polyconf(p,X,S,param1,val1,param2,val2,...)

Descripción

Y = polyconf(p,X) evalúa el polinomio en los valores en. es un vector de coeficientes en potencias descendentes.pXp

[Y,DELTA] = polyconf(p,X,S) toma salidas y genera intervalos de predicción del 95% para las nuevas observaciones en los valores en.pSpolyfitY ± DELTAX

[Y,DELTA] = polyconf(p,X,S,param1,val1,param2,val2,...) especifica los pares de nombre/valor de parámetro opcionales elegidos de la lista siguiente.

ParámetroValor
'alpha'

Un valor entre 0 y 1 especificando un nivel de confianza de%.100*(1-alpha) El valor predeterminado es.0,05

'mu'

Un vector de dos elementos que contiene los parámetros de centrado y escalado. Con esta opción, utiliza en lugar de.polyconf(X-mu(1))/mu(2)X

'predopt'

O bien (el valor predeterminado) para calcular los intervalos de predicción para las nuevas observaciones en los valores de, o para calcular los intervalos de confianza para el ajuste evaluado en los valores en.'observation'X'curve'X Vea a continuación.

'simopt'

O bien (el valor predeterminado) para los límites no simultáneos o para los límites simultáneos.'off''on' Vea a continuación.

Los parámetros y se pueden entender en función de las siguientes funciones:'predopt''simopt'

  • () — la función media desconocida estimada por el ajustepx

  • () — el menor límite de confianzalx

  • () — el límite superior de confianzaux

Supongamos que hace una nueva observaciónyn+1 Enxn+1Para

yn+1(xn+1) = (pxn+1) +εn+1

De forma predeterminada, el intervalo [ln+1(xn+1),un+1(xn+1)] es un 95% de confianza ligada ayn+1(xn+1).

Las siguientes combinaciones de los parámetros y permiten especificar otros límites.'predopt''simopt'

'simopt''predopt'Cantidad limitada
'off''observation'

yn+1(xn+1) (por defecto)

'off''curve'

(pxn+1)

'on''observation'

yn+1(), para todos losxx

'on''curve'

(), para todos lospxx

En general, los intervalos son más anchos que los intervalos, debido a la incertidumbre adicional de predecir un nuevo valor de respuesta (la curva más errores aleatorios).'observation''curve' Del mismo modo, los intervalos simultáneos son más anchos que los intervalos no simultáneos, debido a la incertidumbre adicional de los valores delimitadores para todos los predictores.x

Ejemplos

En este ejemplo se utiliza código de la función de ejemplo de documentación y se llama a la función de ejemplo Documentation para convertir el vector de coeficiente en texto para la expresión polinómica mostrada en el título de la figura.polydemopolystrp Combina las funciones, y para producir una visualización con formato de datos con un ajuste polinómico.polyfitpolyvalrootspolyconf

Nota

archivos de ejemplo de documentación se encuentran en el subdirectorio de la carpeta raíz ().Statistics and Machine Learning Toolbox™\help\toolbox\stats\examplesMATLAB®matlabroot Este subdirectorio no está en la ruta de acceso durante la instalación.MATLAB Para utilizar los archivos de este subdirectorio, agregue el subdirectorio a la ruta de acceso () o haga que el subdirectorio sea su carpeta de trabajo actual ().MATLABaddpathcd

Visualice los datos simulados con una tendencia cuadrática, un polinomio cuadrático ajustado y intervalos de predicción del 95% para las nuevas observaciones:

xdata = -5:5; ydata = xdata.^2 - 5*xdata - 3 + 5*randn(size(xdata));  degree = 2;  % Degree of the fit alpha = 0.05; % Significance level  % Compute the fit and return the structure used by  % POLYCONF. [p,S] = polyfit(xdata,ydata,degree);  % Compute the real roots and determine the extent of the  % data. r = roots(p)';        % Roots as a row vector. real_r = r(imag(r) == 0);  % Real roots.  % Assure that the data are row vectors. xdata = reshape(xdata,1,length(xdata)); ydata = reshape(ydata,1,length(ydata));  % Extent of the data. mx = min([real_r,xdata]); Mx = max([real_r,xdata]); my = min([ydata,0]); My = max([ydata,0]);  % Scale factors for plotting. sx = 0.05*(Mx-mx); sy = 0.05*(My-my);  % Plot the data, the fit, and the roots. hdata = plot(xdata,ydata,'md','MarkerSize',5,...   'LineWidth',2); hold on xfit = mx-sx:0.01:Mx+sx; yfit = polyval(p,xfit); hfit = plot(xfit,yfit,'b-','LineWidth',2); hroots = plot(real_r,zeros(size(real_r)),...               'bo','MarkerSize',5,...               'LineWidth',2,...               'MarkerFaceColor','b'); grid on plot(xfit,zeros(size(xfit)),'k-','LineWidth',2) axis([mx-sx Mx+sx my-sy My+sy])  % Add prediction intervals to the plot. [Y,DELTA] = polyconf(p,xfit,S,'alpha',alpha); hconf = plot(xfit,Y+DELTA,'b--'); plot(xfit,Y-DELTA,'b--')  % Display the polynomial fit and the real roots. approx_p = round(100*p)/100; % Round for display. htitle = title(['{\bf Fit:   }',...   texlabel(polystr(approx_p))]); set(htitle,'Color','b') approx_real_r = round(100*real_r)/100; % Round for display. hxlabel = xlabel(['{\bf Real Roots:     }',...     num2str(approx_real_r)]); set(hxlabel,'Color','b')  % Add a legend. legend([hdata,hfit,hroots,hconf],...         'Data','Fit','Real Roots of Fit',...         '95% Prediction Intervals')

Consulte también

| |

Introducido antes de R2006a