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.

D-diseños óptimos

Introducción a los diseños D-óptimos

Los diseños experimentales tradicionales (, y) son apropiados para calibrar modelos lineales en entornos experimentales donde los factores están relativamente sin restricciones en la región de interés.Diseños factoriales completosDiseños factoriales fraccionariosDiseños de superficie de respuesta En algunos casos, sin embargo, los modelos son necesariamente no lineales. En otros casos, ciertos tratamientos (combinaciones de niveles de los factores) pueden ser costosos o inviables de medir. son diseños específicos de modelos que abordan estas limitaciones de los diseños tradicionales.D-los diseños óptimos

Un diseño D-optimal es generado por un algoritmo de búsqueda iterativo y busca minimizar la covarianza de las estimaciones de parámetros para un modelo especificado. Esto equivale a maximizar el determinante = |DXT|, donde está la matriz de diseño de los términos del modelo (las columnas) evaluada en tratamientos específicos en el espacio de diseño (las filas).XX A diferencia de los diseños tradicionales, los diseños D-optimal no requieren matrices de diseño ortogonal y, como resultado, las estimaciones de parámetros pueden estar correlacionadas. Las estimaciones de parámetros también pueden ser localmente, pero no globalmente, D-optimal.

Existen varias funciones para generar diseños D-óptimos:Statistics and Machine Learning Toolbox™

FunciónDescripción
candexch

Utiliza un algoritmo de intercambio de filas para generar un diseño D-óptimo con un número especificado de ejecuciones para un modelo especificado y un conjunto de candidatos especificado. Este es el segundo componente del algoritmo utilizado por.rowexch

candgen

Genera un conjunto de candidatos para un modelo especificado. Este es el primer componente del algoritmo utilizado por.rowexch

cordexch

Utiliza un algoritmo de intercambio de coordenadas para generar un diseño D-óptimo con un número especificado de ejecuciones para un modelo especificado.

daugment

Utiliza un algoritmo de intercambio de coordenadas para aumentar un diseño D-óptimo existente con ejecuciones adicionales para estimar términos de modelo adicionales.

dcovary

Utiliza un algoritmo de intercambio de coordenadas para generar un diseño D-óptimo con factores covariables fijos.

rowexch

Utiliza un algoritmo de intercambio de filas para generar un diseño D-óptimo con un número especificado de ejecuciones para un modelo especificado. El algoritmo llama y luego.candgencandexch (Llame por separado para especificar un conjunto candidato.)candexch

En las secciones siguientes se explica cómo utilizar estas funciones para generar diseños D-óptimos.

Nota

La función genera datos simulados para los ajustes experimentales especificados por el usuario o por un diseño D-óptimo generado por.Statistics and Machine Learning Toolboxrsmdemocordexch Utiliza la interfaz para visualizar los modelos de superficie de respuesta que se ajustan a los datos y utiliza la interfaz para visualizar un modelo no lineal que se ajuste a los datos.rstoolnlintool

Genere diseños D-óptimos

Dos algoritmos generan diseños D-óptimos:Statistics and Machine Learning Toolbox

  • La función utiliza un algoritmo de intercambio de coordenadascordexch

  • La función utiliza un algoritmo de intercambio de filasrowexch

Ambos y utilizan algoritmos de búsqueda iterativos.cordexchrowexch Operan incrementalmente cambiando una matriz de diseño inicial para aumentar = |XDXT| en cada paso.X En ambos algoritmos, hay aleatoriedad incorporada en la selección del diseño inicial y en la elección de los cambios incrementales. Como resultado, ambos algoritmos pueden volver localmente, pero no globalmente, D-diseños óptimos. Ejecute cada algoritmo varias veces y seleccione el mejor resultado para su diseño final. Ambas funciones tienen un parámetro que automatiza esta repetición y comparación.'tries'

En cada paso, el algoritmo de intercambio de filas intercambia una fila completa de con una fila de una matriz de diseño evaluada en unXC de tratamientos factibles.conjunto de candidatos La función genera automáticamente un adecuado para un modelo especificado, operando en dos pasos mediante una llamada a la y funciones en secuencia.rowexchCcandgencandexch Proporcione su propio llamando directamente.Ccandexch En cualquier caso, si es grande, su presencia estática en la memoria puede afectar al cálculo.C

