SPSS備忘録 -47ページ目

コンジョイント分析の本

真城 知己
SPSSによるコンジョイント分析―教育・心理・福祉分野での活用法 実用的ですぐに使える
SPSS Conjoint を使うと、「ノートパソコンの処理能力と電池の持ち時間とサイズと価格は、どのようなスペックバランスが望まれているのか」などが出来るコンジョイント分析 が出来ます。結果は説得しやすいものが出せますのでマーケティング関係で分析をしている場合、ぜひ挑戦したいものですが、この分析は一部(直交計画)を除いてダイアログで出来ずにシンタックス で組まなければいけませんので敷居が高いです(6月28日の記事 の講座で体験できるみたいですよ)。
このため面白い分析なのに資料がSPSSのPDFになっているマニュアルくらいしかありません。それ以外での資料で思い当たるものとなるとなると、少々古いのですが、未だにこの本になります。
以前のバージョンで書かれているので直交計画部分については最近のバージョンはダイアログでも出来るようになった説明がないのですが、それでも今のSPSS15.0でも使える本です(載っているシンタックスでの直交計画もSPSS15.0でも使えます)。マニュアルよりユーザー寄りで読みやすいので、ぜひ参考にしていただければと思います。

正準相関分析の詳細説明

5月28日の記事 で正準相関分析について記載しましたが、先日のKEYWORDSに説明されておりましたので、転載しておきます。


Q.
SPSSで正準相関分析を行うことは出来ませんか?

A.
SPSSで正準相関分析(Canonical Correlation)を実行することは出来ます。ただしメニューから実行することが出来ず、Command Syntax Reference(C:\Program Files\SPSS\spssbase.pdf)のAppendix Eにありますとおり、シンタックスによって実行します。


(1)SPSSをインストールしたディレクトリ(初期設定のままの場合「C:\Program Files\SPSS\」)に「Canonical correlation.sps」にというシンタックスファイルがあるか確認をします。


(2)SPSSのメニュー[ファイル]→[新規作成]→[シンタックス]をクリックし、シンタックスエディタを起動します。シンタックスエディタに以下のコマンドを入力してください。


INCLUDE 'C:\Program Files\SPSS\Canonical correlation.sps'.
CANCORR
SET1= x1 x2 x3 /
SET2= y1 y2 y3 / .


上記コマンドのうち、「C:\Program Files\SPSS\Canonical correlation.sps」は(1)で確認したファイルになりますので、ファイルの場所にあわせて必要に応じて書き直してください。「x1 x2 x3」と「y1 y2 y3」については正準相関分析に使用する変数リストです。実際分析するデータの変数にあわせてスペース区切りで変数を入力してください。


(3)(2)のシンタックスを実行すると、この設定を「Canonical correlation.sps」に組み込んで連動実行され、Canonical Correlationが出力されます。


なお、非線型正準相関分析はCategoriesオプションの最適尺度法で実行できます。

文字型フィールド・数値フィールドの変換を関数で行う。

7月10日の記事 で、フィールドのストレージはデータ入力段階でのみしか基本的に設定できないとしましたが、何らかの事情があって途中でストレージを変更したい場合は、置換ノードにCLEM関数を用いてストリームの途中でストレージを変換します。


置換ノードで文字列フィールドに


数値フィールドを文字列フィールドにする場合、置換ノードをストリームに組み込み、[対象フィールド]に変換したいフィールドを入れて[置換]を「常時」(全ての値を置換すること)に設定します。


CLEM式ビルダーで変換

そのうえで電卓ボタンでCLEM式ビルダーを起動し、[変換]グループにある関数[to_string(数値フィールド)]を設定します。


ストレージが文字列になっている

[OK]でノード設定を確定し、さらにデータ型ノードに読み込ませると、ストレージが「文字列」に変換されております。


文字列フィールドを数値フィールドにする場合も同様で、置換ノードをストリームに組み込み、[対象フィールド]に変換したいフィールドを入れて[置換]を「常時」(全ての値を置換すること)に設定します。


置換ノードで数値フィールドに


そのうえで電卓ボタンでCLEM式ビルダーを起動し、整数にするか、実数(小数のある値)にするか、とにかく数値にするかで、[変換]グループにある関数[to_integer(文字列フィールド)][to_real(文字列フィールド)][to_number(文字列フィールド)]のいずれかを設定します。ただしフィールド内に数値に出来ない文字列の値がないものである必要があります。


ストレージが数値になっている

[OK]でノード設定を確定し、さらにデータ型ノードに読み込ませると、ストレージが「数値」に変換されております。