Les modèles additifs généralisés sont ceux où par exemple. les fonctions sont lisses et à estimer. Habituellement par des cannelures pénalisées. MGCV est un paquetage en R qui le fait, et l'auteur (Simon Wood) écrit un livre sur son paquetage avec des exemples R. Ruppert et coll. (2003) écrivent un livre beaucoup plus accessible sur des versions plus simples de la même chose.
Ma question concerne les interactions au sein de ces types de modèles. Et si je veux faire quelque chose comme ceci: si nous étions en terrain OLS (où le est juste une bêta) , Je n'aurais aucun problème avec l'interprétation de . Si nous estimons via des splines pénalisées, je n'ai pas non plus de problème d'interprétation dans le contexte additif.
Mais le package MGCV dans GAM a ces choses appelées «lissages de produits tenseurs». Je google "produit tenseur" et mes yeux glaçent immédiatement en essayant de lire les explications que je trouve. Soit je ne suis pas assez intelligent, soit les mathématiques ne sont pas très bien expliquées, ou les deux.
Au lieu de coder
normal = gam(y~s(x1)+s(x2)+s(x1*x2))
un produit tensoriel ferait la même chose (?) en
what = gam(y~te(x1,x2))
quand je fais
plot(what)
ou
vis.gam(what)
J'obtiens une sortie vraiment cool. Mais je n'ai aucune idée de ce qui se passe à l'intérieur de la boîte noire te()
, ni comment interpréter la sortie cool susmentionnée. L'autre soir, j'ai fait un cauchemar que je donnais un séminaire. J'ai montré à tout le monde un graphique sympa, ils m'ont demandé ce que cela signifiait, et je ne savais pas. Puis j'ai découvert que je n'avais pas de vêtements.
Quelqu'un pourrait-il m'aider, moi et la postérité, en donnant un peu de mécanique et d'intuition sur ce qui se passe sous le capot ici? Idéalement, en disant un peu sur la différence entre le cas d'interaction additive normale et le cas du tenseur? Points bonus pour tout dire en anglais simple avant de passer aux mathématiques.
la source
Réponses:
Je vais (essayer de) répondre à cela en trois étapes: d'abord, identifions exactement ce que nous entendons par un lisse univarié. Ensuite, nous décrirons un lissage multivarié (spécifiquement, un lissage de deux variables). Enfin, je ferai de mon mieux pour décrire un produit tensoriel lisse.
1) Lisse univariée
Disons que nous avons des données de réponse que nous conjecturons est une fonction inconnue f d'une variable prédictive x plus une erreur . Le modèle serait:y F X ε
Maintenant, afin d'adapter ce modèle, nous devons identifier la forme fonctionnelle de . Pour ce faire, nous identifions les fonctions de base, qui sont superposées afin de représenter la fonction dans son intégralité. Un exemple très simple est une régression linéaire, dans laquelle les fonctions de base ne sont que et , l'ordonnée à l'origine. En appliquant l'extension de la base, nous avonsf β 2 x β 1F F β2X β1
Sous forme matricielle, nous aurions:
Où est un vecteur de colonne n-par-1, est une matrice de modèle n-par-2, est un vecteur de colonne 2-par-1 des coefficients du modèle et est un vecteur d'erreurs n-par-1 . a deux colonnes car il y a deux termes dans notre expansion de base: le terme linéaire et l'ordonnée à l'origine.X β ε XOui X β ε X
Le même principe s'applique pour l'expansion de base dans MGCV, bien que les fonctions de base soient beaucoup plus sophistiquées. Plus précisément, les fonctions de base individuelles n'ont pas besoin d'être définies sur le domaine complet de la variable indépendante . C'est souvent le cas lors de l'utilisation de bases basées sur des nœuds (voir "exemple basé sur des nœuds"X ). Le modèle est alors représenté comme la somme des fonctions de base, chacune étant évaluée à chaque valeur de la variable indépendante. Cependant, comme je l'ai mentionné, certaines de ces fonctions de base prennent une valeur nulle en dehors d'un intervalle donné et ne contribuent donc pas à l'expansion de la base en dehors de cet intervalle. À titre d'exemple, considérons une base de spline cubique dans laquelle chaque fonction de base est symétrique par rapport à une valeur différente (nœud) de la variable indépendante - en d'autres termes, chaque fonction de base a la même apparence mais est simplement décalée le long de l'axe de la variable indépendante (Il s'agit d'une simplification excessive, car toute base pratique comprendra également une interception et un terme linéaire, mais j'espère que vous aurez l'idée).
Pour être explicite, une expansion de base de la dimension pourrait ressembler à:i - 2
où chaque fonction est, peut-être, une fonction cubique de la variable indépendante .xF X
L'équation matricielle peut encore être utilisée pour représenter notre modèle. La seule différence est que est maintenant une matrice n par i; c'est-à-dire qu'il a une colonne pour chaque terme dans l'expansion de base (y compris l'interception et le terme linéaire). Étant donné que le processus d'expansion de la base nous a permis de représenter le modèle sous la forme d'une équation matricielle, nous pouvons utiliser les moindres carrés linéaires pour ajuster le modèle et trouver les coefficients . X βOui= Xβ + ε X β
Il s'agit d'un exemple de régression non pénalisée, et l'un des principaux atouts du MGCV est son estimation de lissage via une matrice de pénalité et un paramètre de lissage. En d'autres termes, au lieu de:
on a:
où est une matrice de pénalité quadratique par- et est un paramètre de lissage scalaire. Je n'entrerai pas dans la spécification de la matrice de pénalité ici, mais il devrait suffire de dire que pour une base donnée, l'expansion d'une variable indépendante et la définition d'une pénalité quadratique de "ondulation" (par exemple, une pénalité dérivée seconde), une peut calculer la matrice de pénalité .i i λ SS je je λ S
Le MGCV peut utiliser divers moyens pour estimer le paramètre de lissage optimal . Je n'entrerai pas dans ce sujet car mon objectif ici était de donner un aperçu général de la façon dont un lissage univarié est construit, ce que je pense avoir fait.λ
2) Lisse multivariée
L'explication ci-dessus peut être généralisée à plusieurs dimensions. Revenons à notre modèle qui donne la réponse en fonction des prédicteurs et . La restriction à deux variables indépendantes évitera d'encombrer l'explication avec une notation arcane. Le modèle est alors:f x zy F X z
Maintenant, il devrait être intuitivement évident que nous allons représenter avec une expansion de base (c'est-à-dire une superposition de fonctions de base) comme nous l'avons fait dans le cas univarié de ci-dessus. Il devrait également être évident qu'au moins une, et presque certainement beaucoup plus, de ces fonctions de base doivent être des fonctions de et de (si ce n'était pas le cas, alors implicitement serait séparable de telle sorte que ). Une illustration visuelle d'une base spline multidimensionnelle peut être trouvée ici . Une expansion bidimensionnelle complète de la dimension pourrait ressembler à:f ( x ) x z f f ( x , z ) = f x ( x ) + f z ( z ) i - 3F( x , z) F( x ) X z F F( x , z) = fX( x ) + fz( z) i - 3
Je pense qu'il est assez clair que nous pouvons toujours représenter cela sous forme de matrice avec:
en évaluant simplement chaque fonction de base à chaque combinaison unique de et . La solution est toujours:zX z
Le calcul de la matrice de pénalité dérivée seconde est très similaire à celui du cas univarié, sauf qu'au lieu d'intégrer la dérivée seconde de chaque fonction de base par rapport à une seule variable, nous intégrons la somme de toutes les dérivées secondes (y compris partielles) en respectant à toutes les variables indépendantes. Les détails de ce qui précède ne sont pas particulièrement importants: le fait est que nous pouvons toujours construire la matrice de pénalités et utiliser la même méthode pour obtenir la valeur optimale du paramètre de lissage , et étant donné ce paramètre de lissage, le vecteur de coefficients est toujours:λS λ
Or, ce lissage bidimensionnel a une pénalité isotrope : cela signifie qu'une seule valeur de s'applique dans les deux sens. Cela fonctionne très bien lorsque et sont à peu près à la même échelle, comme une application spatiale. Mais que se passe-t-il si nous remplaçons la variable spatiale par la variable temporelle ? Les unités de peuvent être beaucoup plus grandes ou plus petites que les unités de , ce qui peut gêner l'intégration de nos deuxièmes dérivées car certaines de ces dérivées contribueront de manière disproportionnée à l'intégration globale (par exemple, si nous mesurons en nanosecondes et x z z t t x t x t x xλ X z z t t X t X au cours des années-lumière, l'intégrale de la dérivée seconde par rapport à peut être considérablement plus grande que l'intégrale de la dérivée seconde par rapport à , et ainsi la "ondulation" le long de la direction peut être largement non pénalisée). La diapositive 15 de la "boîte à outils lisse" que j'ai liée contient plus de détails sur ce sujet.t X X
Il est à noter que nous n'avons pas décomposé les fonctions de base en bases marginales de et . L'implication ici est que les lissages multivariés doivent être construits à partir de bases supportant plusieurs variables. Le produit tenseur lisse la construction de bases multivariées à partir de bases marginales univariées, comme je l'explique ci-dessous.zX z
3) Le produit tenseur lisse
Les lissages de produits Tensor abordent la question de la modélisation des réponses aux interactions de plusieurs entrées avec différentes unités. Supposons que nous ayons une réponse qui est une fonction de la variable spatiale et de la variable temporelle . Notre modèle est alors:f x ty F X t
Ce que nous aimerions faire, c'est construire une base bidimensionnelle pour les variables et . Ce sera beaucoup plus facile si nous pouvons représenter comme:t fX t F
Dans un sens algébrique / analytique, ce n'est pas nécessairement possible. Mais rappelez-vous, nous discrétisons les domaines de et (imaginez un "réseau" bidimensionnel défini par les emplacements des nœuds sur les axes et ) de telle sorte que la "vraie" fonction soit représentée par la superposition des fonctions de base . Tout comme nous avons supposé qu'une fonction univariée très complexe peut être approximée par une simple fonction cubique sur un intervalle spécifique de son domaine, nous pouvons supposer que la fonction non séparable peut être approximée par le produit de fonctions plus simples ett x t f f ( x , t ) f x ( x ) f t ( t )X t X t F F( x , t ) FX( x ) Ft( t ) sur un intervalle - à condition que notre choix de dimensions de base rend ces intervalles suffisamment petits!
Notre expansion de base, étant donné une base dimensionnelle en et une base dimensionnelle en , ressemblerait alors à:x j tje X j t
Ce qui peut être interprété comme un produit tensoriel. Imaginons que nous avons évalué chaque fonction de base en et , construisant ainsi par n-i-n et le modèle par j matrices et , respectivement. Nous pourrions alors calculer le produit tensoriel par- de ces deux matrices modèles et réorganiser en colonnes, de sorte que chaque colonne représente une combinaison unique . Rappelons que les matrices du modèle marginal avaient respectivement des colonnes et . Ces valeurs correspondent à leurs dimensions de base respectives. Notre nouvelle base à deux variables devrait alors avoir la dimensiont X T n 2 i j X ⊗ T i j i j i jX t X T n2 je j X⊗ T je j je j je j , et donc le même nombre de colonnes dans sa matrice de modèle.
REMARQUE: je voudrais souligner que puisque nous avons explicitement construit les fonctions de base du produit tensoriel en prenant les produits des fonctions de base marginales, les bases de produit tensoriel peuvent être construites à partir de bases marginales de tout type. Ils n'ont pas besoin de prendre en charge plus d'une variable, contrairement au lissage multivarié discuté ci-dessus.
En réalité, ce processus entraîne une expansion de base globale de la dimension car la multiplication complète comprend la multiplication de chaque fonction de base par l'ordonnée à l'origine (nous soustrayons donc ) ainsi que la multiplication de chaque fonction de base par l'ordonnée à l'origine (donc nous soustrayons ), mais nous devons rajouter l'ordonnée à l'origine par elle-même (nous ajoutons donc 1). C'est ce que l'on appelle l'application d'une contrainte d'identifiabilité.t β x 1 j x β t 1 ii j - i - j + 1 t βx 1 j X βt 1 je
Nous pouvons donc représenter cela comme:
Où chacune des fonctions de base multivariées est le produit d'une paire de fonctions de base marginales et . Encore une fois, il est assez clair d'avoir construit cette base que nous pouvons toujours représenter cela avec l'équation matricielle:x tF X t
Laquelle a (encore) la solution:
Où la matrice du modèle a colonnes. Quant aux matrices de pénalités et , elles sont construites séparément pour chaque variable indépendante comme suit:i j - i - j + 1 J x J tX i j - i - j + 1 JX Jt
et,
Cela permet une pénalité anisotrope globale (différente dans chaque direction) (Remarque: les pénalités sur la dérivée seconde de sont additionnées à chaque nœud sur l' axe , et vice versa). Les paramètres de lissage et peuvent maintenant être estimés de la même manière que le paramètre de lissage unique pour les lissés univariés et multivariés. Le résultat est que la forme globale d'un produit tensoriel lisse est invariante à la mise à l'échelle de ses variables indépendantes.t λ x λ tX t λX λt
Je recommande de lire toutes les vignettes sur le site Web de MGCV, ainsi que " Modèles additifs généralisés: et introduction avec R. " Vive Simon Wood.
la source