Quel est l'algorithme sous-jacent utilisé par le lm de R?

9

On m'a posé une question concernant un modèle linéaire fait avec des R lm:

"La régression a-t-elle utilisé des moindres carrés itératifs linéaires ou non linéaires?"

J'ai cherché un peu et [pense que je] comprends la différence entre les deux, mais je n'ai trouvé aucune preuve de l'utilisation par R des moindres carrés linéaires lm(qui est celui que je pense qu'il utilise).

J'ai peigné throuhg lmet sa lm.fitdocumentation de fonction sous-jacente , mais je n'ai rien trouvé de connexe.

Je pense que la question qui m'a été posée est une question stupide, et elle est probablement mal formulée, mais j'apprécierais toute aide quant à la façon dont je pourrais y répondre.

PavoDive
la source
6
Vous pouvez regarder le code pour lmet lm.fiten tapant leurs noms sur la ligne de commande. Vous pouvez également inspecter tout objet retourné par lmpour voir la décomposition QR juste là.
whuber
3
La question qui vous a été posée semble confuse. Mais de toute façon, la documentation de lmdirectement vous indique qu'il s'adapte aux modèles linéaires, juste dans le titre, il dit: "Ajustement des modèles linéaires". Donc linéaire, pas "non linéaire". La documentation de lm.fitvous indique l'algorithme utilisé: ... " .lm.fit()est un wrapper à nu pour le code C QR le plus interne". Il utilise donc la décomposition QR pour calculer l'ajustement des moindres carrés; il mentionne la décomposition QR plusieurs fois plus tard pour décrire ce qui est retourné. Quelle documentation avez-vous lu?
Glen_b -Reinstate Monica
Glen_b, merci pour votre clarification. J'ai lu les fichiers doc pour les deux fonctions, j'étais tellement obsédé par trouver quelque chose sur les lignes des "moindres carrés itératifs" que j'ai raté le bit QR tout à fait, et oui, j'en ai trouvé plusieurs occurrences juste après que @Brian l'ait signalé . Je suis d'accord qu'ils sont confus et ils ont réussi à me confondre (maintenant que je comprends mieux, je peux éviter la confusion).
PavoDive

Réponses:

12

lm utilise la méthode de factorisation QR (une méthode directe plutôt qu'itérative) pour résoudre les problèmes des moindres carrés linéaires.

Brian Borchers
la source
Merci en effet. Pourriez-vous m'orienter dans une direction, afin que je puisse apporter un soutien à la réclamation? Merci encore
PavoDive
4
La documentation de lm montre qu'il résout les problèmes de moindres carrés linéaires et utilise la factorisation QR pour le faire. Il existe de nombreux manuels qui discutent de l'utilisation de la factorisation QR pour résoudre les problèmes des moindres carrés linéaires - pratiquement toute introduction de niveau 2 à l'algèbre linéaire couvrira cela.
Brian Borchers