Menu

Kalkulator regresji wykładniczej

Krzywa y = a·bˣ dopasowana do danych o wzroście lub spadku, z tempem zmiany na krok.

Autor: Nethanel Bar, Współzałożyciel i CEO

Ostatnia aktualizacja

Chcesz rozwiązywać takie zadania bez kalkulatora?

Kurs matematyki Coddy uczy samej metody: każdy krok robisz na interaktywnej tablicy i dowiadujesz się dokładnie, gdzie ruch poszedł nie tak.

Regresja wykładnicza dopasowuje wzrost, który mnoży, zamiast dodawać

Linia prosta dodaje tę samą wartość na każdy krok x. Wiele rzeczy zamiast tego mnoży się przez ten sam czynnik: pieniądze na procent składany, hodowla bakterii, ładunek pozostały w baterii, różnica temperatur między stygnącym napojem a pokojem. Ten wzorzec to y = a·bˣ, gdzie a to wartość dla x = 0, a b to czynnik stosowany w każdym kroku. Jeśli b jest większe od 1, wielkość rośnie, jeśli b leży między 0 a 1, maleje, a (b minus 1) wyrażone w procentach to tempo na krok.

Standardowy sposób dopasowania to wzięcie logarytmu naturalnego z każdego y. Jeśli y = a·bˣ, to ln y = ln a + x·ln b, czyli linia prosta względem x. Metoda dopasowuje więc zwykłą prostą najmniejszych kwadratów do punktów (x, ln y), odczytuje ln b z jej współczynnika kierunkowego, a ln a z wyrazu wolnego i odwraca logarytmy. Tak działa polecenie ExpReg w TI-84 i wykładnicza linia trendu w Excelu, a ta strona pokazuje każdy etap: kolumnę ln y, dopasowaną prostą i dwie funkcje wykładnicze, które przywracają a i b.

Ponieważ logarytmy są niewymierne, to jedyny kalkulator regresji w tym zestawie, którego wyniki są zaokrąglonymi ułamkami dziesiętnymi, a nie dokładnymi ułamkami zwykłymi, i mówi o tym obok wyniku. Wymaga też, by każde y było większe od 0, bo logarytm z 0 lub z liczby ujemnej nie istnieje. Pokazane r² to r² dopasowania prostej do ln y, czyli wartość, którą podaje kalkulator graficzny.

Na co zwrócić uwagę w krzywej

  • b to czynnik na krok, a (b minus 1) to tempo. b ≈ 0.8195 oznacza, że każdy krok zachowuje około 81.95% poprzedniej wartości, czyli spadek o około 18.05% na krok.
  • a to dopasowana wartość dla x = 0, niekoniecznie pierwszy punkt danych. Dla y = 100, 82, 67, 55, 45, 37 przy x = 0 do 5 dopasowanie daje a ≈ 99.9517.
  • Tę samą krzywą można zapisać jako y = a·eᵏˣ, gdzie k = ln b. Dodatnie k to wzrost, ujemne k to spadek, a ln 2 / |k| to czas podwojenia albo okres połowicznego zaniku.
  • Dopasowanie to najmniejsze kwadraty dla ln y, a nie dla y. Chybienie o 10% waży tyle samo, czy y wynosi 5, czy 5000, co pasuje do danych rosnących procentowo.
  • Wysokie r² w skali logarytmicznej nie dowodzi, że wzrost jest wykładniczy. Dane liniowe 5, 4, 3, 2, 1 i tak dają r² ≈ 0.9473 przy dopasowaniu wykładniczym.

Jak policzyć regresję wykładniczą ręcznie

  1. Weź logarytm z każdego y

    Zastąp każde y przez ln y. Dla x = 0, 1, 2, 3, 4 i y = 3, 6, 12, 24, 48 nowa kolumna to około 1.0986, 1.7918, 2.4849, 3.1781 i 3.8712.

  2. Dopasuj prostą do (x, ln y)

    Użyj zwykłych wzorów najmniejszych kwadratów na współczynnik kierunkowy i wyraz wolny dla punktów (x, ln y). Tutaj współczynnik kierunkowy to około 0.6931, a wyraz wolny około 1.0986.

  3. Odwróć logarytmy

    Współczynnik kierunkowy to ln b, a wyraz wolny to ln a, więc b = e do potęgi współczynnika kierunkowego, a a = e do potęgi wyrazu wolnego. Tutaj b ≈ e^0.6931 = 2 i a ≈ e^1.0986 = 3.

  4. Zapisz krzywą i odczytaj tempo

    y ≈ 3·2ˣ, czyli y ≈ 3e^(0.6931x) przy podstawie e. b = 2 oznacza, że każdy krok mnoży y przez 2: wzrost o 100% na krok i czas podwojenia równy dokładnie jednemu krokowi.

