¿Qué son los polinomios ortogonales multivariados calculados en R?

12

Los polinomios ortogonales en un conjunto univariado de puntos son polinomios que producen valores en esos puntos de manera que su producto escalar y su correlación por pares son cero. R puede producir polinomios ortogonales con función poli .

La misma función tiene un polimero variante que produce polinomios ortogonales en un conjunto de puntos multivariados. De todos modos, los polinomios resultantes no son ortogonales en el sentido de tener una correlación cero por pares. De hecho, dado que se supone que los polinomios de primer orden son solo las variables originales, los polinomios de primer orden no serán ortogonales a menos que las variables originales no estén correlacionadas.

Entonces, mis preguntas son:

  • ¿Cuáles son los polinomios ortogonales multivariados calculados por el polímero en R? ¿Son solo el producto de los polinomios ortogonales univariados? ¿Para qué se usan?
  • ¿Pueden existir verdaderos polinomios ortogonales multivariados? ¿Hay una manera fácil de producirlos? En R? ¿Se usan realmente en regresión?

Actualizar

En respuesta al comentario de Superpronker, doy un ejemplo de lo que quiero decir con polinomios no correlacionados:

> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
              1             2             3
1  1.000000e+00 -6.809725e-17  2.253577e-18
2 -6.809725e-17  1.000000e+00 -2.765115e-17
3  2.253577e-18 -2.765115e-17  1.000000e+00

La función Poly devuelve los polinomios ortogonales evaluados en puntos x (aquí 10,000 puntos para cada polinomio). La correlación entre valores en diferentes polinomios es cero (con algún error numérico).

Cuando se usan polinomios multivariados, las correlaciones son diferentes a cero:

> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
              1.0           2.0           0.1         1.1           0.2
1.0  1.000000e+00  2.351107e-17  2.803716e-02 -0.02838553  3.802363e-02
2.0  2.351107e-17  1.000000e+00 -1.899282e-02  0.10336693 -8.205039e-04
0.1  2.803716e-02 -1.899282e-02  1.000000e+00  0.05426440  5.974827e-17
1.1 -2.838553e-02  1.033669e-01  5.426440e-02  1.00000000  8.415630e-02
0.2  3.802363e-02 -8.205039e-04  5.974827e-17  0.08415630  1.000000e+00

Por lo tanto, no entiendo en qué sentido esos polinomios bivariados son ortogonales.

Actualización 2

Quiero aclarar el significado de "polinomios ortogonales" utilizados en la regresión porque este contexto puede ser de alguna manera engañoso al aplicar las ideas de polinomios ortogonales en intervalos conectados, como en el último comentario de Superpronker.

Cito la regresión práctica de Julian J. Faraway y Anova usando R páginas 101 y 102:

Los polinomios ortogonales este problema definiendo etc. donde se eligen los coeficientes a, b, c ... para que cuando . Las z se llaman polinomios ortogonales.

z1=a1+b1x
z2=a2+b2x+c2x2
z3=a3+b3x+c3x2+d3x3
ziT·zj=0ij

Por un ligero abuso del lenguaje, aquí el autor usa tanto para el polinomio (como función) como para el vector de los valores que el polinomio toma en los puntos del conjunto . O tal vez ni siquiera es un abuso del lenguaje porque desde el comienzo del libro ha sido el predictor (por ejemplo, el conjunto de valores tomados por el predictor).zixx

Este significado de polinomios ortogonales no es realmente diferente de los polinomios ortogonales en un intervalo. Podemos definir polinomios ortogonales de la manera habitual (usando integrales) sobre cualquier conjunto medible con cualquier función de medida. Aquí tenemos un conjunto finito ( ) y estamos usando productos de punto en lugar de integrales, pero eso sigue siendo polinomios ortogonales si tomamos nuestra función de medida como el delta de Dirac en los puntos de nuestro conjunto finito.x

