Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

anova1

Análisis de varianza de un factor

Descripción

ejemplo

p = anova1(y) realiza el ANOVA de un factor de los datos de muestra y y devuelve el valor p. anova1 trata cada columna de y como un grupo independiente. La función comprueba la hipótesis de que las muestras de las columnas de y proceden de poblaciones con la misma media frente a la hipótesis alternativa de que las medias de las poblaciones no son todas iguales. La función también muestra la gráfica de caja para cada grupo de y y la tabla ANOVA estándar (tbl).

p = anova1(y,group) realiza un ANOVA de un factor de los datos de muestra y, agrupados por group.

ejemplo

p = anova1(y,group,displayopt) activa las visualizaciones de la tabla ANOVA y de la gráfica de caja cuando displayopt está en 'on' (predeterminado) y suprime las visualizaciones cuando displayopt está en 'off'.

ejemplo

[p,tbl] = anova1(___) devuelve la tabla ANOVA (incluidas las etiquetas de columna y fila) en el arreglo de celdas tbl utilizando cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores. Para copiar una versión de texto de la tabla ANOVA en el portapapeles, seleccione Edit > Copy Text en la figura de la tabla ANOVA.

ejemplo

[p,tbl,stats] = anova1(___) devuelve una estructura, stats, que puede utilizar para realizar una prueba de comparación múltiple. Una prueba de comparación múltiple permite determinar qué pares de medias de grupo son significativamente diferentes. Para realizar esta prueba, utilice multcompare, proporcionando la estructura stats como argumento de entrada.

Ejemplos

contraer todo

Cree una matriz de datos de muestra y con columnas que sean constantes, más perturbaciones aleatorias normales con media de 0 y desviación estándar de 1.

y = meshgrid(1:5);
rng default; % For reproducibility
y = y + normrnd(0,1,5,5)
y = 5×5

    1.5377    0.6923    1.6501    3.7950    5.6715
    2.8339    1.5664    6.0349    3.8759    3.7925
   -1.2588    2.3426    3.7254    5.4897    5.7172
    1.8622    5.5784    2.9369    5.4090    6.6302
    1.3188    4.7694    3.7147    5.4172    5.4889

Realice un ANOVA de un factor.

p = anova1(y)

Figure One-way ANOVA contains objects of type uicontrol.

Figure contains an axes object. The axes object contains 35 objects of type line. One or more of the lines displays its values using only markers

p = 0.0023

La tabla ANOVA muestra la variación entre grupos (Columns) y la variación dentro de los grupos (Error). SS es la suma de los cuadrados y df son los grados de libertad. El total de grados de libertad es el número total de observaciones menos uno, que es 25 - 1 = 24. Los grados de libertad entre grupos son el número de grupos menos uno, es decir, 5 - 1 = 4. Los grados de libertad dentro de los grupos son los grados de libertad totales menos los grados de libertad entre los grupos, que es 24 - 4 = 20.

MS es el error cuadrático medio, es decir, SS/df para cada fuente de variación. La estadística F es el cociente de los errores cuadráticos medios (13,4309/2,2204). El valor p es la probabilidad de que la estadística de prueba pueda tomar un valor mayor que el valor de la estadística de prueba calculada, es decir, P(F > 6,05). El valor p pequeño de 0.0023 indica que las diferencias entre las medias de las columnas son significativas.

Introduzca los datos de muestra.

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];
alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

Los datos proceden de un estudio sobre la resistencia de vigas estructurales en Hogg (1987). La resistencia vectorial mide las deflexiones de las vigas en milésimas de pulgada bajo 3000 libras de fuerza. El vector alloy (aleación) identifica cada viga como acero ('st'), aleación 1 ('al1') o aleación 2 ('al2'). Aunque la aleación está ordenada en este ejemplo, no es necesario ordenar las variables de agrupación.

Pruebe la hipótesis nula de que las vigas de acero tienen la misma resistencia que las vigas fabricadas con las dos aleaciones más caras. Desactive la visualización de las figuras y devuelva los resultados del ANOVA en un arreglo de celdas.

[p,tbl] = anova1(strength,alloy,'off')
p = 1.5264e-04
tbl=4×6 cell array
    {'Source'}    {'SS'      }    {'df'}    {'MS'      }    {'F'       }    {'Prob>F'    }
    {'Groups'}    {[184.8000]}    {[ 2]}    {[ 92.4000]}    {[ 15.4000]}    {[1.5264e-04]}
    {'Error' }    {[102.0000]}    {[17]}    {[  6.0000]}    {0x0 double}    {0x0 double  }
    {'Total' }    {[286.8000]}    {[19]}    {0x0 double}    {0x0 double}    {0x0 double  }

