日本語 English
株式会社ヒューリンクス
TEL:03-5642-8384
営業時間:9:00-17:30

SYSTAT による「はじめての」統計解析

SYSTAT は、マウスによる簡単な操作だけで信頼性の高い解析と高度なグラフを作成できる、初心者からプロフェッショナルまで幅広い層にぴったりの統計解析ソフトウェアです。ここでは、共通のサンプルデータ (28 種類の冷凍食品に関する 10 種類の情報が含まれています) を用いて SYSTAT で作業を実行するためのベーシックな手順を目的別に簡単にご紹介します。


1. 散布図を用いたデータの理解

SYSTAT は、マウスによる簡単な操作だけで信頼性の高い解析と高度なグラフを作成できる、初心者からプロフェッショナルまで幅広い層にぴったり

食品に含まれる脂肪分とカロリーの関係を示す散布図
食品の分類名を表示した散布図
ダイエット食品の方が低カロリーで低脂肪分であることをわかりやすく示す「信頼カーネル」(水色の枠)の表示

サンプルデータ:Food.syz

サンプルデータには、28 種類の冷凍食品に関する 10 種類の情報 (変数)が含まれています。 SYSTAT 13 ディレクトリの Data から開くことができます。

BRAND$ メーカーの短縮名 (記号)
FOOD$ 食品の種類で、chicken 、pasta、beef のいずれか
CALORIES 1 食当たりのカロリー
FAT 脂肪分の含有量 (グラム単位)
PROTEIN たんぱく質の含有量 (グラム単位)
VITAMINA ビタミンA の含有量(1 日の必要量に対する割合)
CALCIUM カルシウムの含有量(1 日の必要量に対する割合)
IRON 鉄分の含有量(1 日の必要量に対する割合)
COST 価格
DIET$ 低カロリー食品の場合は yes 、通常の食品の場合は no

脂肪分 (FAT) と カロリー (CALORIES) の関係を見る

散布図を使用して、2つの量的変数の関係を視覚的に表示することができます。この例の CALORIES (1 食当たりのカロリー) と FAT (脂肪分の含有量) の関係をプロットしてみましょう。

次のようにメニューを選択します。
「Graph」> 「Scatterplot…」

「Scatterplot」ダイアログボックスで、X -変数として「FAT」を、Y -変数として「CALORIES」を選択します。

「Scatterplot」ダイアログボックスで、「Fill (塗りつぶし)」タブをクリックし、最初の塗りつぶしパターンとしてべた塗り (■) を選択します。

「OK」をクリックしてコマンドを実行します。

Scatterplot ツールをクリックし、散布図ダイアログ ボックスに戻ります。以前の設定が残っていることに注意してください。
「Scatterplot」ダイアログボックスで、「Smoother」タブをクリックし、「LOWESS」スムーザーを選択します。

「OK」をクリックしてコマンドを実行します。

スムーザーは、ご覧のとおり、脂肪分 (FAT) が多いほどカロリー (CALORIES) が高いことを示しています。
表示された線は、FAT の各値に対する「標準的な」カロリーを表します。

散布図にラベルをつける

最もカロリーの高いもの、最もカロリーの低いもの、最も脂肪分の多いもの、最も脂肪分の少ないものが何であるかを調べてみましょう。

「Scatterplot (散布図)」ダイアログ ボックスに戻ります。

「Scatterplot」ダイアログボックスで、「Symbol and Label (シンボルとラベル)」タブをクリックし、「Case labels (ケースラベル)」グループボックスで、「Display case labels (ケースラベルを表示)」をクリックし、各プロット点のラベルとして製品のメーカーを表示するために「BRAND$」を選択し、ケースラベルのサイズを「1.5」に変更します。

FOOD$ (chicken 、pasta、beef のいずれか)についても同じ手順を繰り返します。

最も高い点は sw 製造の鶏肉製品 (chicken)です。おそらくフライド チキンでしょう。 右側の離れた点(300 カロリー付近)に表示されている gor 製造の牛肉製品 (beef) は、同じカロリーのどの製品よりも脂肪分 (FAT) が多いことが分かります。
ブランド名を表示した例
食品分類名を表示した例

群分け変数を用いた散布図の作成

ダイエット食品は、通常の製品よりほんとうに低カロリーで低脂肪なのでしょうか。 この標本の食品には通常の食品として販売されている製品と、ダイエット食品として販売されている製品が含まれています(それぞれ、DIET$ が no および yes)。

「Scatterplot (散布図)」ダイアログ ボックスに戻ります。

Grouping variable (群分け変数) として「DIET$」を選択します。
「Overlay multiple graphs into a single frame (複数グラフを単一枠に重ね合わせ) 」を選択します。

