マーケティングサイエンス学習録

勉強したことをとりあえずここに集積していきます。

回帰を分類問題として解くテクニック

今日はこれを読みました。

zenn.dev

回帰問題を解いていると、正解分布と予測分布がずれていることありますよね。特に、ゼロ過剰であったりlong tailな場合は、予測値がマジョリティに引っ張られてほとんど原点でのデルタ関数みたいになりませんか?

この記事では、その正解分布と予測分布のズレについて丁寧に考察したものでした。 記事の切り抜きは意味がわからないので、気になる方は上の記事を見てみてください。

ちなみに、対処方法として

個人的な経験ベースですが、連続値目的変数を細かめのビニングで離散化し、そのラベルに対する順序付き分類問題として損失関数を設計すると、割とマシになる印象です。

というのが紹介されていましたが、これは偶然にも私も現場でやってました。他の方も同じ対応に帰着するって、なんか安心しますよね。

ちなみに私がやっていたのは、目的変数を10パーセンタイルごとに分割して、10クラス分類として解いてました。モデルは順序ロジットや順序プロビットを使ってましたね。 あくまでも解釈性が大切なので、いきなり非線形モデルを使うのではなく、最初は順序ロジットで分析してました。ここでのポイントは、あくまでも順序分類として解くことだと思います。これを単なる分類問題として解くのではなく、クラス間に明確な順序性があるからです。パラメータ(偏回帰係数)も、「偏回帰係数がプラスなので、この変数を増やすよう作用すれば次のランクに上がる」など解釈がしやすいはずです。

現場でのこういうテクニックって沢山ありそうですよね。