2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Анализ числовой последовательности средствами Mathematica
Сообщение08.10.2013, 17:51 
Аватара пользователя


13/03/13
28
Здравствуйте.
Некое устройство выдаёт числа 0,1 или 2. Закономерность работы не известна. Доступен ряд длиной в, например, 1000 чисел, типа [...1,1,0,2,0,0,1,2,2,2,0,2,1,1,0,2,1,1,0,1,0,0,1,1...]
В нём присутствуют разные однородности (или правильно сказать не однородности?) типа ...,1,1,1,... ...,0,0,0,0,0,... или что-то более сложное, например ...,2,1,1,0,2,1,1,...
Рассмотрим последние N чисел. Какова вероятность того, что новое число, дополнит последовательность из четырёх нулей до 0,0,0,0,0? Иначе говоря, если вышел хвост из четырех нулей, то какова вероятность того, что появиться пятый? Ну или другие варианты комбинаций.
Скармливаем ряд Mathematic'e.
Как средствами этой чудесной программы решить задачу? Подскажите пожалуйста.

 Профиль  
                  
 
 Re: Анализ числовой последовательности средствами Mathematica
Сообщение09.10.2013, 17:40 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.
На правах первого выдвигаю вариант:

$N$ ну очень велико, что и четыре нуля (слово $A$), и пять нулей (слово $B=Aw$) встречаются неоднократно.
Тогда можно найти все слова $A$ в последовательности и определить, в какой доле случаев за ними идёт символ $w$, дополняющий $A$ до $B$. Это оценка условной вероятности того, что после $A$ следует $w$.

Код:
P[A_, w_][list_] := Module[{a = Length[A], u = Length[w], r, p, Ap, rp, rs},
  (* pattern для A *)
  Ap = Sequence @@ A;
  (* паттерн для последовательности символов как в w *)
  rp = r : Repeated[_, {u}];
  (* паттерн для Av внутри списка,
  притом суффикс v имеет такую же длину как и w *)
  p = {___, PatternSequence[Ap, rp], ___};
  (* все возможные сопоставления, притом элемент \[LongDash]
  это суффикс v *)
  rs = ReplaceList[list, p :> {r}];
  (* доля случаев, когда v=w *)
  Count[rs, w]/Length[rs]
]

 Профиль  
                  
 
 Re: Анализ числовой последовательности средствами Mathematica
Сообщение17.10.2013, 14:38 
Аватара пользователя


13/03/13
28
Спасибо за предложенный вариант и за "живой" код. Помогло разобраться и лучше понять задачу.
Сформулирую ещё раз.
Проведено N экспериментов с устройством №1. В каждом эксперименте выполнялось M замеров.
Результат:
[0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, 0, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 1, 2]
[2, 2, 0, 2, 0, 2, 0, 2, 2, 2, 0, 1, 2, 0, 1, 0, 1, 2, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 0, 2, 0]
[1, 2, 2, 0, 0, 2, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2,]
[0, 2, 0, 0, 0, 0, 1, 0, 2, 0, 2, 0, 2, 0, 2, 0, 1, 2, 1, 2, 0, 2, 2, 2, 0, 2, 0, 2, 1, 1, 0, 2]
[1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0]
[1, 2, 1, 1, 0, 2, 1, 2, 0, 0, 0, 2, 0, 2, 2, 0, 1, 1, 0, 2, 2, 0, 0, 2, 1, 0, 1, 1, 0, 2, 0, 1]
[1, 1, 2, 1, 0, 1, 1, 0, 2, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 2, 1, 2, 0, 1, 2, 0, 0, 1, 0, 1, 0]
...
и т.д.
Аналогично с устройством №2.
Есть основания полагать, что устройство №1 и устройство №2 уникальны. Значит ожидаемы особенности спектра. Изучаем устройство №1. Начинаем новый эксперимент. С ростом количества значений появляется возможность оценить вероятность появления того или иного значения исходя из особенности устройства генерировать свой уникальный спектр.
Нужно это нащупать.

 Профиль  
                  
 
 Re: Анализ числовой последовательности средствами Mathematica
Сообщение18.10.2013, 13:44 
Аватара пользователя


13/03/13
28
Составил набор простеньких комбинаций:
[0,1,2,00,01,10,11,12,21,22,02,20,000,010,100,001,110,101,011,111,211,121,112,221,212,122,222]
Взял результаты по 10 экспериментам. Посчитал процент вхождений каждой комбинации в каждом ряду.
Результаты по каждой комбинации объединил и вычислил медиану M(0),M(1),...
Начинаю новый эксперимент.
Прошла половина. Имею 25 значений и впереди ещё 25.
P=M(0)/50 - вероятность появления значения 0 в каждом замере (их всего в этом эксперименте 50).
Каждый не вышедший ноль удваивает вероятность его появления.
Жду 26-е. Из 25 вышло только 10 нулей. Например:
[1,0,0,1,0,1,0,2,2,0,1,1,1,0,0,0,2,0,2,1,0,1,1,1,1] В данном случае вероятность появления нуля 4P или 15P ?
Чёто я запутался...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group