「Symbol and Label (シンボルとラベル)」タブで「ケースラベルを表示」の選択を解除し、「スムーザー」タブで「スムーザー手法」として「なし」を選択します。

「Scatterplot」ダイアログボックスで、「Options」タブをクリックします。
「Confidence kernel (信頼カーネル)」を選択し、75% 信頼区間を表示するため、p 値として 0.75 を入力します。

OK」をクリックしてコマンドを実行します。

この標本から、通常の食品群 (DIET& = no) よりもダイエット食品群 (DIET& = yes) の方がカロリーおよび脂肪分の値が低いことがわかります。

2. ケースのソートと一覧表示

SYSTAT は、マウスによる簡単な操作だけで信頼性の高い解析と高度なグラフを作成できる、初心者からプロフェッショナルまで幅広い層にぴったり

データをソートする

データをソートするには、「Sort File…」コマンドを使用します。メイン ウィンドウまたは「データ」ウィンドウで、次のようにメニューを選択します。
「Data」> 「Sort File… 」

「Data: Soft File」ダイアログ ボックスで、ソートする変数として「FOOD$ 」と「FAT」を選択し、「OK」をクリックします。

FOODS$ と FAT の値が昇順でソートされました。

必要な情報だけを取り出す

データから必要な情報を抽出するには「List Cases」コマンドを使用します。次のようにメニューを選択します。
「Data (データ)」> 「List Cases (ケースの一覧表示)… 」

抽出する変数として、「FOOD$」、「FAT」、「CALORIES」、「PROTEIN」、および「BRAND$」をここでは選択してみましょう。

Format (フォーマット)」グループ ボックスを使うと表示させたい書式を指定できます。ここでは、「Column width (列の幅)」には 7 を、「Decimal places (小数点位置)」には 0 を入力します。

OK をクリックすると、 アウトプットペインに選択した変数の値がリストアップされます。

同一の食品群、すなわち、FOOD$ の beef/chicken/pasta それぞれの中にも脂肪分の含有量 (FAT) には大きな開きがあるようです。chicken および pasta を見ると、ダイエット食品メーカー ww および hc が上位を占めていることがわかります。

ただし、データ ファイルのサイズが大きい場合は、リストされたデータをページを何枚もめくって調べなければならないので、相互の関係を調べることが難しくなります (この場合は、次のセクションの説明を参照)。 データのソートと一覧表示は、どのプロシージャでも実行することができます。

3. 簡単な統計量の記述

データ・スクリーニングの初期の段階で、群分け変数 (Grouping variables) の件数を集計したり、数値変数の各種統計量をまとめておくと便利です。

度数と相対度数

「Analyze (解析)」メニューの「One-Way Frequency Tables (1元表)」プロシージャには豊富な表示オプションが用意されており、出力するレポートを自由にカスタマイズすることができます。「Frequency distribution (度数分布)」オプションを使用すれば、群分け変数の各カテゴリの出現回数 (度数)や、標本全体に対する各度数の割合(相対度数)を示すことができます。度数と相対度数は、累積的に表示させることも可能です。ここで使用する標本データには、どのような食品 (FOOD$) が含まれ、それらのメーカー別 (BRAND$) 、ダイエット タイプ別 (DIET$: yes/no) の件数はどれだけあるでしょうか。

一元表の作成

次のようにメニューを選択します。
「Analyze (解析)」> 「One-Way Frequency Tables (1元表)…」

「One-Way Frequency Tables (1元表)」ダイアログボックスの 「Frequency distribution (list layout)」(度数分布) をチェックします。変数には、「FOOD$」、「BRAND$」、「DIET$」を選択します。

OK をクリックすると、選択した変数別に以下の3つの表が出力されます。

FOOD$(出力の左上に変数名が表示されています)に関するデータから、この標本の全 28 製品のうち 14 製品(Percent 列の 50.000% ) が chicken で、21.429% が beef、そして 28.571% が pasta であることがわかります。
BRAND$ 当たりの製品数はいずれも 3 ~ 5 の範囲内です (二つ目のテーブル)。
通常の食品 (DIET$ が no) は 15 種類で、ダイエット食品 (DIET$ が yes) は 13 種類あります。

クロス集計表の作成 (リスト配置型)

Analyze (解析) メニューの Two-Way Tables (2元表) にある「List layout (リスト配置)」オプションは、2つの要因 (変数) をクロス分類して得られる結果をまとめるのに便利です。ここでは DIET$ と BRAND$ の組み合わせについて調べてみることにしましょう。

次のようにメニューを選択します。「Analyze (解析)」> 「Tables (テーブル)」> 「Two-Way (2元表)…」