Dopasowania wykładnicze dla małych zbiorów danych

Każdy wiersz to jeden zbiór danych wpisany do kalkulatora powyżej. Wszystkie wartości są zaokrąglone do czterech miejsc po przecinku.

Wartości xWartości yKrzywa najlepszego dopasowaniaZmiana na krokr² dla ln y
0, 1, 2, 3, 43, 6, 12, 24, 48y ≈ 3 · 2ˣ+100%1
0, 1, 2, 3, 4, 5100, 82, 67, 55, 45, 37y ≈ 99.9517 · 0.8195ˣ-18.05%1.0000
1, 2, 3, 4, 52.1, 4.3, 8.9, 17.5, 36y ≈ 1.0413 · 2.0313ˣ+103.13%0.9999
0, 1, 2, 3, 41000, 1050, 1102.5, 1157.625, 1215.50625y ≈ 1000 · 1.05ˣ+5%1
0, 1, 2, 3, 45, 4, 3, 2, 1y ≈ 5.6968 · 0.6762ˣ-32.38%0.9473

Przykłady z rozwiązaniem

Podwojenie w każdym kroku

plain
x: 0, 1, 2, 3, 4; y: 3, 6, 12, 24, 48

Każde y jest dwa razy większe od poprzedniego, więc punkty leżą dokładnie na y = 3·2ˣ, a kalkulator zwraca a ≈ 3 i b ≈ 2, czyli wzrost o 100% na krok, z r² = 1. Przy podstawie e ta sama krzywa to y ≈ 3e^(0.6931x), a 0.6931 to ln 2. Przedłużona do x = 6 przewiduje 3·2⁶ = 192.

Spadek: stygnąca kawa

plain
x: 0, 1, 2, 3, 4, 5; y: 100, 82, 67, 55, 45, 37

Traktuj y jako różnicę temperatur względem pokoju, mierzoną co pięć minut. Dopasowanie to y ≈ 99.9517 · 0.8195ˣ, czyli y ≈ 99.9517e^(-0.1991x): w każdym kroku znika około 18.05% różnicy, a okres połowicznego zaniku to ln 2 / 0.1991, około 3.48 kroku. Dopasowanie logarytmiczne jest prawie idealne: r² wynosi 0.99999 z dokładnością do pięciu miejsc, co kalkulator zaokrągla do 1.

Wzrost z szumem

plain
x: 1, 2, 3, 4, 5; y: 2.1, 4.3, 8.9, 17.5, 36

Wartości mniej więcej podwajają się w każdym kroku, choć nie dokładnie. Dopasowanie to y ≈ 1.0413 · 2.0313ˣ, wzrost o około 103.13% na krok, z r² ≈ 0.9999 w skali logarytmicznej. Przy podstawie e k ≈ 0.7087, więc czas podwojenia to ln 2 / 0.7087, około 0.98 kroku.

Procent składany

plain
x: 0, 1, 2, 3, 4; y: 1000, 1050, 1102.5, 1157.625, 1215.50625

Saldo 1000 z oprocentowaniem 5% rocznie. Kalkulator odtwarza y ≈ 1000 · 1.05ˣ, zmianę o +5% na krok, z r² = 1. Odczytanie stopy procentowej z listy sald to dokładnie to, do czego służy to dopasowanie.

Gdy dane nie są wykładnicze

plain
x: 0, 1, 2, 3, 4; y: 5, 4, 3, 2, 1

Te punkty maleją o tę samą wartość w każdym kroku, więc leżą na prostej y = -x + 5. Dopasowanie wykładnicze i tak zwraca y ≈ 5.6968 · 0.6762ˣ z r² ≈ 0.9473 w skali logarytmicznej, co wygląda przyzwoicie. Narysuj krzywą na tle punktów, a zobaczysz, że chybia na obu końcach: właściwym modelem jest tu prosta, a regresja liniowa dopasowuje ją dokładnie.

