機械学習による業績・財務分析(メルカリ・Sansan・mixiなど)

2018年6月に上場したメルカリ、2019年6月に上場したSansanなどITベンチャー企業の大型IPOが注目されていますが、財務指標の観点で、それらの企業と類似した企業は他にもあるのでしょうか?

前回の記事「マザーズ上場企業の財務分析・ランキング(売上、利益、ROE、従業員数など)」に使用した財務データ(2019年6月時点)と機械学習を使って、マザーズ上場企業について類似する企業をクラスタリングしてみました。

クラスタリングは、財務分析によく用いられる成長性、収益性、安全性の3つの観点で行ないます。具体的な特徴量は以下の通りです。

①成長性

売上成長率、ROA成長率

②収益性

営業利益率、当期純利益率、ROE、ROA

③安全性

自己資本比率、流動比率、固定比率

クラスタリングの手法としては、K-means法(k平均法)とVBGMM(Variational Bayesian Gaussian Mixture Model)を試しました。

類似する企業結果についてご興味ある方は、この1ページ目は飛ばして、2ページ目をご覧ください。

K-means法でのクラスタリング数の決定

まず、K-means法におけるクラスタリング数を決定するために、クラスタ数と歪み(クラスタ内誤差平方和)をプロットしていきます。

教科書的なサンプルデータであれば、もっと角のあるプロット線になり、最適なクラスタリング数(歪みが急降下する部分と緩やかに降下する部分の境界点)が見つかるのですが、上図では全体的に滑らかなプロット線となってしまいました。

滑らかなため境界点が曖昧になってしまうのですが、10〜15あたりのクラスタ数が良さそうでしょうか。

次に、クラスタ数を横軸に、シルエット係数の平均値を縦軸にプロットしていきます。

シルエット係数の平均値が1であれば、良いクラスタリングと言えますが、今回の結果はあまり良い結果とは言えなさそうです。その中でもクラスタ数が15の時、もっともシルエット係数の平均値が高いため、今回のK-means法ではクラスタ数を15に設定して、クラスタリングします。

VBGMMにおけるクラスタ数の決定

もう一つのクラスタリング手法として、VBGMM(Variational Bayesian Gaussian Mixture Model)も使ってみます。

横軸にクラスタ数、縦軸に各クラスタ数に属する確率を図示すると、クラスタ数2、5、17の確率が高いことが分かります。わずかですがクラスタ数17の確率がもっとも高かったことと、企業をある程度細かいクラスタリングで分析したかったため、VBGMMではクラスタ数を17でクラスタリングします。

t-SNEによる次元圧縮と可視化

今回、クラスタリングに用いる特徴量は9つ(売上成長率、ROA成長率、営業利益率、当期純利益率、ROE、ROA、自己資本比率、流動比率、固定比率)あり、このままではクラスタリングした企業群を可視化(図示)できないため、t-SNEによって次元圧縮し、可視化しました。

色別に各クラスタを表示していますが、同じ色同士が近くに固まっていることが分かります。

こちらはK-means法によってクラスタリングしたものをt-SNEによって次元圧縮および可視化した図です。VBGMMと類似したクラスタリングになっていることが分かります。

次ページでは実際にVBGMMでクラスタリングした企業群の一部を見ていきます。