elsur.jpn.org >

« 2014年9月 | メイン | 2014年11月 »

2014年10月31日 (金)

Braun, M., Johnson, T.P. (2010) An illustrative review of techniques for detecting inequivalences. Harkness, J.A. et al. (eds.) Survey Methods in Multinational, Multiregional, and Multicultural Contexts. Chapter 20. John Wiley & Sons.
 仕事の都合でざっと目を通した。
 この本は2008年にベルリンで開かれたInternational Conference on Survey Methods in Multinational, Multiregional, and Multicultural Contexts (3MC)というカンファレンスの論文集。この会議自体はAAPORとかASAとかの協賛で開かれたものだが、調べてみたら、現在はブリュッセルのComparative Survey Design and Implementation (CSDI) という組織が毎年ワークショップを開いており(来年は5月にロンドン)、2016年には第二回の3MCカンファレンスをシカゴで開くらしい。

 この章は分析のパートの総論に相当していて、このあとに各論として、多群多レベルのSEMやLCAについての章、多項IRTでDIFを調べるという章、MMTM行列でなにかをどうにかしますという章(うぉう、LCA関連で名前をよく見るHagenaarsさんだ)、定量と定性をあわせてなにかをどうにかするという章が続く。

 多国間調査のデータを国のあいだで比較できるか? それを調べる手法を片っ端から紹介する。例に使うデータはISSP国際比較調査のジェンダー役割の項目(4項目)と、ベンチマークに使うジェンダーイデオロギーの項目(1項目)。西ドイツ、US, カナダを比較する。
 紹介する手法は...

最後に星取表。表頭に{分布・平均・相関、EFA, 信頼性, MCAとMDS、多群CFA、マルチレベル, IRT}の7つをとり、表側に{クイックに概観できるか、国の数が多くても大丈夫か、個人を同定するか、国を通じた要約が出るか、項目レベルかテストレベルか}をとって表をつくっている。まあだいたい想像がつく内容なので省略。

 途中でだんだん関心を失くして適当に目を通してしまった。まあいいや、次に行こう。

論文:データ解析(-2014) - 読了:Braun & Johnson (2010) 多国間調査のデータを国と国の間で比較できるかどうかを調べる方法を総ざらえ

Ram, N., Brose, A., Molenaar, P.C.M. (2013) Dynamic factor analysis: Modeling person-specific process. in Little, T.D. (ed.) The Oxford Handbook of Quantitative Methods in Psychology: Vol. 2: Statistical Analysis. Chapter 21. Oxford Univ. Press.
 動的因子分析の解説。なんだか億劫で読んでいなかったのだが(第三著者の名前のせい。この先生の文章って難しいのだ)、整理の都合もあるので目を通した。

 背景。
 単一のヒトのオケージョンx変数行列を分析する方法としてはキャッテルのP-technique因子分析があった。その後、データの時間依存性を正面からモデル化する時系列手法が出てきた(Box-Jenkinsとか)。この2つを合わせたのがワシMolenaarの動的因子分析(DFA)じゃ。DFA的なモデルは状態空間モデルの枠組みで広く用いられておる。
 えーと、個人レベルの行動の背後にある適応過程や制御過程に注目する、person-specificアプローチというのがあって(Nesselroadeという人の研究がいくつか挙げられている。発達研究かな)、ワシMolenaarはエルゴード定理の観点からその重要性をあきらかにしたのじゃ。云々。

 技術的背景。
 $p$変量の観察時系列を $y(t)$とする$(t = 1,2, \ldots, T)$。P-technique因子分析モデルは
 $y(t) = \Lambda \eta(t) + \epsilon(t)$
