Déterminer la meilleure fonction d'ajustement de courbe d'ajustement à partir de fonctions linéaires, exponentielles et logarithmiques

18

Le contexte:

À partir d'une question sur Mathematics Stack Exchange (Puis-je créer un programme) , quelqu'un a un ensemble de points et veut y adapter une courbe, linéaire, exponentielle ou logarithmique. La méthode habituelle consiste à commencer par choisir l'un d'entre eux (qui spécifie le modèle), puis à effectuer les calculs statistiques.X-y

Mais ce qui est vraiment recherché, c'est de trouver la «meilleure» courbe parmi linéaire, exponentielle ou logarithmique.

En apparence, on pourrait essayer les trois et choisir la courbe la mieux ajustée des trois en fonction du meilleur coefficient de corrélation.

Mais je pense que ce n'est pas tout à fait casher. La méthode généralement acceptée consiste à sélectionner d'abord votre modèle, l'un de ces trois (ou une autre fonction de lien), puis à partir des données, calculer les coefficients. Et la cueillette post facto du meilleur est la cueillette des cerises. Mais pour moi, que vous déterminiez une fonction ou des coefficients à partir des données, c'est toujours la même chose, votre procédure découvre la meilleure chose ... (disons que quelle fonction est -aussi- un autre coefficient à découvrir).

Des questions:

  • Est-il approprié de choisir le meilleur modèle d'ajustement parmi les modèles linéaires, exponentiels et logarithmiques, sur la base d'une comparaison des statistiques d'ajustement?
  • Si oui, quelle est la manière la plus appropriée de procéder?
  • Si la régression permet de trouver des paramètres (coefficients) dans une fonction, pourquoi ne peut-il pas y avoir de paramètre discret pour choisir laquelle des trois familles de courbes les meilleures proviendront?
Mitch
la source
1
J'ai ajouté la balise de sélection de modèle pour votre commodité: la liaison à travers elle produira un grand nombre de threads directement pertinents. D'autres balises méritent d'être examinées, notamment aic . Vous devriez finalement découvrir que l'énoncé mathématique de ce problème manque deux éléments essentiels: une description de comment et pourquoi les points pourraient s'écarter d'une courbe théorique et une indication du coût de ne pas obtenir exactement la bonne courbe. En l'absence de ces éléments, il existe de nombreuses approches différentes qui peuvent produire des réponses différentes, montrant que le «meilleur» est mal défini.
whuber
1
Vous pouvez mettre de côté un pourcentage de vos données pour effectuer la validation sur le modèle et choisir le modèle qui correspond le mieux à cet ensemble de données de validation. Donc, vous auriez essentiellement trois ensembles distincts pour diviser vos données en 1. les données pour former un seul modèle 2. des données qui valident chaque modèle qui vous permet de sélectionner le meilleur modèle et 3. vos données de validation finales réelles qui ne sont pas touchées .
kleineg
1
@kleineg Cela ressemble à la bonne direction. Le choix du modèle (par exemple, entre lin / exp / log) est comme un hyperparamètre à modèle unique, qui n'est à certains égards qu'une autre étape des paramètres réguliers, et y entrer par des étapes de train / validation / test distinctes pourrait être généralisé.
Mitch
Pertinent: {Une manière subtile de sur-adapter] ( johndcook.com/blog/2015/03/17/a-subtle-way-to-over-fit ) - choisir entre plusieurs fonctions de modèle (par exemple, exp vs linéaire vs log) est juste un autre paramètre. Vous pourriez le considérer comme un hyperparamètre (qui nécessiterait une étape de validation) ou un paramètre régulier dans une fonction de combinaison compliquée (où il serait testé dans une étape de test).
Mitch

Réponses:

9
  • Vous voudrez peut-être consulter le logiciel gratuit appelé Eureqa . Il a pour objectif spécifique d'automatiser le processus de recherche à la fois de la forme fonctionnelle et des paramètres d'une relation fonctionnelle donnée.
  • Si vous comparez des modèles avec différents nombres de paramètres, vous souhaiterez généralement utiliser une mesure d'ajustement qui pénalise les modèles avec plus de paramètres. Il existe une littérature abondante sur la mesure d'ajustement la plus appropriée pour la comparaison de modèles, et les problèmes se compliquent lorsque les modèles ne sont pas imbriqués. Je serais intéressé d'entendre ce que les autres pensent être l'indice de comparaison de modèles le plus approprié compte tenu de votre scénario (comme point de côté, il y a eu récemment une discussion sur mon blog sur les indices de comparaison de modèles dans le contexte de la comparaison de modèles pour l'ajustement de courbe).
  • D'après mon expérience, les modèles de régression non linéaire sont utilisés pour des raisons allant au-delà de l'adéquation statistique pure aux données données:
    1. Les modèles non linéaires font des prédictions plus plausibles en dehors de la plage des données
    2. Les modèles non linéaires nécessitent moins de paramètres pour un ajustement équivalent
    3. Les modèles de régression non linéaire sont souvent appliqués dans des domaines où il existe d'importantes recherches antérieures et une sélection théorique de modèles de référence.
Jeromy Anglim
la source
5

C'est une question qui est valable dans des domaines très divers.

Le meilleur modèle est celui qui peut prédire les points de données qui n'ont pas été utilisés lors de l'estimation des paramètres. Idéalement, on calculerait les paramètres du modèle avec un sous-ensemble de l'ensemble de données et évaluerait les performances d'ajustement sur un autre ensemble de données. Si les détails vous intéressent, effectuez une recherche avec "validation croisée".

La réponse à la première question est donc "non". Vous ne pouvez pas simplement prendre le modèle le mieux adapté. Image que vous ajustez un polynôme de Nième degré à N points de données. Ce sera un ajustement parfait, car tout le modèle transmettra exactement tous les points de données. Cependant, ce modèle ne généralisera pas aux nouvelles données.

La façon la plus appropriée, pour autant que je puisse dire, est de calculer dans quelle mesure votre modèle peut se généraliser à d'autres ensembles de données à l'aide de mesures qui punissent simultanément l'amplitude des résidus et le nombre de paramètres dans votre modèle. AIC et BIC sont certaines de ces mesures que je connais.

bonobo
la source
3

Étant donné que de nombreuses personnes explorent régulièrement l'ajustement de diverses courbes à leurs données, je ne sais pas d'où viennent vos réservations. Certes, il y a le fait qu'un quadratique s'adaptera toujours au moins aussi bien qu'un linéaire, et un cubique, au moins aussi bien qu'un quadratique, donc il y a des moyens de tester la signification statistique de l'ajout d'un tel terme non linéaire et donc de éviter la complexité inutile. Mais la pratique de base de tester de nombreuses formes différentes de relation n'est qu'une bonne pratique. En fait, on pourrait commencer par une régression de loess très flexible pour voir quel est le type de courbe le plus plausible à ajuster.

rolando2
la source
3
Le meilleur ajustement quadratique dépendra de la manière dont vous avez opérationnalisé le bon ajustement. En particulier, si vous utilisez une mesure d'ajustement qui pénalise les modèles avec plus de paramètres (par exemple, AIC), alors, par exemple, l'ajustement peut être pire pour quadratique par rapport à linéaire.
Jeromy Anglim
9
@rolando, peut-être que je me méprends, mais, franchement, ce genre de conseils (sans réserve) est précisément le genre de chose contre laquelle, en tant que statisticiens, nous passons tant de temps à "lutter". En particulier, si le PO s'intéresse à autre chose qu'un simple ajustement de courbe, par exemple la prédiction ou l'inférence, il est très important de comprendre les implications de l'approche "essayez tout ce que vous pouvez penser" en matière de statistiques.
Cardinal
2
J'ai du mal à concilier ces commentaires avec la tradition d'Anscombe, Tukey, Mosteller, Tufte et Cleveland, qui souligne la nécessité de visualiser et d'explorer les données et de dimensionner la forme de chaque relation avant de construire un modèle, d'établir des coefficients, ou générer d'autres statistiques.
rolando2
8
Il y a beaucoup de controverse concernant leurs approches. Une manière trop simplifiée de résumer ces problèmes est que si vous voulez en savoir plus sur les modèles et faire de nouvelles découvertes qui nécessitent une validation ultérieure, une analyse exploratoire est appropriée. Si vous voulez tirer une inférence (raison d'un échantillon particulier à la population générale en utilisant des valeurs de P, des intervalles de confiance, etc.) alors pas tant que ça.
Frank Harrell
4
C'est le fil de commentaires le plus productif que j'ai vu sur CV, en particulier l'échange b / t rolando2 (3 ^) & @FrankHarrell. Je trouve également les deux approches très attrayantes. Ma propre résolution consiste à planifier quoi tester à l'avance et à ajuster / tester ce modèle uniquement pour tirer des conclusions définitives, mais aussi à explorer en profondeur les données (sans croire que les résultats sont nécessairement valables) afin de découvrir ce qui pourrait être vrai. et planification de la prochaine étude. (Dois-je exécuter une autre étude et vérifier quelque chose, serait-ce intéressant / important?) La clé est votre croyance au sujet des résultats de ces analyses.
gung - Rétablir Monica
3

Vous avez vraiment besoin de trouver un équilibre entre la science / théorie qui mène aux données et ce que les données vous disent. Comme d'autres l'ont dit, si vous vous laissez adapter à toute transformation possible (polynômes de tout degré, etc.), vous finirez par sur-ajuster et obtenir quelque chose d'inutile.

Une façon de vous en convaincre est la simulation. Choisissez l'un des modèles (linéaire, exponentiel, log) et générez des données qui suivent ce modèle (avec un choix de paramètres). Si votre variance conditionnelle des valeurs y est petite par rapport à la propagation de la variable x, alors un simple tracé rendra évident quel modèle a été choisi et quelle est la "vérité". Mais si vous choisissez un ensemble de paramètres tel qu'il ne soit pas évident à partir des graphiques (probablement le cas où une solution analytique est intéressante), analysez chacune des 3 façons et voyez celle qui donne le meilleur ajustement. J'espère que vous constaterez que le "meilleur" ajustement n'est souvent pas le "vrai" ajustement.

D'un autre côté, nous voulons parfois que les données nous en disent le plus possible et nous n'avons peut-être pas la science / théorie pour déterminer pleinement la nature de la relation. L'article original de Box et Cox (JRSS B, vol. 26, no. 2, 1964) discute des moyens de comparer entre plusieurs transformations sur la variable y, leur ensemble de transformations donné a linéaire et log comme cas particuliers (mais pas exponentiel) , mais rien dans la théorie de l'article ne vous limite à leur seule famille de transformations, la même méthodologie pourrait être étendue pour inclure une comparaison entre les 3 modèles qui vous intéressent.

Greg Snow
la source