Two-Way (2元表)」ダイアログ ボックスで、List layout を選択します。Row variable (行変数) として「DIET$」を、Column variable (列変数) として「BRAND$」を選択します。

OK をクリックすると、右図の表が得られます。

DIET$ には 2 つ (no/yes)、BRAND$ には 7つのカテゴリがあるので、その組み合わせは全部で 14 通りになるはずですが、ここではそのうち 7 通りが示されます。ダイエット食品 (yes) と通常の食品 (no) では、ブランド (BRAND$) に違いがあることがわかります。

2元表の作成 (リスト配置なし)

2つの要因 (DIET$ と FOOD$) の度数を 2 元表として表示したいと思います。「List layout」オプションの選択を解除し、DIET$ と FOOD$ の関係を見てみましょう。

次のようにメニューを選択します。
「Analyze (解析)」> 「Tables (テーブル)」> 「Two-Way (2元表) …」

行変数として「DIET$」を、列変数として「FOOD$」を選択します。

List layout」オプションの選択を解除し (チェック ボックスが選択されている場合はオフにします)、Tables から 「Counts」 を選択します。

OK をクリックすると、右図の表が得られます。

DIET$ が yes の群では beef 製品が 0 であることがわかります。

4. 記述統計

記述統計を実行すること自体は簡単です。ただし、算出された平均および標準偏差を、分布の状態をグラフでよく確認せずに報告するのは避けるべきです(分布の形状が大きく歪んでいる場合は、実態とは異なる値が算出されることもあるからです)。ある値が欠損値であるか否かは、変数ごとに標本の大きさを調べることで判断できます。

基本統計には、観測数 (N)、最小値、最大値、算術平均 (AM)、幾何平均、調和平均、合計、標準偏差、分散、変動係数 (CV)、範囲、中央値、算術平均の標準誤差などがあります。

次のようにメニューを選択します。
「Analyze (解析)」> 「Basic Statistics (基本統計)…」

Analyze: Basic Statistics」ダイアログボックスで、ソースリストの変数をすべて選択し (このコマンドでは数値変数しか使用できません)、「OK」をクリックして、デフォルトの統計量 (N=件数、Minimum=最小値、Maximum=最大値、AM=算術平均、SD=標準偏差) を計算します。

以下の結果が出力されます。

SYSTAT では、欠損値を除外したケースの数 (N of Cases)、最大値 (Maximum)、最小値 (Minimum)、平均値 (Arithmetic Mean)、および標準偏差 (Standard Deviation) が変数 (CALORIES, FAT, PROTEIN, …) ごとに表示されます。
CALORIES (カロリー) を見ると、値の範囲は 160 ~ 550 で、平均値は約 300 (正確には 303.214)となっています。
VITAMINA (ビタミンA 含有量) を見ると、値の範囲は 0% ~ 100% で平均値は 18.9% となっています。この平均値は範囲の中心から外れていますから、この分布が大きく偏ったものであるか、あるいは、極端な値が存在している可能性が高いといえます。

グループ別の統計

「Data (データ)」メニューの「By Goups (グループ化)」を使用して分析を層化することができます。

次のようにメニューを選択します。
「Data (データ)」> 「By Groups (グループ化)…」

「By Groups (グループ化)」ダイアログ ボックスで、変数として「DIET$」を選択し、「OK」をクリックしてコマンドを実行します。

Basic Statistics」ダイアログボックスに戻ります。Options として、「N (件数)」「Minimum (最小値)」、「Maximum (最大値)」、「Arithmetic Mean (AM) (算術平均)」、「Cl of AM (算術平均の信頼区間: Confidence Limit Lower/Upper)」、および「Median (中央値)」を選択します。

OK をクリックすると、DIET$ が no と yes のグループ別に以下の統計結果が得られます。

ダイエット食品13種類 (DIET$=yes: 下の表) のタンパク質 (PROTEIN) の中央値 (Median) は 17 グラムで平均値 (Arithmetic Mean) は 16.8 グラムです。通常食品15 種類 (DIET$=no: 上の表) では、中央値 (Median) が 22 グラム、平均値 (Arithmetic Mean) が 22.1 グラムです。 後で、2標本 t 検定を実行し、有意差があるかどうかを調べてみましょう。
ダイエット食品 (DIET$=yes) の平均価格 (COST) の 95% 信頼区間は $2.27 ~ $2.75 です。 通常食品の平均価格の 95% 信頼区間は、これより大きく、$2.21 ~ $2.94 です。

グループ化変数 DIET$ は、以降のグラフ表示および統計解析でも使用します。グループ化変数をリセットするには、「By Grpups (グループ化)」ダイアログボックスに戻り、「Turn off (グループ化オフ)」を選択してください。

5. 変数間の相関関係を調べる

