« 新年 | トップページ | 週刊クライン vol. 2 »

2009/01/07

SPSSのシンタックス

 学会発表に向けてデータの分析を行うために、ちまちまとシンタックスを書いていた正月だったのだけど、シンタックスにアウトライン機能があると便利なのになと思った。

 アウトライン機能というのは、例えばSPSSで結果を表示させると、ウィンドウの左側にログ、とか表題、とかが表示され、それが目次がわりになって、それらの横についている三角形をクリックすると、その部分を折り畳んだり、展開させたりすることが出来るもので、どこに何があって、それがどの部分の下についているか、上についているかを目で見て分かるようにしてあるような、そういう類いのものだ。といっても、分かりづらいだろうけど、例えばこういう構造。


 ▽ I.第1章 アウトラインについて
   ▽ 1. 第1節 アウトラインの辞書的意味
     ▽ 1) 定義1
     ▽ 2) 定義2
   ▽ 2. 第2節 文書作成におけるアウトライン
     ▽ 1) 特徴1
     ▽ 2) 特徴2


 このように概略をまず整理して、その中に内容が入ってくる、その概略の部分。この左についている▽をクリックすると折り畳んだり展開させたりできるのだけど、例えば第1節、第2節のところを折り畳むとこうなる(三角形の大きさが変わって見えることがあるでしょうが、その点は無視してください)。


 ▽ I.第1章 アウトラインについて
   ▷ 1. 第1節 アウトラインの辞書的意味
   ▷ 2. 第2節 文書作成におけるアウトライン


 こうやって、見たいところは展開させて細かく見て、大きく把握していきたい時には下位要素を折り畳んでしまうことで、文章の構造を把握しやすくなるというもの。ちなみにこのアウトラインプロセッサとしての働きと、ワードプロセッサとしての働きを融合させて登場し、個人的に大きな期待を寄せていたものがKacis Writerだったのだけど、あまり発展しないままに販売終了。
 それはともかく、SPSSのシンタックスを書く時にもこのアウトライン機能が使えると便利だなと思うのだ。私のシンタックスは今こんなふうになっている(*と.で囲まれたところはコメントとして扱われて、コマンドとは見なされないので、こんなふうに見出しを付けたりするのに便利。特に大きな区切りには私は「尺度の信頼性」の上下のような仕切りを作っている)。


 *************************.
 * 各尺度の信頼性.
 *************************.

 * 尺度1について(全体、因子1、因子2、因子3).

 RELIABILITY
  /VARIABLES=a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12
  /SCALE('ALL VARIABLES') ALL
  /MODEL=ALPHA
  /SUMMARY=TOTAL.

 RELIABILITY
  /VARIABLES=a1 a3 a5 a8
  /SCALE('ALL VARIABLES') ALL
  /MODEL=ALPHA
  /SUMMARY=TOTAL.

 (略)

 * 尺度2について(全体、因子1、因子2).

 (以下略)


 信頼性ぐらいだと数が増えても順番にやっていくだけだから良いけれども、これが、変数同士の関連を検討しはじめて、その数が増えてくると見通しが悪くなってくる。例えば性別ときょうだいの中での順番についてクロス集計をして、χ^2検定をしようとすると、第1子の人もいれば、第2子の人も、第3子の人もいる。でも、第3子ぐらいになってくると数が減ってきて、第4子、第5子とかになると度数がぐっと減る。そうすると統計にのらなくなるので、そんな時にセルの数が多すぎてまとめないといけなくなる(χ^2ではなく、exact testをするという手もあるけど)。で、きょうだいの中での順番("sib_order"という変数名とする)を、例えば第1子と第1子以外にしたり("sib_1_not1"という変数名で新しい変数を作るとする)、第1子、第2子、それ以降("sib_1_2_more")としたりする。一応その2つを追加して書くわけだけど、こんなふうになる。


 *************************.
 * 属性同士の関連.
 *************************.

 * 性別×きょうだいの中での順番(第1子・それ以外、第1子・第2子・それ以外にしたものも含む).

 CROSSTABS
  /TABLES=sex BY sib_order
  /FORMAT=AVALUE TABLES
  /STATISTICS=CHISQ
  /CELLS=COUNT ROW ASRESID
  /COUNT ROUND CELL.

 CROSSTABS
  /TABLES=sex BY sib_1_not1
  /FORMAT=AVALUE TABLES
  /STATISTICS=CHISQ
  /CELLS=COUNT ROW ASRESID
  /COUNT ROUND CELL.

 CROSSTABS
  /TABLES=sex BY sib_1_2_more
  /FORMAT=AVALUE TABLES
  /STATISTICS=CHISQ
  /CELLS=COUNT ROW ASRESID
  /COUNT ROUND CELL.


 同じような分析をいくつもする時にシンタックスはコピー&ペーストをしていけばいいので便利なんだけど、そうは言っても、属性同士の関連をまず見ようとして、性別、年齢、きょうだいの数、きょうだいの中での順番、を2つずつ組み合わせてみても、それだけでも6通り。これに3つの組み合わせもありうるし、属性としては他にもあるかもしれないし、その中にこうしてセルをまとめたものが入り込むわけで、こうして書き出していくとどんどん長くなってしまう。それら全てをしらみつぶしに見ていく必要もないかもしれないけど、あまりシンタックスが長くなると何をどこまで書いたのか、見通しが悪くなってしまうのだ。そんなときにアウトライン機能があって、さっと折り畳めてしまうと、何と何の関連を見ているのか、何か見落としているものがないか、この順番で分析を進めていいのか、みたいなことが把握しやすいのではないかなと空想するわけだ。
 さらに、アウトラインプロセッサでは、一般的に上位の要素(親:先ほどの例では第1章が第1節、第2節の親、第1節、第2節は子、1)、2)は孫で、孫に対しては子も上位の要素になる)を移動させるとそれに合わせて下位の要素が移動する(親が動けば子、孫が動く。子が動けば孫も動く)。そうすると折り畳んで見通しをよくして、自分が行っている統計処理の流れを検討することが出来るし、それに合わせて結果の出てくる順番も変わっていく。自分の頭の中で流れをつくりながら統計処理を並べていけば、それだけ結果の整理もしやすくなると思うのだ。流れをどうつくるかはSPSSとはまた別の問題として。

 シンタックスにこのアウトライン機能がついてくれるとこんなふうに作業がずいぶん楽になるんじゃないかと思うのだけど、SPSSはお世辞にもユーザーインターフェースが優れているとは言い難く、あまり期待できない。何かの機会に要望を上げてみようかしら。それを含めて、ユーザーインターフェースが改善されると、統計の近寄りがたさの軽減にも大きく貢献するだろうにな、と思う。

 さて、そろそろ分析に戻ろう。別に、データに間違いを見つけてもう1回分析やり直しでシンタックスに向きあっているからこんなエントリをあげたわけではありませんよ。

|

« 新年 | トップページ | 週刊クライン vol. 2 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/88325/43666038

この記事へのトラックバック一覧です: SPSSのシンタックス:

« 新年 | トップページ | 週刊クライン vol. 2 »