Y en relación con la correlación: producto punto de vectores ortogonales en (como la imagen de un vector ortogonal en un conjunto finito). Si el producto escalar de dos vectores es cero, la covarianza es cero, y si la covarianza es cero, la correlación es cero. En el contexto de los modelos lineales es muy útil relacionar "ortogonal" y "no correlacionado", como en "diseño ortogonal de experimentos".Rn

Pere
fuente
¿Qué quieres decir cuando dices que los polinomios en un punto no están correlacionados? Las variables estocásticas pueden no estar correlacionadas; los vectores pueden tener un producto punto igual a cero.
Superpronker
Cuando se evalúa en un conjunto finito de puntos, obtenemos un conjunto de valores para cada polinomio. Podemos calcular la correlación entre esos conjuntos de valores y para los polinomios ortogonales obtenemos una correlación cero. Dado que la correlación está relacionada con la covarianza y la covarianza está relacionada con el producto de punto, supongo que la correlación cero y el producto de punto cero son equivalentes.
Pere
Lo siento si no lo entiendo, pero todavía no lo sigo. La correlación es entre dos vectores donde tienes, digamos, N observaciones de cada uno. ¿Quiere decir que el término de primer y segundo orden no debe estar correlacionado? Entonces depende de los puntos donde evalúes. En [-1; 1] no lo son pero en [0; 1] sí lo son. Creo que su intuición para la relación entre ortogonalidad y falta de correlación no es precisa.
Superpronker
Actualicé la pregunta con esto, aunque en el contexto de la regresión, la ortogonalidad y la falta de correlación son casi sinónimos. Yo vinculé una fuente. Y sí, depende de los puntos que estamos evaluando. El primer argumento del orden poli es el vector de puntos que estamos evaluando y el primer paso de mis ejemplos es la generación de un vector de puntos para evaluar. En la regresión nos interesan los vectores ortogonales en los valores de nuestro predictor.
Pere
Creo que el abuso de la notación es más problemático de lo que parece; La ortogonalidad de dos polinomios no se define como que el producto escalar sea cero, sin importar dónde evalúe los polinomios. Más bien, es que dos términos polinómicos (de diferentes órdenes) deberían tener un producto de punto cero en un "sentido de función"; y los productos de puntos para funciones son típicamente integrales con alguna medida (es decir, función de peso). Ver en.m.wikipedia.org/wiki/Orthogonal_polynomials . Si estoy en lo correcto, esto explica la confusión. Pero en wiki hay un comentario sobre la relación con los momentos.
Superpronker

Respuestas:

5

Exploremos lo que está pasando. Estoy seguro de que ya conoce la mayor parte del siguiente material, pero para establecer la notación y las definiciones y aclarar las ideas, cubriré los conceptos básicos de la regresión polinómica antes de responder la pregunta. Si lo desea, salte al encabezado "Qué Rhace" aproximadamente dos tercios del camino en esta publicación, y luego omita las definiciones que pueda necesitar.

El ajuste

Estamos considerando una matriz de modelo de posibles variables explicativas en algún tipo de regresión. Esto significa que estamos pensando en las columnas de como -vectores y combinaciones lineales de ellos, para predecir o estimar una respuesta. n×kXXnX1,X2,,Xkβ1X1+β2X2++βkXk,

A veces se puede mejorar una regresión mediante la introducción de columnas adicionales creadas multiplicando varias columnas de entre sí, coeficiente por coeficiente. Dichos productos se denominan "monomios" y se pueden escribir comoX

X1d1X2d2Xkdk

donde cada "potencia" es cero o mayor, lo que representa cuántas veces aparece cada en el producto. Observe que es un vector de coeficientes constantes ( ) y sí. Por lo tanto, los monomios (como vectores) generan un espacio vectorial que incluye el espacio de la columna original de La posibilidad de que sea un espacio vectorial más grande le da a este procedimiento un mayor alcance para modelar la respuesta con combinaciones lineales.diX1X0n1X1=XX.

