統計学において、多変量適応回帰スプライン(MARS)は、1991年にジェローム・H・フリードマンによって導入された回帰分析の一形態である。 [ 1 ]これはノンパラメトリック回帰手法であり、線形モデルの拡張として、変数間の非線形性や相互作用を自動的にモデル化するものと考えることができる。
「MARS」という用語は商標登録されており、Salford Systemsにライセンス供与されています。商標権侵害を避けるため、MARSの多くのオープンソース実装は「Earth」と呼ばれています。[ 2 ] [ 3 ]
このセクションでは、いくつかの例を用いてMARSを紹介します。まず、入力変数の行列xと、観測された応答のベクトルyからなるデータセットを用意します。xの各行には応答が1つずつ含まれています。例えば、データは次のようになります。
ここでは独立変数は1つだけなので、x行列は1列だけです。これらの測定値に基づいて、与えられたxに対する期待値yを予測するモデルを構築したいと思います。

上記のデータに対する 線形モデルは次のとおりです。 帽子のは、これはデータから推定されます。右の図はこの関数のグラフを示しています。予測値を表す線です。xに対する変化を示しており、 yの元の値は赤い点で示されています。
xの極値におけるデータは、 yとxの関係が非線形である可能性を示唆しています(xの低値と高値における回帰直線に対する赤い点を参照)。そこで、非線形性を考慮したモデルを自動的に構築するためにMARSを使用します。MARSソフトウェアは、与えられたxとyから次のようにモデルを構築します。

右の図は、この関数の予測値を示しています。xに対するyのグラフを示し、 yの元の値は再び赤い点で示されています。予測された応答は、元のyの値によりよく適合しています。
MARSは、非線形性を考慮するために、予測されたyに自動的に折れ曲がりを生成します。この折れ曲がりは、ヒンジ関数によって生成されます。ヒンジ関数は、で始まる式です。(どこはもし、 それ以外ヒンジ機能については、以下でさらに詳しく説明します。
この簡単な例では、グラフからyとxの間に非線形関係があることが容易にわかります(そして、yはxの2乗に比例すると推測できるかもしれません)。しかし、一般的には独立変数が複数存在し、 yとこれらの変数との関係は不明瞭で、グラフだけでは容易に把握できません。MARSを使用すれば、そのような非線形関係を明らかにすることができます。
複数の変数を含むMARS式の例は次のとおりです。

この式は、気温といくつかの他の変数の関数として大気汚染(オゾン濃度)をモデル化しています。式中の最後の項(最後の行)は、以下の間の相互作用を組み込んでいることに注意してください。そして。
右側の図は予測値をプロットしたものですとしてそして他の変数は中央値に固定し、風は変化する。図は、視界が悪くない限り、風はオゾン濃度に影響を与えないことを示している。MARSはヒンジ関数を組み合わせることで、非常に柔軟な回帰曲面を構築できることがわかる。
上記の式を得るために、MARSモデル構築手順は、使用する変数(重要な変数もあれば、そうでない変数もある)、ヒンジ関数の折れ曲がりの位置、およびヒンジ関数の組み合わせ方を自動的に選択します。
MARSは次のような形式のモデルを構築します。
このモデルは基底関数の 加重和である。 それぞれは定数係数です。例えば、上記のオゾンの式における各行は、基底関数にその係数を乗じたものです。
各基底関数以下の3つの形式のいずれかをとる。
例えば、オゾン生成式の最後の行が挙げられます。

MARSモデルの重要な要素は、次の形式の ヒンジ関数です。 または どこは定数であり、結び目と呼ばれます。右の図は、3.1 に結び目を持つヒンジ関数の鏡像ペアを示しています。
ヒンジ関数はその値域の一部でゼロとなるため、データを互いに素な領域に分割するために使用でき、各領域は独立して処理できます。したがって、例えば、式中の鏡像のヒンジ関数のペアは次のようになります。 前のセクションで示した単純なMARSモデルについて、区分的線形グラフ を作成します。
ヒンジ関数からは区分的線形関数しか形成できないと考えるかもしれないが、ヒンジ関数を掛け合わせることで非線形関数を形成することもできる。
ヒンジ関数は、ランプ関数、ホッケースティック関数、整流関数とも呼ばれます。この記事で使用される表記法では、ヒンジ関数はしばしば次のように表されます。どこポジティブな面を取り上げるという意味です。
MARSは、順方向パスと逆方向パスの2段階でモデルを構築します。この2段階アプローチは、 再帰的分割木で用いられるものと同じです。
MARSは、切片項(応答値の平均)のみで構成されるモデルから始まります。
MARSは、基底関数をペアでモデルに繰り返し追加します。各ステップで、残差平方和の減少が最大となる基底関数のペアを見つけます(貪欲アルゴリズムです)。ペアの2つの基底関数は、それぞれに鏡像ヒンジ関数の異なる側が使用される点を除いて同一です。各新しい基底関数は、モデルに既に存在する項(切片項である可能性があります)に新しいヒンジ関数を乗じたもので構成されます。ヒンジ関数は変数とノットによって定義されるため、新しい基底関数を追加するには、MARSは次のすべての組み合わせを探索する必要があります。
各項の係数を計算するために、MARSは各項に対して線形回帰を適用します。
項を追加するこのプロセスは、残差誤差の変化が小さすぎて継続できなくなるか、または最大項数に達するまで続きます。最大項数は、モデル構築を開始する前にユーザーが指定します。
各ステップでの探索は通常総当たり方式で行われますが、MARS の重要な点は、ヒンジ関数の性質上、高速最小二乗更新手法を使用して探索を迅速に行うことができることです。総当たり探索は、各ステップで考慮される親項の数を減らすヒューリスティック(「高速 MARS」 [ 4 ] ) を使用することで高速化できます。
順伝播では、通常、モデルが過学習を起こします。汎化能力の高いモデルを構築するために、逆伝播では、各ステップで最も効果の低い項を削除してモデルを剪定し、最適なサブモデルを見つけ出します。モデルのサブセットは、後述する一般化交差検証(GCV)基準を用いて比較されます。
後方パスは前方パスに比べて、どのステップでも削除する項を自由に選択できるという利点がある。一方、前方パスは各ステップで次の項のペアしか見ることができない。
順方向パスでは項をペアで追加しますが、逆方向パスでは通常、ペアの片側を破棄するため、最終モデルでは項がペアで表示されないことがよくあります。ペアのヒンジは次の式で確認できます。上記の最初の火星の例では、完全なペアは保持されていません。オゾンの例では、完全なペアは保持されていません。
バックワードパスでは、一般化交差検証(GCV)を使用して異なるモデルのパフォーマンスを比較します。GCVは、赤池情報量規準のマイナーな変種であり、誤差がガウス分布に従う場合、または二乗誤差損失関数が使用される場合の、リーブワンアウト交差検証スコアを近似します。GCVはCravenとWahbaによって導入され、FriedmanによってMARS用に拡張されました。GCVの値が低いほど、モデルが優れていることを示します。GCVの式は次のとおりです。
ここで、RSSは訓練データで測定された残差平方和であり、Nは観測数(x行列の行数)です。
有効パラメータ数は次のように定義されます。
ここで、ペナルティは通常2(赤池情報量規準と同等の結果が得られる)ですが、ユーザーが希望すれば増やすことができます。
ご了承ください
はヒンジ関数のノットの数なので、この式はノットの追加にペナルティを与えます。したがって、GCV式はトレーニングRSSを調整(つまり増加)して、より複雑なモデルにペナルティを与えます。柔軟性が高すぎるモデルは、データの体系的な構造だけでなく、データ内のノイズの具体的な実現をモデル化してしまうため、柔軟性にペナルティを与えます。
既に述べたように、制約の一つとして、ユーザーは順伝播における項の最大数を指定できます。
前方パスには、許容される相互作用の最大度を指定することで、さらに制約を設けることができます。通常は1つまたは2つの相互作用度しか許容されませんが、データがそれを必要とする場合は、より高い度数を使用することもできます。上記の最初のMARSの例では、相互作用の最大度は1(つまり、相互作用なし、または加算モデル)です。オゾンの例では、最大度は2です。
順伝播には、他にも制約を設けることが可能です。例えば、ユーザーは特定の入力変数に対してのみインタラクションを許可するように指定できます。このような制約は、データ生成プロセスに関する知識に基づいているため、理にかなっていると言えるでしょう。