El total de grados de libertad es el número total de observaciones menos uno, es decir, 20-1=19. Los grados de libertad entre grupos son el número de grupos menos uno, es decir, 3-1=2. Los grados de libertad dentro de los grupos son los grados de libertad totales menos los grados de libertad entre los grupos, es decir, 19-2=17.

MS es el error cuadrático medio, es decir, SS/df para cada fuente de variación. La estadística F es el cociente de los errores cuadráticos medios. El valor p es la probabilidad de que la estadística de prueba pueda tomar un valor mayor que o igual al valor de la estadística de prueba. El valor p de 1.5264e-04 sugiere el rechazo de la hipótesis nula.

Puede recuperar los valores de la tabla ANOVA mediante la indexación en el arreglo de celdas. Guarde el valor de la estadística F y el valor p en las nuevas variables Fstat y pvalue.

Fstat = tbl{2,5}
Fstat = 15.4000
pvalue = tbl{2,6}
pvalue = 1.5264e-04

Introduzca los datos de muestra.

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];
alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

Los datos proceden de un estudio sobre la resistencia de vigas estructurales en Hogg (1987). La resistencia vectorial mide las deflexiones de las vigas en milésimas de pulgada bajo 3000 libras de fuerza. El vector alloy (aleación) identifica cada viga como acero (st), aleación 1 (al1) o aleación 2 (al2). Aunque la aleación está ordenada en este ejemplo, no es necesario ordenar las variables de agrupación.

Realice un ANOVA de un factor mediante anova1. Devuelva la estructura stats, que contiene las estadísticas que multcompare necesita para realizar Multiple Comparisons.

[~,~,stats] = anova1(strength,alloy);

Figure One-way ANOVA contains objects of type uicontrol.

Figure contains an axes object. The axes object contains 21 objects of type line. One or more of the lines displays its values using only markers

El pequeño valor p de 0.0002 sugiere que la resistencia de las vigas no es la misma.

Realice una comparación múltiple de la resistencia media de las vigas.

[c,~,~,gnames] = multcompare(stats);

Figure Multiple comparison of means contains an axes object. The axes object with title Click on the group you want to test, xlabel 2 groups have means significantly different from st contains 7 objects of type line. One or more of the lines displays its values using only markers

En la figura, la barra azul representa el intervalo de comparación de la resistencia media del acero. Las barras rojas representan los intervalos de comparación de la resistencia media del material para la aleación 1 y la aleación 2. Ninguna de las barras rojas se solapa con la barra azul, lo que indica que la resistencia media del material del acero es significativamente diferente de la de la aleación 1 y la aleación 2. Puede confirmar la diferencia significativa haciendo clic en las barras que representan las aleaciones 1 y 2.

Muestre los resultados de la comparación múltiple y los nombres de grupo correspondientes en una tabla.