ここで観察は時点間で独立だと仮定されている (←そうなのか、キャッテルは$\eta(t)$の時系列構造を考えたわけじゃなかったのか...)。
 MolenaarのDFAだと、さらにこう考える:
 $\eta(t) = B_1 \eta(t-1) + B_2 \eta(t-2) + \cdots + B_s \eta(t-s) + \zeta(t)$
 潜在因子に自己回帰とクロス回帰を組むわけだ。これを$y(t)$の式に代入して
 $y(t) = \Lambda [\zeta(t) + B_1 \eta(t-1) + \cdots + B_s \eta(t-s)] + \epsilon(t)$
 一般化して
 $y(t) = \Lambda_0 \eta(t) + \Lambda_1 \eta(t-1) + \cdots + \Lambda_s \eta(t-s) + \eta(t)$
 そうか、$\eta(t)$に時系列構造を与えようが、$y(t)$にラグつき因子負荷を与えようが、結局は同じことか...
 もっとも著者ら曰く、同じDFAであっても、configurationsのちがい、モデルが示唆する過程の本質のちがいによって、数多くの差が出てくる、とのこと。

 DFAを行う5つのステップ。
 ステップ1. リサーチ・クエスチョンを立てる。たとえば(←ということだと思うんだけど)、DFAは個人の安定性維持過程を調べるのに向いている。モデルのパラメータは均衡からの/への移動の定量化であるとみなすことができる(キャリーオーバーとかスピルオーバーとかバッファリングとか)。
 ステップ2. 研究デザインとデータ収集。十分な長さのデータを、現象に照らして適切なタイム・スケールで、等間隔に採るべし。少なくとも100時点、パラメータあたり5時点はほしい。さらに、個人内の変動をちゃんと捉えていないと困る。
 ステップ3. 変数選択とデータの前処理。SDが0.1を切る変数を抜くとか、8割がた同じ値である変数を抜くとか。問題は抜くべき変数が人によって違っていたときで、人ごとに抜くべき変数を抜く(人によって変数セットが変わってきちゃうけど)、抜くべき変数が多い人を丸ごと抜く、人も変数も抜いてどうにか綺麗に揃える、といった手がある。前処理の目標は弱定常性を確保すること(←おおっと...)。回帰で循環成分を抜くとかなんとか、手法はいっぱいある(Shumway & Stofferの教科書を読めとのこと)。
 ステップ4. フィッティング。SEMのソフトでML推定する路線、カルマンフィルタを使う路線、ベイジアン路線、OLS路線など。
 ステップ5. 個人差の検討。SEMの多群モデルで、2人のひとのパラメータが同じかどうか調べるとか、なんとか。

 今後の課題。
 その1、非定常性の問題。ここ、私にとっては深刻な話なのでメモすると...
 発達研究ではintra-individual changeとintra-individual variabilityを区別する。従来、前者は成長曲線とかで、後者は弱定常性の仮定の下での動的過程として捉えられてきた。しかし残念ながら人間というシステムは定常でない。よってDFAのような定常モデル(←???)には限界があり、非定常性へと拡張しなければならない。
 Kim & Nelson(1999, 書籍)は多レジーム状態空間モデルを示している。カテゴリカルなスイッチング変数 $S(t)$を考えて
 $y (t) = \Lambda_{S(t)} \eta(t) + \epsilon(t)$
 $\eta(t) = B_{1 S(t)} \eta(t-1) + \zeta(t)$
完全な時変パラメータに拡張することもできる。Molenaar et al.(2009, Dev.Psy.), Molenar & Ram(2009, 論文集)はカルマン・フィルタを使って
 $y (t) = \Lambda(t) \eta(t) + \epsilon(t)$
 $\eta(t) = B_1(t) \eta(t-1) + \zeta(t)$
ほかに状態空間モデルで循環成分を組み込んだ研究もある。云々。
 著者らいわく「要約すると、非定常性は人間の機能の現実なのだからそれに取り組まねばならない。それが可能なモデルが利用可能だし、人間のデータに対して今や利用されつつある。このトレンドが続くなら - 語呂合わせになっちゃいましたが [mind the pun] -現実の生活を特徴づける複雑な変化を記述し予測する我々の能力は、ますます拡張するであろう」とのこと。
 その2、適応のためのガイドの提供。モデルによって個人に対する適切な介入ができるようになるかも。
 その3、個性記述フィルタ。指標のモデルは人によって違うけど背後のプロセスは人を問わず同じ、というようなモデルが組めるかも。云々。

 よくわからなかった点:
 著者らの発想では、DFAとはもともと弱定常性を持つ多変量時系列のための手法なんだけど、ここで弱定常性が要請されているのはなぜだろうか。私はあきらかに平均非定常な多変量時系列に関心があるので(消費者指標やマーケット指標のことを考えているから)、これは切実な疑問だ。
 著者らの観点からは、弱定常性はそれがintra-individual variablityのモデルだという実質的解釈から要請されていたのであって、DFAモデルそのものからの要請ではないような気がする。DFAモデルのパラメータ推定という観点からは、まあ撹乱項の共分散は時間独立でないと困るけど、観察変数なり状態変数なりの期待値が時間独立であることは、最初からどうでもいいんじゃないですかね... だから、「DFAモデルは定常モデルだ、多レジームモデルや時変パラメータなどへの拡張が必要だ」というのは、言い方として正確なのかしらん、と... うううむ...

