sasとexcelによる統計処理minoru/edu/class/hi/excel_sas.pdfclass...

10
1 SAS と EXCEL による統計処理 1. はじめに アンケート調査などで集めたデータを加工、解析するためには、統計ソフトの利用が必須であ る。本演習では、EXCEL SAS を使ったデータ解析の方法について説明する。 2. 前準備 EXCEL EXCEL での統計処理は、「関数」を用いる方法と「分析ツール」を用いる方法があるが、ここ では、「分析ツール」での統計処理について説明する。「分析ツール」はメニューバーの「データ」 から選択する。「分析ツール」が表示されない場合は、「オフィスボタン」→「EXCEL のオプショ ン」→「アドイン」を選択し、「分析ツール」をクリックし、設定ボタンを押して、「分析ツール」 にチェックを入れて OK ボタンを押す。 SAS SAS は、医学関連の国際誌に最も使用されている統計パッケージの 1 つで、データを加工、解 析、出力するための総合システムである。 SAS の構造 SAS には、主に 3 つのウィンドウがある。 Program editor ウィンドウ:プログラムを書き込むウィンドウ。 Log ウィンドウ:SAS システムからのメッセージが出力される。 Output ウィンドウ:計算結果が出力。

Upload: others

Post on 22-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

1

SAS と EXCEL による統計処理

1. はじめに

アンケート調査などで集めたデータを加工、解析するためには、統計ソフトの利用が必須であ

る。本演習では、EXCEL と SAS を使ったデータ解析の方法について説明する。

2. 前準備

EXCEL EXCEL での統計処理は、「関数」を用いる方法と「分析ツール」を用いる方法があるが、ここ

では、「分析ツール」での統計処理について説明する。「分析ツール」はメニューバーの「データ」

から選択する。「分析ツール」が表示されない場合は、「オフィスボタン」→「EXCEL のオプショ

ン」→「アドイン」を選択し、「分析ツール」をクリックし、設定ボタンを押して、「分析ツール」

にチェックを入れて OK ボタンを押す。

SAS

SAS は、医学関連の国際誌に最も使用されている統計パッケージの 1 つで、データを加工、解

析、出力するための総合システムである。

SAS の構造

SAS には、主に 3 つのウィンドウがある。

Program editor ウィンドウ:プログラムを書き込むウィンドウ。

Log ウィンドウ:SAS システムからのメッセージが出力される。

Output ウィンドウ:計算結果が出力。

Page 2: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

2

SAS で統計解析を行うためには、SAS 言語を使って、どのデータをどのように解析するかを指

定する文(ステートメント)が必要。これは、主に 2 つのステップで構成されている。

★ DATA ステップ:分析したいデータを指定し、SAS データセットをシステム内に作成する。

データをまとめたり、加工することができる。

★ PROC(プロシージャ)ステップ:SAS データセットにあるデータを用いて、計算・作図・

統計処理などを行う。

SAS のデータセットを作成しよう!! 例)以下のサンプルデータを使って、SAS データセットを作成する。

以下のサンプルデータは、厚生労働省や総務省の統計データから、少子化に関連しそうなデー

タを EXCEL にまとめたものである。都道府県別の合計特殊出生率、母親の初婚年齢、老年人口

割合、教育費割合、実収入、完全失業率が含まれている。

Program editor ウィンドウ

Log ウィンドウ

通常の SAS からのメッセージは青、警告、エラーは

赤字で出力される!

Page 3: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

3

※合計特殊出生率・母親

の初婚年齢、老年人口割

合などを変数(variable)、

データに記述されている

各個体(この場合は都道

府県)をオブザベーショ

ン(observation)と呼ぶ。

※変数には、文字型と数

値型がある。ここでは、

都道府県以外すべて数値

型である。

①. まず初めに、EXCEL ファイルを CSV ファイル(カンマ区切り)に変換する。

変換の仕方:「オフィスボタン」→「名前をつけて保存する」→ファイルの種類を「csv」に

変える→ファイル名をつけて保存(ここでは、N ドライブに demo.csv で保存)。

②. SAS を起動させ、データを読み込む。

Program editor に、以下のプログラムを書き込む。

解説

• data test ;

infile ‘N:¥My SAS files¥demo.csv’ delimiter=’,’ ;

Nドライブに保存したデータ(demo.csv)から、testという名前の新しいSASデータセットを

作成する。データセットの名前は、原則として8文字以内の英数字をつける。このデータセッ

トは、一時的にSASデータセットのworkに保存される。

• input id $ birth age old edu income unemp location;

分析のため、変数名を設定する。ここでは、8 つの変数を定義し、データを読み込む。原則

として英数字。文字型変数の後ろには$をつけて、数値と区別する。

• run ; 各ステップの終わりを明確にするマーク。プログラムの最後には必ず run コマンドを入れる。

data test ;

infile 'N:¥My SAS files¥demo.csv' delimiter=',' ;

input id $ birth age old edu income unemp location;

run ;

DATA ステップ ※注意!!

SAS ステートメントの最後

には、必ずセミコロン(;)

をつけること。

Page 4: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

4

• submit(実行)

③. データが読み込まれたかどうかを確認するために、出力。

解説

• proc print ; SAS データセットの内容を表示する。data=でデータセットを指定しなければ、直近に作成され

たデータセットの内容が表示される。

④. 永久 SAS データセットの作成

SAS データセットには、「一時 SAS データセット」と「永久 SAS データセット」の 2 種類が

あり、上記のように読み込まれたデータは、いったん「一時 SAS データセット」としてライブラ

リの work に保存される。

クリック!!

proc print ; run ;

PROC ステップ

Page 5: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

5

