Léquation dune fonction exponentielle est $ y = ae ^ {bx} $

Les données sont tracées comme indiqué ci-dessous: Diagramme exponentiel non transformé

Transformation de ceci pour la régression linéaire: $ ln (y) = ln (a) + bx $

Cette transformation est illustrée dans le graphique ci-dessous: Transformation

Alors léquation de régression linéaire est: $ ln (y) = -369.9778 + 0.187693x $

Comment puis-je la reconvertir sous la forme $ y = ae ^ { bx} $ ??

Mon problème est dans $ ln (a) = -369.9778 $. Comment obtenir la valeur $ a $.

Même Excel ne peut pas obtenir léquation correctement, mais il y a une courbe de tendance? Je ne comprends pas comment elle est dérivée. La courbe de tendance ne représente pas du tout le scénario réel basé sur les données: Mauvais comportement

Mais cest un peu précis lorsque jutilise les points de données les plus récents: Cest plus précis quand je reçois les dernières données

Les données sont comme ci-dessous:

Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264 

Commentaires

  • Je ne ‘ nutilise pas Excel régulièrement et ne ‘ ne sais pas quelle est la ligne ajoutée dans votre premier graphique. Ce ‘ nest certainement pas une exponentielle car il nest pas monotone. Je conseille aux étudiants et collègues de ne jamais donner de courbe sils peuvent ‘ t expliquer comment il a été produit. Il ‘ est probablement un polynôme ou une spline.
  • Je viens dappuyer sur exponentiel dans Excel. Vous ‘ vous avez raison Je viens de cliquer au hasard sur ce que je senti que cétait. Jessaie de trouver comment adapter correctement nimporte quel type de ligne. Je ne connais que la régression linéaire.
  • Merci davoir fourni un fichier Excel sur un autre site. Jai ‘ pris les données et les ai répertoriées dans votre question. Cest ‘ une meilleure façon de donner des exemples, en supprimant un ou deux autres programmes, sans utiliser Excel, ce que beaucoup de gens ne font ‘ ou don ‘ t avoir, et donnez simplement aux gens quelque chose quils peuvent copier et coller dans leur logiciel préféré.

Réponse

Ces deux régressions ne donneront pas de valeurs de paramètres qui peuvent être transformées exactement lune dans lautre:

$ ln (y) ~ vs ~ A + B ~ x $

$ y ~ vs ~ a ~ exp (b ~ x) $

car ils minimisent différentes sommes de carrés, à savoir, respectivement, les suivantes:

$ \ Sigma_i (ln (y_i) – (A + B ~ x_i)) ^ 2 $

$ \ Sigma_i (y_i – a ~ exp (b ~ x_i)) ^ 2 $

et ce ne sont pas des problèmes de minimisation équivalents.

La première régression peut être résolue pour $ A $ et $ B $ en utilisant la régression linéaire .

Pour résoudre la deuxième régression, commencez par résoudre la première. Ensuite, utilisez $ a = exp (A) $ et $ b = B $ comme valeurs de départ pour résoudre le deuxième problème de régression en utilisant un solveur de régression non-linéaire (cest-à-dire dans Excel qui serait Solver). De plus, si le modèle de régression non linéaire est suffisamment éloigné du modèle de régression linéaire, il est possible que ces valeurs de départ ne soient pas adéquates, auquel cas vous devrez essayer d’autres valeurs de départ.

Ajouté

Les données ont été ajoutées à la question afin que nous puissions maintenant exécuter laction suggérée discutée dans le paragraphe ci-dessus. Ci-dessous, nous montrons le code R pour ce faire. Si vous installez R sur votre machine, copiez et collez simplement ce code dans la console R.

Premièrement, nous lisons les données dans DF puis exécutons un modèle linéaire, cest-à-dire régression, de log(Total) par rapport à Year. Notez que log dans R est la base du journal e. Nous voyons que les coefficients de régression produits sont A = -369,977814 et B = 0,187693 pour lintersection et la pente. Ensuite, nous extrayons la pente dans la variable b à utiliser comme valeur de départ dans la régression non linéaire. Nous navons pas besoin de linterception comme valeur de départ car lalgorithme de régression non linéaire, plinéaire, ne nécessite que des valeurs de départ pour les paramètres non linéaires. Ensuite, nous exécutons la régression non linéaire de Total vs. a * exp(b * Year). Les coefficients quil produit sont b = 2,838264e-01 et a = 3,17445e-245. Nous traçons ensuite le résultat et nous voyons quil semble raisonnablement proche des données.

