
H
12.07.2016
16:48:14
ну я на всякий

Alexey
12.07.2016
16:48:34
кто там вчера за Навального топил?
https://www.change.org/p/министерство-жкх-обязать-жэк-хранить-все-стоки-канализации-от-жильцов-в-течение-полугода

H
12.07.2016
16:49:07
лол

Google

H
12.07.2016
16:49:34
такая политика по мне :)

Тёма
12.07.2016
16:49:46

H
12.07.2016
16:50:06
где ты намридингс обновляешь?

Aragaer
12.07.2016
16:50:32
от глобальных переменных избавляться легко - передавать их в функцию аргументами. Аргументов получится много, поэтому следующим шагом будет превратить функцию в класс. В конструктор передавать параметры, а в методе execute делать что нужно с функцией. Ну и там уже по нарастающей

Тёма
12.07.2016
16:50:35
функция ж не может свой аргумент инкрементить

Aragaer
12.07.2016
16:51:02
через сеттеры 8)

H
12.07.2016
16:51:21
да все нормально, только убери лишний глобал один
перенеси наверх
и капсом проори название переменных

Aragaer
12.07.2016
16:51:37
почему функция не может инкрементить свой аргумент?

H
12.07.2016
16:51:52
глобал в середине - зашквар

Google

Тёма
12.07.2016
16:52:25

Aragaer
12.07.2016
16:52:40
ааа, не, тогда не так
создать класс, который будет контейнером для этих аргументов
передавать объект этого класса аргументом, он будет внутри функции модифицироваться и возвращаться наружу

H
12.07.2016
16:53:40
и не забыть как алексей сказал
без фабрики и фабрики фабрик это будет отстойное решение.
ещё нужно пару адаптеров и два фасада.

Тёма
12.07.2016
16:54:13
а это я совсем не умею(

Aragaer
12.07.2016
16:54:16
ну просто сейчас это 4 несвязанные друг с другом переменные
надо сделать чтобы были связаны - сделать их полями в некотором объекте. Да даже пусть тупо в хеше

H
12.07.2016
16:54:47
нахуя тут лепить классы блять, это весь скрипт
5 строк
скоро хелоу ворлд будете классами писать

Тёма
12.07.2016
16:55:38

Aragaer
12.07.2016
16:55:38
если человеку в этом скрипте что-то не нравится, почему бы и не сказать? 8)

Тёма
12.07.2016
16:55:40
в этом и суть
этот скрипт потом еще будет миди делать
а я хз насколько хороши питоновские либы для миди, и насколько это будет сложно

Aragaer
12.07.2016
16:56:58
[n for n in range(len(ydata))] - ой

Belegnar
12.07.2016
16:57:10

Google

Aragaer
12.07.2016
16:57:16
list(range(len(ydata)))

Тёма
12.07.2016
16:57:25
и правда тупо

Belegnar
12.07.2016
16:59:07

Aragaer
12.07.2016
16:59:16
ну то есть я вот вижу, что функция smoothing принимает значение, засовывает его в массив и выдает ... как оно называется - moving average

Тёма
12.07.2016
16:59:26

Belegnar
12.07.2016
16:59:59

Aragaer
12.07.2016
17:00:07
да я вон погуглил, вроде np.convolve умеет это делать

Тёма
12.07.2016
17:00:15

Belegnar
12.07.2016
17:01:55

Тёма
12.07.2016
17:03:20

Nobue
12.07.2016
17:03:50
всплески надо убирать ДО сглаживания

Тёма
12.07.2016
17:04:02

Nobue
12.07.2016
17:04:05
просто отдельным проходом

Тёма
12.07.2016
17:04:07
понял это полчаса назад
ну мне не критичны всплески внутри threshold
я сначала получаю значение, прогоняю через сигмоиду и сглаживаю
блин, а дсп это весело
пусть и такое нубское

Nobue
12.07.2016
17:05:53
ну да, надо сначала подготовить данные и какие-то базовые статистические вещи сделать вроде отрезания крайних значений

Google

Nobue
12.07.2016
17:06:19
иначе сглаживание покажет ерунду

Тёма
12.07.2016
17:06:23

Nobue
12.07.2016
17:06:40
шум убирать не обязательно если он не влияет на результат сглаживания
тем более уборка шума это задача не простая

Тёма
12.07.2016
17:07:28
я что-то запутался

Nobue
12.07.2016
17:07:31
ну, выше и ниже порога, 1-5% слева и справа на гистограмме

Тёма
12.07.2016
17:07:38
сглаживание != уборка шума?

Nobue
12.07.2016
17:07:43
вылеты вобщем которые очевидно являются ошибками

Тёма
12.07.2016
17:07:54
ну так для них у меня и сигмоида

Admin
ERROR: S client not available

Belegnar
12.07.2016
17:09:11

Тёма
12.07.2016
17:09:15
первая - с усилением х2, вторая х5

Nobue
12.07.2016
17:09:18
хмм) не знаю зачем тут сигмоида но ладно :) убираешь и хорошо

Тёма
12.07.2016
17:09:45

Nobue
12.07.2016
17:10:12
да там все проще, ты как-то усложняешь сильно

Тёма
12.07.2016
17:10:27
а как там это сделать тогда?

Nobue
12.07.2016
17:10:35
есть базовый принцип подготовки данных когда берут от минимума и максимума первые 1-5% значений и просто выкидывают
потому что они с высокой вероятностью будут ошибочными
а оставшихся данных тебе хватит для оценки
потом уже сглаживают без "выстрелов"

Google

Тёма
12.07.2016
17:11:36
если я просто ограничиваю
типа 5 процентов

Aragaer
12.07.2016
17:11:57
не ограничивать, а просто выбрасывать

Тёма
12.07.2016
17:12:11
в смысле выбрасывать?

Nobue
12.07.2016
17:12:14
да их надо просто выбросить
удалить из массива

Pavel
12.07.2016
17:12:25

Nobue
12.07.2016
17:12:33
ты знаешь что такое гистограмма?

Тёма
12.07.2016
17:12:49
но у меня ж поток данных идет

Aragaer
12.07.2016
17:13:00
у нас была беда в свое время в самсунге - что-то замеряли, но почему-то было два устойчивых центра

Nobue
12.07.2016
17:13:05
вот на ней слева и справа убирают 5% значений полностью из массива

Тёма
12.07.2016
17:13:06
и там массив этот маленький

Aragaer
12.07.2016
17:13:31
то есть либо вся серия измерений около одного кучкуется, либо около второго

Nobue
12.07.2016
17:13:32
а подожди
у тебя реалтайм обработка что ли?

Тёма
12.07.2016
17:13:45
даа

Nobue
12.07.2016
17:15:21
давай я уточню - то есть ты не можешь заранее получить много значений и обработать их отдельно, а получаешь постоянно новые и тебе надо их добавлять к предыдущим и тут же визуализировать
правильно я тебя понял или нет?)