3

各シーケンスに数百のイベントがあるデータセットを使用しています。を使用して、サブシーケンスとシーケンシャル アソシエーション ルールを識別しようとしていますTraMineR。たとえば、私が書くコードは次のとおりです。

# Frequent subsequences:
fsubseq <- seqefsub(weaver, minSupport = 0.05, maxK = 4)
fsubseq <- seqentrans(fsubseq)
fsb <- fsubseq[fsubseq$data$nevent > 1]
plot(fsb[1:20], col = "cyan")

# Sequential association rules:
rules <- TraMineR:::seqerules(fsubseq)
rules[order(rules$Lift, decreasing = TRUE)[1:25], 1:4]

これは、maxK を 1 ~ 3 に設定している限り、通常は実行可能ですが、その値を超えると、計算に数日ではなくても数時間かかります。これらの計算を高速化するために調整できる特定のパラメーターはありますか?

4

1 に答える 1

3

計算時間は、以下に強く関連しています。

  • シーケンスごとのイベント数。このアルゴリズムは、シーケンスごとの少数のイベント (通常は 6 未満) と多数のシーケンス用に設計されています。主な関心事ではないいくつかのイベントを削除したり、イベントのグループを分析したりすることができます。イベント数と計算時間の関係は、少なくとも指数関数的であると思います。シーケンスごとに 10 を超えるイベントがあると、非常に遅くなる可能性があります。
  • 最低限のサポート。最小サポートが低いと、サブシーケンスの可能な数が非常に大きくなります。より高い値に設定してみてください。

お役に立てれば。

于 2015-03-01T20:03:07.183 に答える