Strona 1 z 1
Tworzenie funkcji na podstawie danych
: 24 lis 2017, o 01:52
autor: tod33
Witam mam pewien problem, ponieważ chciałbym odgadnąć funkcję na podstawie zebranych danych. Dane zebrałem z pewnej aplikacji i oto one:
1 = 0:00 - 3:10
2 = 3:11 - 5:17
3 = 5:18 - 7:36
4 = 7:37 - 10:06
5 = 10:07 - 12:43
6 = 12:44 - 15:28
7 = 15:29 - 18:19
8 = 18:20 - 21:16
9 = 21:17 - 24:18
10 = 24:19 - 27:25
11 = 27:26 - 30:37
12 = 30:37
Już tłumaczę jak to czytać. Wartości po prawej są to przedziały czasowe mm:ss(minuta, sekunda), które odpowiadają jakiejś liczbie. Błąd pomiarowy to 1sec.
Moje pytanie brzmi: Czy jest możliwość, z tych danych utworzyć jakiś wzór, by np. odgadnąć jaki przedział ma liczba 20(lub początek lub koniec przedziału)?
Jeśli potrzeba dodatkowych danych to proszę mówić i bardzo byłbym wdzięczny za jakąkolwiek pomoc.
PS Nie jestem pewien czy to ten dział, ponieważ nie wiem jaka z tego funkcja wyjdzie, więc dałem to tutaj
Tworzenie funkcji na podstawie danych
: 24 lis 2017, o 02:18
autor: lukas1929
Moje pytanie brzmi: Czy jest możliwość, z tych danych utworzyć jakiś wzór, by np. odgadnąć jaki przedział ma liczba 20(lub początek lub koniec przedziału)?
Jest możliwość, np. poprzez zastosowanie interpolacji bądź aproksymacji wielomianowej.
.
Tworzenie funkcji na podstawie danych
: 24 lis 2017, o 04:23
autor: SlotaWoj
Jeżeli liczba takich par \(\displaystyle{ \left(no;timerange\right)}\) będzie zmienna, to regresja liniowa (przykładowe dane układają się prawie liniowo – współczynnik korelacji Pearsona = 0,998917). Oczywiście wówczas czasami będą błędy na granicy przedziałów.
Jeśli te przedziały będą przetwarzane komputerowo (np. W Excelu), to formuły wyszukiwania.
Tworzenie funkcji na podstawie danych
: 24 lis 2017, o 14:44
autor: tod33
A czy byłby ktoś taki miły i napisał tutaj, jak będzie wyglądało takie równanie? Niestety matematyka nie jest moją najmocniejszą stroną
Tworzenie funkcji na podstawie danych
: 24 lis 2017, o 22:06
autor: SlotaWoj
Mamy
\(\displaystyle{ n}\) par danych
\(\displaystyle{ (x_i;y_i)\ i=1...n}\) i
chcemy dopasować do niej prostą o równaniu \(\displaystyle{ y=ax+b}\) .
Standardowo robi się to
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metoda_najmniejszych_kwadrat%C3%B3w
(minimalizacja sumy kwadratów odchyleń).
Wzory są takie:
- \(\displaystyle{ \Delta=n\cdot\sum_{i=1}^n x_i^2-\left(\sum_{i=1}^n x_i\right)^2}\)
\(\displaystyle{ a=\frac{n\cdot\sum\limits_{i=1}^n x_iy_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n y_i}{\Delta}}\)
\(\displaystyle{ b=\frac{\sum\limits_{i=1}^n x_i^2\cdot\sum\limits_{i=1}^n y_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n x_iy_i}{\Delta}}\)
O jakości dopasowania prostej do danych świadczy
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Wsp%C3%B3%C5%82czynnik_korelacji_Pearsona
równy:
\(\displaystyle{ R=\frac{n\cdot\sum\limits_{i=1}^n x_iy_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n y_i}{\sqrt{\left(n\cdot\sum\limits_{i=1}^n x_i^2-\left(\sum\limits_{i=1}^n x_i\right)^2\right)\cdot\left(n\cdot\sum\limits_{i=1}^n y_i^2-\left(\sum\limits_{i=1}^n y_i\right)^2\right)}}.}\)
Powinien jak najbliższy
\(\displaystyle{ -1}\) albo
\(\displaystyle{ 1}\) (wartości te odpowiadają idealnej korelacja między danymi). Dla
\(\displaystyle{ R=0}\) jest zupełny brak korelacji, a dla
\(\displaystyle{ -0,5<R<0,5}\) — słaba korelacja.
W Excelu korelacji liniowej pomiędzy danymi można dokonać przy pomocy funkcji
REGLINP. Oprócz współczynników
\(\displaystyle{ a}\) i
\(\displaystyle{ b}\) (wg nazewnictwa helpu Excela:
\(\displaystyle{ m}\) i
\(\displaystyle{ b}\)) zwraca ona jeszcze inne dodatkowe wyniki, m.in. kwadrat współczynnika korelacji Pearsona (w helpie Excela:
\(\displaystyle{ r_2}\)).
Tworzenie funkcji na podstawie danych
: 25 lis 2017, o 00:16
autor: tod33
SlotaWoj pisze:Mamy
\(\displaystyle{ n}\) par danych
\(\displaystyle{ (x_i;y_i)\ i=1...n}\) i chcemy dopasować do niej prostą o równaniu
\(\displaystyle{ y=ax+b}\) .
Standardowo robi się to
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metoda_najmniejszych_kwadrat%C3%B3w
(minimalizacja sumy kwadratów odchyleń).
Wzory są takie:
- \(\displaystyle{ \Delta=n\cdot\sum_{i=1}^n x_i^2-\left(\sum_{i=1}^n x_i\right)^2}\)
\(\displaystyle{ a=\frac{n\cdot\sum\limits_{i=1}^n x_iy_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n y_i}{\Delta}}\)
\(\displaystyle{ b=\frac{\sum\limits_{i=1}^n x_i^2\cdot\sum\limits_{i=1}^n y_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n x_iy_i}{\Delta}}\)
O jakości dopasowania prostej do danych świadczy
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Wsp%C3%B3%C5%82czynnik_korelacji_Pearsona
równy:
\(\displaystyle{ R=\frac{n\cdot\sum\limits_{i=1}^n x_iy_i-\sum\limits_{i=1}^n x_i\cdot\sum\limits_{i=1}^n y_i}{\sqrt{\left(n\cdot\sum\limits_{i=1}^n x_i^2-\left(\sum\limits_{i=1}^n x_i\right)^2\right)\cdot\left(n\cdot\sum\limits_{i=1}^n y_i^2-\left(\sum\limits_{i=1}^n y_i\right)^2\right)}}.}\)
Powinien jak najbliższy
\(\displaystyle{ -1}\) albo
\(\displaystyle{ 1}\) (wartości te odpowiadają idealnej korelacja między danymi). Dla
\(\displaystyle{ R=0}\) jest zupełny brak korelacji, a dla
\(\displaystyle{ -0,5<R<0,5}\) — słaba korelacja.
W Excelu korelacji liniowej pomiędzy danymi można dokonać przy pomocy funkcji
REGLINP. Oprócz współczynników
\(\displaystyle{ a}\) i
\(\displaystyle{ b}\) (wg nazewnictwa helpu Excela:
\(\displaystyle{ m}\) i
\(\displaystyle{ b}\)) zwraca ona jeszcze inne dodatkowe wyniki, m.in. kwadrat współczynnika korelacji Pearsona ( w helpie Excela:
\(\displaystyle{ r_2}\)).
Bardzo ci dziękuję za tłumaczenie Myślałem że to będzie jakaś krótka funkcja liniowa max logarytmiczna, a tu takie coś
No nic, to nie na moją głowę, ale bardzo dzięki za poświęcony czas.
Tworzenie funkcji na podstawie danych
: 25 lis 2017, o 06:52
autor: a4karo
tod33 pisze:SlotaWoj pisze:Mamy \(\displaystyle{ n}\) par danych \(\displaystyle{ (x_i;y_i)\ i=1...n}\) i chcemy dopasować do niej prostą o równaniu \(\displaystyle{ y=ax+b}\) .
Bardzo ci dziękuję za tłumaczenie Myślałem że to będzie jakaś krótka funkcja liniowa max logarytmiczna, a tu takie coś
No nic, to nie na moją głowę, ale bardzo dzięki za poświęcony czas.
Chyba nie przeczytałeś do końca (a raczej od początku). Przecież dostałeś przepis na współczynniki funkcji liniowej.
Tworzenie funkcji na podstawie danych
: 25 lis 2017, o 13:44
autor: pasman
tod33 pisze:
Bardzo ci dziękuję za tłumaczenie Myślałem że to będzie jakaś krótka funkcja liniowa max logarytmiczna, a tu takie coś
No nic, to nie na moją głowę, ale bardzo dzięki za poświęcony czas.
Pomyśl że niektóre dowody matematyczne zajmują 400+ stron, tak więc te kilka linijek
To nie tragedia.
Tworzenie funkcji na podstawie danych
: 27 lis 2017, o 14:30
autor: tod33
@pasman, @a4karo
Rozumiem, dlatego mu dziękuję i będę musiał więcej czasu poświęcić na zrozumienie tych wzorów, a bardziej jak je zastosować i czy zwrócą mi dobre wyniki
Re: Tworzenie funkcji na podstawie danych
: 27 lis 2017, o 16:39
autor: SlotaWoj
Wyjaśnienie tych wzorów masz w artykule:
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metoda_najmniejszych_kwadrat%C3%B3w
(minimalizacja sumy kwadratów odchyleń):
- \(\displaystyle{ \chi^2(a, b)=\sum_{i=1}^n\frac{(y_i-ax_i-b)^2}{\sigma_i^2}}\)
Ich wyprowadzenie, czyli przekształcenia od:
- \(\displaystyle{ \pfrac{\chi^2}{b}=0=-2\sum_{i=1}^n\frac{y_i-ax_i-b}{\sigma_i^2} \\
\pfrac{\chi^2}{a}=0=-2\sum_{i=1}^n\frac{x_i(y_i-ax_i-b)}{\sigma_i^2}}\)
do postaci końcowej, jest trochę trudne, ale do opanowania.