SIGNATE マイナビコンペ2019 面積-築年数について

なんか初心者特有の謎特徴量を作ったら、一体これは何を表してるんだ的な話をTwitterでちょくちょく見たので、その有効性とかを軽く検証しようと思った次第です。
"くろすばりでーしょん"とか"ゆうこうすうじ"とか気にしてないのでその程度です。

結論は何もわかりませんでしたが、とりあえず有効そうってのはなんとなく確認できました。

分布の確認

f:id:MosaasoM:20191113095535p:plain
面積と賃料の散布図
f:id:MosaasoM:20191113095557p:plain
面積-築年数と賃料の散布図

上の画像が、面積と賃料の関係、下が面積-築年数後の賃料との関係です。
雰囲気ながめる限りだと、平べったく、非線形になった気がします。

相関係数

次に相関係数を確認してみます。

f:id:MosaasoM:20191113100121p:plain

相関係数は微妙に悪化してますが、まぁそんなに気にするほどの変化じゃないと思います。

線形回帰とXGBoostで確認

そしたらそれぞれに線形回帰及び適当なXGBoost Regressor(コンペで一番メインに使用)で回帰して決定係数とかを見てみようと思います。

f:id:MosaasoM:20191113101653p:plain

この通り、XGBoostのときのみスコア、決定係数に結構改善します。非常に単純化した状況下とはいえ有効性はありそうです。

より減価償却っぽいモデル

ところで、減価償却を考えるなら、単純にひくというより、年数によって割合で減っていってほしいので、それをなんとなく実装してみます。
まぁ面積に減価償却を反映するとかいう意味わからないことをするのにはかわりませんが…
ただ、ここで減価償却と家賃が減るタイミングはおそらく同一ではない(契約の更新のタイミングで変わるはず)ということを考慮し、floor(築年数/2)をもとに減価償却を考えることとします。

モデルは上の結果からXGBoost,減価償却は2年ごとに0.1%〜2%までとって2乗誤差的に良さそうなのを拾ってくることとします。 結果としては2年毎に1.8%の償却をかけるときがいい感じでした。 つまりは

面積×(1-0.18*(築年数//2))

ということです。

その時のR2と二乗誤差がこちら

f:id:MosaasoM:20191113111302p:plain

分布はこちら f:id:MosaasoM:20191113111709p:plain

うーーん何もわからないですけど、築年数による償却みたいな影響を考慮できてスコアがちょっと伸びるってのは良い気がします。

f:id:MosaasoM:20191113112454p:plain

最後に適当に分布重ねて見ましたが、うーーん引き算したモデルは結構分布変わってる雰囲気があるので改善するのも理解できますが…

一体機械学習くんはどこを見ているんだ…