サンプルデータから、カロリー (CALORIES)、脂肪分 (FAT)、タンパク質 (PROTEIN)、および価格 (COST) 間の相関関係について調べてみましょう。Correlations (相関) を使用して、これらの変数間の線形関係の量を求めることができます。

使用するサンプルデータについてはこちらをご覧ください。

次のようにメニューを選択します。
「analyze (解析)」> 「Correlations (相関)」> 「Simple (基本)… 」

「Correlations: Simple (単相関)」ダイアログボックスで、「Continuous data (連続データ)」を選択し、ドロップダウンリストから「Pearson」を選択します。変数として、「CALORIES」、「FAT」、「PROTEIN」、および「COST」を選択します。

Options」タブをクリックし、「Probabilities (確率)」と「Bonferroni」を選択します。 4つの変数間の 6種類の相関を調べるため、Bonferroni の修正済み確率を使用して複数の検定を実行します。

OK」をクリックしてコマンドを実行します。以下の出力結果が得られます。

「クイック グラフ」:これは、相関をリクエストしたときに、SYSTAT によって自動的に生成されるクイック グラフです。 クイック グラフは、ほとんどの統計プロシージャで使用することができます。 クイック グラフを使用しない場合は、「Edit (編集)」メニューの「Options (オプション)」を使用します。この例のクイック グラフは散布図行列 (SPLOM) です。 相関行列の各エントリーに対する 2変量散布図が 1つずつ表示されています。 各変数に対する単変量ヒストグラムが対角要素として表示され、75% 正規化信頼楕円が各プロット内に表示されています。
FAT と CALORIES のプロット (左上) の楕円は最も扁平度が高く、両者に強度の相関がある (点が一様に分布し、非線形でなく、異常値がない) ことが分かります。

相関行列では、FAT と CALORIES のピアソン相関係数は 0.758 です。

0.758 に対する p 値 (Bonferroni の修正済み確率) は 0.000 と表示されています (0.0005 未満)。 散布図での場合と同様、FAT と CALORIES には相関関係が存在することが分かります。

PROTEIN と CALORIES の間にも有意な相関関係が存在します (r = 0.55、p = 0.014)。
COST と CALORIES、FAT、および PROTEIN の間には有意な相関関係は認められません。

6. 群分けされた散布図行列とカーネル密度曲線

部分母集団 (Subpopulations) が存在すると正しい相関の大きさが求められないことがあります。 前の例では、相関を使用して、DIET$ をグループ化変数として指定しましたが、今度は、データをグラフ化し、75% ノンパラメトリックカーネル密度等高線を使用して、ダイエットが yes の群と no の群を調べてみることにします。また、両群の単変量カーネル密度曲線も調べてみることにします。

群分けされた散布図行列とカーネル密度曲線の作成

ダイエ

次のようにメニューを選択します。
「Graph (グラフ)」> 「Scatterplot Matrix (SPLOM) …」

Row variable (行変数) として、「CALORIES」、「FAT」、「PROTEIN」、および「COST」を選択します。

Grouping variable (群分け変数) として「DIET$」を選択します。

Only display bottom half of matrix and diagonal (マトリクスの下半分と対角線のみを表示)」と「Overlay multiple graphs into a single frame (複数グラフを単一枠に重ね合わせ)」を選択します。

「Density displays in diagonal cells (対角セルに密度表示)」ドロップダウンリストから「Kernel curve (カーネル曲線)」を選択します。

この段階では DIET$ で群分けされた散布図行列が作成されます。カーネル密度はまだ表示されません。

ダイアログボックスの「Options (オプション)」タブをクリックします。「Confidence kernel (信頼カーネル)」を選択し、p 値として0.75 を入力します。

OK」をクリックします。カーネル密度付きの散布図行列が得られます。

CALORIES と FAT の関係をご覧ください。単変量密度曲線が二つに分離しています。
右下 (COST) のダイエット食品の価格 (青の曲線) においては、通常の食品の価格 (赤の曲線) の範囲内に収まっていることに注目してください。一番下の行にあるプロットの Y 変数はいずれも COST です。どちらの群 (no/yes) においても、COST は、CALORIES や FAT と、ほとんど無関係であることが分かります。 ただし、通常の食品 (DIET$=no) では、COST と PROTEIN との間には正の相関関係があるようです (COST 対 PROTEIN のプロット内の円)。

散布図行列の行変数を変更してみる

栄養価と価格との関係も調べてみましょう。栄養価は、ビタミンA、カルシウム、および鉄分の 1日の必要量に対する割合 (パーセント) であらわされています。 前のプロットの手順を繰り返し、行変数として、「VITAMINA」、「CALCIUM」、「IRON」、および「COST」を選択してください。