Tenemos la intención de reemplazar el modelo original matrix por una colección de combinaciones lineales de monomios. Cuando el grado de al menos uno de estos monomios excede de esto se llama regresión polinómica.X1,

Graduaciones de polinomios

El grado de un monomio es la suma de sus poderes, El grado de una combinación lineal de monomios (un "polinomio") es el mayor grado entre los términos monomiales con coeficientes distintos de cero. El grado tiene un significado intrínseco, porque cuando cambia la base del espacio vectorial original, cada vector está nuevamente representado por una combinación lineal de todos los vectores; los monomios se convierten en polinomios del mismo grado; y, en consecuencia, el grado de cualquier polinomio no cambia.d1+d2++dk.X i X d 1 1 X d 2 2X d k kXiX1d1X2d2Xkdk

El grado proporciona una "clasificación" natural a este álgebra polinomial: el espacio vectorial generado por todas las combinaciones lineales de monomios en de grado hasta e incluyendo llamados "polinomios de [o hasta] grado en "extiende el espacio vectorial de los polinomios hasta el grado enXd+1,d+1X,dX.

Usos de la regresión polinómica.

A menudo, la regresión polinómica es exploratoria en el sentido de que no sabemos desde el principio qué monomios incluir. El proceso de crear nuevas matrices modelo a partir de monomios y volver a ajustar la regresión puede necesitar repetirse muchas veces, tal vez un número astronómico de veces en algunos entornos de aprendizaje automático.

Los principales problemas con este enfoque son

  1. Los monomios a menudo introducen cantidades problemáticas de "multicolinealidad" en la matriz del nuevo modelo, principalmente porque los poderes de una sola variable tienden a ser altamente colineales. (La colinealidad entre las potencias de dos variables diferentes es impredecible, porque depende de cómo se relacionan esas variables y, por lo tanto, es menos predecible).

  2. Cambiar solo una columna de la matriz del modelo, o introducir una nueva, o eliminar una, puede requerir un "reinicio en frío" del procedimiento de regresión, lo que puede llevar mucho tiempo para el cálculo.

Las graduaciones de las álgebras polinómicas proporcionan una forma de superar ambos problemas.

Polinomios ortogonales en una variable

Dado un único vector columna un conjunto de "polinomios ortogonales" para es una secuencia de vectores de columna formado como combinaciones lineales de monomios en alone-- es decir, como potencias de --con las siguientes propiedades:X,Xp0(X),p1(X),p2(X),XX

  1. Para cada grado los vectores generan el mismo espacio vectorial que (Observe que es el vector de unos y es solo ).d=0,1,2,,p0(X),p1(X),,pd(X)X0,X1,,Xd.X0nX1X

  2. Los son mutuamente ortogonales en el sentido de que parapi(X)ij,

    pi(X)pj(X)=0.

Por lo general, la matriz de modelo de reemplazo formada a partir de estos monomios se elige para ser ortonormal al normalizar sus columnas a la longitud de la unidad: Debido a que el inverso de aparece en la mayoría de las ecuaciones de regresión y el inverso de la matriz de identidad es en sí mismo, esto representa una enorme ganancia computacional.

P=(p0(X)p1(X)pd(X))
PP=Id+1.
PPId+1

La ortonormalidad casi determina el Puedes ver esto por construcción:pi(X).

  • El primer polinomio, debe ser un múltiplo del -vector de unidad de longitud. Solo hay dos opciones, Es costumbre elegir la raíz cuadrada positiva.p0(X),n1=(1,1,,1)±1/n1.

  • El segundo polinomio, debe ser ortogonal a Se puede obtener haciendo retroceder contra cuya solución es el vector de valores medios Si los residuales no son idénticamente cero, dan las dos únicas soluciones posiblesp1(X),1.X1,X^=X¯1.ϵ=XX^p1(X)=±(1/||ϵ||)ϵ.