論文:データ解析(-2014) - 読了:Ram, Brose, Molenaar (2013) 動的因子分析による個人の心的過程のモデル化

2014年10月27日 (月)

Bookcover 状態空間時系列分析入門 [a]
J.J.F. コマンダー,S.J. クープマン / シーエーピー出版 / 2008-09

BookcoverAn Introduction to State Space Time Series Analysis [a]
Commandeur, Koopman / Oxford Univ Pr / 2007-08-30

Rのコードまで書いて、時間をかけてめくった本。やれやれ。

データ解析 - 読了:「状態空間時系列分析入門」「An introduction to State Space Time Series Analysis」

Bookcover シェイクスピア全集25 ジュリアス・シーザー (ちくま文庫) [a]
W. シェイクスピア / 筑摩書房 / 2014-07-09
小田島訳で読んでいたのだが、このたび松岡訳で再読。
 「ジュリアス・シーザー」の名場面といえばマーク・アントニーの扇動演説だが、つくづく思うに、これが彼の人生でもっとも光り輝いた場面なのではないか。大衆は雪崩を打つようにアントニーに踊らされるわけだが、それはやはり時代がそうさせたのであって、アントニーの舌先三寸の力だけではないのではないかと思う。でもアントニーはそのことに気がつかない。
 というわけで、その後「アントニーとクレオパトラ」でゆっくりと転落していくアントニーの姿が、かつてメディアを操る悪魔的天才と言われた現大阪市長の姿と、なんだか重なって見えてしまうのであった。

Bookcover 苦い娘 (中公文庫) [a]
打海 文三 / 中央公論新社 / 2005-04-25

Bookcover 繁栄の昭和 [a]
筒井 康隆 / 文藝春秋 / 2014-09-29

フィクション - 読了:「苦い娘」「ジュリアス・シーザー」「繁栄の昭和」

Bookcover 言論抑圧 - 矢内原事件の構図 (中公新書) [a]
将基面 貴巳 / 中央公論新社 / 2014-09-24
1937年、矢内原忠雄が東京帝大を逐われた、矢内原事件についての解説書。
 矢内原は著名な無教会キリスト教指導者でもあったのだが、辞職の報を聞いた無教会の多くの人々は、むしろ辞職を歓迎したのだそうである。事件の深刻な政治的意味に注目せず、むしろ矢内原が伝道に専心してくれることを喜んだのだそうだ。これだから、もう...

日本近現代史 - 読了:「言論抑圧」

ここのところ、全然本を読めていない。うううむ。

Bookcover 石の虚塔: 発見と捏造、考古学に憑かれた男たち [a]
上原 善広 / 新潮社 / 2014-08-12
岩宿遺跡の相澤忠広、縄文時代の権威・芹沢長介、そして旧石器捏造事件の藤村新一さんを軸に描いたノンフィクション。
 旧石器捏造について、毎日新聞が動かぬ証拠を押さえて事件化する前から、ある遺跡発掘会社の人が「あれは怪しい」旨の文章をwebで公開していたのを覚えている。そのいきさつをこの本ではじめて知った。関係者全員に悲劇をもたらした、悲しい事件だったのだ...

Bookcover スクールセクハラ なぜ教師のわいせつ犯罪は繰り返されるのか [a]
池谷 孝司 / 幻冬舎 / 2014-10-08
共同通信の連載をまとめた本。特に子どもを持つ人にとっては、背筋も凍る内容だろう...

Bookcover 百人一首の歴史学 (NHKブックス) [a]
関 幸彦 / 日本放送出版協会 / 2009-09

Bookcover 最貧困女子 (幻冬舎新書) [a]
鈴木 大介 / 幻冬舎 / 2014-09-27

Bookcover 磯崎新の「都庁」―戦後日本最大のコンペ [a]
平松 剛 / 文藝春秋 / 2008-06-10

ノンフィクション(2011-) - 読了:「石の虚塔」「スクールセクハラ」「百人一首の歴史学」「最貧困女子」「磯崎新の『都庁』」

Bookcover 満月エンドロール(上) (イブニングKC) [a]
野村 宗弘 / 講談社 / 2014-09-22
Bookcover 満月エンドロール(下) (イブニングKC) [a]
野村 宗弘 / 講談社 / 2014-09-22
ここのところのベストワン。死を前にした男が妻と交わす対話を描く。辛い物語なのだけど、不思議な救いがある。

