Zarówno Excel jaki i Calc (OpenOffice) mają możliwość wyznaczenia linii trendu (linii regresji) na wykresie punktów. Można również wyświetlić wzór takiej krzywej.
Szczególnie interesuje mnie krzywa logarytmiczna.
Jak wyznaczyć taki wzór korzystając z metod numerycznych?
(muszę napisać algorytm wyznaczający wzór krzywej logarytmicznej na podstawie punktów, jest to aproksymacja)
Linia trendu (regresji) - aproksymacja - Excel => Algorytm
-
master_szumi
- Użytkownik

- Posty: 4
- Rejestracja: 22 kwie 2010, o 19:19
- Płeć: Mężczyzna
- Lokalizacja: Pelplin
- Podziękował: 1 raz
-
pe2de2
- Użytkownik

- Posty: 261
- Rejestracja: 7 sty 2007, o 16:10
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 5 razy
- Pomógł: 49 razy
Linia trendu (regresji) - aproksymacja - Excel => Algorytm
proponuję poczytać o czymś takim jak
"Aproksymacja średniokwadratowa"
ogólna idea jest taka że wybierasz sobie jakiś tam wzór ogólny swojej funkcji aproksymującej, tu logarytm. wyznaczasz sobie funkcję błędu średnio kwadratowego i minimalizujesz ją. minimalizujesz czyli szukasz pochodnej równej 0.
błąd średnio kwadratowy to suma kwadratów błędów, tu podpowiedz dla wektora a, a razy a transponowane daje sumę kwadratów składników wektora.
"Aproksymacja średniokwadratowa"
ogólna idea jest taka że wybierasz sobie jakiś tam wzór ogólny swojej funkcji aproksymującej, tu logarytm. wyznaczasz sobie funkcję błędu średnio kwadratowego i minimalizujesz ją. minimalizujesz czyli szukasz pochodnej równej 0.
błąd średnio kwadratowy to suma kwadratów błędów, tu podpowiedz dla wektora a, a razy a transponowane daje sumę kwadratów składników wektora.
-
master_szumi
- Użytkownik

- Posty: 4
- Rejestracja: 22 kwie 2010, o 19:19
- Płeć: Mężczyzna
- Lokalizacja: Pelplin
- Podziękował: 1 raz
Linia trendu (regresji) - aproksymacja - Excel => Algorytm
ogólnie jak to zrobić wiem - ale jak to rozwiązać w postaci algorytmu - jak napisać równania macierzowe
-
pe2de2
- Użytkownik

- Posty: 261
- Rejestracja: 7 sty 2007, o 16:10
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 5 razy
- Pomógł: 49 razy
Linia trendu (regresji) - aproksymacja - Excel => Algorytm
choćby tak:
Najpierw musisz zrobić jakieś założenie, jakiego typu krzywą będziesz aproksymować punkty
Powiedzmy, że bedzie to k lg x [k logarytmów dziesiętnych z x]
Oczywiśćie musisz też mieć jakieś punkty dla których aproksymujesz. Dajmy na to
\(\displaystyle{ (x,y)}\)
\(\displaystyle{ (2,4)}\)
\(\displaystyle{ (3,7)}\)
\(\displaystyle{ (4,9)}\)
\(\displaystyle{ (5,10)}\)
punkty zupełnie losowe, więc nie gwarantuję że wyjdzie sensownie
czyli mamy
\(\displaystyle{ \left[\begin{array}{c}lg 2\\lg 3\\lg 4 \\lg 5\end{array}\right] \cdot [ k ] = \left[\begin{array}{c}4\\7\\9 \\10\end{array}\right]}\)
teraz obustronnie z lewej mnożysz przez macierz iks'ów transponowaną, a następnie przez odwrotność iloczynu macierzy iks'ów transponowanej i iks'ów dzięki czemu po lewej zostaje k dla którego fnkcja k lg x będzie miała najmniejszy błąd średniokwadratowy przy tych punktach.
Najpierw musisz zrobić jakieś założenie, jakiego typu krzywą będziesz aproksymować punkty
Powiedzmy, że bedzie to k lg x [k logarytmów dziesiętnych z x]
Oczywiśćie musisz też mieć jakieś punkty dla których aproksymujesz. Dajmy na to
\(\displaystyle{ (x,y)}\)
\(\displaystyle{ (2,4)}\)
\(\displaystyle{ (3,7)}\)
\(\displaystyle{ (4,9)}\)
\(\displaystyle{ (5,10)}\)
punkty zupełnie losowe, więc nie gwarantuję że wyjdzie sensownie
czyli mamy
\(\displaystyle{ \left[\begin{array}{c}lg 2\\lg 3\\lg 4 \\lg 5\end{array}\right] \cdot [ k ] = \left[\begin{array}{c}4\\7\\9 \\10\end{array}\right]}\)
teraz obustronnie z lewej mnożysz przez macierz iks'ów transponowaną, a następnie przez odwrotność iloczynu macierzy iks'ów transponowanej i iks'ów dzięki czemu po lewej zostaje k dla którego fnkcja k lg x będzie miała najmniejszy błąd średniokwadratowy przy tych punktach.