次の方法で共有


Data Science ツールキット - 線形ログ バケット

線形ログ バケットは、 ロジスティック回帰カスタム モデル サービスの機能です。

データ ビン分割は、小さな観測エラーの影響を軽減するデータを前処理する方法です。 セット内のすべての個々のデータ値を調べる代わりに、セットを間隔 (バケット) に分割し、バケットの値をその範囲内にある個々の値に置き換えます。 これは通常、値が通常分散されていないデータに使用されます。 人間の活動や人間の特性を反映するデータは、多くの場合、重い尾の分布を持っています。 小さな値入力が多数あり、値は非常に大きくなる可能性がありますが、ますますまれになります。 値が取得できる大きさに上限がない可能性があります。 このデータは非常に広がっているため、そこから強力な統計モデルを構築することは困難です。 代わりに同様のデータをグループ化すると、より少ないインスタンスでより多くのデータを取得できるため、より強力なモデルを構築できます。

たとえば、Cookie の年齢機能を使用するカスタム モデルを構築します。 Cookie の有効期間は分単位で保存されるため、1 分から数か月 (100,000 分) の任意の場所に値を指定できます。 1 分から 60 分前の Cookie を使用しているユーザーに対するユーザーアクションに大きな違いがあるかもしれませんが、99,000 分前の Cookie を持つユーザーと、99,060 以前の Cookie を持つユーザーとの間に大きな違いは見られない可能性があります。 小さい値に対してより小さく、より緊密に間隔を空けたバケットを作成し、より大きな値に対してより大きく広がるバケットを作成する方法が必要です。

これを行うために、Xandr は線形ログ バケットと呼ばれる手法を使用します。

線形ログ バケットのしくみ

線形ログ バケット化は、線形バケットとログ バケットによって行われるアプローチを組み合わせたものになります。

線形バケット化 では、各バケットのサイズが間隔ごとに同じ量増加します。 たとえば、毎回 2 ずつ増えたバケットを作成した場合、バケットは 2、4、6、8、10、12、14 などになります。 これは、小さい値を均等に間隔をあけたバケットにグループ化する場合に適していますが、より大きく広い間隔の値をまとめてグループ化する問題は解決しません。 100,000 から 100,050 までのデータ ポイントしかない場合でも、バケットは 100,002 ... のままです。100,048.

ログ バケットは、 間隔ごとに 2 の累乗でバケット サイズを増やします。 これにより、バケットは 2、4、8、16、32、64、128 などになります。 これは、広く広く広がる大きな値をグループ化する場合に適していますが、小さい数値間の間隔の均等性は低くなります。

線形ログ バケットでは 、指定した初期範囲に対して線形バケットを使用し、残りの値に対数バケットを実行します。

このグラフは、バケット サイズの増加をプロットします。 x 軸は特徴値、y 軸はバケット番号です。

バケット サイズの増加を示すグラフのスクリーンショット。

Xandr では、エラーのマージンを減らし、バケットの動作をより詳細に制御できるように 、サブ バケット化もサポートされています。 サブバケットを作成して、各バケットをいくつかの小さなバケットに分割できます。 これは、対数範囲の大きい端で特に役立ちます。  

ロジスティック回帰モデル