En général, lors de lexécution dune optimisation non linéaire, des considérations numériques impliquent que nous voulons que les paramètres soient à peu près de la même grandeur, ce qui nest pas le cas. Cela suggère de re-paramétrer le modèle comme suit:

$ y ~ vs ~ exp (a ~ + ~ b ~ x_i) $ [modèle non linéaire re-paramétré]

et à la fin du code ci-dessous nous faisons cela. Nous voyons que maintenant les paramètres sont a = -562,9959733 et b = 0.2838263 où maintenant a est tel que défini dans la définition du modèle non linéaire re-paramatérisé. Ces paramètres sont des valeurs beaucoup plus comparables, donc notre modèle non linéaire re-paramétré semble préférable.

Le graphique ressemblerait à celui présenté pour le premier modèle de régression non linéaire.

Lines <- "Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264" DF <- read.table(text = Lines, header = TRUE) 

Maintenant, exécutez ceci:

# run linear regression model fit.lm <- lm(log(Total) ~ Year, DF) coef(fit.lm) ## (Intercept) Year ## -369.977814 0.187693 b <- coef(fm.lm)[[2]] b ## [1] 0.187693 # run nonlinear regresion model fit.nls <- nls(Total ~ exp(b * Year), DF, start = list(b = b), alg = "plinear") coef(fit.nls) ## b .lin ## 2.838264e-01 3.117445e-245 plot(Total ~ Year, DF) lines(fitted(fit.nls) ~ Year, DF, col = "red") a <- coef(fit.lm)[[1]] a ## [1] -369.9778 # run reparameterized nonlinear regression model fit2.nls <- nls(Total ~ exp(a + b * Year), DF, start = list(a = a, b = b)) coef(fit2.nls) ## a b ## -562.9959733 0.2838263 

capture décran

Commentaires

  • Que ‘ est correct. En pratique, la linéarisation en premier nest pas seulement plus facile à mettre en œuvre car elle ‘ nest quune question de régression par la suite; pour des données comme celles-ci, il semble raisonnable au vu de la structure derreur impliquée par le graphique de log $ y $ en fonction de lannée, notamment que la dispersion apparaît à peu près même sur une échelle logarithmique. Nous navons ‘ t avoir les données brutes à vérifier, mais dans des exemples comme celui-ci, la linéarisation semble peu probable dêtre problématique ou inférieure.
  • La régression linéaire na pas donné le réponse souhaitée. Cest le point principal de la question.
  • Je nai ‘ pas lu la question de cette façon du tout. LOP na pas ‘ compris tout ce qui était fait (a) en général (b) par Excel. (Il est déconcertant que lOP ait revisité le fil de discussion mais ne réponde à aucune des réponses les plus longues jusquà présent.)
  • La discussion dans la question juste à la fin et les graphiques qui laccompagnent montrent que ce qui était obtenu à partir de la régression linéaire nétait pas ce que lon voulait.
  • Il y a ‘ un lot qui est confus et même contradictoire dans la question. Si les données étaient exactement exponentielles, la manière dont le modèle a été ajusté naurait pas ‘ aucune importance. Il ‘ est peut-être un choix entre un ajustement intermédiaire qui sous-estime à des valeurs élevées; une coupe moyenne qui leur accorde plus dattention; et imaginer un modèle tout à fait différent. Le PO est lautorité sur ce qui les dérange mais (comme dit) na pas encore clarifié les détails importants. ‘. Indépendamment de cela, les réponses soulèvent divers points qui pourraient être utiles ou intéressants pour dautres dans ce territoire.

Réponse

Vous utilisez lannée civile comme $ x $, donc la conséquence inévitable est que $ a $ dans $ y = a \ exp (bx) $ est, ou était, la valeur de $ y $ lannée $ x = 0 $. Mettant de côté le point pédant quil ny avait pas dannée zéro, cétait lannée avant 1 $ AD (CE), et la projection mentale de votre courbe vers larrière devrait souligner que la valeur ajustée sera (aurait été!) Très petite en effet dans lannée $ 0 $ (mais toujours positif, car la fonction exponentielle le garantit).