Bookcover 子供はわかってあげない(上) (モーニング KC) [a]
田島 列島 / 講談社 / 2014-09-22
Bookcover 子供はわかってあげない(下) (モーニング KC) [a]
田島 列島 / 講談社 / 2014-09-22
講談社の新人作家が、「これは趣味だ」と自分に言い聞かせ、自宅に閉じこもってすべてのネームを独力で描き上げた、という作品。爽やかで魅力的な青春記である。いやあ、マンガの才能ってあるんだなあ...

Bookcover 謎のあの店2 (Nemuki+コミックス) [a]
松本英子 / 朝日新聞出版 / 2014-10-07

コミックス(2011-) - 読了:「子供はわかってあげない」「満月エンドロール」「謎のあの店」

Bookcover 就職難!! ゾンビ取りガール(2) (モーニング KC) [a]
福満 しげゆき / 講談社 / 2014-09-22
自虐的エッセイマンガで人気を博した著者の、最新のストーリーマンガ。ゾンビ捕獲会社で働く内向的な青年と、その後輩の娘を描くコメディ、なのだけれど、読めば読むほど一筋縄ではいかない。後輩の体型は時として画面のバランスを壊すくらいに異様に肉感的に描かれるし、主人公にも後輩にもいまだ名前が付けられていないし。通り魔と対峙している妹のもとに、その姉(これまた冗談のようにムチムチしている)が駆けつける場面で、姉が「チャリで来たよ!お姉ちゃんさーチャリで来たんだけど」と叫ぶのだが、前後の文脈に照らしてもよく意味がわからない。ちょっと悪夢めいたマンガである。

Bookcover シャーリー 2巻 (ビームコミックス) [a]
森薫 / KADOKAWA/エンターブレイン / 2014-09-13

Bookcover ヴィンランド・サガ(15) (アフタヌーンKC) [a]
幸村 誠 / 講談社 / 2014-10-23

Bookcover 重版出来! 4 (ビッグコミックス) [a]
松田 奈緒子 / 小学館 / 2014-09-30

Bookcover シュトヘル 10 (BIG SPIRITS COMICS SPECIAL) [a]
伊藤 悠 / 小学館 / 2014-09-30

Bookcover 星の案内人 1 (芳文社コミックス) [a]
上村五十鈴 / 芳文社 / 2013-12-16
Bookcover 星の案内人 2 (芳文社コミックス) [a]
上村五十鈴 / 芳文社 / 2014-08-16

Bookcover 雨柳堂夢咄 其ノ十五 (Nemuki+コミックス) [a]
波津 彬子 / 朝日新聞出版 / 2014-10-07

Bookcover 喰う寝るふたり 住むふたり 4 (ゼノンコミックス) [a]
日暮 キノコ / 徳間書店 / 2014-08-20

コミックス(2011-) - 読了:「就職難!ゾンビ取りガール」「シャーリー」「重版出来!」「ヴィンランド・サガ」「シュトヘル」「星の案内人」「雨柳堂夢咄」「喰う寝るふたり住むふたり」

Bookcover 健康で文化的な最低限度の生活 1 (ビッグコミックス) [a]
柏木 ハルコ / 小学館 / 2014-08-29
生活保護担当のケースワーカーを描く。枠組みはいかにも小学館的な情報マンガなのだけれど、面白い。

Bookcover シュガーウォール 2 (リュウコミックス) [a]
ninikumi / 徳間書店 / 2014-08-12

Bookcover 空也上人がいた (IKKI COMIX) [a]
新井 英樹 / 小学館 / 2014-09-30

Bookcover あとかたの街(2) (KCデラックス BE LOVE) [a]
おざわ ゆき / 講談社 / 2014-10-10

Bookcover れもん、よむもん! [a]
はるな 檸檬 / 新潮社 / 2014-09-22

Bookcover ZUCCA×ZUCA(10)<完> (KCデラックス モーニング) [a]
はるな 檸檬 / 講談社 / 2014-08-22

Bookcover いぬやしき(2) (イブニングKC) [a]
奥 浩哉 / 講談社 / 2014-10-23

Bookcover 宝石の国(2) (アフタヌーンKC) [a]
市川 春子 / 講談社 / 2014-01-23

