Numpy Moving Average

Numpy Moving Average



Преди да започнем нашата тема, нека разберем какво е подвижната средна. В статистиката подвижната средна е техника за изчисляване и анализ на точки от данни. Той изчислява точки от данни, като прави поредица от средни стойности на различни подмножества от пълен набор от данни. И така, пълзящата средна е измерване, което улавя типичната промяна в информационна серия с течение на времето. Moving е един от най-гъвкавите и често използвани индикатори за технически анализ. Тъй като е толкова лесен за използване, професионалните инвеститори го използват като средство за определен набор от данни в статистиката. Можем също така да изчислим плъзгаща се средна стойност за по-кратък период, като я използваме върху дневни или минутни данни. Например: Когато определяме 10-дневна плъзгаща се средна стойност, в нашия случай, ние просто ще обобщим цените на затваряне от някоя от предходните десет дни и разделете резултата на десет. На следващия ден ще изчислим и цената през последните десет дни, което означава, че няма да изчисляваме цената на първия ден. По-скоро ще бъде заменен от вчерашната ни цена. Данните се променят по този начин с всеки движещ се ден, поради тази причина са известни като подвижна средна. Целта на пълзящата средна е да определи началото на тренда, след това да проследи развитието му и също така да отчете обръщането му, в случай че се случи. Формулата за изчисляване на подвижната средна е Ft = (Dt1+Dt2+Dt3…+Dtn)/n. Където Dt е търсенето за период t, а Ft е прогнозата за време t.

Синтаксис:

Можем да изчислим подвижната средна по различни начини, които са както следва:

Метод 1:

NumPy. кумсум ( )

Връща сумата от елементи в дадения масив. Можем да изчислим подвижната средна, като разделим резултата от cumsum() на размера на масива.







Метод 2:

NumPy. и . средно аритметично ( )

Има следните параметри.



a: данни във формата на масив, които трябва да бъдат осреднени.



axis: нейният тип данни е int и е незадължителен параметър.





тегло: също е масив и незадължителен параметър. Може да има същата форма като 1-D форма. В случай на едномерен, той трябва да има еднаква дължина като тази на масива „a“.

Обърнете внимание, че изглежда няма стандартна функция в NumPy за изчисляване на подвижната средна, така че може да се направи с някои други методи.



Метод 3:

Друг метод, който може да се използва за изчисляване на подвижната средна е:

напр. свивам се ( а , в , режим = 'пълен' )

В този синтаксис a е първото входно измерение, а v е второто входно измерение. Режимът е незадължителната стойност, тя може да бъде пълна, същата и валидна.

Пример # 01:

Сега, за да обясним повече за подвижната средна в Numpy, нека дадем пример. В този пример ще извадим пълзящата средна на масив с конволвиращата функция на NumPy. И така, ще вземем масив 'a' с 1,2,3,4,5 като негови елементи. Сега ще извикаме функцията np.convolve и ще съхраним изхода й в нашата променлива „b“. След това ще отпечатаме стойността на нашата променлива 'b'. Тази функция ще изчисли движещата се сума на нашия входен масив. Ще отпечатаме изхода, за да видим дали изходът ни е правилен или не.

След това ще преобразуваме нашия изход в пълзяща средна, използвайки същия метод на конволвиране. За да изчислим подвижната средна, ще трябва просто да разделим подвижната сума на броя на пробите. Но основният проблем тук е, че тъй като това е подвижна средна, броят на пробите продължава да се променя в зависимост от местоположението, на което се намираме. Така че, за да разрешим този проблем, просто ще създадем списък на знаменателите и трябва да превърнем това в средна стойност.

За тази цел инициализирахме друга променлива „denom“ за знаменателя. Лесно е за разбиране на списък с помощта на трика за обхват. Нашият масив има пет различни елемента, така че броят на пробите на всяко място ще премине от една на пет и след това обратно от пет на една. Така че просто ще добавим два списъка заедно и ще ги съхраним в нашия параметър „denom“. Сега ще отпечатаме тази променлива, за да проверим дали системата ни е дала истинските знаменатели или не. След това ще разделим нашата подвижна сума със знаменателите и ще я отпечатаме, като съхраним изхода в променливата „c“. Нека изпълним нашия код, за да проверим резултатите.

импортиране numpy като напр.

а = [ 1 , две , 3 , 4 , 5 ]

b = напр. свивам се ( а , напр. ones_like ( а ) )

печат ( 'Движеща се сума' , b )

име = списък ( диапазон ( 1 , 5 ) ) + списък ( диапазон ( 5 , 0 , - 1 ) )

печат ( 'Знаменатели' , име )

° С = напр. свивам се ( а , напр. ones_like ( а ) ) / име

печат ( „Пълзяща средна“ , ° С )

След успешното изпълнение на нашия код ще получим следния изход. В първия ред сме отпечатали „Подвижната сума“. Можем да видим, че имаме „1“ в началото и „5“ в края на масива, точно както имахме в нашия оригинален масив. Останалите числа са суми от различни елементи от нашия масив.

Например шест на третия индекс на масива идва от добавяне на 1, 2 и 3 от нашия входен масив. Десет на четвъртия индекс идва от 1,2,3 и 4. Петнадесет идва от сумирането на всички числа заедно и т.н. Сега във втория ред на нашия изход сме отпечатали знаменателите на нашия масив.

От нашия резултат можем да видим, че всички знаменатели са точни, което означава, че можем да ги разделим с нашия движещ се сборен масив. Сега преминете към последния ред на изхода. В последния ред можем да видим, че първият елемент от нашия масив с подвижна средна е 1. Средната стойност на 1 е 1, така че първият ни елемент е правилен. Средната стойност на 1+2/2 ще бъде 1,5. Можем да видим, че вторият елемент от нашия изходен масив е 1,5, така че второто средно също е правилно. Средната стойност от 1,2,3 ще бъде 6/3=2. Това също прави изхода ни правилен. И така, от изхода можем да кажем, че успешно сме изчислили подвижната средна на масив.

Заключение

В това ръководство научихме за пълзящите средни: какво е пълзяща средна, какви са нейните приложения и как да изчислим пълзящата средна. Изучихме го подробно както от математическа, така и от програмна гледна точка. В NumPy няма специфична функция или процес за изчисляване на подвижната средна. Но има различни други функции, с помощта на които можем да изчислим подвижната средна. Направихме пример за изчисляване на подвижната средна и описахме всяка стъпка от нашия пример. Пълзящите средни стойности са полезен подход за прогнозиране на бъдещи резултати с помощта на съществуващи данни.