SPSSと心理学の統計処理
堀 啓造(香川大学経済学部)
counter:
(2000/ 8/ 3からの累積)最終更新日:
日本行動計量学会第28回大会
期日 2000年10月7〜9日
場所 東京大学教養学部(駒場キャンパス)13号館
予稿(抄録)です。
次のシンポジウムの中で講演予定です。
「行動計量学における統計ソフトの役割」
オーガナイザー
垂水共之(岡山大学環境理工学部)
森 裕一(岡山理科大学総合情報学部)
第1部 統計ソフトはどう発展してきたか?
講 演 山口 和範(立教大学)
「計算機環境の変化と統計ソフトウェアの変遷」
第2部 統計ソフトは行動計量学の各分野でどのように役立ってきたか?
講 演 柳原 良造(マーケティング・サービス)
「マーケティングに於ける統計ソフトの活用」
堀 啓造(香川大学経済学部)
「SPSSと心理学の統計処理」
岸本 淳司(慶応大学SFC)
「jmpによるデータ解析(仮題)」
坪田 信孝(広島大学)
「医学系大学教育のツールとして利用したデータ解析言語S」
第3部 統計ソフトはどうあるべきか?
講 演 垂水 共之(岡山大学)
「統計ソフトの過去・現在・未来」
コメント 大隅 昇(統計数理研究所)
--------------------------
1.SPSSの歴史
SPSS社は1968年Stanford大学院生3人によって設立された。以来大型計算機の統計パッケージSPSSを作って来た。1984年からパソコン版のSPSS/PC+。1992年Windows版SPSSを発売している。1995年Windows95版を発売し,いくつかの言語に対応するようになった(*1)。SPSSは社会科学のための統計パッケージ(Statistical Package for the Social Sciences)としてあったが,最近は "Statistical Product and Service Solutions" と言っている(*2)。 SPSSは(前の)10版のときにSPSSxと称し, SPSSxの4版からまたSPSSと称している。
(日本語版については*3)
2.調査系の道具としてのSPSS
心理学の実証研究は実験系と調査系に大きく分けることができる。SPSSがとくに利用されているのは調査系においてである。実験系はSASが多い。SPSSが実験系ではあまり使われないのは分散分析が貧弱だったからである。
調査データの処理に便利な命令と統計処理があったため,調査系によく利用されたのである。例えば,recodeによって簡単に値を変えることができる。 var labels, value labelsによって変数や値にラベルを付けることができる。system missing のほかにmissing value によって特定の値を欠損値として扱うことができる。compute や if 命令によるデータの加工ができる。等々がデータ変容に関して便利な部分である。現在では変数名に2バイト文字が使えるようになっている。
統計命令としては 多肢選択のときに便利な,mult response(多重回答)のように他では見られない処理もある。report のように報告書の最後にのせる集計表に便利な命令もある。日本の追加統計命令であった数量化1類,2類,3類が入っていたこともSPSSがよく利用された理由の一つであろう。
調査系のなかの尺度構成に役立つものとしては,主成分分析・因子分析,Cronbach のα係数などの信頼性を求めることができるreliablity が入っている。ちょっとした検定に便利なcrosstabs, t-test, oneway, anova なども揃っていた。これらが利用者を多くしてきた理由である。
因子分析と分散分析を例にとって,いい点と改善して欲しい点を述べる。
3.因子分析
因子分析は現在はbase に入っているが,途中 advanced statistics に入っていてoption として別に買わなければならなかった。
SPSSの以前のfactor は寄与率に関して誤解を招くものであった。初期解と回転前の寄与率が出力されていたが,回転前の寄与率は回転後の因子負荷量の2乗和との誤解があった。現在の出力は回転後の因子負荷量の2乗和も出力されている。
Heywood case の取り扱い。「1.0 より大きい 1 つまたは複数の共通性推定値が反復間に発生しました。結果の解を解釈する時は注意してください」という警告がでるが,曖昧である。結果として1.0 以上があるかと1.0 以下に収まったのかが明確でない。また,対処法がわからないので,マニュアル等で記載すべきであろう。
「この行列は正値行列ではありません。」というエラーがあるが,これは主として「欠損値がある場合に,そのケースを落とすlistwise削除ではなく,pairwise に落として相関行列を求める場合に生じる。このようなエラーに対する対処法はSPSS社で蓄積しているはずだから,それをマニュアルやオンラインヘルプに反映させるとユーザにとってわかりやすいものになる。
使用したケース数を既定値で表示しないのも不便である。これを出力するには,記述統計の「一変量の記述統計量」を指定しなければならない。
なお,係数の表示書式のサイズによる並び替えと抑制する最小の絶対値の指定は結果を見やすくするいいオプションである。
しかし,因子分析に限らず,値の小数点以下3位までが0のとき指数表現をするのはいただけない。指数表現があると表が非常に見にくい。大量の数値を見るときじゃまである。なぜ,この表示を既定値にするのかわからない。大量のデータを扱う調査処理には一目でわかることが望ましい。
4.分散分析
分散分析はSPSSの弱いところであった。xになる前の8版からMANOVAがついてこの欠点は少しカバーされた。x後の7.5版からGLM がついてかなり改善された。また,現在ではBase に unianova というGLM の一部がついたのでBase でも分散分析はかなり使い勝手がよくなっている。計算して欲しいオプションはまだあるが,主たる問題は,別のところにある。
SPSSには観測検定力,偏η2(効果量)など日本の統計書にあまり載っていない統計量が多く出力されるが,その出典などの文献を明示しないし,説明も不足していたり間違っていたりする。また,不適切な利用を促進しそうな出力もある。従来のSPSSのよさは,SPSS付属のマニュアルで使用法やその統計命令の感触がつかめたことになる。しかし,GLM に代表されるようにもはやマニュアルだけでは理解できなくなっている。分散分析そのものになじむためのhow to 系のマニュアルが望まれる。
5.日本語訳
SPSSの日本語訳はかなりひどい。それはマニュアルの文章にひどいところがある,訳語が間違っているまたは普通ではない(ex. post hoc test を「その後の検定」としている),同じ語の訳語がヘルプやマニュアルや出力によって違っている。また,reference manual などを読むためには結局英語がわからなくてはいけないのだが,日本語に対する英語を明確にしていないのも困る。
6.出力
統計命令は既定値ではビュアに出力しない。使ったファイルも明示されない。これらから,何をどう処理したのかがわからないものとなっている。とくに試行錯誤しながらデータ処理した場合にはあとでわかりにくい出力である。したつもりのものと違った出力を使用する可能性さえある。
出力を直接ワードに貼り込めるようにして,利用者に便利になるようにした。しかしなぜか,思っているようなピボットテーブルがなかったり,図表がみにくかったり,出力をダブルクリックしてスクロールしないと見ることが出来ない部分が生じたりして,アンケート調査などの一括処理および簡単に見るには不便なものになったものもある。
7.その他
SPSSは調査データを処理するのに便利な統計パッケージであった。特に,日本では数量化を組み込んでいたりしてその利用者は多かった。SPSSは,多様なオプション群,最新の統計理論に対応するという点ではSASに大きく遅れている。しかし,それは絞り込んでいるということであり,SPSSはわかりやすい統計処理ソフトであった。その点からして,Windows版のメニュー方式などユーザフレンドリであり一貫性がある。同じセッションだけでなく,次のセッションにも既定値を変更できるようにすればもっと便利である。現在,シンタックスでもメニューでもその一方だけではSPSSの機能を全部使用することができないという変な状態になっている。この点は,マクロでも行列言語もスクリプトもみんな中途半端かつ非常にデバッグしにくいという点にも現れている。
いろいろ変更しているのに,old friends に対して変更点を明記しない。つまり,windows 版になって,みんなを初心者にしてしまうという間違いを犯している。
SPSSのいろいろな改善すべき点については次のページを参照してください。
堀 啓造(2000). SPSS ときど記, http://www.ec.kagawa-u.ac.jp/~hori/ spss/ tokidoki0.html
*3 山本嘉一郎・小野寺孝義・竹村和久(1999). 新版SPSSx IV オプション編 東洋経済新報社 1SPSSの現状
8.追加 今後の可能性をさぐる
- (1)製造物責任かな 即時改善を
- (a)日本語をきちんとする
-
これについては既に指摘している(*4)。
SPSS ときど記( 2) 2000/ 3/29〜2000/4/7 CATPCA(categories) (4)訳語の混乱
SPSS ときど記(11) 2000/ 4/24 スクリプト スクリプト作成の困難 (5)訳語の不斉合? おいおい
SPSS ときど記( 4) 2000/ 4/ 8 因子分析 重みなし最小2乗→重み付け最小2乗 (これは英語版の問題かもしれない)
英語版でも問題がありそうなものもある。
SPSS ときど記(13) 2000/ 4/27 因子分析 斜交回転 kappa, delta
- (b)バグをつぶす(これは当たり前。次のようなバグを指摘している)
-
SPSS ときど記(65) 2000/ 7/28 CATPCA オブジェクトスコアの欠損値が.000になっている
SPSS ときど記(64) 2000/ 7/27 PRINCALS オブジェクトスコアの保存がおかしい
SPSS ときど記(36) 2000/ 6/ 3 行列言語 10.0.5のバグ 文字列をsave できない
SPSS ときど記(26) 2000/ 5/22 スクリプト 変数タイプVarType()が常に0になる
(2)SASのように充実したオプションと統計学の最新成果をすぐに取り入れる
これには2つの方法がある。
(a)統計命令として追加
(b)マクロとして追加
SASは(a)(b)ともによくやっている。stata も(a)(b)を特に(b)を強力に押し進めている。stata にはマクロなどの情報をのせている会報がある。また,マクロ自体はインターネットで簡単にダウンロードできる。stataは(a)に関しても努力している。SおよびS-Plusは(b)の方面での活動が活発なところである。
SPSSをこの方面で見るとかなり悲観的である。SPSSはすでに統計命令を開発する能力があまりないということである。SEM(共分散構造分析)については早くから目をむけていたようだが,Lisrel との提携,AMOSとの提携というように外部に委託してしまっている。AnswerTreeやexact test なども外部の既成のソフトとそのまま提携している。BMDPやSystatの場合のように買収する場合もあるが,それをSPSSに取り入れるのではなく,単体として売るだけである。
比較的最近作ったものとしてはGLMであるが,MANOVA に似たものである。MANOVAはSASのGLM と比較して大きく劣っていたのでそれを改善しただけである。SPSSが新しく作った統計命令はほとんど従来の統計命令では不足だったものを改善しただけといえる。
という意味で(a)は現在のスタッフでは無理ではないだろうか。
(b)に関して,行列言語やシンタックス,マクロ,スクリプトに関して大きな欠陥がある。それは,サブルーチンを組めないということである。さらにエラー処理の機能がないことである。エラーの場合に行列言語およびマクロを抜け出すという命令が組めない。さらにデバッグの能力が極度に低いということ。特に行列言語の中でのエラーは大昔の大型コンピュータのデバッグの状態に陥る。最低でもbasic のレベルにしてほしい。delphi のレベルになればかなり快適である。
いずれにしてもsas のiml のように単独で組めるそして出力に関してももっと自由度の高い行列言語にしないと高度の統計処理をするのは無理であろう。もっとも,そのような行列言語がつくとSPSSの統計ならもっといい出力のマクロがどんどんでてしまう可能性がある。
もう一つ重大な欠陥がある。
SPSS ときど記(15) 2000/ 5/ 3 スクリプト 重回帰分析変数総当たり
において指摘しておいたが,出力をビューに出すときの制限がきついのである。最近はbootstrap や cross-validation など何度も計算した結果をまとめる場合がある。その場合1000回ぐらいの統計出力は当たり前になるが,SPSSでは1000回も出力できないのである。SPSSのなかにはすでにbootstrap を組み込んでいる統計命令もあるが,それ以外のものではbootstrap できないということになる。Leave-v-out の cross-validation などはとんでもないことになる。
いずれにしても新しい統計命令を追いかけるならSPSS以外のパッケージを選ぶほうがよいだろう。
(3)使いやすさをめざす
私のイメージではSPSSはもともと使いやすさを目指した統計パッケージである。大型計算機が主力のころの1970年代,の英語マニュアル1980年代前半ののマニュアルなども当時としてはわかりやすいマニュアルであった。シンタックスの組み方も大型計算機の言語としては簡潔でわかりやすかった。つまり,統計学にはそれほどうるさくないが,調査データを処理するために必要な統計処理はだいたい含んでいるわかりやすい統計パッケージであった。
ところが,いくつかの拡張のためにわかりにくくなった。一つはMANOVAのようにマニュアルだけではどのように使い込むか理解できない統計命令ができたことである。MANOVAについてはそれ単独の解説書がSPSSと関係なくでている。同じことはGLM でも言える。すでに書いたが,SASのように素人むけ,how to 型の統計解説兼マニュアルが必要である。使いこなしが困難な統計命令には単独のマニュアルを出して行くべきだろう。
対数線形モデルに関しては,SPSSの出力ではよくわからない。また,ほかでも主張しているが,ecta のようにコーディングするのを標準としたほうがいいであろう。つまり平均値からずれているかチェックする。今の出力は特定の値(標準では最後の値)と対比させている。さらに言えばSASのproc catmod やproc GENMOD のように検定できるほうがいいだろう。
また,proc genmod のように反復測定に対応できるようにして欲しい。
わかりやすい結果をどうだすかの問題である。通常の対数線形モデルにはそういう視点がないようである。
SPSSとしては,わかりやすい操作,わかりやすい出力をめざすべきであろう。これらのライバルはstatview(sas), statistica, jmp(sas) などになる。
SPSSの主力はわかりやすさに徹し,最新の統計に関してはマクロで対応するのがいいのでは。しかし,残念ながら,今のマクロや行列言語は最新の統計に対応するレベルではない。
もう一つ,SPSSのWindows 上のhelp のコマンドに関しては,そのオプションをクリックすれば解説がでるようにすればもっと快適である。メニューのほうではヘルプで解説がでるのだから,同じように解説がでるようにしてほしい。
(4)SPSSの商法について
(a)オプションをまとめよう
SPSSのBASEは現在おおむねspssx になる前の大型計算機のときの水準になっている。もちろんBASEにもっといろいろいれたほうがいいが,とりあえずのものは揃ったというところだ。しかし,base に比べoption が高すぎるのではないか。日本ではbase が16万円程度,optionが9万8千円である。optionはとくにきちんとグルーピングされているわけではない。特に regression models と Advanced Models を分ける理由がよくわからない。また,Conjointはcategories から分離されたものであるが,独立するほど充実していない。もし独立させるならもっと多様なconjoint をサポートすべきであろう。exact test もはたして独立させるものだろうか? option は2,3のグルーピングにしたほうがいいであろう。
(b)バージョンアップ商法はやめよう
SASは1年契約のリースである。SPSSは買い切りであるが,ほぼ毎年バージョンアップしている。10版はマニュアルもちゃんとできていない段階で,しかも宣伝にも使っていない統計命令が追加されたり,発売後バグだらけで問題になり,結局2回(日本版は1回)マイナーバージョンアップしている。とても発売できる状態でないのに販売を強行している。
このように無理なバージョンアップし,大した向上はしていない。使い勝手は2回目のバージョンアップによってバグがすくなくなったので良くなってはいる。
このように毎年の無理なバージョンアップ。そして,ひどいのはバージョンアップしていないオプションに関してもバージョンアップ料をはらわないと新しいバージョンで使うことができないのである。この問題は(a)とも通じる
1年ごとにバージョンアップしたら1回も使わないオプションがでてきてしまう。もうちょっと落ち着いてよね。2年以内のバージョンアップは無料のバージョンアップにすべきなんじゃない。
(c)時間を区切ったセールはやめよう。→それを正価に
バージョンアップしたときなどによく期間を区切ってバージョンアップ料を低くしている。どうせ1年でバージョンアップするのになにをそう急いているのだろう。このように売らんかなを見せつけられると白けるよね。
とりあえず
- SPSSは使いやすさをめざすのがいい
- 日本語の翻訳を統計学に基づくようそして訳語を統一しよう
- 統計命令はそんなに増やさなくていい(もちろん増やすのは歓迎)
- 調査系に強いように統計命令を追加する
- わかりにくい統計命令については別途マニュアルを作る
- マニュアルに文献をきちんとリストする
- マクロや行列言語にサブルーチンやエラー処理を付け加える
- バージョンアップ商法等の売らんかなの姿勢はあらためよう
- 前からの使用者に優しい説明をつけよう
Kagawa University Faculty of Economics Keizo Hori(home page)
e-mail hori@ec.kagawa-u.ac.jp