Görbeillesztés milyen programmal?
Mérési pontokra szeretnék illeszteni kétféle egyenletet.
Pl. y=a*e^(-k1*x) x<=t
és y=b*e^(-k2*x) x>t
A "t" pontban egy töréspont van.
Van olyan program, amivel egy adatsorra tudok illeszteni 2 tetszőleges, általam megadott egyenletet úgy, hogy a paramétereket és a "t" töréspontot is a program számolja ki?
A kétféle egyenletedet pedig egy darab függvényként implementálod, a példádban szereplőt így:
import numpy as np
def f(x, a, b, k1, k2, t):
return a * np.exp(-k1*x) * (x <= t) + b * np.exp(-k2*x) * (x > t)
Most nincs időm többre, de így néz ki a dolog:
Amúgy amit kérsz az általánosságban esélytelen, és a fenti kód is egészen szar eredményt ad egy egyszerű, nem túl vad esetre is. Az első exponenciálist pontosan eltalálja, de a másodiknál jócskán mellétrafál, és a töréspont is mellémegy kicsit.
Te egy univerzális paraméterbecslőt akarsz, ami kb a szent grálja minden optimizalizációs problémának. Nem fog menni a probléma pontos ismerete nélkül, végképp ilyen primitív eszközökkel. A te példádra is, pl a függvény log-transzformáltjával alighanem jobb eredményt lehet elérni. És a paramétereket is szisztematikusan kéne optimalizálni, pl. külön-külön becsülsz paramétert a log-transzformált (lineárissá tett) exponenciálisaidra az aktuálisan tesztelt töréspont bal és jobb oldalán, és utólag választod ki azt a töréspontot ami a legalacsonyabb globális hibát adja.
Ha az exponenciálisod csak egy példa volt, és te általános nemlineáris függvények paramétereit akarod optimalizálni... hát, sok sikert. Keress egy online egyetemi irányításelmélet kurzust, tanulj meg programozni, stb. Olyat kérsz amire nincs recept, és nem is lehet.
Köszönöm a válaszokat.
Bomlási kinetikáról lenne szó.
A töréspont előtti pontokra jól illeszkedik a pédában szereplő 1. egyenlet. A töréspont utáni részre pedig egy másik, biexponenciális, vagyis két exponenciális tag összegeként felírható (y = b*e^(-k2*t) + c*e^(-k3*t)) egyenlet, ha külön-külön illesztem a pontokra. Valahogy így nézne ki, ha egyesíteném a kettő egyenletet: [link]
Gondoltam, hogy így egyben sokkal problémásabb az illesztés, de elegánsabb lenne, mintha külön-külön történne.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!