SPSS ときど記(191〜200)

SPSSを使っていてトラぶったところや変な出力や裏技表技の便利な使い方を中心に書き留めてみる。何回話題があるかわからですが,時々書きます。(Keizo Hori
最終更新日: (2004/9/20から)

(181)〜(190) ときど記(メニュー)へ  (200)〜(210)

  1. SPSS ときど記(200) 2004/12/10 SPSS SAS, STATAとの比較
  2. SPSS ときど記(199) 2004/11/16 行列言語 欠損値のあるデータ処理後データ窓に結果をつなげる
  3. SPSS ときど記(198) 2004/11/15 スクリプト 数量化2類スクリプト
  4. SPSS ときど記(197) 2004/11/ 5 spss 13.0日本語版連絡来る
  5. SPSS ときど記(196) 2004/11/ 3 BASE 『SPSS事典 BASE編』
  6. SPSS ときど記(195) 2004/10/ 5 因子分析 hfactor, nfactorsスクリプトの相関行列からの処理
  7. SPSS ときど記(194) 2004/ 9/25 シンタックス シンタックス,マクロ,スクリプト,OMS
  8. SPSS ときど記(193) 2004/ 9/23 categories ノンパラメトリックの判別分析
  9. SPSS ときど記(192) 2004/ 9/21 spss 13.0英語版でる
  10. SPSS ときど記(191) 2004/ 9/20 クラスター分析 デンドログラムをネットに載せる 結論編

SPSS ときど記(200) 2004/12/10

SPSS SAS, STATAとの比較

spss とSAS, STATAとの長所短所の比較をUCLAのサイトで行っている.
http://www.ats.ucla.edu/stat/sas/faq/compare_packages.htm

主たる強みは使いやすさにある.グラフがいいとも言っているが,ここで扱っていない統計ソフトのほうがグラフをがんばっている.たとえば,statistica, systatなどだ.

 弱みは最新統計がないこと.たとえば頑健性に配慮した統計など.


メニューへ  トップへ (201)へ


SPSS ときど記(199) 2004/11/16

行列言語 欠損値のあるデータ処理後データ窓に結果をつなげる

数量化2類スクリプトを開発するため,行列言語で処理した結果をデータ窓に返しもとのデータとつなげることをする必要がでた.

 単に変数を追加するだけだと, 行列言語からh2_score.savに一度書き出してあるとして,
match files file='h2_score.sav'/file=*.
という形でよい.なお,あとから追加するh2_score.sav ファイルを優先するためにこれを先に書いている.
欠損値がある場合にはケースを合わせなければならない.
match files file='h2_score.sav'/file=* by id.
のようにbyのあとに照合する変数を入れる.このときid は昇順になっている必要がある.どのような場合にも対応するためには$casenum をこれに使うのがいいだろうが変数名として使えない.そこで
compute id=$casenum.
といったん変数に書き出す.それを行列言語のなかにも取り込む.
get x /file=* /var=!ivar !cvar col1 /missing=omit/sysmis=omit/names=nx.
行列x にデータを読み込む.このてき変数名col1 は後で書くように$casenum に対応するものである.!ivarと!cvar はマクロでの変数名を書き込んだものである./missing=omit/sysmis=omit で欠損値のあるケースは読み込まない.オリジナルの変数名はnames=nx と行列 nx に読み込んでいる.
 そして,行列言語のなかでid だけの行列を保存しておく.所定の処理をして書き出す段になってから,id の行列(casenum)と一緒にする.
save {casenum,dscore}/outfile='h2_score.sav'.
というようになる.変数名は指定しない場合 COL1〜COLnn とCOL の連番となる.
 ここでいろいろ変数名を任意にできないか考えたが $CASENUM に対応する変数名を任意につけることは難しいと悟った.そこで$CASENUM に対応する変数名はCOL1 に固定することで解決することになった.
match files file='h2_score.sav'/file=* by COL1.
ということになった.
 悟るまでいろいろ試行錯誤が必要であった.とにかくこれで欠損値に対する対応ができた.

まとめると,シンタックス部分を含めて $casenum の変数名をcol1 にする.

* データ窓に$casenum に対応するcol1 という変数を作成する.
compute col1=$casenum.
matrix.
get x /file=* /var=!ivar !cvar col1 /missing=omit/sysmis=omit/names=nx
*ここでcol1 だけをとりだし,xからcol1 の桁を取り除く作業をする.
compute casenum=x(:,ncol(x)).
compute x=x(:,1:(ncol(x)-1)).
compute nx=nx(:,1:(ncol(nx)-1)).
*必要な計算を行う.

*計算結果を一旦保存する. save {casenum,dscore}/outfile='h2_score.sav'
end matrix.

*シンタックスのなかでデータ窓のファイルと保存したファイルを結合する. match files file='h2_score.sav'/file=* by COL1.

メニューへ  トップへ (200)へ


SPSS ときど記(198) 2004/11/15

スクリプト 数量化2類スクリプト

数量化2類のスクリプトを作成した.マクロのスクリプト化であるが拡張もした.
(1)ダミーコードをはき出し,判別分析までつなげた
(2)ダミーコードと同じく,個体得点においても欠損値に対応して出力するようになった.(前は手抜きで対応させていなかったので欠損値なしの場合のみ有効であった)

http://www.ec.kagawa-u.ac.jp/~hori/spss/spss.html#hayasi22 にあります.
まだ説明不足ですが,使ってみてください.
メニューへ  トップへ (199)へ


SPSS ときど記(197) 2004/11/ 5

spss 13.0日本語版連絡来る

本日(2004/11/ 5)SPSS13.0 version up の連絡が来た.
version upの内容は
http://www.spss.co.jp/product/spss/spss13.html にあります.

メニューへ  トップへ (198)へ


SPSS ときど記(196) 2004/11/ 3

BASE 『SPSS事典 BASE編』

小野寺孝義・山本嘉一郎(編)『SPSS事典 BASE編』ナカニシヤ(2004)がでた.

 BASEの統計命令について説明したものである.目次は
http://www.nakanishiya.co.jp/books/ISBN4-88848-910-6.htm
にある.
 昔東洋経済新報社からでていた,SPSSのマニュアルに+αしたものというイメージ.
 (1)統計処理の網羅的説明
 (2)統計処理における計算過程の説明.途中の計算例を入れているところもある.
 (3)処理の豆知識,用語の豆知識.統計処理の使い分けについての説明も一部ある
 (4)SPSSのアルゴリズムの間違いの指摘
 (5)SPSSの用語使用法が慣用と違うことの指摘
などがある.まあ,便利に使えるだろう.
 字が小さいというのが一目見た印象である.
 これに,処理結果の見方,数値の解釈の仕方が一般化している場合の解釈法があればいいのだが.参考文献も載っているのでこれを参考にすればいいか.
 私のこのページも引用してくれている.


メニューへ  トップへ (197)へ


SPSS ときど記(195) 2004/10/ 5

因子分析 hfactor, nfactorsスクリプトの相関行列からの処理

階層因子分析をする
hfactor.SBS と 因子数決定法のMAP, 平行分析などをするnfactors.sbs において相関行列から処理できるようにした.他の人のデータを処理するときはたいてい相関行列からの処理になるためである.

相関行列は自動認識する.spss 正規の相関行列データであること.うまく認識できない場合は連絡ください.
メニューへ  トップへ (196)へ


SPSS ときど記(194) 2004/ 9/25

categories シンタックス シンタックス,マクロ,スクリプト,OMS

Levesque, R. (2004). 『SPSS programing and data manegement-SPSSユーザーとSASユーザーのために』SPSS CD-ROM付き
がでた.SPSSのシンタックス,マクロ,スクリプト,OMSを使用するための解説書である.シンタックス,マクロ,スクリプトに関しては長く解説本がでていなかった.シンタックスは初期のSPSSでは説明がちゃんとあったが,メニュー方式になってからは放っておかれた.データと結果のエクスポートについての説明もある.

メーリングリストのSPSSX-Lでも積極的に発言しているLevesque氏の著書である.debug の仕方などの細かい説明もある.
http://pages.infinit.net/rlevesqu/ でも多くのシンタックス,マクロ,スクリプトを公開している.この本の訂正もこのサイトで行うとのこと.http://pages.infinit.net/rlevesqu/spss_programming.htm 目次はここを参照のこと.

OMS については日本語版に対応させて変更が必要.OMS ブートスラップのマクロ修正版 参照のこと.

メニューへ  トップへ (195)へ


SPSS ときど記(193) 2004/ 9/23

categories ノンパラメトリックの多重判別分析

ノンパラメトリックの判別分析といえば,数量化2類である.
メーリングリストのspss-x においてspssでの方法の質問がでた.その答えをKooij, A.J. van der氏がだしている.
1つの判別関数を求めるなら,catregを使って,名義尺度を指定し,変換後の変数を保存し,判別分析にかける.
overals は変換後の変数を保存できないが,数量から計算できるとのこと.
(EigvalD=eigenvalue DISCRIMINANT, EigvalO=eigenvalue OVERALS, W=OVERALS weights,
n=number of cases, k=number of groups; dimension i OVERALS corresponds to discriminant function i)
EigvalD = (2*EigvalO-1)**2 / (1-(2*EigvalO-1)**2).
Canonical correlation: 2*EigvalO-1.
Unstandardized canonical discriminant function coefficients:
W / (2*EigvalO*SQRT(n/(n-k)*(1-EigvalO))).
This gives the coefficients for standardized variables / SQRT(n-1) * SQRT(n).

う〜む.あとで,チェックしてみよう.数量化2類はすでに,
数量化2類マクロ(1997/01/21 rev) でリンクしている.
原理からするとoveralは判別分析と正しく結びつかないはずなんだけど.<--つまり,判別分析は基準変数の分散を最大にするように説明変数の重み付けを決めているが,overalは基準変数,説明変数ともに最大化している.--> 理解が違っていたのかな.
PS.
EigvalD, Canonical correlationについては確認した。判別関数係数については確認できない。

メニューへ  トップへ (194)へ


SPSS ときど記(192) 2004/ 9/21

spss 13.0英語版でる

spss13.0 releaseのアナウンスがあった.
http://www.spss.com/press/template_view.cfm?PR_ID=713&source=homepage&hpzone=news

何が変わったのかイマイチわからないが,グラフとデータの前処理がよくなったようだ.treeがspss のオプションになったようだ.オプションにしないほうが毎年更新料がいらなくていいのだが.そのほかのバージョンアップはここのpdf
データマネージメント以外を拾ってみると次のところが新しい.
分析
Multiple correspondence analysis (in SPSS Categories add-on module)
Complex samples general linear model (in SPSS Complex Samples add-on module)
Complex samples logistic regression (in SPSS Complex Samples add-on module)
SPSS Classification Trees add-on module
グラフ
Population pyramids (also called mirror charts or dual charts),3-D bar charts, and dot charts (also called dot density charts)
Additional chart display features/options, including paneled charts and error bars on categorical charts

日本心理学会大会においてspss社の人に聞いたところ日本語版は12月予定だそうだ.

メニューへ  トップへ (193)へ


SPSS ときど記(191) 2004/ 9/20

クラスター分析 デンドログラムをネットに載せる 結論編

まず対処の仕方として,基本的に3つある.
(1)デンドログラムをテキストファイルになるようにする.
(2)リッチテキストをそのままhtml化する
(3)画面のまま画像として取り込んで画像ファイルとする

(1)set box="-|+++++++++". をシンタックス窓から走らせてクラスター分析をする.結果は
クラスター分析 デンドログラムのワープロへのコピー
にあります.行間を詰めて少し見やすくしました.
このとき半角ブランクの2つ続きを全角ブランクに置換し,行末に<br>をつけなくてはならない.

(2)について,一太郎(13)についてはすでに説明済み.Word2003でもhtmで保存できることがわかった.「名前をつけて保存」のほうから保存すればいい.おそらくWord2000はspss mark set を表示できないのであろう.
 この方法はspss mark set フォントを持っている人にしか正しく表示されないことである.
http://www.ec.kagawa-u.ac.jp/~hori/spss/clusterjust.htm がちゃんとデンドログラムになっていればあなたはOK.
しかし、SPSSユーザ以外へのプレゼンテーションには不向きな方法である。

(3)画像ファイルにするのは
alt+ScreenPrint で画面をコピーするのが一番いいだろう(私のもっているFM-Vではなぜかできない。このときはScreenPrintで全画面をコピーする。Dell, Vaio ではalt+ScreenPrint はちゃんと利く。).これをアクセサリのペイントで適度に切ってファイルに保存するのがいいであろう.
SPSS ときど記(190) 2004/ 9/16 クラスター分析 デンドログラムのjpeg化 (9/18追加あり)
に図と説明がある.
デンドログラムが大きなときに問題がある.上の頁にも2との対処法を書いた,例えばペイントでつなぐというのも一つであるが,これも大きさの制限を受ける.おそらく,複数画面をうまく切って,web上でつなぐのがいいのだろう.上の例はtabelのボーダーつきで表示しているが,ボーダーなしならうまくいくだろう.

他の問題もあるかもしれないが,とりあえず(3)でやるのが一番きれいであろう.他のことにも応用できると思います.
メニューへ  トップへ (192)へ


堀 啓造ホームページへ