データビンを使って時系列を保存する
PoissonProcessの到着時間は独立であり,ExponentialDistributionに従う.指数分布のシミュレーションによって指定された時間間隔で信号をDatabinに送ることにより,PoissonProcessの経路のシミュレーションを実行することができる.
In[1]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_102.png)
SeedRandom["11"];
\[Lambda] = 0.5;
times = RandomVariate[ExponentialDistribution[\[Lambda]], 30];
Databinを作成する.
In[2]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_103.png)
bin = CreateDatabin[]
シミュレーションされた時間を使い,それぞれの時間間隔でデータビンに1を送る.
In[3]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_104.png)
Table[DatabinAdd[bin, <|"arrivals" -> 1|>]; Pause[t], {t, times}];
タイムスタンプのある録音された信号.
In[4]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_105.png)
TimeSeries[bin]
Out[4]=
![](assets.ja/use-databin-to-store-time-series/O_55.png)
TimeSeriesオブジェクトを抽出する.
In[5]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_106.png)
ts1 = TimeSeries[bin]["arrivals"]
Out[5]=
![](assets.ja/use-databin-to-store-time-series/O_56.png)
次の時系列は不規則にサンプルされている.
In[6]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_107.png)
RegularlySampledQ[ts1]
Out[6]=
![](assets.ja/use-databin-to-store-time-series/O_57.png)
TemporalRegularityを仮定することで,Accumulateが補間を使って,最小の時間増分について時系列をリサンプリングしないようにする.
In[7]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_108.png)
ts2 = Accumulate[TimeSeries[ts1, TemporalRegularity -> True]]
Out[7]=
![](assets.ja/use-databin-to-store-time-series/O_58.png)
In[8]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_109.png)
DateListStepPlot[ts2, Joined -> False, PlotTheme -> "Detailed"]
Out[8]=
![](assets.ja/use-databin-to-store-time-series/O_59.png)
信号からのPoissonProcessパラメータを推測し,タイムスタンプのシミュレーションに使うExponentialDistributionのパラメータと比較する.
In[9]:=
![Click for copyable input](assets.ja/use-databin-to-store-time-series/In_110.png)
{FindProcessParameters[ts2, PoissonProcess[\[Mu]]], \[Lambda]}
Out[9]=
![](assets.ja/use-databin-to-store-time-series/O_60.png)