SAS OnDemand for Academics を使ってみよう

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

 Q4 では統計ソフトウェアSAS(サスと読む)を使いながら統計の面白みを実感してもらおうと思う。 今回は手始めに SAS の利用環境を整える。
  1. Excel じゃダメなの? : 表計算ソフトウェア(Excel 等)から統計解析ソフトへ : 作業手順から眺める
    アンケートの集計 : 目の前に紙の山 ===> さあどうする?
    1. まず電子化
      • 入力作業
      • 場合によってはコード化(男をM, 女をF、自宅生をJ、下宿生をG等)

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

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

    4. 表計算ソフトの限界 <=== Excel で統計処理を全てこなせるか?

  2. SASとは

  3. 無料で使える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」と 表現することにする。

  4. メールアドレスを用意する: 現有のもの or 作る
     SASへの登録にはメールアドレスが必要なため、一つ用意する必要がある。 例えば、SAS 用に新しいアカウントをGmail で取得するのも一案である: Google アカウントの作成

  5. 使える環境を手に入れる
     SAS OnDemand for Academics を利用するためには2つの手順が必要になる まず「SAS Profileに登録(以下のi〜xii)」した後に、「ユーザーIDの申請(以下のxiii〜xxi)」をすることになる。 前者はササッと反応があるのだが、後者はやや時間がかかることがある。 また以前は氏名やメールアドレス、国名を入れるとユーザーIDが発行されたのだが、 現在はこれらの情報に加えて「ご利用の言語」、「お客様とSASの関係」、 「正式会社名/正式団体名」の登録が必須となっているようだ。
     なお、現在公開されている登録手順の How toビデオ は、若干実際とは異なっている部分があり、戸惑わないように。

  6. 早速試してみよう
    「SAS(r) OnDemand for Academics」に接続して、 簡単なSASプログラムを実行してみる。

    1. https://odamid.oda.sas.com/ にアクセスして、取得できたユーザーIDとパスワードを入力して 「サインイン」をクリックする。(このURLをブックマークに登録しておくと便利)。
    2. Dashboard内のApplications中の「SAS Studio」をクリック
    3. 「SAS(r) OnDemand for Academics」が起動する
    4. ここまででSASにログインできたことになる。

    5. SASプログラムの入力
       画面の右側は「プログラム1」という名称の付いたウインドウである。 このエリアの「コード(CODE)タブ」にSASプログラムを入力する。 既に電子化されている場合は、プログラムをコピー&ペーストしても良い。

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

    7. 計算結果が「結果(RESULTS)」タグに、実行の様子が「ログ(LOG)」タグに、 各変数の値が「出力データ(OUTPUT DATA)」タグに表示される。

    8. 各種情報を保存するために新しくディレクトリを作成する。
       画面左側の「ファイル(ホーム)」で右クリック。「新規作成(New)」-「フォルダ(Folder)」を順にクリック。 新しいディレクトリ名を入力する。ここでは「Kougi19」としてみる。 入力し終えたら「保存」をクリックする。
        [例] Kougi19

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

    10. 他に結果(RESULTS) やログ(LOG)をファイルに保存したい場合は、 それぞれのタブ上で前項と同様の作業をすれば良い。
        [例] les0901-Results.pdf
        [例] les0901-Log.pdf

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

  7. サンプル

  8. プログラムの構成とその出力結果 :
    1. プログラムの読み込み :
        ログイン後、画面左側のエリア(Navigation Pane)のディレクトリ(Kougi19)を指定して、目的のSAS プログラム名をクリック。もしくは、前回ログアウトした状態が画面に残ったまま。
        [例] Kougi19/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/03/19   */  : 後々の記録のためのメモ
                                                     : 見易さのための空行
      data kenshin;                                  : データ名の定義
        input name $ shintyou taijyuu;               : 読み込む変量名、型($は文字型を示す)
      cards;                                         : データの始まりを示す
      Hara       181  84                             : Case 1
      Yano       181  81                             : Case 2
      Yoda       182  84                             : Case 3
      Ramirez    180 100                             : Case 4
      Sasaoka    185  90                             : Case 5
      Takatsu    180  75                             : Case 6
      ;                                              : データの終りを示す
      proc print data=kenshin;                       : 読み込んだデータの表示
      run;                                           : 上記の実行
      proc means data=kenshin;                       : 平均値等の算出
      run;                                           : 上記の実行
      
    3. 実行してみよう
      画面左上の「駆け足(Run)」アイコンをクリックする。

    4. 出力結果 : RESULTSタグ : 計算結果(出力): PDFファイル
                                     2019年12月 3日 火曜日 13時44分10秒  11
      Obs    name       shintyou    taijyuu
      
       1     Hara          181         84  
       2     Yano          181         81  
       3     Yoda          182         84  
       4     Ramirez       180        100  
       5     Sasaoka       185         90  
       6     Takatsu       180         75  
      
                                     2019年12月 3日 火曜日 13時44分10秒  12
      MEANS プロシジャ
      
      変数        N            平均        標準偏差          最小値          最大値
      -----------------------------------------------------------------------------
      shintyou    6     181.5000000       1.8708287     180.0000000     185.0000000
      taijyuu     6      85.6666667       8.5479042      75.0000000     100.0000000
      -----------------------------------------------------------------------------
      
    5. 計算結果 :
      1. 読み込んだデータの表示 : proc print
        • 縦方向にケース、横方向に変量
        • 左端にケース番号(OBS, Observation)
        • 入力が期待通りかを確認 : 数値のずれ、異常値、...
      2. 平均値等の算出 : proc means
        • 各変量ごとのサンプル数、平均、標準偏差、最小値、最大値
        • 小サンプル時の注意 : 各統計量に意味があるか?
      3. 有効桁数に注意せよ : どこまでが「意味ある桁」か?
        [重要な注意] 統計ソフトは単なる道具。使いこなすのは各自。

    6. デバッグ : 実行時にエラーが出なければ良いのだが...
      • 結果(RESULTS)タグに期待した結果が表示されているのなら正常だろう。
      • エラーがあれば ログ(LOG)タグ(作業状況, エラーの有無等)に表示されるので、参考にしながらプログラムを修正する。
      • 綴りミスはある程度修正されるが、致命的なミスの時は実行が中断される
        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. 市川 伸一他著、SAS によるデータ解析入門[第2版]、東大出版会、ISBN4-13-064048-8、3570円
    2. 高橋 行雄他著、SAS による実験データ解析入門、東大出版会、ISBN4-13-064044-5、4410円
    3. Geoff Der 他, A Handbook of Statistical Analyses Using SAS, Chapman & Hall/CRC, ISBN158488245X, 6456円

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

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

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