El algoritmo de intercambio de coordenadas, por el contrario, no utiliza un conjunto candidato. (O más bien, el conjunto de candidatos es todo el espacio de diseño.) En cada paso, el algoritmo de intercambio de coordenadas intercambia un solo elemento de con un nuevo elemento evaluado en un punto vecino en el espacio de diseño.X La ausencia de un conjunto de candidatos reduce las demandas de memoria, pero la escala más pequeña de la búsqueda significa que es más probable que el algoritmo de intercambio de coordenadas se atrape en un mínimo local que el algoritmo de intercambio de filas.

Por ejemplo, supongamos que desea que un diseño calcule los parámetros en el siguiente modelo de interacción de tres factores y siete términos:

y=β0+β1x+1β2x+2β3x+3β12xx1+2β13xx1+3β23xx2+3ε

Se utiliza para generar un diseño D-óptimo con siete corridas:cordexch

nfactors = 3; nruns = 7; [dCE,X] = cordexch(nfactors,nruns,'interaction','tries',10) dCE =     -1     1     1     -1    -1    -1      1     1     1     -1     1    -1      1    -1     1      1    -1    -1     -1    -1     1 X =      1    -1     1     1    -1    -1     1      1    -1    -1    -1     1     1     1      1     1     1     1     1     1     1      1    -1     1    -1    -1     1    -1      1     1    -1     1    -1     1    -1      1     1    -1    -1    -1    -1     1      1    -1    -1     1     1    -1    -1

Las columnas de la matriz de diseño son los términos del modelo evaluados en cada fila del diseño.XdCE Los términos aparecen en orden de izquierda a derecha:

  1. Término constante

  2. Términos lineales (1, 2, 3)

  3. Términos de interacción (12, 13, 23)

Se utiliza en un modelo de regresión lineal que se ajusta a los datos de respuesta medidos en los puntos de diseño.XdCE

Utilice de manera similar para generar un diseño equivalente:rowexch

[dRE,X] = rowexch(nfactors,nruns,'interaction','tries',10) dRE =     -1    -1     1      1    -1     1      1    -1    -1      1     1     1     -1    -1    -1     -1     1    -1     -1     1     1 X =      1    -1    -1     1     1    -1    -1      1     1    -1     1    -1     1    -1      1     1    -1    -1    -1    -1     1      1     1     1     1     1     1     1      1    -1    -1    -1     1     1     1      1    -1     1    -1    -1     1    -1      1    -1     1     1    -1    -1     1

Aumente los diseños D-óptimos

En la práctica, es posible que desee agregar ejecuciones a un experimento completado para obtener más información sobre un proceso y estimar los coeficientes de modelo adicionales. La función utiliza un algoritmo de intercambio de coordenadas para aumentar un diseño D-óptimo existente.daugment

Por ejemplo, el siguiente diseño de ocho Run es adecuado para estimar los efectos principales en un modelo de cuatro factores:

dCEmain = cordexch(4,8) dCEmain =      1    -1    -1     1     -1    -1     1     1     -1     1    -1     1      1     1     1    -1      1     1     1     1     -1     1    -1    -1      1    -1    -1    -1     -1    -1     1    -1

Para estimar los seis términos de interacción en el modelo, aumente el diseño con ocho ejecuciones adicionales:

dCEinteraction = daugment(dCEmain,8,'interaction') dCEinteraction =      1    -1    -1     1     -1    -1     1     1     -1     1    -1     1      1     1     1    -1      1     1     1     1     -1     1    -1    -1      1    -1    -1    -1     -1    -1     1    -1     -1     1     1     1     -1    -1    -1    -1      1    -1     1    -1      1     1    -1     1     -1     1     1    -1      1     1    -1    -1      1    -1     1     1      1     1     1    -1

El diseño aumentado es factorial completo, con las ocho ejecuciones originales en las primeras ocho filas.

El parámetro de la función proporciona la misma funcionalidad que, pero utiliza un algoritmo de intercambio de filas en lugar de un algoritmo de intercambio de coordenadas.'start'candexchdaugment

Especifique factores covariables fijos

En muchos entornos experimentales, ciertos factores y sus covariables están limitados a un conjunto fijo de niveles o combinaciones de niveles. Estos no pueden ser variados cuando se busca un diseño óptimo. La función permite especificar factores de covariable fijos en el algoritmo de intercambio de coordenadas.dcovary

Por ejemplo, supongamos que desea un diseño para estimar los parámetros en un modelo de aditivo lineal de tres factores, con ocho ejecuciones que necesariamente ocurren en diferentes momentos. Si el proceso experimenta la deriva lineal temporal, es posible que desee incluir el tiempo de ejecución como una variable en el modelo. Produzca el diseño de la siguiente manera:

