0.48を目指すための意見交換
はじめに
数日前から参加し始めましたが,0.49からスコアが伸び悩んでいるので意見交換がしたいなと思い,トピックを作りました.
アイデアの交換などができたらと思っているので,いろいろコメントもらえたら嬉しいです!
本コンペの特徴?
概要に
「今回のコンペでは、学習データの一部に目的変数(被引用数)が含まれておらず、代わりにDigital Object Identifier(DOI)により計算された低精度被引用数が代替変数として付与されています。
現実世界の問題においては必ずしも充分な量の教師データを用意できるとは限らず、そのような場合においては弱教師あり学習が1つの有効な手段となります。
本コンペを通して弱教師ありにおけるモデル開発に親しんでいただければ幸いです。」
と書いてあるので,これが本コンペの特徴の一つだと思います.
自分自身はこの説明を読んだ当初,低精度被引用数(以降'doi_cites')を擬似的な目的変数として重みを調整しながら学習させるのかなと考えていました.
しかし,投稿されているトピックに目を通したところ'doi_cites'は説明変数に使用し,学習に使用するのは本来の目的変数である'cites'が存在するデータのみを用いていました.
実際,自分自身も説明変数に'doi_cites'を追加したところ,CV, LBともに大幅に改善されました.
相関
とりあえず'doi_cites'と'cites'の相関を計算すると0.944でした.
対数変換(log1p)したものを図示したものが以下の図で,相関があることが見て取れます.
気が付いた点
学習データに使用できる'cites'の最小値が1である.
しかし世の中には,一度も引用されない論文が大量にあるはずなので,故意的に引用数が0の論文は除外されている.
学習データに使用できるデータ,テストデータ,それ以外のデータ('cites'はないが,テストデータにないもの)の各々の'doi_cites'の分布は以下のようになりました.
学習データとテストデータである青と緑の分布はほぼ一致していますが,それ以外のデータであるオレンジの分布は,'doi_cites'が小さいものの比率が非常に多くなっているようです.
このことから,'cites'のないデータには,真の'cites'の値が0のものが大量に含まれている可能性があるかもと考えています.
また,テストデータは,ある程度コンペが盛り上がるように意図的に学習データに似たような分布のデータが選択されている可能性があるのかなと思っています.
考察
学習データ,テストデータ,その他のデータの割合は,15117, 59084, 836407となっているため,大量にあるその他のデータをうまく活用したいところですが,目的変数と相関の強い'doi_cites'の分布が上に示したように異なっているので,擬似目的変数を新たに作成して学習データとして利用するにも,工夫が必要かなと思っています.
例えば,'doi_cites'の分布が同様な分布になるようにサンプリングして利用するなど.
関連する文献
少し調べましたが,多くの文献が論文の引用数を利用していました.
このあたりがとても読みやすかったです.
論文の引用情報を用いた論文被引用数予測
最後に
本コンペは,引用数の情報がないようなものなので('comments'にたまに記載されているけど,数が非常に少ない),特徴量作りにかなり苦戦しています.
また,'doi_cites'は'doi'の情報を利用して計算しているようなので,'doi'を/で分割した先頭部分を使って特徴量作るのは,あまり意味がないのかなと思っているのですが,どうなのでしょうか?
そうなると,残ったデータで直感的に論文の被引用数に大きく影響を与えるのは,著者情報である気がしています.
しかし,著者名は表記揺れがあったりするので,このあたりをどう工夫するべきかを迷っています.