一番下の行にあるプロットの Y 変数が COST です。 価格 (COST) と栄養価 (VITAMINA、CALCIUM、および IRON のデータ) との間には有意な関係はみられません。ただし低価格の食品でカルシウムを豊富に含む食品の小さな群が存在するようです。 これは、パスタ製品であることが後で分かります

7. 3D 表示

このセクションでは、3D 表示を使用して、カロリー (CALORIES)、タンパク質 (PROTEIN)、脂質 (FAT) のデータを別の角度から見てみることにします。 左側のグラフでは各製品の商標コードを表示し、右側のグラフではプロット シンボルの大きさで価格を表しています。

3D 表示を行なうには次のようにメニューを選択します。
「Graph (グラフ)」> 「Scatterplot (散布図)…」

「Scatterplot」ダイアログボックスで、X 変数として「FAT」を、Y 変数として「PROTEIN」を、Z 変数として「CALORIES」を選択します。

「X- 軸」、「Y- 軸」、「Z- 軸」タブの「Display grid lines (グリッド線を表示)」を選択します。

「Options」タブをクリックし、「Connectors/partitions (連結/ 分割)」グループボックスから「Vertical spikes to Y (Y の垂直スパイク)」を選択します。

左側のプロットを生成するには、「Symbol and Label (シンボルとラベル)」タブを選択し、「Case labels (ケースラベル)」グループボックスから「Display case labels (ケースラベルを表示)」をクリックし、各プロット点のラベルとして製品の商標を表示するために「BRAND$」を選択します。

右側のプロットを生成するには、「シンボルとラベル」タブをクリックし、「シンボルサイズ」グループボックスから「変数の選択」をクリックし、シンボルサイズ変数として「COST」を選択します。

左側のプロットについて

左側のグラフの垂直の面の尺度に注目すると、sw と表示されている最も背の高い縦線が、最もカロリーの多い製品であることが分かります。 水平の面の尺度から、この製品の脂肪分 (FAT) は 20 グラムと 30 グラムの間にあり、タンパク質 (PROTEIN)は 20 グラムを少し超えていることが分かります。

右側のプロットについて

次のグラフを見ると、この点のプロット シンボルのサイズから、この製品の価格は平均的であることが分かります。 右端にある小さなプロット シンボルの製品は、この sw 製品とタンパク質 (PROTEIN) の値は同程度ですが、脂肪分 (FAT) が多く、価格 (COST) が安いことが分かります。 価格の高い製品(プロット シンボルの大きなもの) は、必ずしも特定の領域に集まっていないこともわかります。

8. 2 標本 t 検定

統計解析では、2 群の平均値の比較がよく行われます。 たとえば、被処理群と処理群で平均値が異なるかどうかを調べます。 理論的には、群に無作為に対象を割り当てる必要があります。

この食料品のデータで、ダイエット食品と通常の食品の蛋白質とカルシウムの含有量の差を調べてみましょう。 この 2群への食品の割り当ては無作為ではありません。 実際の観察調査では、データを十分に吟味して、他の要因によって平均値の差が減少または増大していないことを確認する必要があります。

t 検定では、

H0: ダイエット食品と通常の食品の平均が等しい という仮説を検定します。 この仮説の対立仮説には、

H1: ダイエット食品の平均は、通常の食品の平均より大きい、

H1: ダイエット食品の平均は、通常の食品の平均と等しくない

H1: ダイエット食品の平均は、 通常の食品の平均より小さい

が考えられます。情報がないので、2 番目の「等しくない」を選択します。この例では、ダイエット食品と通常の食品の蛋白質とカルシウムの含有量に差があるかどうかを、t 検定プロシージャを使用して調べます。

次のようにメニューを選択します。
「Analyze (解析)」> 「Hypothesis Testing (仮説検定)」> 「Mean (平均)」> 「Two-Sample t-Test (2標本の t 検定)…」

Two-Sample t-Test (2 標本の t 検定)」ダイアログボックスで、Selected variables (変数)として「PROTEIN」と「CALCIUM」を、Grouping variable (群分け変数) として「DIET$」を選択します。

Alternative type (対立仮説)」には「not equal (等しくない)」を選択します。

OK」をクリックしてコマンドを実行します。以下の統計が出力されます。

t 検定プロシージャでは、クイック グラフとして 2つの密度プロットが生成されます。 それぞれの変数の密度プロットの左右の両側に、群分け変数の各カテゴリのボックス プロットが表示されます。 各グラフの左側のボックス プロットは DIET$ が no の群で、右側のボックス プロットは DIET$ が yes の群のものです。各グラフの中央にはデータ点の実際の分布が、比較のための正規曲線とともに表示されます。