...

  • Generalmente, se obtiene regresando contra y reescalando los residuos para que sean un vector de unidad longitud. Hay dos opciones de signo cuando los residuos no son todos cero. De lo contrario, el proceso termina: será infructuoso observar cualquier poder superior de (Este es un buen teorema, pero su prueba no necesita distraernos aquí).pd+1(X)Xd+1p0(X),p1(X),,pd(X)X.

Este es el proceso de Gram-Schmidt aplicado a la secuencia intrínseca de los vectores Por lo general, se calcula utilizando una descomposición QR, que es casi lo mismo, pero se calcula de manera numéricamente estable.X0,X1,,Xd,.

Esta construcción produce una secuencia de columnas adicionales para considerar incluir en la matriz del modelo. La regresión polinómica en una variable, por lo tanto, generalmente continúa agregando elementos de esta secuencia uno por uno, en orden, hasta que no se obtenga una mejora adicional en la regresión. Debido a que cada nueva columna es ortogonal a las anteriores, su inclusión no cambia ninguna de las estimaciones de coeficientes anteriores. Esto lo convierte en un procedimiento eficiente y fácilmente interpretable.

Polinomios en múltiples variables

La regresión exploratoria (así como el ajuste del modelo) generalmente procede considerando primero qué variables (originales) incluir en un modelo; luego evaluar si esas variables podrían aumentarse al incluir varias transformaciones de ellas, como los monomios; y luego introduciendo "interacciones" formadas a partir de productos de estas variables y sus nuevas expresiones.

Llevar a cabo tal programa, entonces, comenzaría con la formación de polinomios ortogonales univariados en las columnas de separado. X Después de seleccionar un grado adecuado para cada columna, introduciría interacciones.

En este punto, partes del programa univariante se descomponen. ¿Qué secuencia de interacciones aplicaría, una por una, hasta que se identifique un modelo adecuado? Además, ahora que realmente hemos entrado en el ámbito del análisis multivariable, el número de opciones disponibles y su creciente complejidad sugieren que puede haber rendimientos decrecientes al construir una secuencia de polinomios ortogonales multivariados. Sin embargo, si tuviera en mente una secuencia de este tipo, podría calcularla utilizando una descomposición QR.


Que Rhace

Por lo tanto, el software para la regresión polinómica tiende a centrarse en calcular secuencias polinomiales ortogonales univariadas . Es característico Rextender tal soporte lo más automáticamente posible a grupos de polinomios univariados. Esto lo que polyhace. (Su compañero polymes esencialmente el mismo código, con menos campanas y silbatos; las dos funciones hacen las mismas cosas).

Específicamente, polycalculará una secuencia de polinomios ortogonales univariados cuando se le dé un solo vector deteniéndose en un grado específico (Si es demasiado grande, y puede ser difícil predecir qué tan grande es demasiado, desafortunadamente arroja un error). Cuando se le da un conjunto de vectores en forma de matriz volveráX,d.dX1,,XkX,

  1. Secuencias de polinomios ortonormales para cada hasta un grado máximo solicitado (Dado que el vector constante es común a todas las variables y es muy simple, generalmente se adapta a la intersección en la regresión, no se molesta en incluirlo).p1(Xj),p2(Xj),,pd(Xj)jd.p0(Xi)R

  2. Todas las interacciones entre esos polinomios ortogonales hasta los de grado inclusived.

El paso (2) implica varias sutilezas. Por lo general, por "interacción" entre variables nos referimos a "todos los productos posibles", pero algunos de esos posibles productos tendrán grados mayores que Por ejemplo, con variables calculad.2d=2, R

p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).

Rno no incluir las interacciones de grado superior (polinomios de grado 3) o (un polinomio de grado 4). (Esto no es una limitación seria porque puede calcular fácilmente estos productos usted mismo o especificarlos en un objeto de regresión ).p2(X1)p1(X2), p1(X1)p2(X2)p1(X2)p2(X2)formula

