Задать вопрос
  • Задваивается вывод, в чем ошибка?

    igor6130,
    И второй список даже конвертировать не надо
    Да действительно, я скорее математически мыслил задачка то на пересечение наборов. На сколько я помню могу ошибаться он все равно его конвертирует в set, так что с экономить не получится.
  • Задваивается вывод, в чем ошибка?

    Cevleron, А почему через пересечение наборов не решаете задачу? конвертируете в set первый список. конвертируете второй. затем set1.intersection(set2). Потом если надо конвертировали в список отсортировали и все.
  • Как можно изменить код, чтобы он работал быстрее?

    Вы поставили тег numpy, кода numpy здесь нет, вопрос. у вас есть массив формы (256,256) а какой формы на выходе должен получится? и еще 1 заменена на [255,255,255] это каждый элемент массива должен быть заменен или по первой оси на 255 по второй оси на 255 и по третьей оси на 255?
  • Как заставить chatterbot работать с chatterbot_corpus.english(Python)?

    Роман Гончаров, кстати еще нужно проверит версию библиотеки pyyaml должна быть версии 5.4.1. И второе полистал я документации вкратце понял что он тренировать должен с диалога и потом в файл писать, а потом использовать этот файл (ну как я понял). И как я понял на гитхабе есть эти самые файлы. А у вас в коде что то я не наблюдаю ничего такого. (Может ошибаюсь так 15 минут почитал доки и все)
  • Как заставить chatterbot работать с chatterbot_corpus.english(Python)?

    Роман Гончаров, Не знаю я сам не пользовался чат ботами. Глянул примеры с использованием ChatterBotCorpusTrainer то когда вы создаете экземпляр класса bot, то у него больше одного параметра вот здесь я имею ввиду
    bot = ChatBot(
        'RomaGPT'
    )
    А так нужно кто с этими чат ботами работал может они смогут дать ответ.
  • Как заставить chatterbot работать с chatterbot_corpus.english(Python)?

    Роман Гончаров, Скорее всего установился криво, из документации самый простой пример пробовали? Просто скопируйте https://chatterbot.readthedocs.io/en/stable/exampl..., если не работает то значит что то из зависимостей не поставилось.
  • Как рассчитать экспоненциальное скользящее среднее с учётом различных по длине временных интервалов?

    ajdivot, Ну уже хотя бы вы произнесли слово ЗАПОЛНИТЬ это то про что я вам и написал в ответе если вы его внимательно читали, что данная задача это задача заполнения данных.

    Теперь к вопросу что значит у вас нет данных за предыдущие семь дней?

    У вас должен быть вектор определенной длинны, и внутри этого вектора определенные даты пропущены, тогда мы их можем заполнить (Ну если вы верно осуществили декомпозицию, убрали сезонность, убрали шум, то можно использовать в том числе и тренд для заполнения только не один на всю последовательность по началу будет не плохо чем ближе к дню сегодняшнему тем больше он будет улетать в небеса или стремится к нулю) Если конечно же данных не мало.

    Что подается на вход сколько у вас наблюдений? Каким образом распределены пропущенные данные? И какой процент этих самых пропущенных данных?
  • Как рассчитать экспоненциальное скользящее среднее с учётом различных по длине временных интервалов?

    ajdivot,
    учитывать различных по длине временных интервалов.
    Вы понимаете что такое оконная функция?

    давайте для простоты скажем вот наши данные [100,110,107,120,105] пусть это стоимость чего нибудь. Мы говорим применим скользящую среднюю с окном в 2. Что это значит это значит мы смотрим от каждой точки мы берем 2 последние (включая текущую) и тупо считаем среднюю и так двигаемся (скользим) вправо. Имеем для 100 у нас нету двух точек, для 110 мы имеем (100 + 110) / 2 = 105 и.тд скользим вправо.

    Для экспонентного средней скользящей принцип тот же самый просто каждый раз значения что ближе будут иметь больше веса. Вот для простой средней какие у нас веса при расчете были w_i = 1. Для простой при подсчете мы могли записать (1 * 100 + 1 * 110) / 2. Для экспонентной средней скользящей вместо единиц будут посчитаны веса. Cначала alpha как у вас потом w_i, как я указал. То есть для нашего игрушечного примера будет (w_1 * 100 + w_2*110) / 2.

    Теперь вы утверждаете про разный размер ваших временных интервалах, в рамках вопроса EMA это невозможно потому что окно у него всего одного размера.

    В рамках моделирования никаких проблем для построения модели где у вас есть разные временные промежутки нет, от слова совсем. Например как выглядят некоторые модели для предсказания цены акции

    Цена = a * EMA(окно=15 дней) + b * EMA(окно=30 дней) + c * EMA(окно 3 месяца) + ...  константа
    Ну это вопрос не отдельный EMA а про моделирование где мы можем иметь свободы столько сколько требуется. Одно EMA имеет ОДИН размер.

    Вот если мы возьмем и загуглим из мира финансов нам скажет для инвестиций на короткие дистанции трейдеры используют 8 и 20 дней EMA. Это не одна переменная EMA и за 8 и за 20 дней а две переменные EMA. одна будет 8 дней EMA а вторая 20 дней EMA.
  • Какова вероятность появления последовательности?

    Prudya, Смотри, будь внимательным, можно считать есть у нас последовательность размера n и вероятность содержания в этой последовательности подпоследовательности размера m. А есть например ты объявляешь переменную количество бросков, игр, попыток (что там у тебя) что бы ПЕРВЫЙ раз увидеть повторяющееся последовательность размером m. И вероятность в такой переменной будет. Вероятность например 3 попыток что бы ПЕРВЫЙ раз увидеть два ОРЛА или ДВЕ РЕШКИ. И еще формулы будут разнится для четного количества попыток или для нечетного. Я вчера после того как не смог ответить на твой вопрос (что меня задело) да еще рекурсивный подход у меня не давал ответов, нашел научную работу на эту тему на английском, так что изучаю. Вообще вопрос хороший ты задал, тема имеет множество полезных применений.
  • Какова вероятность появления последовательности?

    Prudya, Ну тогда при чем здесь нахождение вероятностей для орлов или решек подряд. У тебя дискретная случайная переменная, найди для нее ожидаемую величину и все. Если она отрицательна мы на длинной дистанции будем в убытках, если положительная в плюсе, если 0 то что называется fair game.
    p - вероятность успеха стратегии
    x1 - полученные деньги при выигрыше
    x2 - затраты на стратегию
    E(X) = x1 * p + x2 * (1 - p) - где x2 (отрицательное число)
  • Какова вероятность появления последовательности?

    Alexandroppolus, Спасибо буду разбираться, по поводу двух непересекающихся наборов тут все очевидно.

    Но вот по поводу остального что то до меня так и не доходит. (Но это уже мои проблемы буду разбираться). Вы уже достаточно объяснили.
    Для n=4 и m=3, мы имеем 6 удовлетворяющих условию последовательностей (1,1,1,1),(1,1,1,0),(1,0,0,0) ну и 3 если начнем с 0. итого 6. Ну и соответственно 10 плохих.

    Используя фабиначчи я то получил такие цифры (правильно будет сказать подогнал). Но совсем пока не понял и не думаю что я делаю правильно. Ну да ладно спасибо буду разбираться что я упускаю.
  • Какова вероятность появления последовательности?

    Alexandroppolus, Да, все так это не простая проблема, которые мы решали когда учились, посчитать совпадающие дни рождения у группы людей, для покера вероятность определенной руки подсчитать и тому подобные стандартные задачи. Для m=2 все так то есть вероятность успеха 1 - 2^(n-1). Тут все очевидно одна последовательность начнется с Решки другая с Орла, дальше всегда чередование. А вот для m больше двух какую то функцию найти совсем не получается. И через разницу m и n тоже ничего не выходит. Пока не пойму как выразить количество не успехов через Фибоначчи. но буду решать задачу. Интересный случай, да и освежить комбинаторику не мешает, можно посмотреть еще в сторону random walk, может там насчет повторений что то имеется хотя по моему нет. Так скоро с алгоритмами машинного обучения разучимся вот такие задачки решать, что нежелательно.
  • Какова вероятность появления последовательности?

    Alexandroppolus, У меня проблема следующая.
    1- Орел
    0 - Решка
    Возьмем пример n = 4, m =2, И так количество последовательностей 2^n это очевидно., то есть всего у нас возможно 16 последовательностей каждая с одинаковой вероятностью. Например нам выпала последовательность (1,1,1,1) если мы ее посчитаем за ОДИН успех то есть она содержит в себе повторение орлов длинной два то моя формула 2 * comb(m,n) / 2^n. Должна работать (она и работает на каком нибудь n=3 и m =2 ).Но по идее чем длиннее последовательность тем больше шансов встретить повторение.А делитель (количество последовательностей растет значительно быстрее).Вот тут я туплю и что то упускаю. Если мы считаем что такая последовательность содержит в себе 4 успеха, то у меня получается Количество успехов превышает размер пространства выборки, как следствие вероятность получается больше единицы что полный абсурд.

    А вообще комбинаторика жестока, несколько лет отсутствия практики именно по комбинаторике и надо же сижу и туплю над абсолютно несложной задачей.
  • Какова вероятность появления последовательности?

    А задачка то получается не простая, я с утра не проснувшись как следует (думал элементарная), быстренько решил 2 * comb(n,m) / 2^n. Даже ответ написал, уже удалил, Подставил побольше числа (держа m постоянной) а она не растет а падает, а должно быть наоборот. Нужно думать как решать, задача должна иметь аналитичское решение.
  • Как корректно добавить данные в вложенный список в список?

    tonik76,
    a = [1,2,3]
    b = a
    Здесь создается один объект и две ссылки на него и например если вы скажите b.append(4) то у вас и в b и в a будет [1,2,3,4]. Потому что объект у вас один [1,2,3] a и b это ссылки на этот объект.
    что бы создать два разных случая используется либо deepcopy() для глубокого копирования вместе со структурой. либо вы можете например для моего примера использовать
    a = [1,2,3]
    b = list(a)
    или 
    b = a.copy()
    в обоих случаях , будет создано два объекта и a и b это указатели на разные объекты.
    В случаях когда изменяется вложенный список то нужно использовать deepcopy. 
    например 
    a = [1,[1,2]]
    b = copy(a))
    a[1].append(4)
    Все прплыли вложенный лист изменится и в a и в b. D В таком случае нужно использовать только deepcopy. В ответе на вопрос я deepcopy не использовал потому что в контесксте проблемы это необязательно,
    Вы можете например использовать
    a1.append(list(a)) И все равно получите то что вы хотели. Случай где deepcopy обязателен я вам привел пойграйтесь с приведенными примерами и начнете понимать лучше.
  • Как корректно добавить данные в вложенный список в список?

    потому что вы перед вкладыванием его каждый раз создаете [] вот таким способом, по этому с листом s и a таких проблем не происходит.
  • Выбрать строку из БД по значениям связанной таблицы?

    GeKskill, Окей, мы не понимаем друг друга да и все. ну например
    select *
    from table
    where option=4670 AND option=5492 ;
    Нам должна вернуться пустая таблица, не будет выбран не один ряд потому что это выражение всегда FALSE. Видимо мы говорим о разных вещах и не понимаем друг друга. так что проехали.
  • Выбрать строку из БД по значениям связанной таблицы?

    GeKskill, как может быть в одной таблице в одном и том же столбце значение поля быть 4670 и 5492? Как значение отдельно взятой ячейки может быть 4670 и 5492?