SAS OnDemand for Academics を使ってみよう

統計モデル解析特論I/II : 第09回 (12/04/18)

 Q4 では統計ソフトウェアSAS を使いながら統計の面白みを実感してもらおうと思う。 今回は手始めに SAS の利用環境を整える。
  1. SAS 以外の統計ソフトウェアの利用技術習得者について
     Q3 のレポートを拝見すると、SAS 以外の統計ソフトウェアの利用技術を 既に習得されている方もおられるようだ。 そのような方はQ4 を履修する必要を感じないのは当然だとも思えますが、 どうされますでしょうか?

  2. Excel じゃダメなの? : 表計算ソフトウェア(Excel 等)から統計解析ソフトへ : 作業手順から眺める
    アンケートの集計 : 目の前に紙の山 ===> さあどうする?
    1. まず電子化
      • 入力作業
      • 場合によってはコード化

    2. スクリーニング
      • 入力ミスの修正
      • 地味だが非常に重要な作業、重労働 <=== チェック方法

    3. 基礎集計 by Excel(表計算ソフト)
      • 組み込み関数を使って : average, min, max, median, ...
        計算 図示、...

    4. 表計算ソフトの限界 <=== Excel で統計処理を全てこなせるか?
      • 大量データになったら?
      • 複雑な統計手法になったら? 多変量解析...
      • 欠損値の取り扱い
      • 統計向けソフトウエアの利用が一般的 : データ解析
        • BMDP : BioMedical Data Programs(?)
        • SPSS : Statistical Package for Social Science
        • SAS : Statistical Analysis System
        • S, S-PLUS, R : Statistical
        • LISP-STAT : Lisp で実現、フリーソフト
        • Statistica
        • STAT
        • Python: Wikipedia
        • ...
      • [参考] SAS での解析例

  3. SASとは

  4. 無料で使える2つのSAS: SAS社の説明: SAS Academic Programs

    1. SAS University Edition (別名 SAS 9.4 とか 製品版SAS と呼ぶらしい)

    2. SAS OnDemand for Academics (別名 SAS Studio とも呼ぶらしい)
      • 「無償で利用できるクラウド方式のSAS ソフトウェア」
      • SAS社の計算サーバー上で計算(アジアの場合はシンガポールにあるらしい)
      • 各自のPCはブラウザとして機能
      • トラフィック(インターネット回線)スピードに依存。オンラインである必要あり
      • 自身のPCへのインストール不要
      • 秘密のデータは扱いにくい (サーバーに転送する必要があるため)

      • お勧めの関連資料 : SAS社の説明

     どちらを使っても計算結果は同じだが、 個々のマシンへのインストールが不要なこと、受講者のPC的負担が少ないこと、 コースウェアが使えるらしいこと(確認中)等の観点から、 本講義では後者を使うことにする。 今後は「SAS(r) OnDemand for Academics」のことを単に「SAS」と 表現することにします。

  5. 導入: SAS 社の提供している導入手順スライドに基づいて説明

  6. 早速試してみよう
    「SAS(r) OnDemand for Academics」にSASプログラムを入力して実行してみる

    1. SASプログラムの入力
       右側の画面中で「右クリック」すると「New SAS Program(F4)」と表示されるので クリック。もしくは「F4」を押す。表示されたエリアにSASプログラムを入力する。 既に電子化されている場合は、プログラムをコピー&ペーストしても良い。

    2. 実行してみる
       画面左上の「駆け足(Runをイメージか?)」アイコンをクリックする。

    3. 実行の様子が「LOG」タグに、計算結果が「RESULTS」タグに、 各変数の値が「OUTPUT DATA」タグに表示される。

    4. 各種情報を保存するために新しくディレクトリを作成する。
       画面左側の「Files(Home)」で右クリック。「New」-「Folder」を順にクリック。 新しいディレクトリ名を入力する。ここでは「Kougi」としてみる。
        [例] Kougi

    5. プログラム(CODE)を保存する。
       「CODE」を選択してSAS プログラムが表示されているところで、 画面左上の「フロッピーディスク」アイコンをクリックして Kougi ディレクトリの下にSAS プログラムを保存する。 適宜ファイル名を付ける。
        [例] les0901.sas
       なお、アイコン上にマウスを移動させると「Save program」のポップアップが表示される。 その右隣のアイコン(鉛筆マークが付加)は「Save As」である。

    6. 他にRESULTS やLOG をファイルに保存したい場合は、 それぞれのタブ上で前項と同様の作業をすれば良い。
        [例] les0901_Results.pdf
        [例] les0901_Log.log

    7. 印刷したければ、プリンタのアイコン(Print のポップアップ)をクリック すれば良い。

  7. サンプル

  8. プログラムの構成とその出力結果 :
    1. プログラムの読み込み :
        ログイン後、画面左側のエリア(Navigation Pane)のディレクトリ(Kougi)を指定して、目的のSAS プログラム名をクリック。もしくは、前回ログアウトした状態が画面に残ったまま。
        [例] Kougi/les0901.sas

    2. プログラム : CODEタグ : les0901.sas
      • はじめてのプログラム : プログラムは左側のみ。右側のコロン以降は説明用。
      • 3つのパート : コメント部、データの定義(data部)、緒処理の実行(proc部)
      • コメントは後々のために入れる習慣を付けよう
      • ブランク(段下げ)や空行は無視されるが見易さのために入れよう
      • 各行は(基本的に)セミコロンで終わる
      • (基本的には) proc コマンド(procedure)ごとに出力が得られる

      • [注意] データ名や変量名は 32文字以内の英数字(かつては8文字以内)で 判り易い/解り易い名前を付けること。以下の例で言えば、 データ名とは「kenshin」のことであり、 変量名とは「name, shintyou, taijyuu」のことである。
       /* Lesson 9-1 */                              : コメント、実行に無関係
       /*    File Name = les0901.sas  12/04/18   */  : 後々の記録のためのメモ
                                                     : 見易さのための空行
      data kenshin;                                  : データ名の定義
        input name $ shintyou taijyuu;               : 読み込む変量名、型($は文字型を示す)
      cards;                                         : データの始まりを示す
      Ogata      181  80                             : Case 1
      Takahashi  180  87                             : Case 2
      Ramirez    180 105                             : Case 3
      Kanemoto   180  86                             : Case 4
      Ogawa      186  89                             : Case 5
      Mori       182  85                             : Case 6
      ;                                              : データの終りを示す
      proc print data=kenshin;                       : 読み込んだデータの表示
      run;                                           : 上記の実行
      proc means data=kenshin;                       : 平均値等の算出
      run;                                           : 上記の実行
      
    3. 実行してみよう
      画面左上の「駆け足(Run)」アイコンをクリックする。

    4. 出力結果 : RESULTSタグ : 計算結果(出力): PDFファイル
                                     2018年12月 4日 火曜日 13時55分22秒   1
      Obs    name        shintyou    taijyuu
      
       1     Ogata          181         80  
       2     Takahash       180         87  
       3     Ramirez        180        105  
       4     Kanemoto       180         86  
       5     Ogawa          186         89  
       6     Mori           182         85  
      
                                     2018年12月 4日 火曜日 13時55分22秒   2
      MEANS プロシジャ
      
      変数      N          平均    標準偏差       最小値       最大値
      -----------------------------------------------------------------------------
      shintyou    6     181.5000000       2.3452079     180.0000000     186.0000000
      taijyuu     6      88.6666667       8.5479042      80.0000000     105.0000000
      -----------------------------------------------------------------------------
      
    5. 計算結果 :
      1. 読み込んだデータの表示 : proc print
        • 縦方向にケース、横方向に変量
        • 左端にケース番号(OBS, Observation)
        • 入力が期待通りかを確認 : 数値のずれ、異常値、...
      2. 平均値等の算出 : proc means
        • 各変量ごとのサンプル数、平均、標準偏差、最小値、最大値
        • 小サンプル時の注意 : 各統計量に意味があるか?
      3. 有効桁数に注意せよ : どこまでが「意味ある桁」か?
        [重要な注意] 統計ソフトは単なる道具。使いこなすのは各自。

    6. デバッグ : 実行時にエラーが出なければ良いのだが...
      • RESULTSタグに期待した結果が表示されているのなら正常だろう
      • エラーがあれば LOGタグ(作業状況, エラーの有無等, PDFファイル)に表示される
      • 綴りミスはある程度修正されるが、致命的なミスの時は実行が中断される
        1. 画面が三種類ある : CODE, LOG, RESULTS
          必要に応じて各タグ間を行き来する。
          1. CODEタグ : プログラムの作成
          2. LOGタグ : 実行過程の記録(ログ)
          3. RRESULTSタグ : 計算結果、出力
        2. プログラムのエラー個所を LOGタグで確認
        3. CODEタグに移って該当個所を修正
        4. 再実行しエラーがなくなるまで修正を繰り返す
      • エラーの例 : LOGタグに実行結果が表示される
        1. セミコロン忘れ
        2. コメントの終了ミス : /* ... */
        3. つづりミス : plint, ran, ...
        4. 変量名の順や個数、タイプ($ マークの位置)
        5. データファイルの内容が記述(or 予想)と異なる : 出力で確認
        6. ...

    7. 入力したものを有効活用しよう : 修正したら。完成したら。
      • プログラムの保存 : 自分のホームディレクトリに判りやすいファイル名で保存。
         CODEタグに移動後、画面左上の「フロッピーディスク(Save program)」アイコンをクリック。 ただし、これは上書きになるので、ファイル名を変更したい場合は、 画面左上の「フロッピーディスクに鉛筆(Save as)」アイコンをクリック。
         [例] 'les0901.sas'
        • 注意 : 既に同名のファイルが存在する場合は警告が発せられる。 「Replace(上書き)」か「Cancel(中止)」の何れかを選ぶ。
      • 計算結果の保存 :
         RESULTSタグに移動後、画面左上のHTMLアイコン(Download results as an HTML file)やPDFアイコン(Download results as a PDF file)をクリック
         [例] : les0901-results.html
         [例] : les0901-results.pdf

    8. [利用のまとめ] SAS を使う上での基本
      • 3つのタグ : それぞれに目的や使い方がある
      • エラーがあれば LOG タグで確認する
      • 保存と読み出し : プログラムの有効利用

  9. [今後の進め方] データをファイルから読み込んで使うには? 作業の流れ ===> プログラムとデータの分離
     データが大量になったら、data部(cardsの下側)に追加すれば良いのだが、限界がある。
    1. データを電子化する : Excelで
    2. データファイルをSASに転送する
    3. データをファイルから読み込むように SAS プログラムを記述する
    4. 便利なコマンド
    5. レポートを作成するには

  10. [宿題] ご自身で興味のあるデータを収集してきてください。 書籍等から引用したい場合は電子化も。Excelに入力するのがお手軽だと思います。 その後の手順は今後説明します。

  11. 参考書の紹介
    1. ダレル・ハフ著(高木秀玄訳)、統計でウソをつく法、講談社ブルーバックス、ISBN4-06-117720-6、924円
    2. David Salsburg著(竹内・熊谷訳)、統計学を拓いた異才たち、 日本経済新聞社、ISBN4-532-35194-4、2200円+税。

    3. 市川 伸一他著、SAS によるデータ解析入門[第2版]、東大出版会、ISBN4-13-064048-8、3570円
    4. 高橋 行雄他著、SAS による実験データ解析入門、東大出版会、ISBN4-13-064044-5、4410円
    5. Geoff Der 他, A Handbook of Statistical Analyses Using SAS, Chapman & Hall/CRC, ISBN158488245X, 6456円

    6. 永田 靖・棟近 雅彦著、多変量解析法入門、サイエンス社、ISBN4-7810-0980-9、2310円

    7. 前川 眞一著、SAS による多変量データの解析、東大出版会、ISBN4-13-064043-7、4830円
    8. 豊田 秀樹著、SAS による共分散構造分析、東大出版会、ISBN4-13-064042-9、3990円
    9. 豊田 秀樹他著、原因をさぐる統計学、講談社ブルーバックス、 ISBN4-06-132926-X、945円

  12. 次回は、... : 12月18日 16:20-17:50 (年内最後)
    • SAS プログラムの構造を理解する。デバッグ作業。
    • SAS プログラムとデータを分離して記述。
    • ...
[DIR]講義のホームページへ戻ります