第13回演習マニュアル

演習の目的

  • R言語を使って,地価データのGWRモデルを構築する
  • データ

空間計量経済パッケージを読み込む.

  • パッケージspdepとspgwrを使って空間計量経済モデルを推定します.
    > library(spdep)
    > library(spgwr)

データの読み込みと重回帰モデルの推定

  • 横浜市の地価データを使って,地理的加重回帰モデルを推定してみましょう.
  • データの読み込み
    > h14lp <- read.table("h14lp.csv", sep=",", header=T)
  • まず,lmコマンドを用いて通常最小二乗法による重回帰モデルを推定してみましょう.
    > h14lp.lm <- lm(h14lp~kyori+yoseki+chiseki, data=h14lp)
    > summary(h14lp.lm)

空間隣接行列の構築

  • tri2nb()関数でドロネー三角網図を構築
    > coords <- matrix(0, nrow(h14lp), ncol=2)
    > coords[,1] <- h14lp$X
    > coords[,2] <- h14lp$Y
    > lp.tri.nb <- tri2nb(coords,row.names=rownames(h14lp))
    > plot(lp.tri.nb,coords)

誤差項の空間的自己相関(SEM)モデル(errorsarlm)

  • 普通に計算すると、例えば以下のようなエラーが出るため計算できない。
    以下にエラー solve.default(asyvar, tol = tol.solve) : 
    システムは数値的に特異です:条件数の逆数 = 5.33305e-32 
  • そこで、tol.solveに小さい値を与えて計算する。
    > h14lp.errW.eig <- errorsarlm(h14lp~kyori+yoseki+chiseki, data=h14lp, 
    nb2listw(lp.tri.nb),method="eigen",quiet=FALSE, tol.solve=1.0e-40)

空間的自己回帰(SAR)モデル(lagsarlm)

  • lagsarlm()関数を使って、空間的自己回帰(SAR)モデルを推定する。
    > h14lp.lag.eig <- lagsarlm(h14lp~kyori+yoseki+chiseki, data=h14lp, 
    nb2listw(lp.tri.nb),method="eigen",quiet=FALSE, tol.solve=1.0e-40)
  • 同様に、Spatial Durbinモデルも推定してみよう。
  • 更に、predict.sarlm()関数を使って、空間的自己相関モデルの予測をしてみましょう。

地理的加重回帰モデル(spgwr)

  • cross varidation scoreが最小となるようなbandwidthを計算します.
    > h14lp.bw <- gwr.sel(h14lp~kyori+yoseki+chiseki, data=h14lp, 
      coords=cbind(h14lp$X,h14lp$Y))
  • 重み付け行列の要素としてガウス関数を使った地理的加重回帰モデルを推定します.
    > h14lp.gauss <- gwr(h14lp~kyori+yoseki+chiseki, data=h14lp, 
      coords=cbind(h14lp$X,h14lp$Y), bandwidth=h14lp.bw, hatmatrix=TRUE)
  • パラメータはサンプル毎に推定されます.

以上で今回の演習は終了です.


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-07-06 (火) 11:41:15 (3396d)