Vous ne nous donnez pas les données originales pour que nous puissions les vérifier, mais je ne vois aucune raison de douter de ce que vous montrez. Jobtiens $ \ exp (-369.9778) $ pour être $ 2.09 \ times 10 ^ {- 161 } $, très petit en effet. Donc, Excel est correct aux deux décimales quil indique. De plus, vous devrez afficher votre résultat en notation puissance.

Si cétait mon problème, je serais compatible avec disons $ a \ exp [b (x – 2000)] $; alors $ a $ aura linterprétation la plus facile de $ y $ quand $ x = 2000 $ et pourra être comparée plus facilement aux données. (La précision numérique nest pas affectée lun ou lautre, et peut être aidé.)

JW Tukey a fait valoir que nous devrions ajuster des «concepts centraux», pas des interceptions, et cet exemple souligne ce point. Autorité: Roger Koenker à cette page de son .

Le traçage sur une échelle log suggère que lexponentielle nest quune approximation, mais ce nest pas « t la question.

Discussion connexe sur le choix de lorigine à Est-il judicieux dutiliser une variable de date dans une régression?

EDIT Compte tenu des données, je les ai lues dans Stata.

Jai ajusté $ \ text {total} = a \ exp [b (\ text {year} – 2000)] $ en régressant $ \ ln (\ text {total}) $ on $ \ text {year} – 2000 $.

Cela donne une équation linéaire de 5,40827 $ + 0,187693 (\ text {année} – 2000) $.

Le « centercept » pour $ 2000 $ se transforme donc à environ 223 $ $. La valeur des données était de 123 $ $. Un détail important ici est que $ 0.187693 $ correspond à votre résultat Excel.

I puis ajusté la même équation directement en utilisant les moindres carrés non linéaires et obtenu un centrecept de 105,2718 $ et un coefficient de 0,2838264 $. Cest très différent et ce nest pas surprenant, car les moindres carrés non linéaires nactualisent pas t es valeurs élevées comme le fait la linéarisation par les logarithmes. Votre propre graphique sur une échelle logarithmique montre que les valeurs les plus élevées des années suivantes sont sous-estimées en ajustant sur une échelle logarithmique. Inversement, les moindres carrés non linéaires penchent dans lautre sens.

Même si une exponentielle semble être un très bon ajustement, je nessaierais pas de lextrapoler très loin dans le futur.Avec ces données, où une exponentielle est la meilleure une approximation approximative de zéro, et avec une extrapolation plus modeste que ce que vous avez demandé, lincertitude est sérieuse:

entrez la description de limage ici

Commentaires

  • Merci pour ces références i ‘ Je vais les lire. Je ne suis pas très bon avec les principes fondamentaux concernant les origines des équations et leur fonctionnement, donc japplique les outils de manière incorrecte. Eh bien, je suppose que ‘ est la raison pour laquelle la plupart des gens trouvent les maths difficiles

Answer

Pour commencer, je vous suggère fortement de rechercher des vidéos de Khan Academy sur les fonctions de journalisation et dexponentielles.

Vous devriez être daccord en faisant simplement a = e^(-369.9778).

Commentaires

  • Je ne ‘ pas très bien comprendre comment vous êtes arrivé à cette valeur. Est-ce que ‘ t log(a) = -369.9778 identique à 10^(-369.9778) = a?
  • Attendez désolé ‘ le redresser ‘ e^(-369.9778). Bien quil nexplique pas le comportement des lignes de tendance et léquation de régression. Peut-être quil manquait quelque chose ‘ ‘
  • Lorsque vous avez écrit la question pour la première fois, je pensais que cétait une question simple problème de maths. Maintenant, je comprends votre point.
  • Désolé pour la question trompeuse. Quand jai posé la question pour la première fois, jai également pensé que cétait mon algèbre imparfaite qui avait causé le problème. Je ‘ je ne suis tout simplement pas très doué avec les principes de base des mathématiques, jai beaucoup de trous à combler.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *