Les polynômes orthogonaux dans un ensemble univarié de points sont des polynômes qui produisent des valeurs sur ces points d'une manière telle que son produit scalaire et sa corrélation par paires sont nuls. R peut produire des polynômes orthogonaux avec fonction poly .
La même fonction a une variante polym qui produit des polynômes orthogonaux sur un ensemble de points multivariés. Quoi qu'il en soit, les polynômes résultants ne sont pas orthogonaux dans le sens d'avoir une corrélation nulle par paire. En fait, puisque les polynômes de premier ordre sont censés être les seules variables d'origine, les polynômes de premier ordre ne seront orthogonaux que si les variables d'origine ne sont pas corrélées.
Ensuite, mes questions sont:
- Quels sont les polynômes orthogonaux multivariés calculés par polym dans R? Sont-ils simplement le produit des polynômes orthogonaux univariés? Pour quoi sont-ils utilisés?
- Peut-il exister de vrais polynômes orthogonaux multivariés? Existe-t-il un moyen simple de les produire? Dans R? Sont-ils réellement utilisés dans la régression?
Mise à jour
En réponse au commentaire de Superpronker, je donne un exemple de ce que je veux dire avec des polynômes non corrélés:
> 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 fonction Poly renvoie les polynômes orthogonaux évalués en points x (ici 10 000 points pour chaque polynôme). La corrélation entre les valeurs sur différents polynômes est nulle (avec une erreur numérique).
Lors de l'utilisation de polynômes multivariés, les corrélations sont différentes de zéro:
> 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
Par conséquent, je ne comprends pas dans quel sens ces polynômes bivariés sont orthogonaux.
Update 2
Je veux clarifier la signification des "polynômes orthogonaux" utilisés dans la régression parce que ce contexte peut être en quelque sorte trompeur lors de l'application des idées des polynômes orthogonaux à intervalles connectés - comme dans le commentaire du dernier Superpronker.
Je cite la régression pratique de Julian J. Faraway et Anova en utilisant R pages 101 et 102:
Les polynômes orthogonaux contournent ce problème en définissant
etc. où les coefficients a, b, c ... sont choisis de telle sorte quequand . Les z sont appelés polynômes orthogonaux.
Par un léger abus de langage, l'auteur utilise ici fois pour le polynôme (en fonction) et pour le vecteur des valeurs que le polynôme prend aux points de l'ensemble . Ou peut-être que ce n'est même pas du tout un abus de langage parce que depuis le début du livre, est le prédicteur (par exemple l'ensemble des valeurs prises par le prédicteur).
Cette signification des polynômes orthogonaux n'est pas réellement différente des polynômes orthogonaux sur un intervalle. Nous pouvons définir des polynômes orthogonaux de la manière habituelle (en utilisant des intégrales) sur tout ensemble mesurable avec n'importe quelle fonction de mesure. Ici, nous avons un ensemble fini ( ) et nous utilisons un produit scalaire au lieu d'intégrale, mais ce sont toujours des polynômes orthogonaux si nous prenons notre fonction de mesure comme le delta de Dirac dans les points de notre ensemble fini.
Et par rapport à la corrélation: produit scalaire des vecteurs orthogonaux dans (comme l'image d'un vecteur orthogonal sur un ensemble fini). Si le produit scalaire de deux vecteurs est nul, la covariance est nulle, et si la covariance est nulle, la corrélation est nulle. Dans le contexte des modèles linéaires, il est très utile de relier «orthogonal» et «non corrélé», comme dans «conception orthogonale d'expériences».
Réponses:
Explorons ce qui se passe. Je suis sûr que vous connaissez déjà la plupart des éléments suivants, mais pour établir la notation et les définitions et pour clarifier les idées, je couvrirai les bases de la régression polynomiale avant de répondre à la question. Si vous le souhaitez, passez à la rubrique "Qu'est
R
- ce que" à environ deux tiers du chemin dans ce message, puis revenez en arrière pour toutes les définitions dont vous pourriez avoir besoin.Le réglage
Nous considérons une matrice de modèlen×k X de variables explicatives potentielles dans une sorte de régression. Cela signifie que nous pensons que les colonnes de X sont n vecteurs X1,X2,…,Xk et que nous en formerons des combinaisons linéaires, β1X1+β2X2+⋯+βkXk, pour prédire ou estimer une réponse.
Parfois, une régression peut être améliorée en introduisant des colonnes supplémentaires créées en multipliant les différentes colonnes deX unes par les autres, coefficient par coefficient. Ces produits sont appelés "monômes" et peuvent s'écrire comme
où chaque "puissance"di est égale ou supérieure à zéro, représentant le nombre de fois où chaque X1 apparaît dans le produit. Notez que X0 est un vecteur n de coefficients constants ( 1 ) et X1=X lui-même. Ainsi, en tant que vecteurs (monômes) génèrent un espace vectoriel qui inclut l'espace de colonne initiale de X. La possibilité qu'il s'agisse d'un espace vectoriel plus grand donne à cette procédure plus de latitude pour modéliser la réponse avec des combinaisons linéaires.
Nous avons l'intention de remplacer la matrice modèle d'origineX par une collection de combinaisons linéaires de monômes. Lorsque le degré d'au moins un de ces monômes dépasse 1, on parle de régression polynomiale.
Grades des polynômes
Le degré d'un monôme est la somme de ses puissances,d1+d2+…+dk. Le degré d'une combinaison linéaire de monômes (un "polynôme") est le plus grand degré parmi les termes monômes avec des coefficients non nuls. Le degré a une signification intrinsèque, car lorsque vous modifiez la base de l'espace vectoriel d'origine, chaque vecteur Xi est nouvellement représenté par une combinaison linéaire de tous les vecteurs; monômes Xd11Xd22⋯Xdkk deviennent ainsi des polynômes du même degré; et par conséquent le degré de tout polynôme est inchangé.
Le degré fournit une "gradation" naturelle à cette algèbre polynomiale: l'espace vectoriel généré par toutes les combinaisons linéaires de monômes enX de degré jusqu'à et y compris d+1, appelé les "polynômes de [ou jusqu'à] degré d+1 en X, "étend l'espace vectoriel des polynômes jusqu'au degré d en X.
Utilisations de la régression polynomiale
Souvent, la régression polynomiale est exploratoire dans le sens où nous ne savons pas au départ quels monômes inclure. Le processus de création de nouvelles matrices de modèles à partir de monômes et de réajustement de la régression peut devoir être répété plusieurs fois, peut-être un nombre astronomique de fois dans certains paramètres d'apprentissage automatique.
Les principaux problèmes de cette approche sont
Les monétaires introduisent souvent des quantités problématiques de «multicolinéarité» dans la nouvelle matrice de modèle, principalement parce que les puissances d' une seule variable ont tendance à être fortement colinéaires. (La colinéarité entre les puissances de deux variables différentes est imprévisible, car elle dépend de la façon dont ces variables sont liées, et est donc moins prévisible.)
La modification d'une seule colonne de la matrice du modèle, ou l'introduction d'une nouvelle ou la suppression d'une, peut nécessiter un "redémarrage à froid" de la procédure de régression, ce qui peut prendre un certain temps pour le calcul.
Les classements des algèbres polynomiales permettent de surmonter ces deux problèmes.
Polynômes orthogonaux dans une variable
Étant donné un vecteur colonne uniqueX, un ensemble de "polynômes orthogonaux" pour X est une séquence de vecteurs colonnes p0(X),p1(X),p2(X),… X X
L'orthodormalité détermine très près lapi(X).
...
Cette construction produit une séquence de colonnes supplémentaires à envisager d'inclure dans la matrice du modèle. La régression polynomiale dans une variable procède donc généralement en ajoutant des éléments de cette séquence un par un, dans l'ordre, jusqu'à ce qu'aucune autre amélioration de la régression ne soit obtenue. Parce que chaque nouvelle colonne est orthogonale aux précédentes, l'inclure ne modifie aucune des estimations de coefficient précédentes. Cela permet une procédure efficace et facilement interprétable.
Polynômes à plusieurs variables
La régression exploratoire (ainsi que l'ajustement du modèle) procède généralement en considérant d'abord les variables (originales) à inclure dans un modèle; évaluer ensuite si ces variables pourraient être augmentées en incluant diverses transformations de celles-ci, telles que les monômes; puis introduire des «interactions» formées à partir des produits de ces variables et de leurs ré-expressions.
À ce stade, certaines parties du programme univarié tombent en panne. Quelle séquence d'interactions appliqueriez-vous, une par une, jusqu'à ce qu'un modèle approprié soit identifié? De plus, maintenant que nous sommes vraiment entrés dans le domaine de l'analyse multivariable, le nombre d'options disponibles et leur complexité croissante suggèrent qu'il peut y avoir des rendements décroissants dans la construction d'une séquence de polynômes orthogonaux multivariés. Si, cependant, vous aviez une telle séquence en tête, vous pourriez la calculer en utilisant une décomposition QR.
Qu'est
R
- ce queLes logiciels de régression polynomiale ont donc tendance à se concentrer sur le calcul de séquences polynomiales orthogonales univariées . Il est caractéristique
R
d'étendre ce support aussi automatiquement que possible à des groupes de polynômes univariés. C'est ce quipoly
fait. (Son compagnonpolym
est essentiellement le même code, avec moins de cloches et de sifflets; les deux fonctions font les mêmes choses.)poly
R
R
R
formula
Un exemple
(à deux chiffres significatifs).
poly
polym
la source
R