はじめに
『Pythonによるはじめての地理空間データサイエンス』の独学時のまとめノートです。「導出編」「実装編」「可視化編」の三部構成でモデルやアルゴリズムの理解を目指します。
本の内容から寄り道・回り道しながら進めます。本を読んだ上で補助的に読んでください。
この記事では、SEMの漸近分散共分散行列について、数式を使って解説します。
【前の内容】
【他の内容】
【今回の内容】
0.2.2 空間誤差モデル(SEM)の漸近分散共分散行列の導出
空間誤差モデル(SEM・Spatial Error Model)における漸近分散共分散行列(asymptotic variance-covariance matrix)を導出します。
SEMの定義式については「【Python】0.1.3:空間誤差モデル(SEM)の定義式【はじめての地理空間DSのノート】 - からっぽのしょこ」を参照してください。
モデルの確認
まずは、SEMの定義(仮定)を数式で確認します。
空間重み行列については「空間重み行列の定義式」、多変量正規分布については「多次元ガウス分布の定義式 - からっぽのしょこ」を参照してください。
定義式
SEMの定義式については「SEMの定義式」を参照してください。
SEMは、次の式で定義されます。
ここで、 は地域
の説明変数(
次元ベクトル)、
は
個の地域の説明変数(
の行列)、
は地域
の被説明変数(スカラ)、
は
個の地域の被説明変数(
次元ベクトル)、
は回帰パラメータ(
次元ベクトル)、
は地域
の独立誤差項(スカラ)、
は
個の地域の独立誤差項(
次元ベクトル)、
は地域
の空間誤差項(スカラ)、
は
個の地域の空間誤差項(
次元ベクトル)、
は地域
に関する重み(
次元ベクトル)、
は 空間重み行列(
の行列)、
は空間パラメータ(スカラ)です。
独立誤差項 は、平均ベクトル
・分散共分散行列
の多変量正規分布に従うと仮定します。
ここで、 は分散パラメータ(スカラ)です。
計算式
SEMに関する計算式については「SEMの定義式」を参照してください。
空間自己回帰に関する項について、次のようにおきます。
定義式(0.36)を被説明変数 について整理すると、次の式になります。
定義式(0.36)を独立誤差項 について整理すると、次の式となります。
尤度関数
SEMの尤度関数については「SEMの尤度関数の導出」を参照してください。
SEMのパラメータ をまとめて、パラメータベクトル
とします。
尤度関数 は、次の式となります。
ここで、 は行列式です。
対数尤度関数は、次の式となります。
ヘッセ行列
SEMのヘッセ行列については「SEMのヘッセ行列の導出」を参照してください。
ヘッセ行列は、次の式となります。
以上の式を用いて漸近分散共分散行列を求めます。
スポンサードリンク
漸近分散共分散行列の導出
次は、SEMの対数尤度関数の漸近分散共分散行列を導出します。
フィッシャー情報行列の設定
対数尤度関数のフィッシャー情報行列を確認します。
対数尤度関数 のヘッセ行列の負の期待値を求めます。ヘッセ行列
の負の期待値をフィッシャー情報行列
と呼びます。
途中式の途中式(クリックで展開)
- 1: 式(6)の符号を反転した期待値の式を立てます。
- 2: 行列の要素を明示します。
- 3: 行列の期待値を、期待値の行列に変形します。
フィッシャー情報行列の各要素は、ヘッセ行列の各要素(各パラメータ の組み合わせによる偏微分)の期待値で求まるのが分かります。
フィッシャー情報行列(6)の各要素の式を求めていきます。
回帰・回帰パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(7)の1行1列目の要素は、対数尤度関数の空間パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.42)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値を外します。
フィッシャー情報行列(7)の1行1列目の要素の式が得られました。
回帰・分散パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータと分散パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(7)の1行2列目の要素は、対数尤度関数の回帰パラメータ と分散パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.43)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3:
の期待値に、式(8)を代入します。
誤差項 の期待値をとります。
途中式の途中式(クリックで展開)
- 1: ベクトルの要素を明示します。
- 2: ベクトルの期待値を、期待値のベクトルに変形します。
- 3: SEMの定義(0.12.b)より、誤差項の平均
で置き換えます。
- 3-4: 0ベクトルとなります。
以上で、フィッシャー情報行列(7)の1行2列目の要素の式が得られました。
回帰・空間パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータと空間パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(7)の1行3列目の要素は、対数尤度関数の回帰パラメータ と空間パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.44)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 括弧を展開します。
- 3: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値の和に分割します。
- 4:
の期待値に、式(9)を代入します。
- 4: 期待値の性質
より、期待値を外します。
被説明変数 の期待値をとります。
途中式の途中式(クリックで展開)
- 1:
に、式(3)を代入します。
- 2: 期待値の性質
より、期待値の和に分割します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
の期待値に、式(8)を代入します。
フィッシャー情報行列(7)の1行3列目の要素の式が得られました。
分散・分散パラメータによる偏微分の期待値
対数尤度関数の分散パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(7)の2行2列目の要素は、対数尤度関数の分散パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.45)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値の和に分割します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
の内積の期待値に、式(10)を代入します。
の内積の期待値をとります。
途中式の途中式(クリックで展開)
- 1: トレースの性質
より、内積をトレースに置き換えます。
- 2: トレースの性質
より、トレースと期待値の順番を入れ換えます。
- 3:
の積の期待値に、式(11)を代入します。
- 4: トレースの性質
より、係数をトレースの外に出します。
- 5: トレースの性質
より、トレースが対角要素数になります。
誤差項 の積の期待値をとります。
途中式の途中式(クリックで展開)
- 1: ベクトルの要素を明示します。
- 2: ベクトルの積を計算します。
- 3: 行列の期待値を、期待値の行列に変形します。
- 4: SEMの定義(0.12.b)より、誤差項の分散
、共分散
で置き換えます。
- 5-6:
と単位行列の積になります。
以上で、フィッシャー情報行列(6)の2行2列目の要素の式が得られました。
分散・空間パラメータによる偏微分の期待値
対数尤度関数の分散パラメータと空間パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(7)の2行3列目の要素は、対数尤度関数の分散パラメータ と空間パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.46)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 2:
に、式(3)を代入します。
- 3: 括弧を展開します。
- 4:
を、式(2)で置き換えます。
- 5:
の二次形式の期待値に、式(12)を代入します。
の二次形式の期待値をとります。
途中式の途中式(クリックで展開)
- 1: トレースの性質
より、二次形式をトレースに置き換えます。
- 2: トレースの性質
より、トレースと期待値の順番を入れ換えます。
- 3: 期待値の性質
より、係数を期待値の外に出します。
- 4:
の積の期待値に、式(11)を代入します。
- 5: トレースの性質
より、係数をトレースの外に出します。
以上で、フィッシャー情報行列(7)の2行3列目の要素の式が得られました。
空間・空間パラメータによる偏微分の期待値
対数尤度関数の空間パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(7)の3行3列目の要素は、対数尤度関数の空間パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.47)より、式(7)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値の和に分割します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
などの二次形式の期待値に、式(13)を代入します。
- 4: トレースの性質
より、トレース内の行列の積の順番を入れ換えます。
- 4:
を、式(2)で置き換えます。
トレースの項は、次のように変形できます。
- 5: トレースの性質
より、トレースをまとめます。
- 6:
を括り出します。
などの二次形式の期待値をとります。
途中式の途中式(クリックで展開)
- 1:
を掛けます。
- 2:
と括弧の積を、式(4)で置き換えます。
- 2:
を、式(2)で置き換えます。
ただし、次のように変形しています。
転置の性質 より、変形しています。
- 3:
の二次形式の期待値に、式(14)を代入します。
の二次形式の期待値をとります。
途中式の途中式(クリックで展開)
を1つの行列とみなして、式(11)と同様に変形します。
以上で、フィッシャー情報行列(7)の3行3列目の要素の式が得られました。
フィッシャー情報行列
対数尤度関数のフィッシャー情報行列を求めます。
フィッシャー情報行列(7)の各要素をそれぞれの式(0.48)(0.49)(0.50)(0.51)(0.52)(0.53)と置き換えます。
フィッシャー情報行列の式が得られました。
漸近分散共分散行列
漸近分散共分散行列を求めます。
対数尤度関数 のフィッシャー情報行列の逆行列を求めます。フィッシャー情報行列
の逆行列(ヘッセ行列
の負の期待値の逆行列)を漸近分散共分散行列
と呼びます。
以上で、対数尤度関数の漸近分散共分散行列の式が得られました。
この記事では、SEMの漸近分散共分散行列を数式で確認しました。次の記事では最尤法を数式で確認します。
参考文献
おわりに
SLMと比べて、ヘッセ行列の式はSEMの方が複雑でしたが、漸近分散共分散行列の式はSEMの方がシンプルになって面白かったです。未だに何に使うのか全然分からな行列ですが、やっといてよかったです。
行列AまたはAの逆行列が、yの式でεとXβの両方に掛かるのか、εの式でyとXβの両方に掛かるのか、この2つの違いがSLMとSEMの異なる点であり、どの式が複雑になるのかに影響してるようですね。
最後に、Juice=Juiceの楽曲をどうぞ♪
夜明けに夢を見た日⚽
【次の内容】
SEMの最尤推定を数式で確認します。
