はじめに
『Pythonによるはじめての地理空間データサイエンス』の独学時のまとめノートです。「導出編」「実装編」「可視化編」の三部構成でモデルやアルゴリズムの理解を目指します。
本の内容から寄り道・回り道しながら進めます。本を読んだ上で補助的に読んでください。
この記事では、空間ラグモデルの漸近分散共分散行列について、数式を使ってを使って解説します。
【前の内容】
【他の内容】
【今回の内容】
0.2.1 空間ラグモデル(SLM)の漸近分散共分散行列の導出
空間ラグモデル(SLM・Spatial Lag Model・空間自己回帰モデル・SARモデル・Spatial Autoregressive Model)における漸近分散共分散行列(asymptotic variance-covariance matrix)を導出します。
SLMの定義式については「【Python】0.1.2:空間ラグモデル(SLM)の定義式【はじめての地理空間DSのノート】 - からっぽのしょこ」を参照してください。
モデルの確認
まずは、SLMの定義(仮定)を数式で確認します。
空間重み行列については「空間重み行列の定義式」、多変量正規分布については「多次元ガウス分布の定義式 - からっぽのしょこ」を参照してください。
定義式
SLMの定義式については「SLMの定義式」を参照してください。
SLMは、次の式で定義されます。
ここで、 は地域
の説明変数(
次元ベクトル)、
は
個の地域の説明変数(
の行列)、
は地域
の被説明変数(スカラ)、
は
個の地域の被説明変数(
次元ベクトル)、
は回帰パラメータ(
次元ベクトル)、
は地域
の誤差項(スカラ)、
は
個の地域の誤差項(
次元ベクトル)、
は地域
に関する重み(
次元ベクトル)、
は 空間重み行列(
の行列)、
は空間パラメータ(スカラ)です。
誤差項 は、平均ベクトル
・分散共分散行列
の多変量正規分布に従うと仮定します。
ここで、 は分散パラメータ(スカラ)です。
計算式
SLMに関する計算式については「SLMの定義式」を参照してください。
空間自己回帰に関する項について、次のようにおきます。
定義式(0.12.a)を被説明変数 について整理すると、次の式となります。
尤度関数
SLMの尤度関数については「【Python】0.2.1:空間ラグモデル(SLM)の尤度関数の導出【はじめての地理空間DSのノート】 - からっぽのしょこ」を参照してください。
SLMのパラメータ をまとめて、パラメータベクトル
とします。
尤度関数 は、次の式となります。
ここで、 は行列式です。
対数尤度関数は、次の式となります。
ヘッセ行列
SLMのヘッセ行列については「【Python】0.2.1:空間ラグモデル(SLM)のヘッセ行列の導出【はじめての地理空間DSのノート】 - からっぽのしょこ」を参照してください。
ヘッセ行列は、次の式となります。
以上の式を用いて漸近分散共分散行列を求めます。
スポンサードリンク
漸近分散共分散行列の導出
次は、SLMの対数尤度関数の漸近分散共分散行列を導出します。
フィッシャー情報行列の設定
対数尤度関数のフィッシャー情報行列を確認します。
対数尤度関数 のヘッセ行列の負の期待値を求めます。ヘッセ行列
の負の期待値をフィッシャー情報行列
と呼びます。
途中式の途中式(クリックで展開)
- 1: 式(5)の符号を反転した期待値の式を立てます。
- 2: 行列の要素を明示します。
- 3: 行列の期待値を、期待値の行列に変形します。
フィッシャー情報行列の各要素は、ヘッセ行列の各要素(各パラメータ の組み合わせによる偏微分)の期待値で求まるのが分かります。
フィッシャー情報行列(6)の各要素の式を求めていきます。
回帰・回帰パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(6)の1行1列目の要素は、対数尤度関数の空間パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.24)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値を外します。
フィッシャー情報行列(6)の1行1列目の要素の式が得られました。
回帰・分散パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータと分散パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(6)の1行2列目の要素は、対数尤度関数の回帰パラメータ と分散パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.25)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3:
の期待値に、式(7)を代入します。
誤差項 の期待値をとります。
途中式の途中式(クリックで展開)
- 1: ベクトルの要素を明示します。
- 2: ベクトルの期待値を、期待値のベクトルに変形します。
- 3: SLMの定義(0.12.b)より、誤差項の平均
で置き換えます。
- 3-4: 0ベクトルとなります。
以上で、フィッシャー情報行列(6)の1行2列目の要素の式が得られました。
回帰・空間パラメータによる偏微分の期待値
対数尤度関数の回帰パラメータと空間パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(6)の1行3列目の要素は、対数尤度関数の回帰パラメータ と空間パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.26)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3:
の期待値に、式(8)を代入します。
- 4:
を、式(2)で置き換えます。
被説明変数 の期待値をとります。
途中式の途中式(クリックで展開)
- 1:
に、式(3)を代入します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 2: 期待値の性質
より、期待値の和に分割します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
の期待値に、式(7)を代入します。
フィッシャー情報行列(6)の1行3列目の要素の式が得られました。
分散・分散パラメータによる偏微分の期待値
対数尤度関数の分散パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(6)の2行2列目の要素は、対数尤度関数の分散パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.27)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値の和に分割します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
の内積の期待値に、式(9)を代入します。
の内積の期待値をとります。
途中式の途中式(クリックで展開)
- 1: トレースの性質
より、内積をトレースに置き換えます。
- 2: トレースの性質
より、トレースと期待値の順番を入れ換えます。
- 3:
の積の期待値に、式(10)を代入します。
- 4: トレースの性質
より、係数をトレースの外に出します。
- 5: トレースの性質
より、トレースが対角要素数になります。
誤差項 の積の期待値をとります。
途中式の途中式(クリックで展開)
- 1: ベクトルの要素を明示します。
- 2: ベクトルの積を計算します。
- 3: 行列の期待値を、期待値の行列に変形します。
- 4: SLMの定義(0.12.b)より、誤差項の分散
、共分散
で置き換えます。
- 5-6:
と単位行列の積になります。
以上で、フィッシャー情報行列(6)の2行2列目の要素の式が得られました。
分散・空間パラメータによる偏微分の期待値
対数尤度関数の分散パラメータと空間パラメータに関する微分の期待値を求めます。
フィッシャー情報行列(6)の2行3列目の要素は、対数尤度関数の分散パラメータ と空間パラメータ
に関する微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.28)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3:
に、式(3)を代入します。
- 4:
を、式(2)で置き換えます。
- 5: 括弧を展開します。
- 6: 期待値の性質
より、期待値の和に分割します。
- 7:
の期待値に、式(7)を代入します。
- 7:
の二次形式の期待値に、式(11)を代入します。
の二次形式の期待値をとります。
途中式の途中式(クリックで展開)
- 1: トレースの性質
より、二次形式をトレースに置き換えます。
- 2: トレースの性質
より、トレースと期待値の順番を入れ換えます。
- 3: 期待値の性質
より、係数を期待値の外に出します。
- 4:
の積の期待値に、式(10)を代入します。
- 5: トレースの性質
より、係数をトレースの外に出します。
以上で、フィッシャー情報行列(6)の2行3列目の要素の式が得られました。
空間・空間パラメータによる偏微分の期待値
対数尤度関数の空間パラメータに関する2階微分の期待値を求めます。
フィッシャー情報行列(6)の3行3列目の要素は、対数尤度関数の空間パラメータ に関する2階微分の期待値をとって求まります。
途中式の途中式(クリックで展開)
- 1: 式(0.29)より、式(6)の
成分の期待値の式を立てます。
についての期待値なので、
以外の項は定数として扱います。
- 2: 期待値の性質
より、期待値の和に分割します。
- 2: 期待値の性質
より、係数を期待値の外に出します。
- 3: 期待値の性質
より、期待値を外します。
- 3:
の二次形式の期待値に、式(12)を代入します。
- 4: トレースの性質
より、トレース内の行列の積の順番を入れ換えます。
- 4:
を、式(2)で置き換えます。
トレースの項は、次のように変形できます。
- 4: 括弧を展開します。
- 5: トレースの性質
より、トレースをまとめます。
- 6:
を括り出します。
の二次形式の期待値をとります。
途中式の途中式(クリックで展開)
- 1:
に、式(3)を代入します。
- 2:
を、式(2)で置き換えます。
ただし、次のように変形しています。
- 3: 転置の性質
より、括弧を展開します。
- 4: 転置の性質
より、括弧を展開します。
- 4: 中2つの項は二次形式(スカラ)なので、転置できます。
2つの項が一致するのでまとめます。
- 5: 期待値の性質
より、期待値の和に分割します。
- 5: 期待値の性質
より、係数を期待値の外に出します。
- 6: 期待値の性質
より、期待値を外します。
- 6:
の期待値に、式(7)を代入します。
- 6:
の二次形式の期待値に、式(13)を代入します。
の二次形式の期待値をとります。
途中式の途中式(クリックで展開)
を1つの行列とみなして、式(10)と同様に変形します。
以上で、フィッシャー情報行列(6)の3行3列目の要素の式が得られました。
フィッシャー情報行列
対数尤度関数のフィッシャー情報行列を求めます。
フィッシャー情報行列(6)の各要素をそれぞれの式(0.30)(0.31)(0.32)(0.33)(0.34)(0.35)と置き換えます。
フィッシャー情報行列の式が得られました。
漸近分散共分散行列
漸近分散共分散行列を求めます。
対数尤度関数 のフィッシャー情報行列の逆行列を求めます。フィッシャー情報行列
の逆行列(ヘッセ行列
の負の期待値の逆行列)を漸近分散共分散行列
と呼びます。
以上で、対数尤度関数の漸近分散共分散行列の式が得られました。
この記事では、SLMの漸近分散共分散行列を数式で確認しました。次の記事では最尤法を数式で確認します。
参考文献
おわりに
漸近分散共分散行列とは何なのかよく分からないまま最後まで式を追いました。最尤法を実装することになれば使うかもしれませんが、最尤法の導出には使わないようですね。最尤法の方を先に書いたのですが、そこで最後まで登場しなかったことで気付きました。
どちらかというとフィッシャー情報行列を求めたという気持ちです。その逆行列ですって最後に投げてる気分です。これは、書く内容の目次(小見出し)を作ってるときに気付きました。
では、次がSLMの導出編のラストです。
最後に、いぎなり東北産のライブ映像をどうぞ♪
【次の内容】
SLMの最尤推定を数式で確認します。
SEMの漸近分散共分散行列を数式で確認します。
https://www.anarchive-beta.com/entry/2026/06/30/180000www.anarchive-beta.com
