Wolfram言語

時系列の処理

データビンを使って時系列を保存する

PoissonProcessの到着時間は独立であり,ExponentialDistributionに従う.指数分布のシミュレーションによって指定された時間間隔で信号をDatabinに送ることにより,PoissonProcessの経路のシミュレーションを実行することができる.

In[1]:=
Click for copyable input
SeedRandom["11"]; \[Lambda] = 0.5; times = RandomVariate[ExponentialDistribution[\[Lambda]], 30];

Databinを作成する.

In[2]:=
Click for copyable input
bin = CreateDatabin[]
Out[2]=

シミュレーションされた時間を使い,それぞれの時間間隔でデータビンに1を送る.

In[3]:=
Click for copyable input
Table[DatabinAdd[bin, <|"arrivals" -> 1|>]; Pause[t], {t, times}];

タイムスタンプのある録音された信号.

In[4]:=
Click for copyable input
TimeSeries[bin]
Out[4]=

TimeSeriesオブジェクトを抽出する.

In[5]:=
Click for copyable input
ts1 = TimeSeries[bin]["arrivals"]
Out[5]=

次の時系列は不規則にサンプルされている.

In[6]:=
Click for copyable input
RegularlySampledQ[ts1]
Out[6]=

TemporalRegularityを仮定することで,Accumulateが補間を使って,最小の時間増分について時系列をリサンプリングしないようにする.

In[7]:=
Click for copyable input
ts2 = Accumulate[TimeSeries[ts1, TemporalRegularity -> True]]
Out[7]=
In[8]:=
Click for copyable input
DateListStepPlot[ts2, Joined -> False, PlotTheme -> "Detailed"]
Out[8]=

信号からのPoissonProcessパラメータを推測し,タイムスタンプのシミュレーションに使うExponentialDistributionのパラメータと比較する.

In[9]:=
Click for copyable input
{FindProcessParameters[ts2, PoissonProcess[\[Mu]]], \[Lambda]}
Out[9]=

関連する例

de en es fr ko pt-br ru zh