PROTEIN のボックス プロットは望ましい形状をしています。 中央値 (ボックス内に表示された横線) はボックスの中央にあり、左右のボックスの長さがほぼ同じです。 また、正規分布の平均値を表す正規曲線のピークも、中央値とほぼ同じです。 これは、分布が対称的で、ほぼ同じ広がり (分散) をもっていることを示しています。

ところが、CALCIUM の方はそうではありません。分布は歪んでいるため、分析の前に変換を行なう必要があります。

PROTEIN の平均値 (Mean) はグループ化分析の値と同じ、22.133 および 16.846 です。 標準偏差 (SD) は少し異なり (4.307 および 4.337)、ボックス プロットでの観察を裏付けています。 これは、平均値の下に表示されている合併偏差 t 検定 (pooled-variance t test) の結果を使用することができることを意味しています。
この検定は、教科書で最初に取り上げられていることが多く、分布の形状が同一であることを前提にしています。 PROTEIN に関しては、通常の食品の平均値 22.1 は、ダイエット食品の平均値 16.8 とは大きく異なっていると結論付けることができます (t = 3.229、p 値 = 0.003)。
個別分散 t 検定 (separate-variance t test)では、等分散の仮定は不要です。CALCIUM に関しては、ボックス プロットに表示されている分布と両群の標準偏差が 12.757 および 8.506 であることを考慮し、個別分散 t 検定の結果 (separate-variance t test) を使用します。 通常の食品とダイエット食品の CALCIUM の平均値に差があるかどうかは不明です(t = 0.501、p 値 = 0.621)。
このセクションの、SYSTAT のプロシージャに関する説明は初歩的なものですから、この段階で、CALCIUM の値が同質であると断定することは避けなければなりません。 他に影響を与えている因子が存在する可能性がありますから、判定は慎重に行なう必要があります。(→関連:交互作用のある 2元配置 ANOVA)

9. 1元配置分散分析 (ANOVA)

メーカーによって食品の価格に差があるかどうかを調べてみましょう。 冷凍食品の平均価格がメーカーによって異なるかどうかを、分散分析 (ANOVA) を使用して調べてみることにします。

この章の初めのグラフを見ると価格差が存在するようです。Tukey HSD 検定を実行し、Post Hoc テストによる平均値の比較を行なってみましょう。 この検定では、同時に複数の組の平均値の検定を実行することができ、他のメーカーに比べて平均価格に有意の差のあるメーカーを調べることができます。

分散分析を実行する前に、出力に表示するメーカーの順序を指定します (価格の昇順にメーカーをソートすると結果が見やすくなります) 。

次のようにメニューを選択します。
「Data (データ)」> 「Order of Display (ソート方法)…」

「Order of Display」ダイアログ ボックスで、変数として「BRAND$」を選択します。

Enter sort」を選択し、「‘gor’, ‘hc’, ‘sw’, ‘lc’, ‘ww’, ‘st’, ‘ty’」と入力します。

OK」をクリックしてコマンドを実行します。

次のようにメニューを選択します。

「Edit (編集)」> 「Option (オプション)…」

「Output」タブの「Output Results」グループで、「Length」ドロップダウンリストの「Long」を選択します(これで、分散分析の結果が詳細モードで出力されます)。

OK」をクリックします。

分散分析を実行するには次のようにメニューを選択します。

「Analyze (解析)」> 「Analysis of Variance (分散分析)」> 「Estimate Model (モデルの推定)…」

「Analysis of Variance:Estimate Model」ダイアログボックスで、Dependent (従属変数) として「COST」 を、Factor (因子) として「BRAND$」を選択します。

OK」をクリックしてコマンドを実行します。以下の結果が得られます。

「Order of Display (ソート方法)」での指定により平均値が昇順に出力されています。 この指定は、グラフの表示にも使用されます。

エラーバー付き棒グラフの作成

次のようにメニューを選択します。
「Graph (グラフ)」> 「Bar Chart (棒グラフ)…」

X- 変数として BRAND$ を、Y -変数として COST を選択します。

Error Bars (エラーバー)」タブをクリックし、「Type (タイプ)」グループボックスから「Standard error (標準誤差)」を選択します。

Fill (塗りつぶし)」タブをクリックし、「Fill pattern (塗りつぶしパターン)」グループボックスから「Select fill (塗りつぶしを選択)」を選択し、  を選択します。

OK」をクリックします。出力は次のようになります。

出力の最初に表示されている分散分析の F-ratio (F 値) は、7 社の平均価格に 1つ以上の差が存在することを示しています (F = 10.042、p 値 < 0.0005)。

10. 平均値のTukey 対比較

SYSTAT の仮説検定機能で、平均値の対比較 Tukey を実行してみましょう。

次のようにメニューを選択します。
「Analyze」 > 「Analysis of Variance」 > Pairwise Comparisons…」

