Program do znalezienia wzoru matematycznego

0

Witam, na wstępie dodam, że nie znam się ani trochę na programowaniu jednak jestem ciekawy czy istnieje taki program lub czy można go stworzyć. Otóż mam zbiór liczb w excelu i gotowy wynik. Czy istnieje jakiś program lub czy można taki napisać, który na podstawie tego zbioru liczb znajdzie mi wzór matematyczny tak aby po przeliczeniu wychodził ten wynik?

3

To czego szukasz nazywa się aproksymacją lub ewentualnie interpolacją. Niemniej generalnie nie jest do doskonałe. Taka prosta interpolacja wielomianowa da ci wielomian który faktycznie w twoich zadanych punktach da poprawne wartości, ale niekoniecznie będzie szczególnie dokładne pomiędzy nimi. Aproksymacja (w zalezności od warunku) może dać lepsze średnie wyniki, ale niekoniecznie będzie dawać dokładnie twoje wartości w punktach.

To są mimo wszystko metody które działają z pewną tolerancją.

Gdybyś chciał znaleźć faktyczny wzór matematyczny (o ile taki w ogóle istnieje) to jest to dużo trudniejsze i nie ma tu prostej metody. Są pewne rozwiązania oparte o machine larning, ale nie ma gwarancji sukcesu.

Zobacz sobie np. tutaj https://planetcalc.com/8680/ przykład jak działa interpolacja wielomianowa.

0

Możesz użyć "regresji symbolicznej" z użyciem programowania genetycznego.
Tu taki bardzo prosty przykład: https://community.datarobot.com/t5/resources/symbolic-regression-from-scratch-with-python/ta-p/4925

1
Tomasz Działak napisał(a):

Witam, na wstępie dodam, że nie znam się ani trochę na programowaniu jednak jestem ciekawy czy istnieje taki program lub czy można go stworzyć. Otóż mam zbiór liczb w excelu i gotowy wynik. Czy istnieje jakiś program lub czy można taki napisać, który na podstawie tego zbioru liczb znajdzie mi wzór matematyczny tak aby po przeliczeniu wychodził ten wynik?

Tak, ten program nazywa się Excel i potrafi obliczyć regresję liniową przy użyciu funkcji REGLINP, a jeśli nie jest to funkcja liniowa, to można zrobić wykres, a na nim dodać linię trendu, i tam już można wybrać wykładniczy/wielomianowy/logarytmiczny/potęgowy.
Jest też jakiś dodatek do analizy danych.

No i jak znam życie, to w takim Pythonie to się robi w pół linijki kodu, tylko trzeba znaleźć pakiet nazwany gatunkiem odpowiedniego zwierzątka.

A jeśli chcesz pisać samemu, to poczytaj o regresji liniowej i metodzie najmniejszych kwadratów i nie łap się na buzzwordy w stylu machine learning, bo to 4 razy większe koszty za 2 razy gorszy efekt.

1
Shalom napisał(a):

To czego szukasz nazywa się aproksymacją lub ewentualnie interpolacją. Niemniej generalnie nie jest do doskonałe. Taka prosta interpolacja wielomianowa da ci wielomian który faktycznie w twoich zadanych punktach da poprawne wartości, ale niekoniecznie będzie szczególnie dokładne pomiędzy nimi. Aproksymacja (w zalezności od warunku) może dać lepsze średnie wyniki, ale niekoniecznie będzie dawać dokładnie twoje wartości w punktach.

To są mimo wszystko metody które działają z pewną tolerancją.

Gdybyś chciał znaleźć faktyczny wzór matematyczny (o ile taki w ogóle istnieje) to jest to dużo trudniejsze i nie ma tu prostej metody. Są pewne rozwiązania oparte o machine larning, ale nie ma gwarancji sukcesu.

Zobacz sobie np. tutaj https://planetcalc.com/8680/ przykład jak działa interpolacja wielomianowa.

Inaczej mówiąc, przy metodach numerycznych wzór jest znany (np wielomian) tylko poszukiwane są najlepiej pasujące liczby - z drugiej strony jest poszukiwanie CHARAKTERU zalezności

Tomasz Działak napisał(a):

Witam, na wstępie dodam, że nie znam się ani trochę na programowaniu jednak jestem ciekawy czy istnieje taki program lub czy można go stworzyć. Otóż mam zbiór liczb w excelu i gotowy wynik. Czy istnieje jakiś program lub czy można taki napisać, który na podstawie tego zbioru liczb znajdzie mi wzór matematyczny tak aby po przeliczeniu wychodził ten wynik?

Zbiór jest 17 905 24 8 121 89. Wynik 23
Jakim wzorem "podrobić" wynik? 23

Czujesz, że dla jednego zestawu danych to kant d rozbić? Próbek musi być wiele, bardzo wiele.

0

Co to znaczy "wynik" 23? Wynik czego? Nie łapię.

0

@AnyKtokolwiek: Próbek akurat mi nie brakuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1