time = linspace(-1,1,8)'; [dCV,X] = dcovary(3,time,'linear') dCV =    -1.0000    1.0000    1.0000   -1.0000     1.0000   -1.0000   -1.0000   -0.7143    -1.0000   -1.0000   -1.0000   -0.4286     1.0000   -1.0000    1.0000   -0.1429     1.0000    1.0000   -1.0000    0.1429    -1.0000    1.0000   -1.0000    0.4286     1.0000    1.0000    1.0000    0.7143    -1.0000   -1.0000    1.0000    1.0000 X =     1.0000   -1.0000    1.0000    1.0000   -1.0000     1.0000    1.0000   -1.0000   -1.0000   -0.7143     1.0000   -1.0000   -1.0000   -1.0000   -0.4286     1.0000    1.0000   -1.0000    1.0000   -0.1429     1.0000    1.0000    1.0000   -1.0000    0.1429     1.0000   -1.0000    1.0000   -1.0000    0.4286     1.0000    1.0000    1.0000    1.0000    0.7143     1.0000   -1.0000   -1.0000    1.0000    1.0000

El vector de columna es un factor fijo, normalizado a valores entre ±.time1 El número de filas en el factor fijo especifica el número de corridas en el diseño. El diseño resultante proporciona la configuración de los factores para los tres elementos de modelo controlados en cada momento.dCV

Especifique factores categóricos

Los factores categóricos toman valores en un conjunto discreto de niveles. Ambos y tienen un parámetro que le permite especificar los índices de los factores categóricos y un parámetro que le permite especificar un número de niveles para cada factor.cordexchrowexch'categorical''levels'

Por ejemplo, el siguiente diseño de ocho Run es para un modelo de aditivo lineal con cinco factores en los que el factor final es categórico con tres niveles:

dCEcat = cordexch(5,8,'linear','categorical',5,'levels',3) dCEcat =     -1    -1     1     1     2     -1    -1    -1    -1     3      1     1     1     1     3      1     1    -1    -1     2      1    -1    -1     1     3     -1     1    -1     1     1     -1     1     1    -1     3      1    -1     1    -1     1

Especificar conjuntos de candidatos

El algoritmo de intercambio de hileras intercambia filas de una matriz de diseño inicial con filas de una matriz de diseño evaluada en un conjunto candidato de tratamientos factibles.XC La función genera automáticamente un adecuado para un modelo especificado, operando en dos pasos mediante una llamada a la y funciones en secuencia.rowexchCcandgencandexch Proporcione su propio llamando directamente.Ccandexch

Por ejemplo, los siguientes usos para generar un diseño de cinco ejecución para un modelo cuadrático puro de dos factores utilizando un conjunto candidato que se produce internamente:rowexch

dRE1 = rowexch(2,5,'purequadratic','tries',10) dRE1 =     -1     1      0     0      1    -1      1     0      1     1

Lo mismo se puede hacer usando y en secuencia:candgencandexch

[dC,C] = candgen(2,'purequadratic') % Candidate set, C dC =     -1    -1      0    -1      1    -1     -1     0      0     0      1     0     -1     1      0     1      1     1 C =      1    -1    -1     1     1      1     0    -1     0     1      1     1    -1     1     1      1    -1     0     1     0      1     0     0     0     0      1     1     0     1     0      1    -1     1     1     1      1     0     1     0     1      1     1     1     1     1 treatments = candexch(C,5,'tries',10) % D-opt subset treatments =      2      1      7      3      4 dRE2 = dC(treatments,:) % Display design dRE2 =      0    -1     -1    -1     -1     1      1    -1     -1     0

En este ejemplo, puede reemplazar una matriz de diseño evaluada en su propio conjunto de candidatos.C Por ejemplo, supongamos que el experimento está restringido para que los dos factores no puedan tener una configuración extrema simultáneamente. A continuación se produce un conjunto de candidatos restringido:

constraint = sum(abs(dC),2) < 2; % Feasible treatments my_dC = dC(constraint,:) my_dC =      0    -1     -1     0      0     0      1     0      0     1

Utilice la función para convertir el conjunto candidato a una matriz de diseño:x2fx

my_C = x2fx(my_dC,'purequadratic') my_C =      1     0    -1     0     1      1    -1     0     1     0      1     0     0     0     0      1     1     0     1     0      1     0     1     0     1

Encuentre el diseño requerido de la misma manera:

my_treatments = candexch(my_C,5,'tries',10) % D-opt subset my_treatments =      2      4      5      1      3 my_dRE = my_dC(my_treatments,:) % Display design my_dRE =     -1     0      1     0      0     1      0    -1      0     0