コミックス(2011-) - 読了:「シュガーウォール」「健康で文化的な最低限度の生活」「空也上人がいた」「あとかたの街」「れもん、よむもん!」「ZUCCAxZUCA」「いぬやしき」「宝石の国」

Bookcover かごめかごめ (書籍扱いコミックス) [a]
池辺 葵 / 秋田書店 / 2014-09-08
レジで値段にびっくりしちゃったんだけど、全編カラー。わざと紙が汚してあるという凝った造りである。

Bookcover 孤独のグルメ 【新装版】 [a]
久住 昌之 / 扶桑社 / 2008-04-22
94年から発表されている、非常に有名な連作なので、なんとなく内容は知っていたのだけれど... 次第に妙に哲学的な感慨を覚えますね。不思議なマンガだ。

Bookcover インドでキャバクラ始めました(笑)(1) (ワイドKC モーニング) [a]
沼津 マリー / 講談社 / 2014-09-22

Bookcover 甘々と稲妻(3) (アフタヌーンKC) [a]
雨隠 ギド / 講談社 / 2014-09-05

Bookcover イノサン 6 (ヤングジャンプコミックス) [a]
坂本 眞一 / 集英社 / 2014-09-19

Bookcover 34歳無職さん 5 (MFコミックス フラッパーシリーズ) [a]
いけだたかし / KADOKAWA/メディアファクトリー / 2014-09-23

Bookcover それでも町は廻っている (13) (ヤングキングコミックス) [a]
石黒 正数 / 少年画報社 / 2014-09-30

Bookcover 木曜日のフルット 4 (少年チャンピオン・コミックス) [a]
石黒 正数 / 秋田書店 / 2014-09-08

コミックス(2011-) - 読了:「インドでキャバクラ始めました(笑)」「かごめかごめ」「甘々と稲妻」「イノサン」「36歳無職さん」「孤独のグルメ」「木曜日のフルット」「それでも街は廻っている」

2014年10月24日 (金)

Holmes, E.E., Ward, E.J., Scheuerell, M.D. (2014) Analysis of multivariate time-series using the MARSS package. version 3.9. Northwest Fisheries Science Center, Seattle, WA.
 RのMARSSパッケージのユーザーズ・ガイドに相当する文書で、3部構成、全16章、200頁以上に及ぶ。MARSSパッケージとは要するに、多変量時系列の背後に少数の自己回帰系列を考える状態空間モデルのソフトで、いわゆる動的回帰やベクトル自己回帰を扱うことができる。パラメータ推定を著者らが提案している一種のEMアルゴリズムで行うのが特色。

 第一部。
 1章はイントロ。えーっと、MARSSのモデルは下記の通り。
 状態方程式: $x_t = B_t x_{t-1} + u_t + C_t c_t + w_t$
 状態方程式の撹乱項: $w_t \sim MVN(0, Q_t)$
 観察方程式: $y_t = Z_t x_t + a_t + D_t d_t + v_t$
 観察方程式の撹乱項: $v_t \sim MVN(0, R_t)$
 初期状態: $x_1 \sim MVN(\pi, \Lambda)$ ないし $x_0 \sim MVN(\pi, \Lambda)$
時系列の長さを$T$, 状態変数を$m$本, 観察変数を$n$本とする。$c_t$, $d_t$は外生変数で、それぞれ$p$本、$q$本。観察変数$y_t$には欠損を許すが外生変数$c_t$, $d_t$には許さない。
 章末に他のソフトの紹介が載っている。著者ら曰く、MARSSパッケージは速度を最適化してない、特に時点数が多いときには堪忍な、とのこと。
 2章、関数紹介。主役はMARSS()関数である。3章は著者らが開発したEMアルゴリズムの説明(パス!)。

 第二部。
 4章がたぶんいちばん大事な章で、MARSS()に対するデータとモデルの渡し方。このパッケージの特徴として、渡すものはすべてユーザの責任で正しくつくらないといけない。
 えーっと... データはn行T列の横長な行列で渡す。モデルは、dlmパッケージのdlmMod*()やKFASパッケージのSSM*()のようなヘルパー関数はなくて、自分でシステム行列を書きまくりリストにして渡す必要がある。モデルの要素は行列なのだが、なかに数値と文字列を混在させたいので、list()をmatrix()で並べるのが望ましい。つまり、たとえばmatrix(list(1, "a", "b"), 3, 1)ってな風に書けってことである。
 MARSS()に渡すモデルにいれられる要素は以下の通り。初期状態 x0, V0を除き、すべて時間変動可能であって、そのときはarray()で渡すのだが(5.3節)、ややこしいので省略。ここでは時間不変の場合についてメモする。