「一時 SAS データセット」は SAS を終了すると保存されずに消えてしまう。SAS データセット

を保存したい場合は、「永久 SAS データセット」を作成して、どこかに物理的に保存しなければ

ならない(例えば、フロッピーやハードディスクに)。

「永久 SAS データセット」を作成するために、以下のプログラムを実行する。

解説

• libname ensyu 'N:¥My SAS files';

永久保存データセットを保存するディレクトリを指定する。ここでは、N ドライブに保存する

ことを指定。その他のドライブを使うときは、書き換える。

• data ensyu.test ;

set test;

test という名前の一時的 SAS データセットからデータを読み込み、ensyu というライブラリ

の中に同じ名前(test)の永久データセットを保存する。

保存したドライブに、test.sas7bdat という SAS システムのデータセットができたかどうかを

確認する。ライブラリ参照名、データセット名は英数字 8 文字以内で好きな名前をつける。

※注意!!!SAS を終了させた後、あらためてスタートさせるときには、libname ステートメン

トを再度サブミットする必要がある。

他にも、SASメニューからEXCELデータを直接読み込んでデータセットを作成する方法もある。

SAS メニューからの EXCEL データの読み込み ファイル→データのインポート→ファイル名の指定→SAS データセット名の指定(例えば、メン

バー:test)→SAS ステートメントの作成(例えば、test.sas)

3. 主なデータ解析

①. 基本統計量(平均・標準偏差)の算出

libname ensyu 'N:¥My SAS files';

data ensyu.test ;

set test;

run;

libname ensyu 'N:¥My SAS files' ;

data ensyu.test ;

set ensyu.test ;

run ;

proc means ;

run ;

Page 6: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

6

②. ヒストグラムの確認

横向きのヒストグラムを作成する hbar で集計する変数名を指定。hbar の vbar にすると、縦

方向のヒストグラムを作成する。ヒストグラムでデータの分布を確認しよう!!

③. 相関係数の算出

2 変数間の関連の強さを調べる。ここでは、合計特殊出生率と母親の初婚年齢の相関係数を算出。

proc gchart; hbar birth;

run;

proc corr; var birth age;

run;

相関係数 絶対値が 1 に近いほど強い相関を示す。

有意確率 p p<.05 の場合は、帰無仮説(2 変数間に相

関はない)を棄却できる。

スピアマンの順位相関係数を求めるときは、

proc corr spearman; とする

Page 7: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

7

EXCEL 「メニュー」→「データ」→「データ分析」を選択→「相関」を選ぶ。

必要な情報を入力し、OK を押す。

※注意!!EXCEL では、相関係数の有意性(p 値)は算出されないので、別途、無相関の検定を

行わなければならない。

★ 無相関の検定 求めた相関係数と標本数から、t 値、自由度、p 値を算出する。

対象となるデータのセ

ル範囲をマウスでドラ

ッグして指定する。

データの 1 行目が変数

名の場合はチェックを

入れる。

検定統計量 t=ABS(相関係数*SQRT(標本数-2)/SQRT(1-相関係数^2))

自由度=標本数-2

p 値の算出 p=TDIST(t 値,自由度,2)

Page 8: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

8

④. t 検定

2 つのグループの平均値に差があるかどうかを調べる。

class ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

都道府県を東日本と西日本に分けた location を指定した。

EXCEL 「分析ツール」から「t 検定:等分散を仮定した 2 標本による検定」を選択。検定したいデータの

セル範囲を変数 1 と変数 2 に指定する。

proc ttest; class location;

var birth;

run;

等分散性の検定

結果。p<.05 の場

合は、等分散性が

棄却される。

t 検定の結果。

分散が等しい

という仮定下

では、Pooled

の t 値を採用。

変数 1:東日本の合計特殊出生率

変数 2:西日本の合計特殊出生率

Page 9: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

9

⑤. 回帰分析

変数間の関係について、要因となる変数(独立変数)が結果となる変数(従属変数)をどれだ

け予測できるのかを調べるときに用いる手法。独立変数が 1 つの場合を「単回帰分析」、複数の場

合を「重回帰分析」という。ここでは、合計特殊出生率を母親の初婚年齢、老年人口割合、教育

費割合、実収入、完全失業率で説明できるかどうかを調べる。

p<.05 の場合は、帰無仮説(2群間の平均値は等しい)を棄却

できる。

proc reg;

model birth=age old edu income unemp /STB; ←目的変数=説明変数にする

run;

p<.05 で回帰式の有

意性が認められる。

決定係数(寄与率)を示す。

1 に近いほど、モデルの当

てはまりが良いと言える。

標準化偏回帰係数:独立変数が従属変数に与える影

響の大きさを示す。

Page 10: SASとEXCELによる統計処理minoru/edu/class/hi/Excel_SAS.pdfclass ステートメントには、グループ化変数(2 つの値しかとらない変数)を指定。ここでは、

10

※注意!!model ステートメントのオプションに/STB を加えないと、標準化偏回帰係数は算出

されない。回帰係数は、GLM プロシージャでも分析可能。

EXCEL 「分析ツール」から「回帰分析」を選択。必要な情報を入力する。

その他の PROC については、以下のホームページを参考にしてください。

http://peter.rd.dnc.ac.jp/ice/kougi/sas/waseda06a/

http://www.ipc.hokusei.ac.jp/~z00105/_kamoku/sas/sasman_.html

http://www.ipc.hokusei.ac.jp/~z00105/_kamoku/sas/sas_tec.html

入力 Y 範囲には従属変数を

指定する。

入力 X 範囲には

独立変数を指定

する。

※EXCEL では、

標準化偏回帰係

数は算出されな

い。