Hero Image
スパースモデリング技術

1. 少ないデータで分析できるAIソリューション ディープラーニング1では、多くのデータから統計的に本質部分を捉えることを目指すが、スパースモデリング技術では少ないデータで本質に近づくことです。 意思決定者が求めるデータを集め分析できる資料を提示するためには多大な労力が必要であるが、スパースモデリング技術を用いることで迅速に資料作成が可能となり、結果、業務改善に役立てることができます。 スパースモデリング技術も「相関の強い説明変数が別にある場合、どちらか一方しか抽出できない」「線形回帰がベースなので、非線形の関係がある説明変数は抽出できない」という欠点はありますが、ビジネスで活用するには陳腐化しないデータによるスピーディーな分析ができることは大きなアドバンテージとなります。 2. 機械学習とスパースモデリング 2-1. 機械学習について 「来客数、気温、天気や立地から売上を予測したい」というテーマを「勘と経験」に頼らなくシステム化する場合機械学習を用いれば「売上予測」に対して入力と結果に潜む関連性を機械に学び取らせることで予測や分類といったタスクを実行するシステムを作ることができます。 機械学習と通常のシステムの違いは、機械学習のシステムは「間違えることがある」ということです。ここで、通常のシステムでは不具合を修正することができますが、機械学習のシステムでは説明が困難です。 以下のケースでは、機械学習のシステムには向きません。 データを集めるのにコストや時間がかけられない。 結果に対する説明が求められる。 2-2. スパースモデリングについて 「データが少ない」状況でも「解釈性の高い」結果を導き出すことができます。 数学の理論に裏打ちされているので安心できます。 特性 スパースモデリングAIは、少量データでも高精度ソリューションの提供ができます。 結論にいたった根拠もフィードバックができるので、次の展開への応用が可能です。 2-3. スパースモデリングの手法Lasso データが少なく説明責任が求められる状況に力を発揮するスパースモデリングの中には、様々な手法があります。 スパースモデリングの代表的な手法であるLASSOについて確認します。 ベースは次の線形回帰2の式となります。 $$y_{i} = β_{1}x_{1} + \cdot\cdot\cdot + β_{p}x_{n} + ε$$ 3. スパースモデリングの手法Lasso 対象のデータ(x,y)から各βを算出してモデルを作成するのですが、xの変数が非常に多いがデータ点数が少ない場合は、各βを算出することが数理的にできません。 このような場合、「目的変数に関与するのは僅かな説明変数のみ(スパース性という)」という仮定を置くことで、絞り込んだ目的変数についてのβを算出することができます。 これを解くための統計理論を*Lasso(L1正則化)*と言います。 Lassoの特徴 データレコード数よりデータ種類数(変数)が多い場合(p>n)でも、解くことができる。 変数の絞り込みや係数の重みより、重要なデータの種類が何かが直感的に理解可能である。 次のような状況を解決してくれる事が期待できます。 データの種類はたくさんあるがデータ点数は十分にない。その場合でも解析できる。 多くのデータ種の中から、予測において重要なデータ種のみを知る事ができる。 4. R言語を用いての実装 R言語でLASSOについてはglmnet、HMLassoについてはhmlassoというパッケージをインストールします。 # Install package for Lasso if(!require("glmnet")){ install.packages("glmnet", dependencies = T) } # Install package for HMLasso if(!require("hmlasso")){ install.packages("hmlasso", dependencies = T) } 5.