5章は、簡単なコード例(5.1節)、状態変数の数が観察変数の数と異なるコード例(5.2節)、時間変動パラメータのコード例(5.3節)、共変量$C, c, D, d$についての短い説明(5.4節)、結果のみかた(5.5節)、信頼区間の求め方(5.6節)、推定結果の取り出し方(5.7-5.9節)、パラメータのブートストラップ推定(5.10節)、初期状態をランダムに与えてモンテカルロ法で初期化する方法(5.11節)、シミュレーション用のデータ作成(5.12節)、ブートストラップAIC(5.13節)、収束条件について(5.14節)。

 第三部。ここからは事例紹介の連続爆撃である。どの例も生態学(?)の話なので、ちょっと覚悟が必要だ。ざっとめくって、タイトルをメモしておくと、

というわけで、これからどの章をきちんと読まねばならんか見当がついたので、とりあえず良しとしよう。疲れたし。

論文:データ解析(-2014) - 読了:Holmes, Ward, & Scheuerell (2014) MARSSパッケージで多変量時系列分析

ここんところの状態空間モデル祭りで目を通した論文から... 著者PetrisさんはRのdlmパッケージの作者で、著書の邦訳も出ている。

Petris, G., Petrone, S. (2011) State Space Models in R. Journal of Statistical Software. 41(4).
 状態空間モデル用ソフトウェア特集号の記事のひとつ。この特集号の縛りで、前半はNileデータというデータセットの分析例。ご自身のdlmパッケージと、そのあとに出たKFASパッケージでの分析例を紹介しているのだけれど、KFASの仕様はその後大きく変わったようで、現時点ではあまり役に立たない。
 後半では、まずdlmのウリであるベイズ流の推測について紹介。この辺、全然知らん話なのでちょっとメモしておくと...
 観察データ$y_{1:n}$の下で、パラメータのベクトル$\psi$と状態系列$\alpha_{0:n}$の事後分布$\pi (\psi, \alpha_{0:n} | y_{1:n})$をベイズ推論したいわけだけど、ここで難しいのは、MCMCが事前分布やモデルにspecificになってしまい、一般的なアルゴリズムを組めない、という点。
 ローカルレベルモデルのコード例を紹介。パラメータは不規則撹乱項の分散$\sigma^2_\epsilon$とレベル撹乱項の分散$\sigma^2_\xi$である。それぞれ事前分布は逆ガンマ分布と考え、dlmGibbsDIG()という関数で同時事後分布$\pi(\sigma^2_\epsilon, \sigma^2_\xi, \alpha_{0:n} | y_{1:n})$をGibbsサンプリングする。ただし、速度は遅く、主として教育用である由。
 いっぽう、データとパラメータの下での状態の条件つき分布 $\pi (\alpha_{0:n} | \psi, y_{1:n})$からサンプリングするGibbsサンプラーなら一般的な形で作れる。やり方は2つあって、ひとつはForward-Filtering Backward-Sampling (FFBS)アルゴリズムというやり方、もう一つはsimulation smootherってやつ(Durbin&Koopman本に出てくる奴だ... たぶん一生理解できないだろう)。dlmパッケージはdlmBSample()という関数で前者を提供している由。なんだかわからんが、へーそうですか。
 なお、オンラインでフィルタ化・予測するのに時点ごとにMCMCをやるのは現実的でない。これもいろいろやり方があるのだそうで、ひとつには、共役事前分布を使いさらにいくつか制約を受け入れれば、閉形式で解ける由。これをdiscount factors法というのだそうだ。dlmパッケージには入っていないが、別途ツールを配っている、とのこと。
 最後に、介入変数を投入する例、モデルの合成の例、多変量時系列の例(KFAS)。

Petris, G. (2010) An R Package for Dynamic Linear Models. Journal of Statistical Software. 36(12).
 上記論文の前年の、dlmパッケージについての紹介。ざざーっとめくっただけだけど、読了にしておく。コレスキー分解とかヘシアン行列とかいわれると、もう目が文字を受け付けなくなってしまうのですよ... なんだか洋菓子の名前みたいだなあ、お腹すいたなあ、なんて...
 なお、動的線形モデルに関連するその他のパッケージとして挙げられていたのは、statパッケージのStructTS()、KalmanLike()とその仲間たち。dseパッケージ(多変量ARMAモデルなんかを扱うらしい。時間不変なモデルならおススメ、とのこと)。sspirパッケージ(調べてみたらCRANから消えていた)。

