Thursday, 23 November 2017

Wywoływane średnie brakujące wartości


Prosta i ogólna metoda wypełniania brakujących danych, jeśli masz pełne dane, jest użycie regresji liniowej. Powiedzmy, że masz 1000 przebiegów z rzędu 5 z rzędu, których żadne nie ma. Ustaw 1000 x 1 wektora y i 1000 x 4 macierzy X: Regresja daje 4 cyfry b c d, które dają najlepsze dopasowanie do 1000 wierszy danych mdash różnych danych, inne a b c d. Następnie używasz tych b c d do oszacowania (przewidywania, interpolacji) brakujących wt0. (Dla wag ludzi, Id oczekują abcd być około 14.) (Są ziliony książek i papierów na regresji, na wszystkich poziomach. Dla związku z interpolacją, chociaż nie wiem o dobrym wprowadzeniu ktoś) Wygładzanie i filtrowanie to dwie z najczęściej używanych technik serii czasowej służących do usuwania zakłóceń z podstawowych danych, które pomagają ujawnić ważne cechy i składniki (np. trendu, sezonowości itp.). Możemy również użyć wygładzania, aby wypełnić brakujące wartości i przeprowadzić prognozę. W tym wydaniu omówimy pięć różnych sposobów wygładzania: ważoną średnią ruchu (WMA i), proste wyrównywanie wykładnicze, wygładzanie podwójne wykładnicze, liniowe wyrównanie wykładnicze, potrójne wyrównywanie wykładnicze. Dlaczego warto dbać o wygładzanie jest bardzo często wykorzystywana (i wykorzystywana) w przemyśle do szybkiego sprawdzania właściwości danych (np. Trendu, sezonowości itp.), Dopasowania wartości brakujących i szybkiej próby poza próbą prognoza. Dlaczego mamy tak wiele funkcji wygładzania Jak zobaczymy w tym artykule, każda funkcja działa na inne założenie dotyczące podstawowych danych. Na przykład prosty wygładzanie wykładnicze zakłada, że ​​dane mają stałą średnią (lub przynajmniej krótką średnią), więc proste wygładzanie wykładnicze będzie słabo działało w danych prognozujących sezonowość lub tendencję. W tym artykule omówimy każdą funkcję wygładzania, podkreślamy założenia i parametry oraz pokażemy przykłady. Średnia waŜona średnia (WMA) Średnia długość ruchu jest powszechnie stosowana w danych z serii czasowych, aby wygładzić krótkoterminowe fluktuacje i podkreślić długoterminowe trendy lub cykle. Ważona średnia ruchoma ma mnożące czynniki, aby uzyskać różne odważenia danych w różnych pozycjach w oknie próbki. Ważona średnia ruchoma ma stałe okno (tj. N), a czynniki są typowo wybierane, aby dać większą wagę do ostatnich obserwacji. Wielkość okna (N) określa liczbę punktów uśrednionych w danym momencie, dzięki czemu większy rozmiar okna jest mniej reagujący na nowe zmiany w pierwotnej serii czasowej, a mały rozmiar okna może powodować hałas. Dla celów prognozowania próbki: przykład 1: uwzględniamy miesięczną sprzedaż dla firmy X, używając średniej ruchomej z 4 miesięczną (równoważoną wagą). Zauważ, że średnia ruchoma jest zawsze w tyle za danymi, a prognoza na wyjście próbki zbieżne jest do wartości stałej. Pozwól spróbować zastosować schemat ważenia (patrz niżej), który przywiązuje większą wagę do najnowszej obserwacji. Wytyczyliśmy równą wagę średnią ruchomej i WMA na tym samym wykresie. WMA wydaje się bardziej reagować na ostatnie zmiany, a prognoza próbki poza nią zbliża się do tej samej wartości co średnia ruchoma. Przykład 2: Pozwala sprawdzić WMA w obecności tendencji i sezonowości. W tym przykładzie dobrze wykorzystaj dane międzynarodowych linii lotniczych pasażerów. Średni ruchome okno wynosi 12 miesięcy. MA i WMA nadąża za trendem, ale prognoza na zewnątrz próbki spada. Co więcej, chociaż WMA wykazuje pewną sezonowość, to zawsze pozostaje za danymi oryginalnymi. (Browns) Proste wyrównywanie wykładnicze Prosty wygładzanie wykładnicze jest podobne do WMA, z tym wyjątkiem, że wielkość okna jeśli nieskończona i współczynniki ważenia maleją wykładniczo. Jak widzieliśmy w WMA, prosty wykładniczy jest odpowiedni dla szeregów czasowych ze stabilną średnią lub przynajmniej bardzo wolną średnią. Przykład 1: użyj miesięcznych danych dotyczących sprzedaży (jak to zrobiliśmy w przykładzie WMA). W powyższym przykładzie wybraliśmy współczynnik wygładzania wynoszący 0,8, co nasuwa pytanie: jaka jest najlepsza wartość współczynnika wygładzania oszacowanie najlepszej wartości z danych Użycie funkcji TSSUB (do obliczenia błędu), SUMSQ i Excel tabele danych obliczyliśmy sumę kwadratowych błędów (SSE) i wykreślono wyniki: SSE osiąga wartość minimalną około 0,8, a więc wybraliśmy tę wartość dla wygładzania. (Holt-Winters) Wyrównywanie wykładniczo podwójne Prosty wygładzanie wykładnicze nie działa dobrze w obecności trendu, więc zaproponowano kilka metod opracowanych pod podwójną wykładziną, aby obsługiwać tego typu dane. NumXL obsługuje wygładzanie podwójne wykładnicze Holt-Winters, które przyjmuje następującą formułę: Przykład 1: Pozwala sprawdzić dane o liniach lotniczych pasażerów międzynarodowych Wybraliśmy wartość Alpha wynoszącą 0,9 i wartość Beta 0,1. Należy pamiętać, że chociaż podwójne wygładzanie śladów oryginalnych danych dobrze, prognoza poza próbką jest gorsza od prostej średniej ruchomej. Jak znaleźć najlepsze czynniki wygładzania Weźmy podobne podejście do naszego prostego prostokątnego przykładu wygładzania, ale zmodyfikowano dla dwóch zmiennych. Obliczamy sumę kwadratowych błędów konstruowania dwu zmiennych tabel danych i wybieramy wartości alfa i beta minimalizujące całkowite SSE. (Browns) Wyrównywanie wykładnicze liniowe Jest to kolejna metoda podwójnej wygładzania wykładniczek, ale ma jeden współczynnik wygładzania: Browning podwójnego wyrównywania wykładniczego przyjmuje jeden parametr mniej niż funkcję Holt-Winters, ale może nie oferować tak dobrego dopasowania jak ta funkcja. Przykład 1: Użyj tego samego przykładu w podwójnym wykładniku Holt-Wintersa i porównaj optymalną sumę kwadratu. Podwójny wykładziny Browns nie pasują do danych próbki, jak również metody Holt-Winter, ale próbka poza próbą (w tym konkretnym przypadku) jest lepsza. Jak znaleźć najlepszy współczynnik wygładzania () Używamy tej samej metody, aby wybrać wartość alfa, która minimalizuje sumę kwadratu. Dla przykładowych danych próbki, alfa wynosi 0,8. (Winters) Wyrównywanie potrójnie wykładnicze Trzykrotne wyrównywanie wykładnicze uwzględnia zmiany sezonowe, a także trendy. Metoda ta wymaga 4 parametrów: formuła potrójnego wygładzania wykładniczego jest bardziej zaangażowana niż jakakolwiek z wcześniejszych. Proszę zapoznać się z naszą internetową instrukcją dotyczącą dokładnego sformułowania. Korzystając z danych linii lotniczych pasaŜerów międzynarodowych, moŜemy zastosować okresy zimy w potrójnym wyrównaniu wykładniczym, znaleźć optymalne parametry i przeprowadzić prognozę próbki poza. Oczywiście potrójny wygładzanie wykładnicze dla Wintersa najlepiej nadaje się do tej próbki danych, ponieważ dobrze śledzi wartości i prognoza próbki poza sezonem (L12). Jak znaleźć najlepszy współczynnik wygładzania () Ponownie musimy wybrać wartości, które minimalizują całkowitą sumę kwadratowych błędów (SSE), ale tabele danych mogą być użyte dla więcej niż dwóch zmiennych, więc korzystamy z programu Excel solver: (1) Ustalić problem zminimalizowania, a SSE jako funkcją użyteczności (2) Ograniczenia dla tego problemu Wsparcie podsumowujące FilesExponential Moving Average - EMA Przekroczenie średniej dynamiki wykładniczej - EMA 12- i 26-dniowe EMA są najbardziej popularnych krótkoterminowych średnich i są wykorzystywane do tworzenia wskaźników, takich jak średnia ruchoma rozbieżności konwergencji (MACD) i procentowy oscylator cen (PPO). Ogólnie, 50- i 200-dniowe EMA są wykorzystywane jako sygnały długoterminowych trendów. Handlowcy, którzy stosują analizę techniczną, wskazują, że ruchome średnie są bardzo przydatne i wnikliwe, gdy są stosowane prawidłowo, ale powodują spustoszenie, gdy są niewłaściwie wykorzystywane lub są błędnie interpretowane. Wszystkie średnie ruchome powszechnie stosowane w analizie technicznej są ze swej natury wskaźnikami słabiej rozwiniętymi. W konsekwencji wnioski wyciągnięte z zastosowania średniej ruchomej do konkretnego wykresu rynkowego powinny być potwierdzeniem ruchu na rynku lub wskazaniem jego siły. Bardzo często, kiedy ruchoma średnia linia wskaźników dokonała zmiany odzwierciedlającej znaczny ruch na rynku, optymalny punkt wejścia na rynek już minął. EMA służy do łagodzenia tego dylematu do pewnego stopnia. Ponieważ obliczenia EMA wiążą się z najnowszymi danymi, uciska akcję cenową nieco mocniej, a zatem reaguje szybciej. Jest to pożądane, gdy EMA jest wykorzystywany do uzyskania sygnału wejściowego do obrotu. Interpretacja EMA Podobnie jak wszystkie przeciętne wskaźniki ruchomości, są one znacznie lepiej dostosowane do trendów rynkowych. Kiedy rynek jest w silnym i trwałym trendu. linia wskaźników EMA pokaże również tendencję wzrostową i vice versa dla tendencji spadkowej. Czujny przedsiębiorca nie tylko zwróci uwagę na kierunek linii EMA, ale również relację szybkości zmian z jednego paska do jednego. Na przykład, gdy akcja cenowa silnej trendu zacznie się spłaszczać i odwrócić, tempo zmian EMA z jednego paska do drugiego zacznie się zmniejszać do czasu, gdy linia wskaźnika spłaszczy, a stopa zmian będzie równa zero. Z powodu efektu opóźnienia, w tym momencie, a nawet kilku barów, akcja cenowa powinna już się odwrócić. Wynika z tego, że obserwowanie konsekwentnego zmniejszenia szybkości zmian EMA mogłoby być wykorzystane jako wskaźnik, który mógłby przeciwdziałać dylematowi spowodowanemu przez opóźniony wpływ średnich kroczących. Typowe zastosowania EMA EMA są powszechnie stosowane w połączeniu z innymi wskaźnikami w celu potwierdzenia znacznych ruchów na rynku i pomiaru ich ważności. Dla przedsiębiorców, którzy prowadzą handel na rynku w ciągu dnia i szybko rozwijających się rynków, EMA jest bardziej stosowna. Często handlowcy używają EMA do określenia nastawienia do handlu. Na przykład, jeśli EMA na wykresie dziennym wykazuje silną tendencję wzrostową, strategia intraday traders może polegać wyłącznie na długiej stronie na wykresie śródrocznym. Mam ciągłą wartość, dla której Id chce wyznaczyć wykładniczą średnią ruchoma. Zwykle Id użyj tylko standardowej formuły: gdzie S n jest nową średnią, alfa jest alfa, Y jest próbką, a S n-1 jest poprzednią średnią. Niestety, z powodu różnych kwestii nie mam spójnego czasu próbki. Mogę wiedzieć, że mogę próbować najwięcej, powiedzmy, raz na milisekundę, ale ze względu na czynniki poza kontrolą, może nie być w stanie pobrać próbki przez kilka milisekund na raz. Prawdopodobnie bardziej popularnym przypadkiem jest to, że prosto próbuję trochę wcześnie lub później: zamiast próbkowania w 0, 1 i 2 ms. Próbuję w 0, 0.9 i 2.1 ms. Oczekuję, że niezależnie od opóźnień moja częstotliwość próbkowania będzie daleko, znacznie powyżej limitu Nyquista, a więc nie muszę się martwić o aliasing. Sądzę, że mogę sobie z tym radzić w sposób mniej lub bardziej rozsądny, zmieniając odpowiednio alfę, w oparciu o długość czasu od ostatniej próbki. Jedną z moich uzasadnień jest to, że EMA interpoluje liniowo między poprzednim punktem danych a bieżącym. Jeśli rozważymy obliczenie EMA poniższej listy próbek w odstępach t: 0,1,2,3,4. Powinniśmy uzyskać taki sam wynik, jeśli używamy interwału 2t, gdzie wejścia stają się 0,2,4, w prawo Jeśli EMA założy, że w t2 wartość wynosiła 2 od t0. to byłby taki sam jak obliczenie przedziału t obliczające na 0,2,2,4,4, co nie robi. Czy to ma sens w ogóle Czy ktoś może mi powiedzieć, jak odpowiednio zmodyfikować alfa Proszę pokazać swoją pracę. To znaczy. pokaż mi matematykę, która dowodzi, że twoja metoda naprawdę działa dobrze. zapytał 21 czerwca o godzinie 13:05 Nie powinieneś mieć tej samej EMA dla różnych danych wejściowych. Pomyśl o EMA jako filtrze, pobieranie próbek w formacie 2t jest równoznaczne z pobieraniem próbek w dół, a filtr daje inny wynik. Dla mnie to jasne, ponieważ 0,2,4 zawiera składowe o wyższej częstotliwości niż 0,1,2,3,4. Chyba że pytanie brzmi, jak zmienić filtr w locie, aby dać to samo. Być może brakuje mi czegoś ndash freespace 21 czerwca o godzinie 15:52 ale wejście nie jest inne, jest mniej próbkowane. 0,2,4 w przedziałach 2t jest takie jak 0, 2, 4 w odstępach t, ​​gdzie oznacza, że ​​próbka jest ignorowana ndash Curt Sampson 21 czerwca 21 w 23:45 Ta odpowiedź oparta na moim dobrym zrozumieniu low-pass filtrów (wykładnicza średnia ruchoma jest naprawdę tylko jednym biegunowym filtrem dolnoprzepustowym), ale moje mgliste zrozumienie tego, czego szukasz. Myślę, że poniżej jest to, czego chcesz: Po pierwsze, możesz uprościć równanie trochę (wygląda bardziej skomplikowane, ale to łatwiejsze w kodzie). Im będzie używać Y dla wyjścia i X dla wejścia (zamiast S dla wyjścia i Y dla wejścia, jak zrobiłeś). Po drugie, wartość alfa jest równa 1-e - Deltattau, gdzie Deltat jest czasem między próbkami, a tau jest stałą czasową filtra dolnoprzepustowego. Mówię w cudzysłowie, ponieważ działa to dobrze, gdy Deltattau jest niewielki w porównaniu do 1, a alfa 1-e-deltattau asympt Deltattau. (Ale nie za małe: wystarczy uruchomić kwantyzację, a jeśli nie zastosujesz się do egzotycznych technik, zazwyczaj potrzebujesz dodatkowych N bitów rozdzielczości w zmiennej stanu S, gdzie Nlog-2 (alpha).) W przypadku większych wartości Deltattau efekt filtrowania zaczyna zanikać, aż dojdziesz do punktu, w którym alpha jest bliska 1 i youre po prostu tylko przydzielić wejście do wyjścia. Powinno to działać poprawnie z różnymi wartościami Deltatu (odmiana Deltata nie jest bardzo ważna, jeśli alfa jest mała, w przeciwnym razie będziesz musiał uruchomić niektóre dziwne problemy z Nyquist, aliasing itp.), A jeśli pracujesz na procesorze, gdzie mnożenie jest tańszy niż podział, lub kwestie dotyczące punktów stałych są ważne, prekursor omega 1tau i rozważają próby zbliżenia formuły do ​​alfa. Jeśli naprawdę chcesz wiedzieć, jak wyznaczyć wzór alfa 1-e - Deltattau, rozważyć jego równanie różniczkowe: który, gdy X jest funkcją kroku jednostkowego, ma rozwiązanie Y 1 - e - ttau. Dla małych wartości Deltatu pochodna może być przybliżona przez DeltaYDeltat, uzyskując Ytau DeltaYDeltat X DeltaY (XY) (Deltattau) alfa (XY), a ekstrapolacja alfa 1-e - Deltattau pochodzi z próby dopasowania zachowań do jednostka kroku. Czy mógłbyś rozwinąć się na quottrying, aby dopasować zachowanie się do części Rozumiem, że twój roztwór Y1 - exp (-t47) i jego uogólnienie do skalowanej funkcji kroku z wielkością x i warunku początkowego y (0). ale nie widzę, jak połączyć te pomysły, aby osiągnąć swój wynik. ndash Rhys Ulerich 4 maja 13 w 22:34 To nie jest kompletna odpowiedź, ale może to być początek. Jeśli chodzi o to w ciągu godziny lub mniej, grając Im, publikując je jako przykład tego, czego szukałem, a może inspiracja dla innych, pracujących nad tym problemem. Zaczynam od S 0. która jest średnią wynikającą z poprzedniej średniej S -1 i próbki Y 0 przy t 0. (t1 - t0) to mój interwał próbkowania, a alfa jest ustawiony na dowolny, który jest odpowiedni dla tego przedziału próbki i okresu, w którym chcę przeciętnie. Rozważyłem, co się stanie, jeśli brakuje mi próbki w t1, a zamiast tego muszę zrobić z próbką Y2 w t2. Cóż, możemy zacząć od rozwinięcia równania, aby zobaczyć, co by się stało, gdybyśmy mieli Y1: zauważam, że seria wydaje się rozciągać nieskończenie w ten sposób, ponieważ możemy zastąpić Sn w prawą stronę na czas nieokreślony: ok , więc to nie jest wielomian (głupie), ale jeśli pomnożymy początkowy termin przez jeden, wtedy widzimy wzór: Hm: jego wykładnicza seria. Niespodzianka Quelle Wyobraź sobie, że wychodząc z równania dla wykładniczej średniej ruchomej Więc, mam to x 0 x 1 x 2 x 3. co się dzieje i jestem pewien, że mam zapach e lub naturalny logarytm kopa tutaj, ale nie pamiętam, dokąd zmierzam, zanim zabraknie mi czasu. Każda odpowiedź na to pytanie lub dowód poprawności takiej odpowiedzi bardzo zależy od danych, które mierzysz. Jeśli pobrano próbki w t 0 0ms. t 1 0,9ms i t2 2,1ms. ale wybór alfa oparty jest na odstępach 1 ms i dlatego potrzebujesz lokalnie ustawionej alfa. dowód prawidłowości wyboru oznaczałby wiedzenie o wartościach próbek w t1ms i t2ms. Prowadzi to do pytania: Czy można interpolować dane w sposób rozsądny, aby mieć rozsądne szacunki co do wartości między nimi? Czy można nawet interpolować średnią samą siebie? Jeśli żaden z tych sposobów nie jest możliwy, to tak dalece, jak to widzę, logiczne wybór między wartością Y (t) to ostatnio obliczona średnia. tzn. Y (t) asympt S n, gdzie n jest maksymalne, tak że tn ltt. Ten wybór ma prostą konsekwencję: Zostaw sam alfa, bez względu na różnicę czasu. Jeśli z drugiej strony możliwe jest interpolowanie wartości, to da to uśmiercalne próbki z przedziałami stałymi. Wreszcie, jeśli nawet możliwe do interpolowania przeciętnej wagi, sprawiłoby to, że pytanie stało się bez znaczenia. Cześć, Myślę, że mogę interpolować moje dane: biorąc pod uwagę, że próbuję ją w dyskretnych odstępach czasu, I'm doing to z normą EMA W każdym razie, zakładam, że potrzebuję co wskazuje, że działa jak standardowa EMA, która również przyniesie nieprawidłowy wynik, jeśli wartości nie zmienią się dość sprawnie pomiędzy okresami próbkowania. ndash Curt Sampson 21 czerwca 09 o 15:21 Ale to właśnie mówię: Jeśli weźmiemy pod uwagę EMA interpolację swoich wartości, zrobisz to, jeśli zostawisz alfa tak jak jest (ponieważ dodanie najnowszej średniej jako Y nie zmienia średniej) . Jeśli mówisz, że potrzebujesz czegoś, co to się dzieje, a także standardowy EMAquot - co jest nie tak z oryginałem Jeśli nie masz więcej informacji na temat danych, które chcesz zmierzyć, wszelkie lokalne korekty alfa będą w najlepszym arbitralnym stylu. ndash balpha 9830 21 czerwca 21 w 15:31 Chciałbym zostawić samą wartość alfa i wypełnić brakujące dane. Ponieważ nie wiesz, co dzieje się w czasie, gdy nie można pobrać próbki, można wypełnić te próbki liczbami 0s, lub przytrzymać poprzednią wartość stabilną i użyć tych wartości dla EMA. Lub trochę interpolacji wstecznej po otrzymaniu nowej próbki, uzupełnij brakujące wartości i uzupełnij EMA. Co staram się dostać, to masz wejście xn, które ma dziury. Nie ma sposobu na obejście faktu, że brakuje danych. Możesz więc użyć zerowego zlecenia lub ustawić go na zero lub jakąś interpolację między xn a xnM. gdzie M jest liczbą brakujących próbek, a początkiem luki. Możliwe nawet użycie wartości przed n. Odpowiedziałem 21 czerwca 09 o 13:35 Od spędzenia godziny lub tak mucking o trochę z matematyki dla tego, myślę, że po prostu zmieniając alpha faktycznie dać mi prawidłowe interpolacji między dwoma punktami, o których mówisz, ale w znacznie prostszy sposób. Co więcej, myślę, że zmiana alfa będzie również właściwie dotyczyć próbek pobranych między standardowymi interwałami próbkowania. Innymi słowy, szukam tego, co opisałeś, ale próbujesz użyć matematyki, aby dowiedzieć się, jak to zrobić. ndash Curt Sampson 21 czerwca o godzinie 14:07 Nie sądzę, że taka bestia jest interpolowana przez quotproper. Po prostu nie wiesz co się stało w czasie, gdy nie próbujesz. Dobra i zła interpolacja oznacza pewną wiedzę o tym, czego brakowało, ponieważ musisz zmierzyć się z tym, aby ocenić, czy interpolacja jest dobra czy zła. Chociaż to powiedzieliśmy, możesz postawić ograniczenia, tj. Przy maksymalnym przyspieszeniu, szybkości itp. Myślę, że jeśli wiesz, jak modelować brakujące dane, to po prostu modeluj brakujące dane, a następnie zastosuj algorytm EMA bez zmiany, niż zmiana alfa. Po prostu moje 2c :) ndash freespace 21 czerwca o godzinie 14:17 To jest dokładnie to, co dostałem w mojej edycji na pytanie 15 minut temu: po prostu po prostu nie wiesz co się stało w czasie, gdy nie próbujesz, ale to prawda nawet jeśli próbujesz w każdym wyznaczonym przedziale. Tak więc moje rozważania Nyquist: dopóki znasz formę falową, nie zmieniaj kierunków więcej niż co kilka próbek, rzeczywisty przedział próbki nie powinien mieć znaczenia i powinien być w stanie się zmieniać. Wydaje się, że równanie EMA oblicza się tak, jakby przebieg zmienił się liniowo od ostatniej wartości próbki do aktualnej. ndash Curt Sampson 21 czerwca o godzinie 14:26 Nie sądzę, że to prawda. Twierdzenie Nyquist wymaga, aby co najmniej 2 próbki na okres pozwalały na jednoznaczną identyfikację sygnału. Jeśli tego nie zrobisz, masz aliasing. Byłby taki sam jak pobieranie próbek jako fs1 przez pewien czas, a następnie fs2, a następnie z powrotem do fs1 i otrzymasz aliasing danych, gdy próbujesz z fs2, jeśli fs2 jest poniżej limitu Nyquist. Ja również muszę przyznać, że nie rozumiem, co masz na myśli przez zmiany kwwaveform liniowo od ostatniej próbki do bieżącego jednokrotnego. Czy mógłbyś wyjaśnić Cheers, Steve? ndash freespace 21 czerwca o godzinie 14:36 ​​To jest podobne do otwartego problemu na mojej liście rzeczy do zrobienia. Mam jeden schemat opracował do pewnego stopnia, ale nie ma matematycznych pracy, aby z powrotem tej sugestii jeszcze. Zaktualizuj podsumowanie wzmacniacza: Chcesz utrzymać współczynnik wygładzania (alpha) niezależnie od współczynnika kompensacji (który tutaj odnoszę się do wersji beta). Jasons doskonała odpowiedź już zaakceptowana tutaj działa świetnie dla mnie. Jeśli możesz zmierzyć czas od ostatniej próbki (w zaokrąglonych wielokrotnościach stałego czasu próbkowania - więc 7.8 ms od ostatniej próbki to 8 jednostek), które mogłyby zostać użyte do wielokrotnego wygładzania. W tym przypadku zastosuj formułę 8 razy. Skutecznie wygładziłeś się bardziej na bieżąco. Aby uzyskać lepsze wygładzenie, musimy dostosować alfę podczas stosowania formuły 8 razy w poprzednim przypadku. Co to będzie wygładzać niedociągnięcie przybliżenia Brakuje już 7 przykładów w powyższym przykładzie Jest to przybliżone w kroku 1 przy spłaszczonym ponownym zastosowaniu wartości bieżącej o dodatkowe 7 razy Jeśli zdefiniujemy współczynnik aproksymacji beta, który będzie stosowany wraz z alfa (jako alphabeta zamiast alfa), zakładamy, że 7 nieodebranych próbek zmieniało się płynnie pomiędzy poprzednią i bieżącą wartością próbki. Odpowiedziałem 21 czerwca 09 o 13:35 Pomyślałem o tym, ale trochę mucking o matematyki doprowadziły mnie do punktu, w którym wierzę, że zamiast stosować wzór osiem razy z wartością próbki, mogę obliczyć nowego alfa, który pozwoli mi zastosować ten wzór raz i dać mi ten sam wynik. Ponadto automatycznie zajmowałoby się kwestią próbek przesuniętych od dokładnych czasów próbkowania. ndash Curt Sampson 21 czerwca 21 w 13:47 Pojedyncza aplikacja jest w porządku. Nie jestem jeszcze pewna, jak dobry jest przybliżenie 7 brakujących wartości. Jeśli ruch ciągły sprawia, że ​​wartość jest bardzo krótka w ciągu ośmiu milisekund, przybliżenie może być całkiem nieskuteczne. Ale jeśli pobierasz próbkę w odległości 1 ms (najwyższa rozdzielczość, za wyjątkiem opóźnionych próbek), to już wiesz, że jitter w odległości 1 ms nie jest istotny. Czy to rozumowanie działa dla Ciebie (wciąż próbuję przekonać siebie samego). ndash nik cze 21 09 o 14:08 prawda. Jest to czynnik beta z mojego opisu. Współczynnik beta zostałby obliczony na podstawie odstępu różnicy i bieżącej i poprzedniej. Nowy alfa będzie (alphabeta), ale będzie używany tylko dla tej próbki. Chociaż wydaje mi się, że 39 alfa w formule, mam tendencję do stałego alfa (współczynnik wygładzania) i niezaleŜnie obliczonej beta (czynnik strojenia), który kompensuje obecnie próbki. ndash nik cze 21 09 w 15:23

No comments:

Post a Comment