Ajustement d'une courbe de données spécifiques
J'ai les données suivantes dans ma thèse:
28 45
91 14
102 11
393 5
4492 1.77
J'ai besoin d'ajustement d'une courbe dans cette. Si j'ai de la parcelle, alors c'est ce que je reçois.
Je pense que certains type de courbe exponentielle doit s'adapter à ces données. Je suis à l'aide de GNUplot. Quelqu'un peut-il me dire quel type de courbe d'ajustement et quels paramètres initiaux que je peux utiliser?
Je vous suggère de commencer par la représentation des données sur une échelle logarithmique pour au moins de l'axe des y et peut-être l'axe des abscisses. Qui devrait rendre vos données beaucoup plus proche d'une ligne droite. Si une ligne droite dans le journal des échelles est un ajustement raisonnable, à le rendre plus facile à interpréter des incertitudes dans les paramètres, etc que d'adapter les courbes.
OriginalL'auteur The Flying Dutchman | 2013-01-07
Vous devez vous connecter pour publier un commentaire.
Juste au cas où R est une option, voici un croquis de deux méthodes que vous pourriez utiliser.
Première méthode: évaluation de la qualité de l'ajustement d'un ensemble de modèles candidats
C'est probablement la meilleure façon qu'il profite de ce que vous savez peut être déjà, ou s'attendent à propos de la relation entre les variables.
La courbe orange semble assez bon. Nous allons voir comment il se classe quand nous mesurons la relative qualité de l'ajustement de ces modèles sont...
Deuxième méthode: utilisation de la programmation génétique à la recherche d'une grande quantité de modèles
Ce qui semble être une sorte de tir sauvage dans l'obscurité de l'approche de la courbe de raccord. Vous n'avez pas à spécifier beaucoup au début, mais peut-être que je fais mal...
En fait une très mauvaise visuelle adaptée. Peut-être il y a un peu plus d'effort requis pour obtenir des résultats de qualité de la programmation génétique...
Crédits: Ajustement de la courbe de réponse 1, ajustement de la courbe de réponse 2 par G. Grothendieck.
poly(1/x,3)
comme un candidat modèle ???D'accord, c'est un peu imprudent de donner à la petite quantité de données, mais c'était un bon exercice d'apprentissage pour moi. Comme pour le
poly
, eh bien, c'est exactement cela, une supposition. En lisant un peu plus sur le sujet (votre livre a été utile), je vois un troisième ordre polynomial pour si peu de degrés de liberté est inutile pour la plupart des besoins (même si il met une belle ligne passant par les points!). Je l'ai remplacé par un peu moins bizarre candidats, merci pour votre commentaire.qu'est-ce que la majuscule
I()
vous aide dans le montage des modèles? par exemple,lm(y~I(1/x), data=dat)
help(I)
vous permettra de mieux comprendre. Encore, ici, est de sorte qu'il comprend les valeurs1/x
comme x.OriginalL'auteur Ben
Connaissez vous des fonction analytique que les données doivent respecter? Si oui, cela pourrait vous aider à choisir la forme de la fonction, afin de s'adapter aux données.
Autrement, puisque les données ressemble à décroissance exponentielle, essayer quelque chose comme cela dans gnuplot, où une fonction avec deux paramètres libres est ajusté aux données:
Gnuplot varient les paramètres nommés d'après la 'via' clause pour le meilleur ajustement. Les statistiques sont imprimées sur la sortie standard, ainsi qu'un fichier appelé 'ajustement.log " dans le répertoire de travail courant.
La variable c permettra de déterminer la courbure (decay), tandis que la variable b à l'échelle de toutes les valeurs de façon linéaire pour obtenir la valeur exacte des données.
Pour plus d'info, voir le Ajustement de la courbe dans la section de documentation Gnuplot.
OriginalL'auteur Anders Damsgaard