831 Views
March 29, 24
スライド概要
[第8回大阪sas勉強会] 折村奈美
SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです
2023年3月24日 第8回 大阪SAS勉強会 解析プロシジャで作成される ODS統計解析Plotについて イーピーエス株式会社 データサイエンスセンター 折村 奈美 統計解析部
アウトライン 1. ODS Graphics - グラフ名の取得 - グラフの解釈の調べ方 2. FREQプロシジャ - MosaicPlot - リスク・オッズ - AgreePlot 3. REGプロシジャ 4. LIFETESTプロシジャ - Kaplan-Meier曲線 - log-log生存率グラフ, RMST 5. まとめ
ODS Graphics ◊ SASグラフ ODSグラフ (Output Delivery System) -SGプロシジャ -GTL -ODS Graphics 非ODSグラフ -plotプロシジャ -gplotプロシジャ 解析プロシジャほぼすべてが対応しているグラフを描く機能 結果データセットだけを処理してアウトプットを軽視しがち? ODS Graphicsの機能を紹介する ◊ ODS Graphicsを使用する前に… ツール→オプション→プリファレンスで 右のウィンドウを出す HTMLを作成する ODS Graphicsを使用するにチェック
ODS Graphics – グラフ名を取得する ◊ パッキングされたグラフセットの名前を取得 ◊ グラフセットを解体し、各グラフの名前を取得 proc reg data=sashelp.baseball plots(only)=DiagnosticsPanel(unpack); id name team league; model logSalary = nhits nruns nrbi nbb yrmajor crhits; run; quit;
ODS Graphics – グラフの解釈 ◊リファレンスから手法、論文などの情報を入手できる ◊サンプルグラフからSAS社によるグラフの解釈を見ることができる グラフの解釈に有用 https://documentation.sas.com/doc/en/statcdc/14.2/statug/statug_reg_details53.htm
FREQプロシジャ
FREQプロシジャ -MosaicPlot data test; TRTAN="1"; AEDECOD="Rhinitis"; output; AEDECOD="Diarrhea"; output; AEDECOD="Nausea"; output; AEDECOD="Sleepiness"; output; AEDECOD="Diarrhea"; output; AEDECOD="Sleepiness"; output; TRTAN="2"; AEDECOD="Sleepiness"; output; AEDECOD="Nausea"; output; AEDECOD="Fever"; output; run; proc freq data=test; tables AEDECOD*TRTAN/ plots=mosaicplot; run; カテゴリカルデータの群ごとの偏りと群内での比率を ビジュアルで把握できる
FREQプロシジャ -リスク・オッズ data test; GROUP=1; A="Y";B="Y";_FREQ_=12;output; A="Y";B="N";_FREQ_=8;output; A="N";B="Y";_FREQ_=15;output; A="N";B="N";_FREQ_=5;output; GROUP=2; A="Y";B="Y";_FREQ_=11;output; A="Y";B="N";_FREQ_=10;output; A="N";B="Y";_FREQ_=8;output; A="N";B="N";_FREQ_=12;output; run; proc freq data=test; tables GROUP * A * B / OR RELRISK RISKDIFF plots(COLUMN=1)= ODDSRATIOPLOT (CL=SCORE STATS) plots(COLUMN=1)= RELRISKPLOT (CL=WALD STATS) plots(COLUMN=1)= RISKDIFFPLOT (STATS) ; weight _FREQ_ /zeros; run; OR: オッズ比 RELRISK: 相対リスク指標と信頼限界 RISKDIFF: リスク・合計リスク・リスク差 COLUMN: 列を指定 CL=SCORE: スコアの信頼限界 CL=WALD: wald信頼限界 STATS: グラフに統計量を表示する
FREQプロシジャ -リスク・オッズ リスク比やオッズ比の群間差をビジュアルで確認できるので、 サブグループ解析のQCなどに有用
FREQプロシジャ -AgreePlot data test; BEFORE="Y";AFTER="Y";_FREQ_=18;output; BEFORE="Y";AFTER="N";_FREQ_=2;output; BEFORE="N";AFTER="Y";_FREQ_=15;output; BEFORE="N";AFTER="N";_FREQ_=5;output; run; proc freq data=test; tables BEFORE * AFTER /agree; weight _FREQ_ /zeros; run; ・薄青と濃青の面積に差が出るほど BeforeとAfterの一致度が低い ・45度線と薄青の対角のずれ =全体に対しての比の偏り具合 右図ではYの割合が多いことを表している 一致度、全体に対する比の偏り具合を 可視化でき有用 7 5 5 20
REGプロシジャ
REGプロシジャ proc reg data=sashelp.baseball; id name team league; model logSalary = nhits nruns nrbi nbb yrmajor crhits; run; quit; Y(logSalary)=4.1461+0.0066XnHits + 0.0002XnRuns + 0.0013XnRBI + 0.0067XnBB + 0.0711XYrmajor + 0.0002XCrHits 調整済みR2乗値:0.5770 モデルについて評価するときは 決定係数の評価と残差分析の観点で見るべき グラフを活用
REGプロシジャ proc reg data=sashelp.baseball; id name team league; model logSalary = nhits nruns nrbi nbb yrmajor crhits; run; quit; ① ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 残差と予測値 RStudentと予測値 RStudentとてこ比点 Q-Qプロット 観測値と予測値 CookのD 残差ヒストグラム RFプロット ③, ⑥から、モデルの適合度に影響を 与えるデータを確認できる ④ ⑦ ② ⑤ ③ ⑥ ⑧ https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_reg_examples01.htm
REGプロシジャ proc reg data=sashelp.baseball plots(only label)=(RStudentByLeverage CooksD); id name team league; model logSalary = nhits nruns nrbi nbb yrmajor crhits; run; 特異な値があった場合、速やかに特定できるようラベル付けできる
REGプロシジャ proc reg data=sashelp.baseball plots=(residuals(smooth)); id name team league; model logSalary = nhits nruns nrbi nbb yrmajor crhits; run; quit; 残差プロットのパターンを見ることができる メジャー在籍年数が短い人、長い人は モデルの予測よりも報酬が少ない https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_reg_examples01.htm 条件ごとに残差を見ることでモデルの精度をさまざまな角度から確かめることができる
LIFETESTプロシジャ
LIFETESTプロシジャ -Kaplan-Meier曲線 proc lifetest data=sashelp.BMT plots=survival (atrisk(outside)=0 to 3000 by 500 cb=hw test); where group ne "ALL"; time t * status(0); strata group/ test=wilcoxon; run; 信頼区間を表示 Wilcoxon検定の結果を表示 test=wilcoxonを入れない場合は log-rank検定の結果が表示される Number at Riskを表示 (outside)を入れない場合は軸の内側に出力される
LIFETESTプロシジャ -log-log生存率グラフ, RMST proc lifetest data=sashelp.BMT plots=(loglogs) plots=(rmst); time T * Status(0); strata /group=GROUP; run; 曲線が交差せずに平行に近ければ 比例ハザード性が成立 帳票に出力することは少ないが、 確認する習慣をつけることが重要 RMSTの経時的な変化の観察に役立つ
まとめ ODS Graphicsは解析結果の評価・判断やその効率化のために有用である ODS Graphicsを活用することで、表からは読み取れなかったパターンや差が 見えてくることがある リファレンスからグラフの背景や論文を調べることができ、 数式とは別の視点から解析手法について理解を深めることができる 本発表では一部のグラフしか紹介できなかったので、今後は他のグラフについても 調べてまとめていきたい
参考文献 [1] SAS Institute, SAS Help Center: ODS Graphics(FREQ), 2023-02-22確認 https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/procstat/procstat_freq_details125.htm [2] Social Survey Research Information Co., Ltd., 2-2. モザイク図を描いてみよう|統計学の時間|統計WEB, 2023-02-26確認 https://bellcurve.jp/statistics/course/18862.html [3] Analyse-it Software, Ltd., Agreement plot > Method comparison / Agreement > Statistical Reference Guide | Analyse-it® 6.10 documentation, 2023-02-22確認 https://analyse-it.com/docs/user-guide/method-comparison/agreementplot [4] Shrikant Bangdiwala(2008), “The agreement chart as an alternative to the receiver-operating characteristic curve for diagnostic tests”, Journal of Clinical Epidemiology 61, 866-874 [5] SAS Institute, SAS Help Center: ODS Graphics(REG), 2023-02-22確認 https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_reg_details53.htm [6] Social Survey Research Information Co., Ltd., 予測値と残差|統計学の時間|統計WEB, 2023-02-22確認 https://bellcurve.jp/statistics/course/9704.html [7] 株式会社アイスタット, 重回帰分析とは?重回帰分析の概要と具体例・結果, 2023-02-22確認 https://istat.co.jp/ta_commentary/multiple_02 [8] 株式会社ヒューリンクス, SigmaPlot14ユーザーガイド|28.17回帰レポートを解釈する, 2023-02-22確認 https://www.hulinks.co.jp/support/sigmaplot/v14/usersguide/index.html [9] SAS Institute, SAS Help Center: ODS Graphics(LIFETEST), 2023-02-22確認 https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_lifetest_details86.htm