Groups に BRAND$ を指定し、Tests に Tukey を選択します。

OK をクリックすると以下の結果が得られます。

上記の Tukey の結果を分析してみましょう。SYSTAT によって、まず各メーカーに数値コードが割り当てられ、続いて平均値の各組の価格の差が表示されています。 メーカー gor と他のメーカーとの差が列 1 に表示されています (hc との差は $0.19sw との差は $0.42、および ty との差は $1.44)。 次の表には、同じレイアウトで、それぞれの差に対する確率が表示されています。 gor、hc (2)、および sw (3) は、他のメーカーに比べ、かなり高価格です。
列3 から、平均して、hc 製品は st 製品よりも $0.915ty 製品よりも $1.25 安いことが分かります。 確率の表から、これらの差の確率は 0.015650 および 0.000672 であることが分かります。 これ以外の大きな差は列3 の最後のメーカーだけです。sw 製品の平均価格は ty 製品よりも $1.02 安いことが分かります。

11. 交互作用のある 2元配置 ANOVA

食品のタイプによって栄養素の値が異なるかどうかを調べてみましょう。

前の散布図に、他の食品よりカルシウムの値の高い食品の小さな集団がありました。 2 標本 t 検定では、ダイエット食品 (yes) と通常の食品 (no) のカルシウム含有量の平均値の差を調べることはできませんでした。 食品の種類 (FOOD$) と用途 (DIET$) の両方を使用してセルを定義し、詳しく調べてみることにしましょう。つまり、2 元配置分散分析を実行してみます。

「クロス集計」のカウント機能を使用すれば、この標本には牛肉製品、鶏肉製品、パスタが含まれていますが、DIET$ が yes の群には牛肉製品が存在していないことが分かります(SYSTAT では、欠測値を含むデザインの ANOVA を行なうことができます。)

FOOD$ から Beef 値を持つケースを除外する

「Data (データ)」メニューの「Select Cases (ケースの選択)」を使用して牛肉製品を除外し、2 × 2 デザイン(DIET$ が yes および no、食品の種類が chicken および pasta)の分散分析を実行します。

次のようにメニューを選択します。
「Data (データ)」> 「Select Cases (ケースの選択)… 」

「Select Cases」ダイアログ ボックスで、Avairable variable (利用可能な変数) から 「FOOD$」を選択し、Add to の Expression1 をクリックします。

Operator (演算子) のドロップダウン リストで <> 不等号を選択します。

Expression2 のボックスに「beef」と入力します (コマンドを使用する場合は引用符号が必要ですが、ダイアログボックスではその必要はありません。)。

OK」をクリックしてコマンドを実行します。

3D 棒グラフで分布を確認する

セルの平均値の棒グラフを生成するには次のようにメニューを選択します。
「Graph (グラフ)」> 「Bar Chart (棒グラフ)…」

Z-変数として「CALCIUM」を、Y-変数として「DIET$」を、X-変数として「FOOD$」を選択します。

Error Bars タブをクリックし、Type グループから None を選択します。

Fill タブをクリックし、Fill pattern グループから Select fill を選択し、Fill Pattern に塗りつぶしを選択します。

OK」をクリックします。出力は次のようになります。

ヒント:ダイナミック エクスプローラを使用して、この3D 棒グラフを回転させることができます。

この 2 標本 t 検定のボックスプロットをご覧ください。yes 群のカルシウム含有量および no 群のカルシウム含有量の分布はいずれも一方が大きく傾斜しており、広がりは一様ではありません。CALCIUM の分布が釣り合いの取れるように、値を平方根に置き換てみましょう。

ヒント:ダイナミック エクスプローラを使用して、この3D 棒グラフを回転させることができます。
この 2 標本 t 検定のボックスプロットをご覧ください。yes 群のカルシウム含有量および no 群のカルシウム含有量の分布はいずれも一方が大きく傾斜しており、広がりは一様ではありません。CALCIUM の分布が釣り合いの取れるように、値を平方根に置き換てみましょう。

CALCIUM の値を平方根に置き換える

分散分析を実行する前に、CALCIUM 各値の平方根を取り、変換を行います。

次のようにメニューを選択します。
「Data (データ)」> 「Transform (変換)」> 「Let…」

Let」ダイアログボックスで、「CALCIUM」を選択し Add to の Variable (変数) ボタンをクリックし、数学関数のリストから「SQR (平方根)」を選択して Add をクリックします。変数リストから「CALCIUM」を選択して Add to の Expression ボタンをクリックして式に追加します。「Expression (式)」ボックスは次のようになります:SQR(CALCIUM)

OK」をクリックしてコマンドを実行します。

