多くのカテゴリ分布があります。カテゴリ分布は、k 個のイベントのセットから引き出されたイベントの確率を記述する場所です。イベントの確率に非常に迅速にアクセスできる必要があります。
カテゴリ分布を格納する 1 つの方法は、Redis でソートされたセットを使用することです。各キーは個別の分布にインデックスを付け、ソートされたセットの各メンバーは特定のイベントであり、各スコアはそのイベントを見た回数です。キー (分布) ごとに、その分布の各イベントのカウントの合計も格納するため、適切に正規化できます。
質問したいのは、確率が時間の経過とともに変化している場合、このデータを保存する良い方法は何ですか? 私は基本的に、古い観察を忘れることができるようにしたいと考えています。つまり、一定の間隔で各キーのスコアと正規化定数を減らしたいのです。
上記の redis アプローチを使用すると、d 分ごとに cron ジョブを実行し、各ディストリビューションを繰り返し処理し、zscore と正規化定数の各カウントを減らすことができます。しかし、これは少し間違っているようです (母が KEYS * を反復処理しないように言ったと確信しています)。