Voy a (intentar) responder esto en tres pasos: primero, identifiquemos exactamente lo que queremos decir con un suave univariante. A continuación, describiremos un suavizado multivariado (específicamente, un suavizado de dos variables). Finalmente, haré mi mejor intento de describir un producto tensorial sin problemas.
1) Univariante suave
Digamos que tenemos algunos datos de respuesta que conjeturamos que es una función desconocida f de una variable predictora x más algún error ε . El modelo sería:yfxε
y=f(x)+ε
Ahora, para ajustar este modelo, tenemos que identificar la forma funcional de . La forma en que hacemos esto es identificando las funciones básicas, que se superponen para representar la función f en su totalidad. Un ejemplo muy simple es una regresión lineal, en la cual las funciones básicas son solo β 2 x y β 1 , la intersección. Aplicando la base de expansión, tenemosffβ2xβ1
y= β1+ β2x + ε
En forma de matriz, tendríamos:
Y= Xβ + ε
Donde es un vector de columna n-por-1, X es una matriz modelo n-por-2, β es un vector de columna 2-por-1 de coeficientes del modelo, y ε es un vector de errores de columna n-por-1 . X tiene dos columnas porque hay dos términos en nuestra expansión de base: el término lineal y la intersección.YXβεX
El mismo principio se aplica para la expansión de la base en MGCV, aunque las funciones básicas son mucho más sofisticadas. Específicamente, las funciones de base individual no necesitan definirse sobre el dominio completo de la variable independiente . Este suele ser el caso cuando se utilizan bases basadas en nudos (ver "ejemplo basado en nudos"x) El modelo se representa como la suma de las funciones básicas, cada una de las cuales se evalúa en cada valor de la variable independiente. Sin embargo, como mencioné, algunas de estas funciones básicas toman un valor de cero fuera de un intervalo dado y, por lo tanto, no contribuyen a la expansión de la base fuera de ese intervalo. Como ejemplo, considere una base spline cúbica en la que cada función base es simétrica respecto a un valor diferente (nudo) de la variable independiente; en otras palabras, cada función base se ve igual pero simplemente se desplaza a lo largo del eje de la variable independiente (esto es una simplificación excesiva, ya que cualquier base práctica también incluirá una intercepción y un término lineal, pero espero que entiendas la idea).
Para ser explícito, una expansión básica de la dimensión podría verse así:i−2
y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi−2(x)+ε
donde cada función es, quizás, una función cúbica de la variable independiente x .fx
La ecuación matricial todavía se puede utilizar para representar nuestro modelo. La única diferencia es que X es ahora una matriz n-por-i; es decir, tiene una columna para cada término en la expansión de base (incluido el término de intercepción y lineal). Dado que el proceso de expansión de bases nos ha permitido representar el modelo en forma de una ecuación matricial, podemos usar mínimos cuadrados lineales para ajustar el modelo y encontrar los coeficientes β .Y=Xβ+εXβ
Este es un ejemplo de regresión sin potencializar, y una de las principales fortalezas de MGCV es su estimación de suavidad a través de una matriz de penalización y un parámetro de suavizado. En otras palabras, en lugar de:
β=(XTX)−1XTY
tenemos:
β=(XTX+λS)−1XTY
donde es una matriz de penalización cuadrática i -by- i y λ es un parámetro de suavizado escalar. No entraré en la especificación de la matriz de penalización aquí, pero debería ser suficiente decir que para cualquier expansión de base dada de alguna variable independiente y definición de una penalización de "meneo" cuadrática (por ejemplo, una penalización de segunda derivada), uno puede calcular la matriz de penalización S .SiiλS
MGCV puede usar varios medios para estimar el parámetro de suavizado óptimo . No voy a entrar en ese tema ya que mi objetivo aquí era dar una visión general de cómo se construye una suavidad univariante, lo que creo que he hecho.λ
2) Multivariante suave
La explicación anterior se puede generalizar a múltiples dimensiones. Volvamos a nuestro modelo que da la respuesta como una función f de predictores x y z . La restricción a dos variables independientes evitará abarrotar la explicación con notación arcana. El modelo es entonces:yfxz
y=f(x,z)+ε
Ahora, debería ser intuitivamente obvio que vamos a representar con una expansión básica (es decir, una superposición de funciones básicas) tal como lo hicimos en el caso univariante de f ( x ) anterior. También debería ser obvio que al menos una, y casi seguramente muchas más, de estas funciones básicas deben ser funciones de x y z (si este no fuera el caso, entonces implícitamente f sería separable de tal manera que f ( x , z ) = f x ( x ) + ff(x,z)f(x)xzf ). Una ilustración visual de una base spline multidimensional se puede encontraraquí. Una expansión de base bidimensional completa de la dimensión i - 3 podría verse así:f(x,z)=fx(x)+fz(z)i−3
y=β1+β2x+β3z+β4f1(x,z)+...+βifi−3(x,z)+ε
Creo que está bastante claro que todavía podemos representar esto en forma de matriz con:
Y=Xβ+ε
simplemente evaluando cada función base en cada combinación única de y z . La solución sigue siendo:xz
β=(XTX)−1XTY
Calcular la matriz de penalización de la segunda derivada es muy similar a la del caso univariante, excepto que en lugar de integrar la segunda derivada de cada función base con respecto a una sola variable, integramos la suma de todas las segundas derivadas (incluidas las parciales) con respecto a todas las variables independientes. Los detalles de lo anterior no son especialmente importantes: el punto es que aún podemos construir la matriz de penalización y usar el mismo método para obtener el valor óptimo del parámetro de suavizado λ , y dado ese parámetro de suavizado, el vector de coeficientes sigue siendo:Sλ
β=(XTX+λS)−1XTY
Ahora, este suavizado bidimensional tiene una penalización isotrópica : esto significa que se aplica un solo valor de en ambas direcciones. Esto funciona bien cuando tanto x como z están en aproximadamente la misma escala, como una aplicación espacial. Pero, ¿qué sucede si reemplazamos la variable espacial z con la variable temporal t ? Las unidades de t pueden ser mucho más grandes o más pequeñas que las unidades de x , y esto puede alterar la integración de nuestras segundas derivadas porque algunos de esos derivados contribuirán de manera desproporcionada a la integración general (por ejemplo, si medimos t en nanosegundos y Xλxzzttxtxen años luz, la integral de la segunda derivada con respecto a puede ser mucho más grande que la integral de la segunda derivada con respecto a x , y por lo tanto la "ondulación" a lo largo de la dirección x puede quedar en gran parte sin convertir). La diapositiva 15 de la "caja de herramientas suave" que vinculé tiene más detalles sobre este tema.txx
Vale la pena señalar que no descomponemos las funciones básicas en bases marginales de y z . La implicación aquí es que los suavizados multivariados deben construirse a partir de bases que admitan múltiples variables. El producto tensor suaviza la construcción de bases multivariadas a partir de bases marginales univariadas, como explico a continuación.xz
3) El producto tensor suaviza
Los productos de tensor suavizan el problema de modelar respuestas a interacciones de múltiples entradas con diferentes unidades. Supongamos que tenemos una respuesta que es una función f de la variable espacial xy la variable temporal t . Nuestro modelo es entonces:yfxt
y=f(x,t)+ε
Lo que nos gustaría hacer es construir una base bidimensional para las variables y t . Esto será mucho más fácil si podemos representar f como:xtf
f(x,t)=fx(x)ft(t)
En un sentido algebraico / analítico, esto no es necesariamente posible. Pero recuerde, estamos discretizar los dominios de y t (imaginar una de dos dimensiones "celosía" definida por las ubicaciones de nudos en la x y t ejes) de tal manera que la "verdadera" función f está representado por la superposición de funciones de base . Así como asumimos que una función univariada muy compleja puede ser aproximada por una función cúbica simple en un intervalo específico de su dominio, podemos suponer que la función no separable f ( x , t ) puede ser aproximada por el producto de funciones más simples f x ( xxtxtff(x,t) y f t ( t ) en un intervalo, siempre que nuestra elección de dimensiones base haga que esos intervalos sean lo suficientemente pequeñosfx(x)ft(t)
Nuestra expansión de base, dada una base -dimensional en x y j -dimensional en t , se vería así:ixjt
y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i−3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i−3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i−3)(x)+…+βijft(j−3)(t)fx(i−3)(x)+ε
xtXTn2ij X⊗Tijijij
NOTA: Me gustaría señalar que, dado que construimos explícitamente las funciones de base de producto tensorial tomando productos de funciones de base marginal, las bases de producto tensorial pueden construirse a partir de bases marginales de cualquier tipo. No necesitan admitir más de una variable, a diferencia del suave multivariado discutido anteriormente.
ij−i−j+1tβx1jxβt1i
Entonces podemos representar esto como:
y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βij−i−j+1fij−i−j−2(x,t)+ε
fxt
Y=Xβ+ε
Cuál (todavía) tiene la solución:
β=(XTX)−1XTY
Xij−i−j+1JxJt
Jx=βTIj⊗Sxβ
y,
Jt=βTSt⊗Iiβ
xtλxλt
Recomiendo leer todas las viñetas en el sitio web de MGCV, así como " Modelos aditivos generalizados: e introducción con R ". Larga vida a Simon Wood.