Otra sutileza es que no se aplica ningún tipo de normalización a ninguno de los productos multivariados. En el ejemplo, el único producto de este tipo es Sin embargo, no hay garantía incluso de que su media sea cero y casi seguramente no tendrá la norma de la unidad. En este sentido, es una verdadera "interacción" entre y y, como tal, puede interpretarse como interacciones que generalmente se encuentran en un modelo de regresión.p1(X1)p1(X2).p1(X1)p1(X2)

Un ejemplo

Veamos un ejemplo. He generado aleatoriamente una matriz Para que los cálculos sean más fáciles de seguir, todo se redondea a dos cifras significativas para mostrar.

X=(135624).

La secuencia polinomial ortonormal para la primera columna comienza normalizando a la longitud de la unidad, dandoEl siguiente paso incluye sí mismo. Para hacerlo ortogonal a regrese contra y establezca igual a los residuos de esa regresión, redimensionada para tener una unidad de longitud. El resultado es la estandarización habitual de obtenida al volver a centrarla y dividirla por su desviación estándar,X1=(1,5,2)X10=(1,1,1)p0(X1)=(1,1,1)/3(0.58,0.58,0.58).X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(X1)=(0.57,0.79,0.23). Finalmente, se regresa contra y y esos residuos se reescalan a la longitud de la unidad. No podemos ir más allá porque las potencias de no pueden generar un espacio vectorial de más de dimensiones. (Llegamos hasta aquí porque el polinomio mínimo de los coeficientes de saber tiene grado lo que demuestra que todos los monomios de grado o mayores son combinaciones lineales de menor poderes y esos poderes inferiores son linealmente independientes.)X12=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t1)(t5)(t4),3,3

La matriz resultante que representa una secuencia polinomial ortonormal para esX1

P1=(0.580.570.590.580.790.200.580.230.78)

(a dos cifras significativas).

De la misma manera, una matriz polinomial ortonormal para esX2

P2=(0.580.620.530.580.770.270.580.150.80).

El término de interacción es el producto de las columnas del medio de estas matrices, igual a La matriz completa creada por o , entonces, es(0.35,0.61,0.035).polypolym

P=(0.570.590.620.350.530.790.200.770.610.270.230.780.150.0350.80).

Observe la secuencia en la que se disponen las columnas: los polinomios ortonormales no constantes para están en las columnas 1 y 2, mientras que los de están en las columnas 3 y 5. Por lo tanto, la única ortogonalidad garantizada en esta salida está entre estos Dos pares de columnas. Esto se refleja en el cálculo de que tendrá ceros en las posiciones y (se muestra en rojo a continuación), * pero puede ser distinto de cero en cualquier otro lugar y tendrá unos en las posiciones y (se muestran en azul a continuación), pero es probable que no tenga uno en las otras posiciones diagonales (X1X2PP,(1,2),(2,1),(3,5),(5,3)(1,1),(2,2),(3,3),(5,5)(4,4)en este ejemplo). En efecto,

PP=(1010.280.091010.0910.3110.09110.2500.280.30.250.50.320.091100.321).

Cuando inspecciona la matriz que se muestra en la pregunta y reconoce que los múltiplos de son realmente ceros, observará que este patrón de ceros en las posiciones rojas se mantiene. Este es el sentido en que esos polinomios bivariados son "ortogonales".P1017

whuber
fuente
1
(+1) Gran lectura como siempre. Creo que hay un pequeño error tipográfico: usted escribe que Rcalcula pero no debería ser ? p1(X1)p2(X2)p1(X1)p1(X2)
COOLSerdash
1
@Cool Buena captura - arreglado ahora.
whuber
1
Gracias por esa gran respuesta. El hecho de que la respuesta llegue mucho después de que perdí la esperanza de que me respondieran hace que sea una sorpresa muy agradable.
Pere
Y creo que hay otro pequeño error tipográfico: creo que " sí" en el cuarto párrafo pretende ser " sí". X 1 = XX1=XX1=X
Pere
Toda la razón. ¡Le agradezco que esté leyendo el texto tan de cerca que encuentre estos errores!
whuber