論文:データ解析(-2014) - 読了: Petris & Petrone (2011), Petris (2010) dlmパッケージとそのライバルたち

2014年10月17日 (金)

 以下は純粋に個人的なメモであります。

 ここにn変量時系列 $y_t$ がございます。
 これを以下のように分解する。まずは
 $y_t = B + Lf_t + u_t, \ \ \ u_t \sim N(0, \Sigma_u)$
$B$は切片(サイズ n x 1), $L$は係数行列(n x p), $f_t$はp変量の潜在動的因子(p x 1), $u_t$はn変量の不規則要素(n x 1)である。
 潜在動的因子をトレンドと季節に分解する。季節要素を観測値のモデルにではなく因子の時系列モデルのほうに入れている点に注意。
 $f_t = \alpha_t + \gamma_t$
トレンドのほうは
 $\alpha_t = \alpha_{t-1} + \beta_{t-1} + \epsilon_t, \ \ \ \epsilon_t \sim N(0, \Sigma_\epsilon)$
トレンドの傾きも時間変動させて
 $\beta_t = \beta_{t-1} + \delta_{t-1} + \eta_t, \ \ \ \eta_t \sim N(0, \Sigma_\eta)$
傾きの変化率をランダムウォークさせる。
 $\delta_t = \delta_{t-1} + \zeta_t, \ \ \ \zeta_t \sim N(0, \Sigma_\zeta)$
季節のほうも確率的に変動させる。以下、添え字が煩雑になって混乱するので、季節周期を4に決め打ちする。
 $\gamma_t = -\sum_{j=1}^{3} \gamma_{t-j} + \xi_t, \ \ \ \xi_t \sim N(0, \Sigma_\xi)$
 以上、すごく複雑に見えるけど、因子の時系列構造を工夫しているだけで、要するに因子分析である。びびってはいけない。

 さて、状態空間表現ではどうなるんだよ、という話である。さあ深呼吸!
 観察方程式は
 $y_t = A z_t + B + u_t, \ \ \ u_t \sim N(0, \Sigma_u)$
ここで状態変数ベクトルは
 $z_t \equiv [\alpha_t \ \beta_t \ \delta_t \ \gamma_t \ \gamma_{t-1} \ \gamma_{t-2}]'$