tbl = array2table(c,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"]);
tbl.("Group A") = gnames(tbl.("Group A"));
tbl.("Group B") = gnames(tbl.("Group B"))
tbl=3×6 table
    Group A    Group B    Lower Limit    A-B    Upper Limit     P-value  
    _______    _______    ___________    ___    ___________    __________

    {'st' }    {'al1'}      3.6064        7       10.394       0.00016831
    {'st' }    {'al2'}      1.6064        5       8.3936        0.0040464
    {'al1'}    {'al2'}      -5.628       -2        1.628          0.35601

Las dos primeras columnas muestran el par de grupos que se compara. La cuarta columna muestra la diferencia entre las medias estimadas de los grupos. La tercera y la quinta columna muestran los límites inferior y superior de los intervalos de confianza del 95% de la verdadera diferencia de medias. La sexta columna muestra el valor p para la hipótesis de que la verdadera diferencia de medias de los grupos correspondientes es igual a cero.

Las dos primeras filas muestran que las dos comparaciones que afectan al primer grupo (acero) tienen intervalos de confianza que no incluyen el cero. Como los valores p correspondientes (1.6831e-04 y 0.0040, respectivamente) son pequeños, esas diferencias son significativas.

La tercera fila muestra que las diferencias de resistencia entre las dos aleaciones no son significativas. Un intervalo de confianza del 95% con respecto a la diferencia es [-5.6,1.6], por lo que no se puede rechazar la hipótesis de que la verdadera diferencia sea cero. El correspondiente valor p de 0.3560 en la sexta columna confirma este resultado.

Argumentos de entrada

contraer todo

Datos de muestra, especificados como un vector o una matriz.

  • Si y es un vector, debe especificar el argumento de entrada group. Cada elemento de group representa un nombre de grupo del elemento correspondiente de y. La función anova1 trata los valores y correspondientes al mismo valor de group como parte del mismo grupo. Utilice este diseño cuando los grupos tengan diferente número de elementos (ANOVA no equilibrado).

    Example of the sample data input argument y and the group input argument g. Each element in g represents a group name of the corresponding element in y.

  • Si y es una matriz y no especifica group, anova1 trata cada columna de y como un grupo independiente. En este diseño, la función evalúa si las medias de población de las columnas son iguales. Utilice este diseño cuando cada grupo tenga el mismo número de elementos (ANOVA equilibrado).

    Example of the sample data input argument Y in a matrix form, illustrating how anova1 treats each column of y as a separate group

  • Si y es una matriz y especifica group, cada elemento de group representa un nombre de grupo para la columna correspondiente de y. La función anova1 trata las columnas que tienen el mismo nombre de grupo como parte del mismo grupo.

    Example of the sample data input argument Y in a matrix form and the group input argument group. Each element in group represents a group name of the corresponding column in Y.

Nota

anova1 ignora cualquier valor NaN en y. Además, si group contiene valores vacíos o NaN, anova1 ignora las observaciones correspondientes en y. La función anova1 realiza un ANOVA equilibrado si cada grupo tiene el mismo número de observaciones después de que la función descarte los valores vacíos o NaN. De lo contrario, anova1 realiza un ANOVA desequilibrado.

Tipos de datos: single | double

Variable de agrupación que contiene nombres de grupo, especificada como un vector numérico, un vector lógico, un vector categórico, un arreglo de caracteres, un arreglo de cadenas o un arreglo de celdas de vectores de caracteres.

  • Si y es un vector, cada elemento de group representa un nombre de grupo del elemento correspondiente de y. La función anova1 trata los valores y correspondientes al mismo valor de group como parte del mismo grupo.

    Example of the sample data input argument y and the group input argument g. Each element in g represents a group name of the corresponding element in y.

    N es el número total de observaciones.

  • Si y es una matriz, cada elemento de group representa un nombre de grupo para la columna correspondiente de y. La función anova1 trata las columnas de y que tienen el mismo nombre de grupo como parte del mismo grupo.

    Example of the sample data input argument Y in a matrix form and the group input argument group. Each element in group represents a group name of the corresponding column in Y.

    Si no desea especificar nombres de grupo para los datos de muestra de la matriz y, introduzca un arreglo vacío ([]) u omita este argumento. En este caso, anova1 trata cada columna de y como un grupo independiente.

Si group contiene valores vacíos o NaN, anova1 ignora las observaciones correspondientes de y.

Para obtener más información sobre las variables de agrupación, consulte Grouping Variables.

Ejemplo: 'group',[1,2,1,3,1,...,3,1] cuando y es un vector con observaciones clasificadas en los grupos 1, 2 y 3

Ejemplo: 'group',{'white','red','white','black','red'} cuando y es una matriz con cinco columnas clasificadas en los grupos rojo, blanco y negro

Tipos de datos: single | double | logical | categorical | char | string | cell

Indicador para mostrar la tabla ANOVA y la gráfica de caja, especificado como 'on' u 'off'. Cuando displayopt está en 'off', anova1 solo devuelve los argumentos de salida. No muestra la tabla ANOVA estándar ni la gráfica de caja.

Ejemplo: p = anova(x,group,'off')

Argumentos de salida

contraer todo

El valor p para la prueba de F se devuelve como valor escalar. El valor p es la probabilidad de que la estadística F pueda tomar un valor mayor que el valor calculado de la estadística de la prueba. anova1 comprueba la hipótesis nula de que todas las medias de grupo son iguales entre sí frente a la hipótesis alternativa de que al menos una media de grupo es diferente de las demás. La función obtiene el valor p a partir de la cdf de la distribución F.

Un valor p menor que el nivel de significación indica que al menos una de las medias muestrales es significativamente diferente de las demás. Los niveles de significación habituales son 0,05 o 0,01.

Tabla ANOVA, devuelta como arreglo de celdas. tbl tiene seis columnas.

ColumnaDefinición
sourceLa fuente de la variabilidad.
SSLa suma de los cuadrados debidos a cada fuente.
dfLos grados de libertad asociados a cada fuente. Supongamos que N es el número total de observaciones y k es el número de grupos. Entonces, N - k es el grado de libertad dentro de los grupos (Error), k - 1 es el grado de libertad entre los grupos (Columns) y N - 1 es el grado de libertad total. N - 1 = (N - k) + (k - 1)
MSLos cuadrados medios de cada fuente, que es el cociente SS/df.
FLa estadística F, que es el cociente de los cuadrados medios.
Prob>FEl valor p, que es la probabilidad de que la estadística F pueda tomar un valor mayor que el valor calculado de la estadística de prueba. anova1 deriva esta probabilidad de la cdf de la distribución F.

Las filas de la tabla ANOVA muestran la variabilidad de los datos dividida por la fuente.

FilaDefinición
GroupsVariabilidad debida a las diferencias entre las medias de los grupos (variabilidad entre grupos)
ErrorVariabilidad debida a las diferencias entre los datos de cada grupo y la media del grupo (variabilidad dentro de los grupos)
TotalVariabilidad total

Estadísticas para pruebas de comparación múltiple, devueltas como una estructura con los campos descritos en esta tabla.

Nombre del campoDefinición
gnamesNombres de los grupos
nNúmero de observaciones en cada grupo
sourceFuente de la salida stats
meansValores estimados de las medias
dfGrados de libertad del error (dentro de los grupos) (N - k, donde N es el número total de observaciones y k es el número de grupos)
sRaíz cuadrada del error cuadrático medio

Más acerca de

contraer todo

Gráfica de caja

anova1 devuelve una gráfica de caja de las observaciones de cada grupo de y. Las gráficas de caja ofrecen una comparación visual de los parámetros de localización de los grupos.

En cada caja, la marca central es la mediana (segundo cuantil, q2) y los extremos de la caja son los percentiles 25 y 75 (primer y tercer cuantiles, respectivamente, q1 y q3). Los bigotes se extienden hasta los puntos de datos más extremos que no se consideran valores atípicos. Los valores atípicos se representan individualmente con el símbolo '+'. Los extremos de los bigotes corresponden a q3 + 1.5 × (q3q1) y q1 – 1.5 × (q3q1).

Las gráficas de caja incluyen muescas para comparar los valores de la mediana. Dos medianas son significativamente diferentes al nivel de significación del 5% si sus intervalos, representados por muescas, no se solapan. Esta prueba es diferente de la prueba de F que realiza el ANOVA; sin embargo, las grandes diferencias en las líneas centrales de las cajas corresponden a un gran valor de la estadística F y, en consecuencia, a un pequeño valor p. Los extremos de las muescas corresponden a q2 - 1,57(q3 - q1)/sqrt(n) y q2 + 1,57(q3 - q1)/sqrt(n), donde n es el número de observaciones sin ningún valor NaN. En algunos casos, las muescas se extienden fuera de las cajas.

Example of a box plot with labels for the summary statistics

Para obtener más información sobre las gráficas de caja, consulte 'Whisker' y 'Notch' de boxplot.

Funcionalidad alternativa

En lugar de utilizar anova1, puede crear un objeto anova usando la función anova. La función anova ofrece las siguientes ventajas:

  • La función anova permite especificar el tipo de modelo ANOVA, el tipo de suma de cuadrados y los factores que se deben tratar como categóricos. anova también admite argumentos de entrada de tabla predictores y de respuesta.

  • Además de las salidas devueltas por anova1, las propiedades del objeto anova contienen lo siguiente:

    • Fórmula del modelo ANOVA

    • Coeficientes del modelo ANOVA ajustado

    • Valores residuales

    • Factores y datos de respuesta

  • Las funciones del objeto anova permiten realizar análisis adicionales después de ajustar el objeto anova. Por ejemplo, puede crear una gráfica interactiva de varias comparaciones de medias para el ANOVA, obtener las estimaciones de la respuesta media para cada valor de un factor y calcular las estimaciones del componente de varianza.

Referencias

[1] Hogg, R. V., and J. Ledolter. Engineering Statistics. New York: MacMillan, 1987.

Historial de versiones

Introducido antes de R2006a