2009-07-25 11 views
22

Quelles fonctions utilisez-vous dans R pour ajuster une courbe à vos données et tester l'ajustement de cette courbe? Quels résultats sont considérés comme bons?Fonctions d'ajustement dans R

+0

J'ai utilisé un logiciel commercial qui essaie de nombreuses formules (en prenant des heures, si vous voulez) pour trouver le meilleur ajustement. J'aimerais trouver quelque chose comme ça dans R. – Nosredna

+1

Déçu - je pensais que R était le domaine des nombres réels. –

Répondre

25

Juste la première partie de cette question peut remplir des livres entiers. Juste quelques choix rapides:

  • lm() pour les modèles linéaires standards
  • glm() pour les modèles linéaires généralisés (par exemple pour la régression logistique)
  • rlm() de masse de paquets pour les modèles linéaires robustes
  • lmrob() de robustbase paquet pour robuste modèles linéaires
  • loess() pour les modèles non-linéaires/non-paramétriques

Ensuite, il existe des modèles spécifiques au domaine, par ex. séries chronologiques, micro-économétrie, effets mixtes et bien plus encore. Plusieurs vues de tâches, par ex. Econometrics en discuter plus en détail. Quant à la qualité de l'ajustement, c'est aussi quelque chose que l'on peut dépenser facilement pour discuter d'un livre entier.

+0

Des recommandations pour des livres ou de bons sites Web sur la qualité de l'ajustement? –

7

La fonction nls() (http://sekhon.berkeley.edu/stats/html/nls.html) est assez standard pour l'ajustement de courbe non linéaire par les moindres carrés. Le Chi au carré (la somme des résidus au carré) est la métrique qui est optimisée dans ce cas, mais il n'est pas normalisé, donc vous ne pouvez pas l'utiliser facilement pour déterminer si l'ajustement est bon. La principale chose que vous devez vous assurer est que vos résidus sont normalement distribués. Malheureusement, je ne suis pas sûr d'un moyen automatisé de le faire.

10

Les chevaux de trait courbe canonique de montage dans R sont lm(), glm() et nls(). Pour moi, la qualité de l'ajustement est un sous-problème dans le problème plus vaste de la sélection de modèles. En fait, l'utilisation incorrecte de la qualité d'ajustement (par exemple, par régression pas à pas) peut donner lieu à un modèle très mal spécifié (voir le livre de Harrell sur les «Stratégies de modélisation de régression»). Plutôt que de discuter de la question à partir de zéro, je recommande le livre de Harrell pour lm et glm. Venables et la Bible de Ripley sont laconiques, mais valent quand même le détour. "Extension du modèle linéaire avec R" par Faraway est complet et lisible. nls n'est pas couvert dans ces sources, mais "Régression non linéaire avec R" par Ritz & Streibig comble le vide et est très pratique.

3

La principale chose que vous devez vous assurer est que vos résidus sont normalement distribués . Malheureusement, je ne suis pas sûr d'un moyen automatisé de le faire.

qqnorm() pourrait probablement être modifié pour trouver la corrélation entre les quantiles d'échantillons et les quantiles théoriques. Essentiellement, ce serait juste une interprétation numérique de la parcelle de quantile normale. Peut-être que fournir plusieurs valeurs du coefficient de corrélation pour différentes plages de quantiles pourrait être utile.Par exemple, si le coefficient de corrélation est proche de 1 pour le milieu 97% des données et beaucoup plus bas au niveau des queues, cela nous indique que la distribution des résidus est approximativement normale, avec un peu de drôlerie dans les queues.

+0

'shapiro.test()' pourrait aussi convenir – DaveRGP

2

Meilleur à garder simple, et voir si les méthodes linéaires fonctionnent "bien enuff". Vous pouvez juger votre bien-aller de façon GÉNÉRALE en regardant la statistique R au carré ET F, ensemble, ne jamais séparer. Ajouter des variables à votre modèle qui n'ont aucune incidence sur votre variable dépendante peut augmenter R2, donc vous devez aussi considérer la statistique F.

Vous devez également comparer votre modèle à d'autres modèles imbriqués ou plus simples. Pour ce faire, utilisez le test du rapport de vraisemblance, tant que les variables dépendantes sont les mêmes. Le test de Jarque-Bera permet de tester la normalité de la distribution résiduelle.