実際には$\alpha_t, \beta_t, \ldots$は縦ベクトル(p x 1)なので、こういう書き方でいいのかどうかよくわかんないんだけど(自慢じゃないけど高校で数学の時間はずっと寝ていた)、原文でもこうなってるし、まあいいことにしよう。なお、原文で最後の項は$\gamma_{t-s-2}$となっているが、$\gamma_{t-(s-2)}$の誤りであろう。
 係数行列は
 $A \equiv [L_{n \times p} \ 0_{n \times p} \ 0_{n \times p} \ L_{n \times p} \ 0_{n \times p} \ 0_{n \times p}]$
 順に、$\alpha_t$の係数, $\beta_t$の係数、$\delta_t$の係数, 季節ダミー1の係数($\alpha_t$の係数と同じ。なぜなら季節要素が状態方程式に突っ込んであるから), 季節ダミー2の係数、季節ダミー3の係数、である。結局、$z_t$の長さは$m = 6p$。季節周期を$s$として、$m=(2+s)p$である。

 さあ状態方程式だ!
 $z_t = C z_{t-1} + v_t, \ \ \ v_t \sim N(0, \Sigma_v)$
 状態撹乱要素は
 $v_t \equiv [\epsilon_t \ \eta_t \ \zeta_t \ \xi_t \ 0 \ 0]'$
 問題は遷移行列$C$。原文では次のようになっている。
 $C \equiv \left( \begin{array}{llllll} I_p & I_p & 0 & 0 & 0 & 0 \\ 0 & I_p & I_p & 0 & 0 & 0 \\ 0 & 0 & I_p & 0 & 0 & 0 \\ 0 & 0 & 0 & -I_p & \cdots & -I_p \\ 0 & 0 & 0 & I_p & 0 & 0 \\ 0 & 0 & 0 & 0 & I_{(s-3)p} & 0 \end{array} \right)$
 本当かなあ? ここにどうも納得がいかなかったのである。
 いちから考えてみたい。$C$の右側にあるのは、たとえば$[\alpha_4 \ \beta_4 \ \delta_4 \ \gamma_4 \ \gamma_3 \ \gamma_2]'$である。これに$C$を掛け、つくりたいのは$[\alpha_5 \ \beta_5 \ \delta_5 \ \gamma_5 \ \gamma_4 \ \gamma_3]'$である。以下、大きな行列を書くのが面倒なので、$C$をp行p列づつ区切り、上の段から順に考える。
 最初のp行は$\alpha_5$をつくる奴だから、
 $(I \ I_ \ 0 \ 0 \ 0 \ 0)$
 次のp行は$\beta_5$をつくる奴だから
 $(0 \ I \ I \ 0 \ 0 \ 0)$
 次のp行は$\delta_5$をつくる奴だから
 $(0 \ 0 \ I \ 0 \ 0 \ 0)$
 次のp行は$\gamma_5$をつくる奴だから
 $(0 \ 0 \ 0 \ -I \ -I \ -I)$
 次のp行は$\gamma_4$をつくる奴だから、
 $(0 \ 0 \ 0 \ I \ 0 \ 0)$
 最後のp行は$\gamma_3$をつくる奴だから、
 $(0 \ 0 \ 0 \ 0 \ I \ 0)$
 ほんとだ...! 合っている!
 やれやれ。分散行列 $\Sigma_v$はブロック単位行列で、左上から順に$\Sigma_\epsilon, \Sigma_\eta, \Sigma_\zeta, \Sigma_\xi, 0_p, 0_p$である。

 なお、実際にはすべての分散行列を対角行列に制約した由。$\Sigma_v$のみならず、観察方程式の分散行列$\Sigma_u$も対角行列にしちゃうのである。不規則要素に共分散はないと考えたわけだ。ま、いいか。
 パラメータ推定はEMアルゴリズムで行った由。詳細は略するが、ステップのなかでバリマクス回転している。いやーん。そんなんようせんわ。
 なお、データはあらかじめ対数変換した由(歪度が大きかったから)。さらに平均0, 分散1に標準化した由(分析の主旨は動的因子にあるので、別にかまわない)。

 以上、Du & Kamakura (2012, JMR)のWeb Appendix Bより。とても歯が立たないだろうと敬遠していたが、実際に読んでみたら、もちろん難しいんだけど、思ったほどではなかった。
 本文を読んだときも思ったことだが、季節要素をこうして動的因子系列に入れるべきかどうかはデータの実質的な性質によるなあ、と思った。著者らは自動車ブランド名の検索量の時系列を分析していて、因子として「欧州車」というようなものを想定しているので、それなりに筋が通っている(欧州車に共通の季節要素があると考えているわけだ)。でもこれをマルチカテゴリに拡張して、著者らが主張するようにtrendspottingという観点から捉えたときには、観察方程式に入れたほうが自然ではないかと思う。
 推定のところにオリジナルな工夫があるところがちょっと嫌だ。このモデルって、あらかじめ予備的分析で因子数と負荷行列にあたりをつけ(変量ごとに季節を除去しEFAにかけるとか)、$L$を何箇所か適当に固定すれば、最尤推定できたりしないのかなあ。

雑記:データ解析 - Du & Kamakura (2012) メモ

2014年10月 2日 (木)

 仕事の都合で状態空間モデルのソフトを使っているのだけれど、参考書によってもソフトによっても、記法がバラバラで大変に混乱する。メモをつくったので載せておく。純粋に自分のための覚え書きであります。
 話を簡単にするために、単変量のガウシアン状態空間モデルについてのみ考える。状態変数の数をmとする。

Commandeur & Koopman(2007): とりあえず参考書の例として。Section 8.1に基づく。

Koopman, Shepard & Doornik (1998): SsfPackの基になっている論文なのだが、記法がすごくややこしい...

SsfPack: Commandeur&Koopman(2007)のSection 11.2 より。

Rのdlmパッケージ: vignetteによれば、

RのKFAS パッケージ: reference manual によれば、

よく使うdlmとKFASを比較すると、

と呼ばれているわけである。やれやれ。

追記: はじめてMathJaxを使ってみた。うわあ、これは便利だ...

雑記:データ解析 - 統計学者のみなさん、記法は統一してもらえないかしら (状態空間モデルの巻)

« 2014年9月 | メイン | 2014年11月 »

rebuilt: 2020年11月16日 22:42
validate this page