Nous avons le diamètre des arbres comme prédicteur et hauteur d'arbre que la variable dépendante. Un certain nombre d'équations différentes existent pour ce type de données et nous essayons de modéliser certains d'entre eux et de comparer les résultats.
Cependant, nous ne pouvons pas comprendre comment faire correctement une équation dans la formule Le premier, l'exemple d'une équation qui semble fonctionner bien : P> p> coefficients maintenant le équation problématique: p> p> Essayer C'est comme ceci: p> donne une erreur: p> je suppose que c'est parce que Cela ne donne pas une erreur: p> mais le résultat n'est pas celui Nous voulons: p> Un seul coefficient est donné pour l'ensemble de la TE RM dans l'extérieur Comment pouvons-nous correspondre à la deuxième équation à nos données? p> p> R code> p> p>
Les arbres code> définis dans
r code> peuvent être utilisés comme exemple. p>
A code>,
b code> et
c code> sont estimés, ce qui nous intéresse. p>
/ code > est interprété comme un modèle imbriqué et non un opérateur arithmétique? p>
i () code>, qui semble être logique. p>
3 Réponses :
Vous avez des problèmes de couple. (1) Vous manquez des parenthèses pour le dénominateur de Fixation (1) est facile: p> fixation (2), bien qu'il existe de nombreuses façons d'estimer les paramètres d'un modèle non linéaire, le Vous devez fournir des suppositions de départ pour les paramètres dans form2 code> (et r n'a aucun moyen de savoir que vous souhaitez ajouter une constante
A code> dans le dénominateur, ou où Mettez l'un des paramètres, vraiment) et beaucoup plus problématique: (2) votre 2e modèle n'est pas linéaire em>, donc
lm code> ne fonctionnera pas.
nls code> (non linéaire Les moindres carrés) est un bon endroit pour commencer: p>
NLS code>. Je viens de choisir 1, mais vous devriez utiliser de meilleures suppositions que les paramètres peuvent être. P> p>
Merci pour votre réponse! Cela nous aurait pris des âges pour découvrir ces problèmes et même plus longtemps pour trouver une solution.
edit strud>: fixe, n'utilise plus mal à l'aide de la ... strong> une réponse qui complète @ shujaa's: p> Vous pouvez transformer votre Problème de p> à p> Cela gâcherait normalement les hypothèses du modèle (c'est-à-dire si Ces résultats seraient normalement suffisamment bons pour obtenir de bonnes valeurs de démarrage pour le fichier code> NLS code>. Toutefois, vous pouvez faire mieux que celui via Vous pouvez voir que les résultats sont environ em> identiques à ceux linéaires, Mais pas tout à fait. p> Nous utilisons p> Parce que nous avons utilisé la constante sur le LHS (ce presque, mais pas tout à fait, je ne sais pas tout à fait dans le cadre de l'utilisation de un décalse em> - nous ne pouvions utiliser un décalage que si notre formule était p> p> H code> a été normalement distribué avec une variance constante, puis
1 / (h-1.3) code> ne serait pas. Toutefois, essayons quand même: p>
GLM code>, qui utilise un lien fonction pour permettre certaines formes de non-linéarité. Spécifiquement, p>
prédit code>, mais il faut corriger la prédiction pour tenir compte du fait que nous soustrayons une constante de la LHS: p>
1 / h - 1.3 = A / D ^ 2 + ... code>, c'est-à-dire si le réglage constant était Sur la balance de lien (inverse) plutôt que la balance d'origine), cela ne correspond pas parfaitement à
ggplot code> 'S
geom_smooth code> framework p>
en supposant que vous utilisez nls code> la formule R peut utiliser une fonction r ordinaire,
H (A, B, C, D) code>, de sorte que la formule peut être juste H ~ H (A, B, C, DBH) Code> Et cela fonctionne:
plot(h ~ dbh, df)
lines(fitted(nls1) ~ dbh, df)
Je vais marquer cette réponse comme la correcte parce que a) il inclut comment estimer les valeurs de démarrage, b) L'utilisation d'une fonction R normale nous permet d'adapter une autre fonction non linéaire très facilement et c) elle parcourt les résultats. Merci!