Использование бинирования данных для хранения временных рядов
Значения времени прибытия в PoissonProcess независимы друг от друга и представляют экспоненциальное распределение, ExponentialDistribution. Мы можем симулировать PoissonProcess с помощью Databin согласно временными интервалам, заданным в экспоненциальном распределении.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_102.png)
SeedRandom["11"];
\[Lambda] = 0.5;
times = RandomVariate[ExponentialDistribution[\[Lambda]], 30];
Создадим бин с данными, Databin.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_103.png)
bin = CreateDatabin[]
Будем отправлять 1 в бин с данными согласно заданным временным интервалам.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_104.png)
Table[DatabinAdd[bin, <|"arrivals" -> 1|>]; Pause[t], {t, times}];
Следующим образом выглядит сигнал с временными штампами.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_105.png)
TimeSeries[bin]
![](assets.ru/use-databin-to-store-time-series/O_55.png)
Извлечем временной ряд TimeSeries.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_106.png)
ts1 = TimeSeries[bin]["arrivals"]
![](assets.ru/use-databin-to-store-time-series/O_56.png)
Отметим, что данный временной ряд является нерегулярным.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_107.png)
RegularlySampledQ[ts1]
![](assets.ru/use-databin-to-store-time-series/O_57.png)
Предположим, что наша выборка данных регулярна, согласно функции TemporalRegularity, для того, чтобы функция Accumulate не осуществляла интерполяцию временного ряда относительно коэффициента минимального увеличения времени.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_108.png)
ts2 = Accumulate[TimeSeries[ts1, TemporalRegularity -> True]]
![](assets.ru/use-databin-to-store-time-series/O_58.png)
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_109.png)
DateListStepPlot[ts2, Joined -> False, PlotTheme -> "Detailed"]
![](assets.ru/use-databin-to-store-time-series/O_59.png)
Рассчитаем параметр PoissonProcess и сравним его с параметром ExponentialDistribution, используемого для симуляции временных штампов.
![Click for copyable input](assets.ru/use-databin-to-store-time-series/In_110.png)
{FindProcessParameters[ts2, PoissonProcess[\[Mu]]], \[Lambda]}
![](assets.ru/use-databin-to-store-time-series/O_60.png)