最後の例の手順を繰り返して分散分析を実行します。ただし、ここでは、従属変数 (Dependent) として CALCIUM を、因子変数 (Factors) として「DIET$」および「FOOD$」を使用します。

OK をクリックすると以下の結果が得られます。

DIET$ と FOOD$ の有意な交互作用は、主効果の判定に注意が必要なことを示しています。DIET$ の主効果には意味がないようですが (p = 0.247)、散布図で確認してみることにしましょう。

散布図の作成

次のようにメニューを選択します。
「Graph (グラフ)」> 「Scatterplot (散布図)…」

Y -変数として「CALCIUM」を、Grouping variable (群分け変数) として「DIET$」を選択します (SYSTAT では、自動的にケース番号が X -変数として使用されます)。

複数グラフを単一枠に重ね合わせ」を選択します。

Symbol and Label」タブをクリックし、「Select symbol」をクリックし、最初のシンボルとしてを、2 番目のシンボルとして三角形を選択します。

「Case labels」グループボックスから「Display case labels (ケースラベルを表示)」をチェックし、ケースラベル変数として「FOOD$」を選択します。

「Fill (塗りつぶし)」タブをクリックし、「塗りつぶしパターン」グループボックスから「Select Fill (塗りつぶしを選択)」を選択し、最初と 2 番目の塗りつぶしパターンとしてべた塗りを選択します。

OK」をクリックします。

この散布図から、CALCIUM の平方根が 4 以上の食品はすべてパスタ食品 (pasta) であることが分かります(FOOD$ の有意な主効果と一致します)。また、CALCIUM の最も高い値のものは通常の食品(DIET$ = no)であることも分かります。これらは更なる調査で証明されるかもしれないことを示唆しています。

12. GLM での Post Hoc テスト

DIET$ と FOOD$ の間には有意な交互作用が存在するため、主効果の判定には注意が必要です。SYSTAT の高度な仮説検定機能を使用し、「Bonferroni の修正済み確率」を実行して平均値の組の差の検定を行ってみましょう。

次のようにメニューを選択します。
「Analyze (解析)」> 「Analysis of Variance」> 「Pairwise Comparisons (対比較)…」

「Groups」に「DIET$ * FOOD$」を指定し、「Tests (検定)」で「Bonferroni」を選択します。

OK」をクリックします。以下の結果が得られます。

この表の 6つの差 (および確率) の 4 つに注目します。 まず食品のタイプ別に、次に食品の種類別に見てみましょう。
1. 通常の食品 (DIET$ が no のもの) では、chicken と pasta のカルシウム含有量の平均の差が大きいことが分かります (平方根の差は -4.124、p < 0.0003688)。
2. ダイエット食品 (DIET$ が yes のもの)では、chicken と pasta のカルシウム含有量の平均値の差は有意ではありません (平方根の差は -1.570、p = 0.148)。
3. pasta 製品では、DIET$ が yes と no の群のカルシウム含有量の差は有意ではありません (-1.888、p = 0.201)。
4. chicken 製品でも、DIET$ が yes と no の群のカルシウム含有量の差は有意ではありません (-0.667、p = 1.000)。
これらの平均値の点グラフを見ると、いっそう明らかになります。

点グラフ (Dot Chart) の作成

次のようにメニューを選択します。
「Graph (グラフ)」> 「Summary Charts (サマリー チャート)」> 「Dot (点グラフ)… 」

Y 変数として「CALCIUM」を、X 変数として「DIET$」を選択します。

Grouping variable (群分け変数) として「FOOD$」を選択します。

Overlay multiple graphs into a single frame (複数グラフを単一枠に重ね合わせ)」を選択します。

Error Bars」タブをクリックし、Type グループから「Standard error (標準誤差)」を選択し、P 値として「0.9545」を指定します。

Options」タブをクリックし、「Line connected in left-to-right order (左から右の順に線で結ぶ)」を選択します。

OK」をクリックします。以下のグラフが得られます。

通常の食品 (DIET$ が no のもの)ではエラー バーは重なっていません。これは、パスタ製品 (x pasta) と鶏肉製品 ( chiken) のカルシウム含有量の差が有意であることを示しています。 一方、ダイエット食品(DIET$ が yes のもの)ではエラー バーが重なっていて、食品の種類による有意差はないことを示しています。

まとめ

データ分析の第一歩はデータの観察です。 SYSTAT には、変数間の関係、結果に大きな影響を与える外れ値、および詳細な解析に必要なデータ変換のためのパターンの識別に役立つグラフが豊富に用意されています。

また、データの解析に必要な統計解析プロシージャも豊富に用意されています。 この章では、最も一般的で基本的な統計解析の手法について説明し、簡単な例を使用して、初歩的な操作を実行しました。