Rovnice exponenciální funkce je $ y = ae ^ {bx} $
Transformace pro lineární regresi: $ ln (y) = ln (a) + bx $
Tato transformace je zobrazena na obrázku níže:
Potom je lineární regresní rovnice: $ ln (y) = -369,9778 + 0,187693x $
Jak ji transformuji zpět ve formě $ y = ae ^ { bx} $ ??
Můj problém je v $ ln (a) = -369,9778 $. Jak získat hodnotu $ a $.
Dokonce ani Excel nemůže získat rovnici správně, ale existuje trendová čára? Nerozumím tomu, jak je to odvozeno. Trendová čára vůbec nepředstavuje skutečný scénář založený na datech:
Je však poněkud přesné, když používám novější datové body:
Data jsou uvedena níže:
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
Komentáře
- ‚ rutinně nepoužívám Excel a ‚ nevím, co je přidaný řádek ve vašem prvním grafu. ‚ to rozhodně není exponenciální, protože není monotónní. Doporučuji studentům a kolegům, aby nikdy nedávali křivku, pokud mohou
nevysvětlujeme, jak byla vyrobena. Je to ‚ pravděpodobně polynom nebo spline.
Odpovědět
Tyto dvě regrese neposkytnou hodnoty parametrů, které lze přesně transformovat do jiného:
$ ln (y) ~ vs. ~ A + B ~ x $
$ y ~ vs. ~ a ~ exp (b ~ x) $
protože minimalizují různé součty čtverců, jmenovitě následující:
$ \ Sigma_i (ln (y_i) – (A + B ~ x_i)) ^ 2 $
$ \ Sigma_i (y_i – a ~ exp (b ~ x_i)) ^ 2 $
a nejde o ekvivalentní problémy s minimalizací.
První regresi lze vyřešit pro $ A $ a $ B $ pomocí lineární regrese.
Chcete-li vyřešit druhou regresi, začněte řešením první. Poté použijte $ a = exp (A) $ a $ b = B $ jako počáteční hodnoty k vyřešení druhého regresního problému pomocí nelineárního regresního řešiče (tj. V aplikaci Excel, který by byl Řešitelem). Pokud je nelineární regresní model dostatečně vzdálený od lineárního regresního modelu, je možné, že tyto počáteční hodnoty nebudou adekvátní, v takovém případě budete muset vyzkoušet jiné počáteční hodnoty.
Přidáno
Data byla přidána k otázce, abychom nyní mohli provést navrhovanou akci popsanou v předchozím odstavci. Níže ukážeme R kód. Pokud nainstalujete R na svůj počítač, zkopírujte a vložte tento kód do konzoly R.
Nejprve načteme data do DF
a poté spustíme lineární model, tj. regrese, log(Total)
vs. Year
. Všimněte si, že log
v R je log base e. Vidíme, že produkované regresní koeficienty jsou A = -369,977814 a B = 0,187693 pro průsečík a sklon. Potom extrahujeme sklon do proměnné b
, kterou použijeme jako výchozí hodnotu v nelineární regresi. Intercept jako počáteční hodnotu nepotřebujeme, protože algoritmus nelineární regrese, plinearní, vyžaduje pouze počáteční hodnoty pro nelineární parametry. Potom spustíme nelineární regrese Total
vs. a * exp(b * Year)
. Koeficienty, které vytváří, jsou b = 2.838264e-01 a a = 3.117445e-245. Výsledek poté vykreslíme a zjistíme, že se zdá být přiměřeně blízký údajům.
Obecně platí, že při provádění nelineární optimalizace numerické úvahy naznačují, že chceme, aby parametry byly zhruba stejné velikosti, což není tento případ. To naznačuje, že model je třeba znovu parametrizovat:
$ y ~ vs. ~ exp (a ~ + ~ b ~ x_i) $ [znovu parametrizovaný nelineární model]
a na konci níže uvedeného kódu to uděláme. Vidíme, že nyní parametry jsou a = -562,9959733 ab = 0.2838263, kde nyní a je definováno v definici re-paramaterizovaného nelineárního modelu. Tyto parametry jsou mnohem srovnatelnějšími hodnotami, takže se náš preferovaný neparametrický nelineární model zdá být výhodnější.
Graf by vypadal podobně jako ten, který je zobrazen pro první nelineární regresní model.
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)
Nyní spusťte toto:
# 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
Komentáře
- To je ‚ správné. V praxi není implementace linearizace pouze jednodušší, protože ‚ jde pouze o regres; u takových dat se to zdá rozumné vzhledem ke struktuře chyb vyplývající z grafu log $ y $ proti roku, zejména že rozptyl se objevuje zhruba dokonce i v logaritmickém měřítku. Nemáme ‚ surová data ke kontrole, ale v příkladech, jako je tato, se nejprve zdá být nepravděpodobné, že by lineární regrese byla problematická nebo podřadná.
- Lineární regrese nedokázala požadovaná odpověď. To je hlavní bod otázky.
- Tuto otázku vůbec takhle nečtu ‚. OP nerozuměl ‚ všem, co se dělo (a) obecně (b) programem Excel. (Je znepokojující, že OP vlákno znovu navštívil, ale zatím nereaguje na žádnou z zdlouhavějších odpovědí.)
- Diskuse v otázce hned na konci a doprovodné grafy poukazují na to, co bylo získané z lineární regrese nebylo to, co bylo požadováno.
- Existuje ‚ spousta, která je v otázce zmatená a dokonce protichůdná. Pokud by data byla přesně exponenciální, nezáleželo by ‚ na tom, jak byl model přizpůsoben. ‚ je možná volba mezi prostředním uložením, které podřízne při vysokých hodnotách; střední fit, který jim věnuje větší pozornost; a vymyslet úplně jiný model. OP je orgánem, který je obtěžuje, ale (jak již bylo řečeno) dosud ‚ ještě nevyjasnil žádné důležité podrobnosti. Bez ohledu na to odpovědi vyvolávají různé body, které by mohly být užitečné nebo zajímavé pro ostatní na tomto území.
Odpovědět
Používáte kalendářní rok jako $ x $, takže nevyhnutelným důsledkem je, že $ a $ v $ y = a \ exp (bx) $ je nebo byla hodnota $ y $ v roce $ x = 0 $. Odložením pedantického bodu, že neexistoval rok nula, tedy rok před $ 1 $ AD (CE), a mentální projekce vaší křivky dozadu by měla podtrhnout, že přizpůsobená hodnota bude (byla by!) Skutečně velmi malá v roce $ 0 $ (ale stále pozitivní, protože to zaručuje exponenciální funkce).
Neposkytujete nám původní data ke kontrole, ale nevidím důvod pochybovat o tom, co ukazujete. Dostávám $ \ exp (-369,9778) $ za 2,09 $ krát 10 ^ {- 161 } $, opravdu velmi malé. Excel je tedy správný k dvěma desetinným místům, která zobrazuje. Navíc budete muset ukázat svůj výsledek v zápisu síly.
Pokud by to byl můj problém, zapadl bych do podmínek řekněme $ a \ exp [b (x – 2000)] $; pak $ a $ bude mít snazší interpretaci $ y $, když $ x = 2000 $ a bude možné jej snáze porovnat s daty. (Numerická přesnost není poškozena buď, a může vám pomoci.)
JW Tukey tvrdil, že bychom se měli přizpůsobit „středovým konceptům“, nikoli interceptům, a tento příklad tento bod podtrhuje. Autorita: Roger Koenker na této jeho stránce .
Vykreslování na měřítku protokolu naznačuje, že exponenciál je pouze hrubý, ale to není „To není otázka.
Související diskuse o volbě původu v Má smysl použít v regresi proměnnou data?
EDIT Vzhledem k datům jsem je načetl do Stata.
Přizpůsobil jsem $ \ text {total} = a \ exp [b (\ text {year} – 2000)] $ regresem $ \ ln (\ text {total}) $ na $ \ text {year} – 2 000 $.
Tím se získá lineární rovnice 5,40827 + 0,187693 (\ text {year} – 2000) $.
„Centercept“ za 2 000 $ se tedy transformuje zpět na přibližně 223 $. Hodnota dat byla $ 123 $. Důležitým detailem je, že 0,187693 $ odpovídá vašemu výsledku v aplikaci Excel.
I poté přímo použil stejnou rovnici pomocí nelineárních nejmenších čtverců a dostal středový koncept $ 105,2718 $ a koeficient $ 0,2838264 $. To je velmi odlišné a nepřekvapuje to, protože nelineární metoda nejmenších čtverců nezlevňuje t vysoké hodnoty, jako je tomu u linearizace pomocí logaritmů. Váš vlastní graf v měřítku protokolu ukazuje, že nejvyšší hodnoty v pozdějších letech jsou podhodnoceny přizpůsobením logaritmickému měřítku. Naopak, nelineární metoda nejmenších čtverců se opírá o druhou stranu.
I když se exponenciál ukázal jako velmi vhodný, nepokusil bych se jej extrapolovat příliš daleko do budoucnosti.S těmito údaji, kde je exponenciál nejlepší hrubá nula, a se skromnější extrapolací, než jste požadovali, je nejistota vážná:
Komentáře
- Děkuji vám za tyto reference i ‚ si je přečtu. Nejsem tak dobrý v základech týkajících se původu rovnic a toho, jak fungují, takže používám nástroje nesprávně. Myslím, že to je ‚ většině lidí matematika tvrdá
odpověď
Na úvod bych vám velmi doporučil hledat videa z Khan Academy o logu a exponenciálních funkcích.
Měli byste být v pořádku pouhým vytvořením a = e^(-369.9778)
.
Komentáře
- Nerozumím ‚ tomu, jak jste se k této hodnotě dostali. Není ‚ t
log(a) = -369.9778
stejný jako10^(-369.9778) = a
? - počkat omlouvám se ‚ máte pravdu ‚ s
e^(-369.9778)
. Ačkoli to nevysvětluje chování trendových linií a regresní rovnice. Možná mi ‚ něco ‚ chybí - Když jste otázku napsali poprvé, myslel jsem si, že je to jednoduchá matematický problém. Teď vám rozumím.
- Omlouvám se za zavádějící otázku. Když jsem poprvé položil otázku, také jsem si myslel, že to byla moje chybná algebra, která způsobila problém. Já ‚ nejsem tak dobrý se základy matematiky, musím zaplnit spoustu děr.