局所回帰

提供: testwiki
ナビゲーションに移動 検索に移動

<templatestyles src="Module:Sidebar/styles.css"></templatestyles>

LOESS curve fitted to a population sampled from a sine wave with uniform noise added. The LOESS curve approximates the original sine wave.

局所回帰(きょくしょかいき、テンプレート:Lang-en)または局所多項式回帰(きょくしょたこうしきかいい、テンプレート:Lang-en)は、移動回帰(いどうかいき、テンプレート:Lang-en)とも呼ばれ、移動平均多項式回帰を一般化したものであるテンプレート:Sfn

概要

局所回帰の最も一般的な方法がLOESS (locally estimated scatterplot smoothing) およびLOWESS (locally weighted scatterplot smoothing) であり、いずれも テンプレート:IPAc-en と発音される。いずれもノンパラメトリック回帰の手法であり、多数の回帰モデルをK近傍法に基づくメタモデルで組み合わせる。

LOESSは、線形最小二乗回帰の単純さと非線形回帰の柔軟性の多くを兼ね備えている。グローバルな関数を指定する必要はなく、データの局所的部分集合localized subsets of dataに単純なモデルを当てはめればよい。最小二乗回帰と比較すると計算量は膨大である。この統計手法で得られる滑らかな曲線は、loess曲線ないしlowess曲線と呼ばれる。

モデルの定義

1964年、SavitskyとGolayがLOESSと等価な手法を提案し、Savitzky–Golayフィルタと呼ばれるようになった。1979年、William S. Clevelandがこの手法を再発見し、別の名前を付けた。1988年、ClevelandとSusan J. Devlinが、この手法をさらに発展させた。

データセットの範囲内の各ポイントで、低次の局所多項式がデータの部分集合にフィットされる。多項式は、応答が推定されるポイントに近くのポイントに重みを与える、重み付き最小二乗法を用いてフィットされる。各データ点のそれぞれについて回帰関数の値が計算されたところで、LOESSのフィットが完了する。

データの局所的部分集合

LOESSの重み付き最小二乗法によるフィッティングに使用されるデータの部分集合は最近傍アルゴリズムによって決定される。平滑化パラメータαは、各局所多項式を適合させるために、どのくらいの割合のデータを使用するかを決定する。

k次の多項式のフィッティングにはk + 1 以上のポイントが必要であるため、平滑化パラメータαは、(λ+1)/nと1の間にある必要がある。ここで、λは局所多項式の次数を示す。αが小さいほど回帰関数がデータに近くなるが、データの変動に伴うブレが大きくなる。

局所多項式の次数

局所多項式は、ほとんどの場合、1次か2次である。より高次の多項式は理論的には有効であるが、「どんな関数も局所では低次の多項式で近似できる」というLOESS の精神にはそぐわないし、過剰適合のリスクがある。

重み関数

重み関数は、説明変数空間において推定点に近いデータ点に最も大きな重みを与え、最も遠いデータ点に最も小さな重みを与える。

伝統的には三次元重み関数が用いられる。

w(x)=(1|d|3)3

ここで、dはデータポイント間の距離で、0から1の範囲にスケーリングされる。

ターゲット空間m上の計量w(x,z) x,znによる線形回帰の一般化を考える。xx^:=(1,x) により n個の入力パラメータをn+1に埋め込んで、次の損失関数を考える。

RSSx(A)=i=1N(yiAx^i)Twi(x)(yiAx^i).

ここで、Am×(n+1) の実行列であり、wi(x):=w(xi,x)と定義される。添え字iは訓練データの入出力のベクトルを示す。wは計量なので対称な正定値行列であり、w=h2を満たす対称行列hが存在する。損失関数は次のように変形できる。yTwy=(hy)T(hy)=Tr(hyyTh)=Tr(wyyT)ベクトルyim×N型の行列Y、ベクトルx^i (n+1)×N型の行列X^とすることで、損失関数は次のように変形できる。

Tr(W(x)(YAX^)T(YAX^))

ここで、WN×N対角行列であり、 その成分はwi(x)である。Aに関して微分した値をゼロとすることで

AX^W(x)X^T=YW(x)X^T.

さらに、正方行列X^W(x)X^T可逆行列であるとき、損失関数RSSx(A)は下記で最小値を取る。

A(x)=YW(x)X^T(X^W(x)X^T)1.

w(x,z)として、主にガウス関数が選択される。

w(x,z)=exp(xz22α2)

利点

平滑化パラメータと局所多項式の次数を与えるだけで、モデルをサンプルデータに柔軟に適合させることができる。

欠点

局所的なデータ構造に基づいてフィッティングするため、充分な大きさの標本が必要である。また、数式で簡単に表現できる回帰関数を生成しないため、分析結果を他者に伝えることが困難である。また、他の最小二乗法と同様に、外れ値の影響を受けやすい。

脚注

テンプレート:脚注ヘルプ

出典

テンプレート:Reflist

関連項目

外部リンク

実装

テンプレート:NIST-PD