Częste błędy

  • Uwzględnianie y równego 0 lub mniejszego. Logarytm jest tam nieokreślony, więc metoda nie może zadziałać. Jeśli dane naprawdę dochodzą do 0, nie są wykładnicze.
  • Odczytywanie b jako procentu. b = 1.05 oznacza wzrost o 5% na krok, a b = 0.82 oznacza spadek o 18% na krok, a nie o 82%.
  • Mylenie a z pierwszą wartością y. a to dopasowana wartość dla x = 0; zgadza się z pierwszym punktem danych tylko wtedy, gdy dopasowanie jest dokładne, a dane zaczynają się od x = 0.
  • Używanie logarytmu dziesiętnego w jednym kroku, a e w drugim. Działa każda podstawa, o ile ta sama służy do logarytmowania i do odwracania logarytmów.
  • Traktowanie r² w skali logarytmicznej jako dowodu wzrostu wykładniczego. Dane liniowe mogą uzyskać ponad 0.9; narysuj krzywą na tle punktów.
  • Ekstrapolowanie daleko w przód. Wzrost wykładniczy zawsze w końcu napotyka ograniczenia, a dopasowana krzywa nie ma jak wiedzieć, kiedy.

Regresja wykładnicza: najczęstsze pytania

Jak policzyć regresję wykładniczą ręcznie?
Weź logarytm naturalny z każdego y, dopasuj zwykłą prostą najmniejszych kwadratów do punktów (x, ln y), a potem odwróć logarytmy: b to e do potęgi współczynnika kierunkowego, a a to e do potęgi wyrazu wolnego. Dla y = 3, 6, 12, 24, 48 przy x = 0 do 4 prosta ma współczynnik kierunkowy 0.6931 i wyraz wolny 1.0986, co daje b = 2 i a = 3, więc y = 3·2ˣ.
Co oznaczają a i b w y = a·bˣ?
a to wartość y dla x = 0, a b to czynnik, przez który mnoży się y przy każdym wzroście x o 1. b większe od 1 to wzrost, a b między 0 a 1 to spadek. Tempo na krok to (b minus 1) wyrażone w procentach: b = 1.05 to +5%, b = 0.8195 to około -18.05%.
Jak wyznaczyć tempo wzrostu z danych?
Dopasuj krzywą i odczytaj b. Kalkulator wypisuje zmianę na krok x w procentach: +103.13% dla przykładu z szumem na tej stronie, -18.05% dla stygnącej kawy. Jeśli x jest mierzone w latach, to jest tempo roczne.
Czym różni się y = a·bˣ od y = a·eᵏˣ?
Niczym poza zapisem. To ta sama krzywa, gdzie k = ln b, więc b = eᵏ. Postać z podstawą e jest popularna w naukach ścisłych, bo k to tempo ciągłe, a ln 2 / |k| od razu daje czas podwojenia lub okres połowicznego zaniku.
Dlaczego kalkulator podaje ułamki dziesiętne zamiast zwykłych?
Bo metoda używa logarytmów, a logarytm z liczby całkowitej prawie zawsze jest niewymierny. Kalkulatory regresji liniowej i kwadratowej w tym zestawie podają dokładne ułamki; ten podaje wartości zaokrąglone do czterech miejsc po przecinku i oznacza je jako przybliżone.
Dlaczego mój wynik trochę różni się od Excela albo kalkulatora graficznego?
Powinien zgadzać się, z dokładnością do zaokrągleń, z ExpReg w TI-84 i wykładniczą linią trendu w Excelu, które dopasowują ln y metodą najmniejszych kwadratów. Oprogramowanie, które dopasowuje samo y nieliniową metodą najmniejszych kwadratów, minimalizuje inną wielkość i daje nieco inne a i b, bo najmocniej waży chybienia przy największych wartościach.
Czy y może być ujemne lub równe zero w regresji wykładniczej?
Nie. Metoda logarytmuje każde y, a ln 0 i logarytm z liczby ujemnej nie istnieją. Krzywa y = a·bˣ z dodatnim a i tak zawsze leży powyżej 0, więc dane, które dochodzą do 0, nie układają się wzdłuż takiej krzywej.

Więcej narzędzi matematycznych

Ilustracja języków programowania w Coddy

Ucz się matematyki z Coddy

ZACZNIJ