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.

procrustes

El análisis de Procrustes

Sintaxis

d = procrustes(X,Y)
[d,Z] = procrustes(X,Y)
[d,Z,transform] = procrustes(X,Y)
[...] = procrustes(...,'scaling',flag)
[...] = procrustes(...,'reflection',flag)

Descripción

d = procrustes(X,Y) determina una transformación lineal (traducción, reflexión, rotación ortogonal y escalado) de los puntos en la matriz para ajustarlos mejor a los puntos de la matriz.YX El criterio de bondad de ajuste es la suma de los errores cuadrados. Devuelve el valor minimizado de esta medida de dessimilitud. está estandarizado por una medida de la escala de, dada por:procrustesddX

sum(sum((X-repmat(mean(X,1),size(X,1),1)).^2,1))

Es decir, la suma de los elementos cuadrados de una versión centrada de.X Sin embargo, si comprende repeticiones del mismo punto, la suma de los errores cuadrados no está estandarizada.X

y debe tener el mismo número de puntos (filas) y coincidencias.XYprocrustesY(i)X(i) Los puntos en pueden tener una dimensión más pequeña (número de columnas) que las que están en.YX En este caso, agrega columnas de ceros a como sea necesario.procrustesY

[d,Z] = procrustes(X,Y) también devuelve los valores transformados.Y

[d,Z,transform] = procrustes(X,Y) también devuelve la transformación que se asigna a. es una matriz de estructura con campos:YZtransform

  • — Componente de traducciónc

  • — La rotación ortogonal y el componente de reflexiónT

  • — Componente de escalab

Es decir:

c = transform.c; T = transform.T; b = transform.b;  Z = b*Y*T + c;

[...] = procrustes(...,'scaling',flag)Cuando flag es, le permite calcular la transformación sin un componente de escala (es decir, con igual a).falseb1 El valor predeterminado flag Es.true

[...] = procrustes(...,'reflection',flag)Cuando flag es, le permite calcular la transformación sin un componente de reflexión (es decir, con igual a).falsedet(T)1 El valor predeterminado flag es, que calcula la transformación que mejor se ajusta, independientemente de si incluye o no un componente de reflexión.'best' Un flag de fuerza la transformación que se va a calcular con un componente de reflexión (es decir, con igual a)truedet(T)-1

Ejemplos

contraer todo

Genere los datos de ejemplo en dos dimensiones.

rng('default') n = 10;   X = normrnd(0,1,[n 2]);

Gire, escale, traduzca y añada algo de ruido a los puntos de muestreo.

S = [0.5 -sqrt(3)/2; sqrt(3)/2 0.5]; Y = normrnd(0.5*X*S+2,0.05,n,2);

Cumplir con el análisis de Procusto.YX

[d,Z,tr] = procrustes(X,Y);

Trazar el original y con el transformado.XYY

plot(X(:,1),X(:,2),'rx',Y(:,1),Y(:,2),'b.',Z(:,1),Z(:,2),'bx');

Referencias

[1] Kendall, David G. “A Survey of the Statistical Theory of Shape.” Statistical Science. Vol. 4, No. 2, 1989, pp. 87–99.

[2] Bookstein, Fred L. Morphometric Tools for Landmark Data. Cambridge, UK: Cambridge University Press, 1991.

[3] Seber, G. A. F. Multivariate Observations. Hoboken, NJ: John Wiley & Sons, Inc., 1984.

Consulte también

|

Introducido antes de R2006a