CV vs LB

CVとLBに少し乖離があるのですが、皆様はどうでしょうか?

KFold(n_splits=5)

CV: 252.24851
LB: 287.63817

Aws4 request&x amz signedheaders=host&x amz signature=2fd36da5c0654106d73883e315e63478bd10a996c42137e52bb26d5c7bc403b2
Akahachi

自分も結構な乖離があります。
CV: 249.01
LB: 303.58

  • pd.qcut(train['LOAN_AMOUNT'],10) でStratifiedKFold(5)
  • 対数変換したLOAN_AMOUNTを損失関数、評価関数ともにMSE(≠MAE)としてLightGBMで回帰

地域的変数群(Country, Currency, Language, Town)とローン内容変数群(Description, LOAN_USE, TAGS, Sector, Activity)それぞれの変数群内での内容の重複や包含関係をうまく整理できていないので過学習しているのかな、と思っています

Aws4 request&x amz signedheaders=host&x amz signature=ff3a02699e19f7ecd119cc23731884b52f6b5d3163e33db8ecf1ba0cc9182e45
maruyama

CV:230前後、LB:270前後

乖離の一番の要因は、テスト期間が長いために遠い将来の予測が外れがちになることだと思います。
以下に私の仮説を書きますが、どれを解消するにもテストデータに寄せるような調整が必要です。
リークの問題があるため、チーティングを疑われないよう乖離の解消はあきらめてCVを信じるのが賢明かなと思っています。

  • kiva自身の変化
    • 為替リスクプログラムの変更 (為替変動による損失を誰が負担するか)
      • ~2019年8月
        • 全額借り手負担 (通貨方針:standard、通貨交換レート:NA)
        • or 借り手負担10% (通貨方針:shared、通貨交換レート:0.1)
      • 2019年8月~
        • 全額借り手負担 (通貨方針:standard、通貨交換レート:NA)
        • or 借り手負担10% (通貨方針:shared、通貨交換レート:0.1)
        • or 借り手負担なし (通貨方針:shared、通貨交換レート:0.0) ← NEW
      • 為替リスクを加味した金額を設定しているとしたら、選択するオプションによって金額が違うはずです。
    • 各地域で使われる為替リスクプログラムの変化
      • 借り手負担なしオプションは適用地域を徐々に拡大しているようで、訓練データとテストデータでかなり分布が違います。
      • 逆に、借り手負担10%を卒業して全額借り手負担へ移行する地域もあります。
    • kiva導入地域の変化
      • kivaの導入を拡大する地域、徐々にkivaを卒業する地域があるようで、訓練データとテストデータでかなり分布が違います。
  • kivaを取り巻く環境の変化
    • コロナ禍
      • 訓練期間はコロナ禍前、テスト期間はコロナ禍以降です。
      • kiva.orgではコロナ関連の特集ページを設けており、コロナ関連か否かで融資の集まりやすさが違っているはずです。
    • 為替変動
      • 融資はドル建てで募っていますが、最終的には現地通貨に換える必要があるため、融資額は為替の影響を受けます。
      • 為替リスクプログラムを用意しないと安心して融資を受けられないほど、短期間で大きく為替が動く地域が含まれています。
      • 2年も経過したら為替レートは大幅に変わっているはずです。
Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。