Thursday 12 October 2017

Płyta Ruch Średni Python


Wiem, że jest to stare pytanie, ale jest to rozwiązanie, które nie używa żadnych dodatkowych struktur danych lub bibliotek Jest liniowa w liczbie elementów listy wejściowej i nie mogę myśleć o innym sposobie, aby sprawić, ktoś wie o lepszym sposobie przydzielenia wyniku, proszę dać mi znać. Wszelkie to byłoby znacznie szybsze przy użyciu numpy tablicy zamiast listy, ale chciałem wyeliminować wszystkie zależności Byłoby to również możliwe do poprawy wydajności przez wielowątkowe wykonanie. Funkcja zakłada, że ​​lista wejściowa jest w jednym wymiarze, więc bądź ostrożna. Alleo i jasaarim zaproponowali bardziej wydajne rozwiązania. Możesz użyć tego do tego. Argument trybu określa sposób obsługi krawędzi Wybrałem prawidłowy tryb tutaj bo myślę, że to, jak większość ludzi spodziewa się, że działa, ale może masz inne priorytety Oto wykres, który ilustruje różnicę między trybach. odpowiedzi 24 marca w 22 01. Lubię to rozwiązanie, ponieważ jest czysta jedna linia i r efektywna sprawa wykonana wewnątrz numpy Ale Alleo s Skuteczne rozwiązanie przy użyciu lepszej złożoności Ulrich Stern 25 września 15 w 0 31. Można obliczyć średnią bieżącej z. Na szczęście numpy zawiera funkcję splądrowania, którą możemy użyć do przyspieszenia czynności. Średnia bieżąca jest równoważny x x z wektorem o długości N, ze wszystkimi członami równymi 1 N Numperowska implementacja convolve obejmuje początkowe przejściowe, więc musisz usunąć pierwsze punkty N-1. Na mojej maszynie szybka wersja jest 20-30 razy szybciej, w zależności od długości wektora wejściowego i wielkości okna uśredniania. Uwaga, że ​​convolve zawiera ten sam tryb, który wydaje się, że powinien on rozwiązać problem przejściowy, ale dzieli go pomiędzy początek i koniec. Usuwa przejście od końca, a początek nie ma jednego Cóż, myślę, że to kwestia priorytetów, nie potrzebuję tej samej liczby wyników na koszt uzyskania stoku w kierunku zero, które nie ma w danych BTW, tutaj jest polecenie, aby pokazać różnicę między trykami trybów pełnych, takich samych, poprawnych splotów plot 200, tych 50, 50, trybu m dla osi w trybach oś -10, 251, - 1, 1 1 trybów legendy, centrum z pyplotem i liczbą importowanych lapisów Mar 24 14 at 13 56.pandas jest bardziej odpowiedni dla tego niż NumPy lub SciPy Jego funkcja rollingmean robi zadanie wygodnie Również zwraca tablicę NumPy, gdy wejście jest tablicą. Jest trudny do pokonania rollingmean w wydajności z dowolną niestandardową implementacją Pythona Oto przykładowa wydajność w stosunku do dwóch zaproponowanych rozwiązań. Są też ładne opcje, jak radzić sobie z wartościami krawędzi. Je zawsze zirytowałem się funkcją przetwarzania sygnału, która zwraca sygnały wyjściowe o innym kształcie niż sygnały wejściowe, gdy oba wejścia i wyjścia mają taki sam charakter, np. oba sygnały czasowe Zerwanie korespondencji z powiązaną zmienną niezależną np. czas, generowanie częstotliwości lub porównanie również nie jest kwestią bezpośrednią, e uczucie, może chcesz zmienić ostatnie wiersze proponowanej funkcji jako ten sam powrót y windowlen-1 - windowlen-1 Christian O Reilly 25 sierpnia 15 w 19 56. Trochę późno na imprezę, ale sam zrobiłem niewiele funkcji, która NIE owija się wokół końców lub wkładek z zera, które są następnie wykorzystywane do znalezienia średniej jak również jako kolejny traktować, że również ponownie pobrać próbkę sygnału w punktach rozmieszczonych liniowo Dostosowywanie kodu w celu uzyskania innych funkcji Metoda jest prostym mnożeniem macierzy z znormalizowanym jądrem Gaussa. Proste użycie sygnału sinusoidalnego z dodatkiem normalnego rozproszonego noise. This pytanie jest teraz nawet starszy niż kiedy NeXuS napisał o tym w zeszłym miesiącu, ale jak jego kod dotyczy ale ponieważ jest to prosta średnia ruchoma, wynika to z opóźnień wynikających z danych, które stosują się do nich. Uważałem, że w przypadku bardziej obiecujących przypadków, niż tryby NumPy, takie same i pełne, można by osiągnąć podobne podejście do podstawy splatania ed. Wkład używa centralnej średniej bieżącej, aby wyrównać swoje wyniki z ich danymi Gdy w oknie pełnego rozmiaru są dostępne dwa punkty, średnie uśrednione są obliczane z kolejno mniejszych okien na krawędziach tablicy Właściwie, z kolejno większych okien, ale to jest szczegółowo implementacji. Jest to stosunkowo powolne, ponieważ używa wiolonczeli i prawdopodobnie może być dość spreparowany przez prawdziwą Pythonistę, jednak wierzę, że idea stoi na 2 stycznia w 28. jest ładny, ale powolny, gdy szerokość okna rośnie Duże odpowiedzi zapewniają bardziej efektywne algorytmy z, ale wydaje się niezdolny do obsługi wartości krawędzi ja sam zaimplementował algorytm, który może obsłużyć ten problem dobrze, jeśli ten problem jest zadeklarowany as. Input parametr mergenum można myśleć jako 2 windowwidth 1.I wiem, że ten kod jest trochę nieczytelny, jeśli u znaleźć przydatne i chcesz trochę rozszerzeń, proszę dać mi znać i będę aktualizować tę odpowiedź Ponieważ pisanie wyjaśnienia może kosztować m e dużo czasu, mam nadzieję, że robię to tylko wtedy, gdy ktoś potrzebuje tego Proszę wybaczyć mi za moje lenistwo. Jeśli tylko u jesteś zainteresowany jego pierwotną wersją. Nie jest jeszcze bardziej nieczytelne pierwsze rozwiązanie pozbywa się problemu krawędzi przez wypełnienie zera wokół ale drugie rozwiązanie rozwiązało problem z tym trudnym i bezpośrednim sposobem. In moje ostatnie zdanie próbowałem wskazać, dlaczego pomaga błąd zmiennoprzecinkowy Jeśli dwie wartości są w przybliżeniu takie same rzędy wielkości, to dodanie ich traci mniej precyzji niż jeśli dodasz bardzo dużą liczbę do bardzo małej Kod łączy wartości sąsiednie w taki sposób, że nawet sumy pośrednie powinny zawsze być rozsądnie bliskie wielkości, aby zminimalizować błąd zmiennoprzecinkowy Nic nie jest głupi, ale ta metoda uratowała parę bardzo źle zaimplementowane projekty w produkcji Mayur Patel Dec 15 14 at 17 22. Alleo Zamiast robić jeden dodatek na wartość, będziesz robił dwa Dowód jest taki sam, jak problem z odrywaniem bitów Ale punktem tej odpowiedzi niekoniecznie jest wydajność, ale precyzyjne użycie pamięci dla uśrednionych 64-bitowych wartości nie przekroczy 64 elementów w pamięci podręcznej, więc jest przyjazne w użyciu pamięci, a także Mayur Patel 29 grudnia w wieku 17 04. Gram w Pythonie nieco znowu , i znalazłem schludną książkę z przykładami Jednym z przykładów jest wykreślenie niektórych danych mam plik z dwoma kolumnami i mam dane I zaplanowane dane w porządku, ale w ćwiczeniu mówi Modyfikować swój program dalej obliczyć i zapisać średnią bieżącej danych, zdefiniowaną przez. where r 5 w tym przypadku, a yk jest drugą kolumną w pliku danych Czy program wykreśla zarówno oryginalne dane, jak i średnią bieżącej na tym samym wykresie..So jak obliczyć sumę W Mathematica to proste, ponieważ to symboliczna manipulacja Sum i, na przykład, ale jak obliczyć sumę w python, która zajmuje co dziesięć punktów w danych i średnich, a robi to do końca punkty. Spojrzałam na książkę, ale nie znalazłem nic, co mogłoby wyjaśnić th is. heltonbiker s kod did the trick D. Thank you very much. There jest problem z zaakceptowanej odpowiedzi Myślę, że musimy użyć prawidłowego zamiast tego samego tutaj - powrót okna, same. As przykład wypróbować MA tych danych - set 1,5,7,2,6,7,8,2,2,7,8,3,7,3,7,3,15,6 - wynik powinien wynosić 4 2,5 4,6 0 , 5 0,5 0,5 2,5 4,4 4,5 4,5 6,5 6,4 6,7 0,6 8, ale posiadające to samo daje niewłaściwy wynik wynoszący 2 6,3 0,4 2 , 5 4,6 0,5 0,5 0,5 2,5 4,4 4,5 4,5 6,5 6, 4 6,7 0,6 8,6 2,4 8.Rustyczny kod, aby spróbować to out. Try to z tego samego i sprawdzić, czy matematyka sprawia, że ​​sense. answered Październik 29 14 w 4 27.Haven t wypróbował to, ale będę patrzeć na to, To było trochę czasu, bo ve zakodowany w Python dingod Oct 29 14 at 7 07. dingod Dlaczego nie próbujesz tego szybko z zardzewiałym kodem i przykładowym zestawem danych w prostej liście, wysłałem Dla niektórych leniwych ludzi takich jak ja byłem na początku - jego maski na fakt, że poruszanie się przeciętnie warto rozważyć edycję oryginalnej odpowiedzi, próbowałem ją wczoraj i sprawdziłam dwa razy Mnie wyglądam źle na poziomie Cxo Wszystko co musisz zrobić, to spróbować tej samej średniej ruchomej raz z ważnym i innym razem z tym samym - i kiedy jesteś przekonany, daj mi trochę miłości aka-up-vote ekta 29 października 14 na 7 16.Przedstawiliśmy wcześniej, jak tworzyć średnie ruchome przy użyciu python Ten samouczek będzie kontynuacją tego tematu Średnia ruchoma w kontekście statystyk, nazywana również średnią kroczącą, jest rodzajem skończonej odpowiedzi impulsowej. W naszych poprzednich samouczek, który wyliczył wartości tablic x i y. Let s wykres x względem ruchomych średnich y, które zadzwonimy do yMA. Po pierwsze, niech s wyrówna długość obu tablic. Aby to pokazać w kontekście. Stworzony wykres Aby pomóc to zrozumieć, niech s spreparować dwie różne relacje x vs y i x vs MAy. Średnia ruchoma jest tutaj zielona fabuła, która zaczyna się od 3. W dalszej części tego samouczka dowiemy się, jak obliczać średnie ruchome na dużych zestawy danych.

No comments:

Post a Comment