>100 Views
April 21, 25
スライド概要
医薬パネル・ディスカッション,総括報告書ガイドラインの概要と影響範囲 佐々木秀雄
医薬パネル・ディスカッション,Verification と Validation 辻井敦
医薬パネル・ディスカッション,CROとしての品質 保証 佐藤喬俊
医薬パネル・ディスカッション,SAS出力を報告書 に 藤本浩
医薬パネル・ディスカッション,ISO9000シリーズと 品質システム 小川幸男
医薬パネル・ディスカッション,ガイドラインに統計 部門はどう対処すべきか 高橋行雄
医薬パネル・ディスカッション,新薬開発の流れの 中での品質保証 中江寛
SASフォーラムのフリーウエア・マクロ 鈴木督久
少年の不良行為補導の実態分析 小林敬子
数量化II類を用いた患者よりみた病院サービスの 定量評価 田久浩志
CALISによる研究開発マネージメント調査の解析 宗澤拓郎
多変量解析を用いた通信販売予測システム化の課題 袴田剛史
視聴率高位番組と年層の関係を探る ーその2ー 飯塚壽子
SASとGISによる地域メッシュ統計国勢調査を用い た居住者特性分析 池谷貞彦
スキャンパネルデータによるシェア予測 森村英典
マーケティングのための統計解析例題集 奥山真一郎
SAS/IMLソフトウェアを利用した産業連関分析 朝倉俊明
SASユーザー実態調査から アンケートの集計結 果より 石橋祥子
株式の期待リスクプレミアム推計方法における一 研究 -- 日米両証券市場の実証分析を通じて -- 宮村幸夫
客属性分析システムCPAの改良 谷岡日出男
法人融資の信用リスク管理と債権ポートフォリオ の最適化 中林三平
商品先物相場のテクニカル分析におけるSASシステムとの調和 鈴木二郎
FREQプロシジャ・AGREEオプションの紹介 -- 適用場面と出力の見方 -- 小田英世
PROC MIXED入門 岸本淳司
変数のクラスタリング -- PROC VARCLUS 再発見 -- 岸本淳司
SMPマシン上のデータベースとSASシステムのチューニングの考慮点 斉藤宏
メインフレーム版SASシステムの有効活用 前田幸一
SAS/EISソフトウェア NEW OBJECT の有効利用 岡田雅一
JMP calculatorによる2項分布1群データ推定値の 信頼区間計算 川本均
ロジスティックモデルによる乳幼児期のアトピー性 疾患発症とその栄養法との関連について 高橋幸一
運動機能と喫煙の多変量解析による検討 豊島裕子
MULTTEST/CA検定のPERM=オプションについて 新城博子
各種の分割実験および経時測定データの解析 高橋行雄
SASによるContinual Reassessment Methodの応 用 石塚直樹
臨床試験における入力データの信頼性確保につ いて 渡辺敏彦
打ち切りのある継時データのSASによる解析 豊田伊久子
数量化理論第II類マクロ出力の改良 三島徳雄
SAS/IMLの新機能と時系列解析 田村義保
SASによる用量相関性の解析 浜田知久馬
サンプルサイズが異なる場合のWilliamsの検定 若菜明
ROC分析による検査診断能の比較 - AUCの bootstrap,最尤推定を中心に - 古川敏仁
SASシステムによるP-値の計算と信頼区間 岩崎学
DB2とユーザーインターフェースの為のAFアプリ ケーション 志賀仁
SAS/ACCESSソフトウエアInterface to ODBCによ るDBMSへのデータアクセス 佐藤正基
SASシステムによる混合実験データの解析 阿部貴行
QSIMアプリケーションの紹介 竹内敬治
リリース6.11 SAS/AFソフトウェアツールの紹介 羽田野実
SASシステムリリース6.11 SAS/AFソフトウェア FRAMEエントリ新オブジェクトの紹介 鈴木康夫
SAS/AFソフトウェアにおけるOLEオートメーションの利用 清水聖子
Windows版SASシステムリリース6.11が提供する OLE機能について 小沼祐子
『SAS/ACCESSソフトウェアPC File Formatsインタ フェース』によるXLSファイルへのアクセス 石井由美子
SAS/TUTORオンライントレーニングの紹介 竹内清恵
SAS/GRAPHソフトウェアの記述疫学における作 業仮説設定への応用と便益性 青野裕士
解析帳票作成支援システム (Windows版) 望月久永
JMP3.0を利用したWWW統計解析ホームページ 陶山昭彦
Tabulateの出力に本物の罫線を付加するプログラ ムの紹介 田村佳郎
簡易帳票作成システム SAS to Excel 西隆志
製造業向け情報系システムでのデータウェアハウ ス構築 早川豊
定型フォーマットの帳票作成の1例 弘田貴
A Data Warehouse Using the SAS System SASシ ステムによるデータウェアハウスの構築 (翻訳) 松井陽子
SASプログラミングのいろいろ 鈴木一彦
Windows版およびOS/2版SASシステムのDDE機 能の紹介 細川忍
マクロ言語テクニカルガイド 石川亨
Rapid Data WarehousingにおけるSASシステムの 利用 井上憲樹
SASシステムにおけるデータウェアハウス・メソド ロジ 青柳恭弘
SASシステムによるランダムサンプリング方法に ついて 今城義高
データ・ウェアハウスにおける多次元データモデル について 鈴木真弓
SASシステムとWWWを結ぶCGI-SASインタフェースの作り方 久保元治
DATAステップのデバッグとDATAステップデバッガ 谷川隆一
UNIX版SASシステムユーティリティの紹介 竹中京子
Windows版SASシステムにおける外部DLLの呼び出し方法 川畑浩一
SASによる多次元データ解析 前川眞一
SASによる回帰分析 (新刊紹介) 芳賀敏郎
SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです
S U G I ‑ J ' 9 6 I I D SC o n f e r e n c e ' 9 6論文集 1996年 5月 2 3日(木)・ 24日(金)
目 次 E主こごとにとえととーι一一一一一一一一一一一一一一』 秀雄(旭化成工業株式会社)・・・・・・・・ーー・・・・・・ー・・ l 総括報告書ガイドラインの概要と影響範囲 佐々木 V e r i f i c a t i o nと V a l i d a t i o n 辻井 CROと し て の 品 質 保 証 佐藤喬俊(クインタイルズ・アジア・インク)・・・・・・ーー . . . . 3 SAS出 力 を 報 告 書 に 藤本浩(株式会社電通国際情報サーピス ) . . . . . . . . . . . . . . . . 4 I S 0 9 0 0 0シ リ ー ズ と 品 質 シ ス テ ム 小川 幸男(日本モンサント株式会社)・ーーー・・・・・・ーー・・・・ 5 ガイドラインに統計部門はどう対処すべきか 高橋 行雄(日本ロシュ株式会社)・・・・・ーー・・・・・・・ーー...... 6 新薬開発の流れの中での品質保証 中江 寛(ファルマシア株式会社)・・・・・ーーー・・・・・・・ーー . . . . . . . 7 敦(アムジェン株式会社)・ーー ・ ・ ・ ・ ・ ・ ・ ・ ・ ー・・......... 2 重三一一一一一一一一一一一一一一一一一一一一一一一一』 調査・マーケティング SASフォ ラムのフリ ウエ 7 ・マクロ 少年の不良行為補導の実態分析 鈴木 督久(株式会社日経リサーチ)・・ ーーーー・・・・・・ーー...... 9 小林 敬子(日本女子体育大学)ー・・・・・・・・・・・・・・・・・ーー・.... 2 3 笠哲子 ( X県 M 市警察署) 岩j 墨美帆(東京大学) 数 量 化 E類 を 用 い た 患 者 よ り み た 病 院 サ 回久 浩志(東邦大学)ー・・・・・・・・・ーーー・・・・・・ーーー . . . . . . . . . . 3 5 CALISに よ る 研 究 開 発 マ ネ ー ジ メ ン ト 調 査 の 解 析 宗達 拓郎(新潟国際情報大学)・ー・・・・・・ーーー・・・・........ 41 多変量解析を用いた通信販売予測システム化の課題 袴田 剛史(株式会社ミック)・ー・・・・・・・・・・ーーーーー・・・・・・ー・ . 5 3 飯塚 誇 子 (NHK放送文化研究所世論調査部)ーー・・ . . . . . . . . 5 9 ビスの定 量評価 視聴率高位番組と年層の関係を探る ーその 2
SASと G I Sに よ る 地 域 メ ッ シ ュ 統 計 国 勢 調 査 を 用 い 池谷 貞彦(株式会社住信基礎研究所)................... 6 9 た居住者特性分析 稲葉由之(成媛大学) スキャンパネルデータによるシェア予測 森村 英典(日本女子大学 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7 マーケティングのための統計解析例題集 奥山 真一郎(株式会社 S A Sインスティチュートジャパン)・・・・ー・ 1 0 1 SAS/IMLソ フ ト ウ ェ ア を 利 用 し た 産 業 連 関 分 析 朝倉 俊明(株式会社 S A Sインスティチュートジャパン)・・・・・ー・ . 1 1 5 SASユ ー ザ 一 実 態 調 査 か ら 卜の集計結果 石橋 祥子(株式会社S A Sインスティチュートジャパン ) . . . . . . . . 1 2 3 株式の期待リスクプレミアム推計方法における一研究 宮村 幸夫(株式会社金融エンジ己アリング・グJ トプ).. . . . . .1 3 1 CPAJの 改 良 顧客属性分析システム r 谷岡 日出男(株式会社金融エンジニアリング・グJ レープ)・ー・..1 3 9 法人融資の信用 1 )ス ク 管 理 と 憤 権 ポ 中林 三平(株式会社金融エンジニアリング・グjトプ)・・ー・...1 4 5 アンケ より 金融 日米両証券市場の実証分析を通じてー トフォリオの最 適化 ︑ ス . z み ム ム 一 品 株 式 ヤ チ ユ フ フ 英世(東京大学)・・・・・・・・・・・・・・・・・・・・・・・・ー・ー・ . . . 1 7 3 一ン 二厚聡明 郎美仁 木川松瀬 鈴黒高横 一 ア ス F3 ン ︑ F3 A る + J お 戸怜川 4b‑ レ ' 分 カ 一 ア ク の 円 回 一 同 門M 4枠︐ e *l 場 先の 物調 商ム 品と 小田 チュー卜リアル FREQプロシジャ・ AGREEオ プ シ ョ ン の 紹 介 ‑適用場面と出力の見方ー PROCMIXED入門 岸 本 淳 司 ( 株 式 会 社S A Sインスティチュートジャパン ) . . . . . . . . 1 7 9 変 数 の ク ラ ス タ リ ン グ ‑PROCVARCLUS再発見ー 岸本 淳司(株式会社S A Sインスティチュートジャパン ) . . . . . . . . 1 9 9 SMPマシン上のデータベースと SASシステムのチュ一 斉藤 安(株式会社S A Sインスティチュートジ、ヤパン ) . . . . . . . . . . 2 1 3 ニングの考慮点 メインフレ ASシ ス テ ム の 有 効 活 用 ム版 S Sソフトウェア NEWOBJECTの 有 効 利 用 SAS/EI 前田 幸一(株式会社S A Sインスティチュートジャパン)........ 2 2 5 岡田 雅一(株式会社 S A Sインスティチュートジャパン)........ 2 3 5
医薬 JMPc aI cu l a t o rによる 2l 頁分布 1群 デ ー タ 推 定 値 の 信 川本 均(野口病院)・・ーー・・・・・・・・・ ・ ・ ー ・ ー ・ ・ ・ ・ ・ ・ ・ ・ ・ ・. . . . 2 4 1 頼区間計算 M AU守 ︐ ︑ ︐ヴん ゐふ? AAE よ工 式 株) 業学 乳大 永里 森北 一紀男夫 幸宏{寸増芙 橋還田鷹原 MULTTEST/CA検 定 の PERM=オ プ シ ョ ン に つ い て 高早冨白宮 疾 性 tnE ド ﹂ ア 一しし 蜘守 tb 州札口 耽ず 5 連 レ﹀﹂ ょ明 勺去 ‑77 モ養 バ倒 一ア﹀﹂ イそ ス症 ジ発 口患 運動機能と喫煙の多変量解析による検討 豊島 裕子(日本たばこ産業東京健康管理センター)ー・ー... 2 4 9 島津美子 宮本功 新城博子(クインタイルズ・アジア・インク).......... 2 5 5 西次男 各種の分割実験および経時測定データの解析 高橋 行雄(日本ロシュ株式会社)・・・・・・・・・・・・ー . . . . . . . . 2 6 3 o n t i n u a lR e a s s e s s m e n tMethodの 応 用 SASによる C 石塚 直樹(クインタイルズ・アジア・インク).......... 2 8 7 臨床試験における入力デ 渡辺 米国 笠原 敏彦(科研製薬株式会社)・・・・ーー・・・・・・・・・・・・・・・ー . 295 博(株式会社ベルシステム 2 4 ) 芳明(科研製薬株式会社) タの信頼性確保について 打 ち 切 り の あ る 継 時 デ ー タ の SASに よ る 解 析 豊田 伊久子(東京大学)ー・・・・・・・・・・・・・・・ . . . . . . . . . . . . 3 0 5 大橋靖雄 統計理論 数 量 化 理 論 第 E類 マ ク 口 出 力 の 改 良 三島 徳雄(産業医科大学)・・・・・・・・ー・・・・・・・・・・・・・ ・ ・ ー. 3 1 1 SAS/ IMLの 新 機 能 と 時 系 列 解 析 田村 義保(統計数理研究所 ) . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 9 SASに よ る 用 量 相 関 性 の 解 析 浜田 知久馬(東京大学)・・・・・・・・・・ . . . . . . . . . . . . . . . . . . . 3 3 1 サンプルサイズが異なる場合の W i l l i a m sの 検 定 若菜 明(高有製薬株式会社)・・・・・・・・・ー................ 3 4 7 ROC分 析 に よ る 検 査 診 断 能 の 比 較 古川 敏仁(株式会社エスアールエル)・・ー・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・3 5 5 牧野健一 ‑AUCの b o o t s t r a p, 最 尤 推 定 を 中 心 に ー
SASシステムによる p ‑値 の 計 算 と 信 頼 区 間 岩崎 学(成践大学)・・・・・・・・・・・・・・・・・・・・・・・ーー・ . . . . . . . 3 6 7 高畑一夫 データベース DB2と ユ ー ザ ー イ ン タ ー フ ェ ー ス の 為 の AFJ7プリ 志賀 仁(プロミス株式会社).......................... 3 7 3 佐藤 正基(株式会社 S A Sインステイチュートジャパン ) . . . . . . . . 3 7 9 ケション SAS/ACCESSソフトウエア I n t e r f a c et oODBCによ る DBMSへのデータアクセス 品質管理 SASシステムによる混合実験データの解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 9 阿 部 貴 行 ( 成 践 大 学) 岩崎学 SASシステム新機能 QSIMア プ リ ケ ー シ ョ ン の 紹 介 竹内 敬治(株式会社三菱総合研究所)ー・・・・・・・・......... 3 9 3 リリース 6 . 1 1SAS/AFソフトウェアツールの紹介 羽田野 実(株式会社S A Sインステイチュートジャパン)........ 4 0 1 . 1 1SAS/AFソ フ ト ウ ェ ア SAS シ ス テ ム リ リ ー ス 6 FRAMEエ ン ト リ 新 オ ブ ジ ェ ク 卜 の 紹 介 鈴木 康夫(株式会社 S A Sインステイチュートジャパン)・・・ー・... 4 0 7 SAS/AFソフトウェアにおける OLEオートメ 清水 聖子(株式会社S A Sインステイチュートジャパン)........ 4 1 3 ショ ンの利用 Windows版 SASシステムリリース 6 . 1 1が提供する OLE機能について 小沼 祐子(株式会社 S A Sインステイチュートジャパン)........ 4 2 1 fSAS/ACCESSソフトウェア PCF i l eF o r m a t sイン 石井 由美子(株式会社 S A Sインステイチュートジャパン)...... 42 9 竹内 清恵(株式会社 S A Sインステイチュートジャパン)........ 4 3 9 タフェース j による X LSファイルへのアクセス SAsrrUTORオ ン ラ イ ン ト レ ー 二 ン グ の 紹 介
グラフ SAS/GRAPHソフトウェアの記述疫学における作業仮 青野 説設定への応用と便益性 斉藤功 小選秀樹 池辺淑子 裕士(大分医科大学 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 3 システム 解析帳票作成支援システム ( Windows版) 望月 久永(富士ゼロックス株式会社)・ーーーー・ー・・・・ーーー・・・・ 4 5 5 日l P 3 . 0を利用した W W W統 計 解 析 ホ ム ペ ー ジ 陶 山 昭 彦 ( 鳥 取 大 学) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 9 井上仁 T a b u l a t eの出力に本物の罫線を付加するプログラムの 田村 佳郎(ゼネカ株式会社)........ . . . . . . . . . . . . . . . . . 4 6 7 紹介 簡易帳票作成システム "SASt oE x c e l " 西 隆志(株式会社電通国際情報サーピス).............. 4 7 5 中村 j 告 藤本浩 製造業向け情報系システムでのデータウェアハウス 早) 1 1 豊(目立超 L S Iエンジニアリング株式会社)........ 4 8 3 4 誇築 定型フォーマットの帳票作成の 1例 弘 田 貴 ( 株 式 会 社 SASインスティチュートジャパン).......... 4 8 9 松 井 陽子(株式会社 SASインステイチュートジャパン)........ 4 9 3 ADataWarehouseU s i n gt h eSASSystem SASシステムによるデータウェアハウスの構築(翻訳) SASプログラミングのいろいろ 鈴 木 一 彦 ( 株 式 会 社SASインステイチュートジャパン ) . . . . . . . . 5 1 7 Windows版 お よ び OS/2版 SASシステムの DDE様 細J11 忍(株式会社SASインステイチュートジャパン).......... 5 2 3 能の紹介 マクロ言語テクニカルガイド 石 川 亨 ( 株 式 会 社 SASインステイチュートジャパン ) . . . . . . . . . . 5 4 1 Rap i dDataWarehousingにおける SASシステムの 井上 憲樹(株式会社SASインステイチュートジャパン ) . . . . . . . . 5 5 1 青柳 恭弘(株式会社SASインステイチュートジャパン ) . . . . . . . . 5 6 1 今城 義高(株式会社SASインスティチュートジャパン ) . . . . . . . . 5 7 1 利用 SASシステムにおけるデータウェアハウス・メソド 口ジ SASシ ス テ ム に よ る ラ ン ダ ム サ ン プ リ ン グ 方 法 に つ いて
ついて 鈴 木 真弓(株式会社 S A Sインスティチュートジャパン)........ 5 7 7 松平和人 SASシステムと W W Wを結ぶ CGI ・ SASインタフェ一 久保 データ・ウェアハウスにおける多次元データモデルに 元治(株式会社S A Sインスティチュートジャパン)........ 5 8 7 スの作り方 DATAステップのデ J'I.')グと DATAステップデバッガ 谷川 隆一(株式会社S A Sインスティチュートジャパン)........ 5 9 5 UNIX版 SASシステムユーティリティの紹介 竹中 A Sインスティチュートジャパン)........ 6 0 7 京子(株式会社 S Windows版 SASシステムにおける外部 DLLの 呼 ぴ 川畑 浩一(株式会社S A Sインスティチュートジャパン ) . . . . . . . . 6 1 3 出し方法 新刊本の紹介 SASによる多次元データ解析 前川 SASによる回帰分析(新刊紹介) 芳賀 長一(大学入試センター). . . . . . . . . . . . . . . . . . . . . . . 6 1 9 敏郎(東京理科大学 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 3 野津昌弘 岸本 淳司(株式会社S A Sインスティチュートジャパン)
口頭論文発表チェアマン [調査・マーケテイング] 株式会社竹中工務庖 八木章 [金融] 東京三菱銀行 青沼君明 [医薬] クインタイルズ・アジア・インク 西次男 藤沢薬品工業株式会社 松岡 キリンビール株式会社 本川裕 国際大学 大槻聴幸 藤沢薬品工業株式会社 松岡浄 株式会社日立製作所 小野寺徹 株式会社ニッセイコンピュータ 坂原将生 [統計理論] [システム] j 手
総括報告書ガイドラインの概要と影響範囲 佐々木秀雄 旭化成工業(株) 医薬開発センタ一 統計解析グルーフ。 Overviewandimpacto ft h eg u i d e l i n e ; STRUCTUREANDCONTENTSOFCLINICALSTUDYREPORTS HIDEOSASAKI C l i n i c a lAna l y s i sGroup,C l i n i c a lDevelopmentCenter ASAHICHEMICALINDUSTRYCO.,LTD. ICHトピックの E3r 治験の総括報告書の構成と内容に関するガイドライ ンJ (以下本ガイドライン)が、 ICH3において S t e p 4となり、日米欧 三極合意のガイドラインとなった。間もなく、その翻訳版である国内ガイドラ インが、当局より示されるものと思われる。 本ガイドラインの目的は、臨床試験の総括報告書が ICH参加の各国で受け 入れ可能となるために、構成と内容をハーモナイズすることにある。総括報告 書に対する要求事項が、国際的な統一レベルとして示されたことは、製薬企業 にとって大きな意味を持つ。 本ガイドラインが求める報告書は、単に治験結果の記載に留まるものではな い。治験の目的、計画、実施、解析、評価及び十分な個々の患者データまでを 含めた「統合された」治験の総括報告書である。内容は広範なもので、かっ詳 細な記載が求められている。本ガイドラインは一見すると、困難な要求を強い ているようにも思われる。しかし、本ガイドラインが求める各種の資料は、研 究会資料や社内資料として、治験の各段階で既に作成されていると思われるも のも多い。また、日本の各種のガイドラインの記述内容及びその『拡大解釈』 とも大きく食い違うものではない。 いずれにせよ、本ガイドラインに基づいて作成すべき総括報告書は、従来日 本で作成されてきた総括報告書に比べて遥かに膨大なものとなる。したがって、 今後は報告書の作成業務においても、品質管理及び品質保証といった考え方を 導入する必要があろう。 本発表では、ガイドラインの概要を紹介し、作成すべき資料について言及す る 。
V e r i f i c a t i o nと V a li d a t i o n 辻井敦 アムジェン株式会社開発本部統計解析室 V e r i f i c a t i o n&V a l i d a t i o n 吋11 A t s u s h iTs AMGENL t d .T h e r a p e u t i cP r o d u c tDevelopment B i o s t a t i s t i c s,DataManagement,1 .T . i h o n b a s h iHamacho,Chuo・ku,Tokyo 2・3ト 1N 日本人にとって V e r i f i c a t i o n という言葉は馴染みがあるが、 V a l i d a t i o n はあま り聞いたことがない言葉である。しかし、最近は V a l i d a t i o n/V a l i d a t e d という言 葉が ICH・GCP など多くの場面で見受けられるようになってきた。特に GMP 領域では本年 4月より医薬品製造についての許可条件のーっとなっている。で は、一体 V e r i f i c a t i o nと V a l i d a t i o n では何がどう違うのであろうか。国際標準化 機構で定められた IS08402においては V e r i f i c a t i o n C o n f i r m a t i o nbye x a m i n a t i o nandp r o v i s i o nofo b j e c t i v ee v i d e n c e t h a ts p e c i f i e dr e q u i r e m e n t sh a v eb e e nf u l f i l l e d V a l i d a t i o n C o n f i r m a t i o nbye x a m i n a t i o na n dp r o v i s i o nof0吋e c t i v ee v i d e n c e t h a tt h ep a r t i c u l a rr e q u i r e m e n t sf o ra s p e c i f i ci n t e n d e du s ea r e f u l f i l l e d と定義されている。この定義だけでは違いがはっきりしないが、一つの解釈と してその違いを一言で言うならば、 V e r i f i c a t i o n はその結果だけに対する確認 " [ であり、 V a l i d a t i o n は継続的なプロセスに対する保証を与えるものである j と表 現することができるのではないだろうか。すなわち、 V e r i f i c a t i o nは V a l i d a t i o nの 一部分ではあるが同等の概念ではないということである。しかし、決して V a l i d a t i o n の方が偉くて V e r i f i c a t i o n にはあまり意味が無いなどというような関 係ではないだろう。では、このような状況を考えると、臨床試験の分野におい て我々がこれから目指して行くべき方向は果たして V e r i f i c a t i o nと V a l i d a t i o n のどちらなのであろうか。 ‑2一
CROとしての品質保証 佐藤喬俊 クインタイノレズ・アジア・インク Q u a l i t yC o n t r o landQ u a l i t yA s s u r a n c ea saCRO T a k a t o s h iS a t o Q u i n t i l e sA s i aI n c o r p o r a t i o n, JapanO f f i c e 医薬品の長期広範にわたる開発計画の中で、多くの臨床試験の計画・実施・完成という ステップの積み重ねがある。それら全ての試験のデータの品質の管理と保証、情報と結果 のまとめとしての報告書の保証が要求されている。多岐にわたる臨床試験の種類と内容、 PK/PD、P o p u l a t i o nk i n e t i c s、S p e c i a lp o p u l a t i o n等、新しい分野のデータへの対応も必須 である。このような申請関係書類の情報量の増加とともに、それらの全てが品質に関する 対象となる。申請にかかわる膨大な業務ステップを区別・整理し、そのステップ毎にそれ らの品質管理と保証を考える時、製薬企業という大きな組織の中での業務担当責任が不明 o bD e s c r i p t i o nの不明確な環境で、責任を 確な面が多い。別の表現を用いれば組織と人の J 持って対処することの難しさは想像するに難くない。 C R Oは、ある表現をすれば、社内の組織を第 1部とすれば我々はサテライトピルにい る第 2部とも考えられ、少なくても業務分担の明確化がフ。ロジェクトを委受託するために 必須であり、責任範囲を明確にしなければならない。現実に、どの部分の業務を委託する かは委託者側に決定権があり、業務のどの要素をどんな組み合わせでも受託しなければな らない立場から医薬品開発業務をみる時に、製薬企業の中で各業務ステップがどのように 認識され、管理されているかを第 3者的にみる事ができる機会も多い。この経験を踏まえ て提案する一つのやり方は、製薬企業の業務要素を夫々明確にし、その各々を机上の計画 として C R Oに委託する事を想定して品質管理および品質保証をどう C R Oに要求するか を考え、その要求事項を自社の業務に反映する努力をする事は各社の将来に向けての有効 なシミュレーションになると考えられる。 C R Oとして業務を受ける時には、受ける業務ステップを明確にし、品質管理と品質保 証をどうするかをメイン業務のーっとして考えなければならない。委託者の品質に対する 認識レベルにより我々に届く情報の品質にバラツキが生じ、必ずしも理想的な成果物作成 が可能とはならないが、我々が持つ品質に対する要求水準を自らが守る努力を継続する事 が業務を遂行する上で本当に必要な事だと考える。 n ‑ p r o c e s s 本発表では、クインタイルズにて採用している品質管理と品質保証に関する I Q Cのシステムのいくつかについて触れようと考えている。 ‑3
SAS出力を報告書に 藤本浩 株式会社電通国際情報サービス 情報サービス事業部 S Iコンサルティング、部 E a s y ‑ t o・u s e "r e p o r t i n gs y s t e m, WindowsSASSystemt oMS‑Excel H i r o s h iF u j i m o t o INFORMATIONSERVICESINTERNATIONAL‑DENTSU, LTD. S IC o n s u l t i n gDepartment,I n f o r m a t i o nS e r v i c e sO p e r a t i o n s 弊社では臨床試験や市販後調査のデータ処理業務(入力,解析,各種コンサルティング) も行っているが、最近の顧客からの要望として「見栄えの良いJ'再加工容易な」アウトプットを 要望される事がカミなり多くなってきた。 実際、近年のパーソナル・コンヒ。ューティング、環境の進化により、これらの要望を満たす事 は容易になってきている。 しかしそれはシステム上の話であり、しカも残念ながら完壁なデータ処理環境はあり得ない ので、システムの可能性が拡がり複雑な処理が可能になればなるほど、処理上のミスを引き起 こす要因が増えてくる。 具体的に言えば、最近の SAS社のセミナーや S UJI‑Jで発表されている 'Windows版 SASSystem+M i c r o s o f tExcelJでの処理環境が現状では muchb e t t e rと考えるが、テン プレートを前提'にしたシステムでは以下に示す状況に於いては対応に苦慮する事がある。 ‑〆切間際での再実行時 ・集計項目の追加、変更時(特に KeyOpen対応時) .大量項目の集計時 ・集計時毎にデータ内容が変化する時(市販後調査での副作用集計時) 本発表で、は今まで行っていた作業内容とその問題点を述べ、現在開発中の Windows版 SASSystemとM i c r o s o f tE x c e lを用いた、ミスや作業工数を減少させるシステムについても 説明する。 *テンプレートを前提 あらかじめ M i c r o s o f tE x c e l上に帳票イメージ(データは空の枠組のみ)を作成しておき、 Windows版 SASから DDE通信を介してデータを流し込む方法のこと ‑4‑
I S 0 9 0 0 0シリーズと品質システム 小川│幸男 日本モンサント株式会社サール事業部 開発本部医薬情報部統計解析グループ 1809000s e r i e sandq u a l i t ysystem 8achioOgawa e a r l eO p e r a t i o n . MonsantoJapanLtd .,8 a ‑ h o r i e,3・chome,Nishi‑ku,Osaka5 5 0 . 1 2 ‑ 2 3Kit IThesponsori sr e s p o n s i b l ef o rimplementingandmaintainingq u a l i t y assuranceandα u a l i t vc o n t r o lsvstemswith……・ J ご存じのように、この文章は I C H ‑ G C Pの 1 5 . 8 p o n s o rJにおける最初の項 1 5 . 1 Q u a l i t yAssuranceandQualityC o n t r o l J に記載されているものである。こ こにある Q uality8ystem (品質システム)という言葉は、多くの人にとって 馴染みが薄いものと思われるが、 1809000 シリーズではこの言葉が頻出し、 まさにキーワードとなっている。このように、 1CH‑GCPにおいて品質システ ponsorは品質システムを確立した上で実行し、 ムという言葉が登場し、しかも s ponsor は今後 1809000 維持していく責任を要求されたということは、我々 s シリーズを理解した上で、医薬品開発の過程において品質システムを構築しな ければならないと考えるべきであろう。では、一体どのように品質システムを 構築し、運営していけばよいのであろうか。その前に、 1809000 シリーズと は一体どのようなもので、何が書かれているのであろうか。 1809000 シ リ ー ズ は 国 際 標 準 化 機 構 (The1 n t e r n a t i o n a l Organization f o r 8 t a n d a r d i z a t i o n )が定めた品質管理と品質保証に関する国際規格であり、 最近、新聞、雑誌等で盛んに取り上げられている(アエラや日刊薬業にも載っ たことがある)。しかしながら、 1809000シリーズは医薬品開発に携わる我々 にとって今まではどちらかというと対岸の火事であったと思われる。 ・1を中心に簡単な紹介を行った上 今回、 1809000シリーズの特に 1809004 で、医薬品開発過程の中で統計解析とその周辺部分に焦点を当て、品質システ ムを構築する際の考え方について私見を述べ、皆様のご意見を頂戴したいと考 えている。 5‑
ガイドラインに統計部門はどう対処すべきか 高橋行雄 日本ロシユ(株)・臨床統計解析部 Howdob i o s t a t i s t i c i a n si nt h epharmaceuticali n d u s t r yd e a lwithS t r u c t u r eand Contento fC l i n i c a lStudyReports YukioTakahashi MedicalB i o s t a t i s t i c sPDNC,NipponRoche 61,Shiba2chome,Minato‑ku,Tokyo ・ ・ 治験の総括報告書の構成と内容に関するガイドライン ( S t r u c t u r eandC o n t e n to fC l i n i c a l C H ‑ S t e p 4 )は 、 ICH‑GCPガイドライン ( G u i d e l i n ef o rGoodC l i n i c a lP r a c t i c e, StudyR e p o r t s,I I C H ‑ S t e p 3 ) に密接に関連づけられている。製薬企業の統計部門が、どのように対処すべきか は、両ガイドラインを併せて論ずる必要がある。報告書ガイドライン自体には、誰が治験の総 括報告書作成するかという記載が唆昧になってるが、 ICH ・ GCP ガイドラインから製薬企業が 1 0 0パーセント責任を持って対処すべき問題であることが分かる。 ECあるいは USAなどでは、 以前からこのようになっており、日本だけが、現行の GCPで企業が委嘱する外部の治験総括医 師が、治験の総括報告書を作成すると規定している。 試験が全て終わり、 「総括報告書に有意差検定が必要になったので計算してもらいたい」と 統計担当者(部門とは言わない)に依頼があったような場合を想定しよう。このような対応が、 両ガイドラインに照らし合わせて適合していると言えるのであろうか。否である。 ICH・ GCP ガイドライン 9 5 . 2 2治験の総括報告書の項に、 「治験依頼者は、治験の終了又は 中止にかかわらず、治験の総括報告書が適応される規制に従って作成され、規制当局に提出さ れることを保証しなければならない。」とされ、 95.4治験のデザインの項に、 「治験依頼者は、 治験実施計画書及び症例報告書のデザイン並びに解析計画の立案から、解析の実施並びに治験 の中間報告及び総括報告書作成までの治験の全過程を通じ、適格な専門家(例えば、生物統計 学者、臨床薬理学者、医師)を活用すべきである。」とされ、さらに S 5 . 5治験の管理、データ の取扱い及び記録の保存の項で、 「治験依頼者は、治験業務の総括的な監督、データの取扱い、 データの検証、統計解析の実施及び治験の総括報告書の作成に当たって、適格な専門家を活用 すべきである。」とされている。 外部の コントローラ"に生物統計学者としての役割を期待する可能性もあるように思われ るかも知れないが、全ての臨床薬理試験を含めて実現できるかは、はなはだ疑問である。この ような状況下で、製薬企業の統計部門の今後の役割についてについて、いくつかの事例を通じ てt 命じたい。 ‑6一
新薬開発の流れの中での品質保証 中江寛 ファルマシア(株) 薬事本部薬事部 開発監査室 QualityAssurancef o rC l i n i c a lT r i a l i nt h eP r o c e s so fNewDrugR&D YutakaNakae f a i r s,Regulatory& MedicalAf f a i r s C l i n i c a lQARegulatoryAf . K . PharmaciaK ICH‑GCPには、 「治験の品質」を確かなものとするために、国際標準 化機構が定めた 1809 000 ファミリという「品質保証:QualityAssuranceJ に ・ ついての国際的な規格の考え方が盛り込まれている。この国際規格の中で、「品 u a l i t yJ とは、 質:Q 「ある もの"の、明示された文は暗黙のニーズを満たす 能力に関する特性の全体」と定義されている。そして、 は 、 「ある 「品質保証」について もの"が、品質要求事項を満たすことについての十分な信頼感を 供するために実施され、品質システムの中で実施され、必要に応じて実証され る、すべての計画的かっ体系的な活動」と定義されている。さて、 G C P基準 により治験については自主監査を実施することが義務づけられているが、 査」については、 ついては、 「 監 I QualityAudit:品質監査」として規定されている。これに 「品質活動及びそれに関する結果が計画に合致しているかどうか、 並びにこれらの計画が有効に実施され目的達成のために適切なものであるかど うか判定するために行う体系的、かっ独立的な審査」と定義されている。これ らにより、治験の品質保証と GCP自主監査の関係が見えてくる。 本発表では、治験の品質保証について GCP自主監査部門の立場から考察し てみたい。 ‑7一
日本 S A Sユーザー会 (SUG I‑J) SASフォーラムのフリーウエア・マクロ 鈴木督久 株式会社日経リサーチ 集計解析室 S A SM a c r o si nt h eS A SF o r u m T o k u hi s aS u z u l くi N I K K E IR E S E A R C HI N C . 要旨 N i f t y ‑ s e r v eの SASフォーラムに登録したフリーウエアのマクロの使用例を紹介する. SAS杜がサンプル提供している数量化法マクロの改良版, SASデータセットを c s v形式 に変換する便利ツール,手軽にクロス集計表を作る簡単 T ABULATE,その他のユーティ リティーなどを対象にする. キーワード: TABULATE,C S V .数量化法,パソコン通信, m t e r n e t はじめに SASユーザーが日常業務の必要から作った小さな SASプログラムのいくつかはマクロ 化されて便利に使われています.あるユーザーにとって便利な機能は,別のユーザーにと っても価値のある場合が多いと思います.有用なマクロ・プログラムは共有財産として, いつでも誰でも利用できるライブラリに集められていることが望ましいと思うので, N i f t y ‑ s e r v eの SASフォーラム (GOSAS)に,これまで社内で私たちが使っていたマクロ のうち一般的に利用できそうなものを登録しました. まだ登録数が少ないので「宝の山」とは L、えませんが,これから多くのユーザーが相互 に自分の作った便利なマクロを登録されることを願い,簡単なものですが筆者が登録した マクロの使用例を紹介します. ‑9
1.数量化法 SAS社が提供している数量化 1類と 2類のサンプルマクロ(%suryo1,%suryo2)は,無 用な制約があるうえ,大規模なデータに適用するとメモリ不足などで実行できませんので 修正しました.オリジナルの簡易版という意味で・マクロ名も簡単に %su1,%su2としました. I 題とし 他の修正点や詳細はライブラリに同梱しであるドキュメントを参照して下さい.仔J て林( 1 9 9:3)の表:3. 2のデータを使います.その DATAステップを示します. g 2='新聞' p r o cf o r m a t; v a l u ex l f 1二 ,( 1 ) ~8 万' f o r m a tx lx lf . x 2x 2 f . x 3x 3f . g lg l f . g 2g 2f . 2='(2)8~15 万' 3=' ( 3 ) 15 万~ v a l u ex 2 f 1二 , (1)初イトカ 7 ̲ ' 2=' ( 2 )業主' 3二' ( 3 )nトカ7‑' 4=' ( 4 )その他' v a l u ex 3 f 1='(1)好き' 2=. ( 2 )否' v a l u eg l f 1=. ( 1 )見る' 2=' ( 2 )見ぬ' v a l u eg 2 f 1=• (1) A紙' 2=. ( 2 ) B紙' 3二.( 3 )併読' r u n; d a t ah a y a s hユ; i n p u tx l ̲x 3y ly 2g lg 2; l a b e l x l二'収入' x 2 職業' x 3二'新しもの' y l 二'噌好飲料' y 2='衣料' g l= 広 告 ' c a r d s; 111 2 0 0 01 0 0 0 021 132 1 0 0 08 0 0 012 211 5 0 0 01 8 0 0 011 342 6 0 0 03 0 0 0 022 141 3 0 0 01 5 0 0 011 232 2 0 0 01 2 0 0 022 211 6 0 0 02 2 0 0 011 131 3 0 0 01 2 0 0 022 322 5 0 0 02 5 0 0 023 112 2 0 0 08 0 0 012 3111 0 0 0 02 0 0 0 013 I231 40001 0 0 0 021 212 3 0 0 01 4 0 0 022 132 1 0 0 06 0 0 021 321 9 0 0 02 8 0 0 013 2411 0 0 0 08 0 0 013 122 3 0 0 01 0 0 0 011 212 4 0 0 02 5 0 0 013 311 6 0 0 02 8 0 0 021 221 6 0 0 02 8 0 0 012 Ir u n ; 1 . 1 数量化 1類 [%su1]Version1 .2 林( 1 9 9 3 )の表:3. 5に示された結果(カテゴリスコア,外的変数の平均値,重相関係数〉は, ‑10
最低限の 3個のパラメータを指定すれば出力できます.マクロパラメータの指定方法は SAS社提供のオリジナル版から変更しました,以下のように指定します. %su1(c l a t a=h a y a s h i,o u t s i c l e=y , li t e mニ x 1・x 8) 外的基準の平均値と,重相関係数(の 2乗)は GLMプロシジャの分散分析表に出ます. Iだけを出力するように変えました. 平方和は TYFEI 林( 1 9 9 3 )の表 3 . 5には,各アイテム聞の相関係数と偏相関係数も示されています.これを 出力するのは, o u t l t e m =オプションを使います. %su1(c l a t a h a y a s h i,o u t s i c l eニ y 1,i t e mニ x 1・x 3 .o u t i t e mニ i t e m ) 二 この結果 l t e mというデータセットにアイテムスコアが出力されるので, r e gプロシジ ャを使ってアイテム問相関行列と偏相関係数(の 2乗)が得られます.偏相関係数でアイ テムの寄与を評価する際の問題点は高橋他 ( 1 9 8 9 )や芳賀 ( 1 9 9 0 )に解説があります. p r o cr e gc l a t a=i t e mc o r r; m o c l e ly 1=x 1・x 3/ p c o r r 2; run: 林( 1 9 9 3 )では続いて,表 8 . 6で予測(推定)値と残差を表示しています.これを得るには SASの一般的な統計プロシジャと同じく o u t = オプションを指定します. %su1(c l a t a=h a y a s h i ,o u t s i c l e=y 1,i t e m=x 1‑x 8,o u t=s u 1 o u t ) この結果, s u 1 0 u tというデータセットに予測値と残差だけでなく,予測値の 95%の信頼 限界も出力しますので,グラフを描いて結果の検討ができます.なお残差の符号が林 ( 1 9 9 3 ) と逆ですが同値です. また,集計表が林 ( 1 9 9 8 )の表 8 . 8と表 3.4に示され,オリジナルの %suryo1 , %s u r y o 2に も度数集計の機能がありましたが,クロス集計や基本統計量の計算は数量化法プログラム の仕事ではなく,他のプロシジャの仕事であるべきだ,と考えるのが SASのコンセプトに 忠実なので, %su1,%su2からは集計機能を除外しました. %su1には,この他にも多くのオプションがあります.通常はデフォルトのままでいいの ですが,オプションがあれば解析の自由度が高まります. SASシステムにとっては簡易版 として軽量化をはかったのですが,反対に解析オプションは増やしました.オプション(マ クロパラメータ)の一覧を以下に示します. ‑EA 1EA
,I 本入力データセット名.どんな名前でもいい 本/ ,I 本 外的基準の変数名(数値変数でなければいけない) 牢/ ,I 牢 アイテム変数名(空白区切のリスト形式が使える) 本/ W巴i g h t = ,I 本 ウエイト変数名(もしあれば) 本/ o u t = 口u l l ,1 牢 残差,予測値, 9 5自信頼限界を含む出力データセット名木/ o u t it e m =口 u l l ̲ ,I 本アイテム数量を含むの出力デタセット名 木/ o u t c a t e二 c a t e ,1 本カテゴリ数量を含む出カデータセット名 本/ p d i f f 二口o p r i n t, 1 *p d i f f, t d i f fを指定すると水準差の検定ができる 牢/ m o d巴l o p= ,I 牢 m o d e l文で有効な任意オプションを指定できる 本/ p r e d i c t =p r e d i c t, I 本予測値の変数名 牢/ r 巴s i d u a l =r 巴s i d u a l, I 本残差の変数名 本/ 1 9 5 =l o w e r 9 5 p, I 牢 9 5自信頼下限の変数名 本/ u 9 5 u p p巴r 9 5 p, I 本 9 5自信頼上限の変数名 本/ m a x d e c = ,I 牢出力時の小数点以下桁数 牢/ v a r d e f =口 ,I 牢 分 散 計 算 時 のi 除数 本/ t i t l e =2 ,I 本 国s u !が使う t i t l e行の番号 本/ n o p r i n t= ,I 本 n opn口で全ての印刷を抑止 本/ w o r k d s d e l巴t 巴/本 d e l e t eで ‑11寺データ削除 本/ % s u ! (d a t a o u t s i d巴= i t e m = 1 . 2 数量化 2類 [%su2]Version1 .0 林( 1 9 9:3)の表:3. 9に示されたカテゴリスコアを得るには,マクロパラメータを %sulと同 様に以下のように指定します. %su2(data=hayashi,o u t s i d e=gl, item二 xl・ x , 3 : maxdec=2) 1 9 9:3)と同じようにスコアを小数点以下第 2位にまるめ maxdec= 2のオプションは,林 ( る指定です.相関比は candiscプロシジャの出力する正準相関係数の 2乗に相当します. 外的基準のカテゴリ別の平均値と標準偏差も出力されますが,分散を計算する時の分母は 林( 1 9 9:3)と同じく,大標本を前提とする数量化法の流儀に従って,デフォルトではデータ 数 nを使うように変更しました.ただし自由度 c l fも指定できるように, v a r c l e f =オプショ ンを用意しであります. アイテム間相関行列と偏相関係数(の 2乗〉を求めるには, %sulと同じく以下のように outitem=で出力データセットを作成してから regプロシジャを使います. %su2(data=hayashi, o u t s i c l e=gl, itemニ xl・x , 3 : maxclecニ 2,outitem=item) procregc l a t a=itemc o r r; :/pcorr2; m o c l e lgrpmean=xl・ x3 byc l i m; run 一12‑
outitem=出力データセットには grpmeanという予約変数名で群平均値が作成されます. 判別軸を 2つ以上抽出した場合は r e gプロシジャで byステートメントを使います. 林( 1 9 9 3 )の表 3 . 1 0のサンプルスコアは以下のように out=オプションで指定したデータ セットに出力されます.変数名は dim1 . dim2のように dimとL、う接頭辞と次元数を接尾 辞とする予約名ですから分析データセットに同名の変数があると上書きされます.また外 的基準かアイテムに欠損値があると o u t ニデータセットを作りません.そのかわりに,欠損 値を除去した一時データセット ̲ d e s i g n ーを使うことができます. %su2(d a t a=h a y a s h i .o u t s i d e=g l,itemニ x1‑x3,o u t=samp) p r o cp r i n td a t aニ samp; vargld i m :; run サンプルスコアの一般的な記述的利用方法は布置の観察です.以下は 2個の判別軸を得 たときに平面プロットを作るステートメントです.群平均値の散布図を描けば,マーケテ イングで使うポジショニングです.なお,サンプルスコアは数量化法の流儀にあわせて, 平均 0,全体の分散 Iの基準化に変更しました.オリジナルの %suryo2とは同値です. p r o cp l o td a t a=samp; r e f=0h r e f=0; p l o tdim1 dim2=g1/v 大 run 数量化 2類のもうひとつの利用法は判別問題です.豊田 ( 1 9 9 6 )で・はニューラルネットワ ークによる非線形判別と数量化 2類による線形判別を比較しています.同書ではアイテム が 2個で 9群のデータを表 4 . 1 6に示しています.DATAステップは以下のようになります. p r o cf o r m at; 0 ' v a l u ec f 0=' c a r d s 0700000 1403080 1802040 20103083016204 3015204 1= ' A ' 2= ' B ' 3=' C ' 4 =' D ' E ' 5 =' d a t ax d oi=It o6; d or=It o7 s e tx; o u t p u t e n d; e n d; f . f o r m atcc r u n; 6='F' 7 B C ' 8 =' E F ' 二, r u n d a t ax i n p u tc自 由 ; 守Eよ 門べU
%su2のパラメータを以下のように指定します. dim=8で抽出できるすべての判別軸を 計算し, workds=とすることで一時データセットを削除せずに残します(デフォルトは w o r k c l s = d e l e t eです) .maxdecニ2でスコアを小数点以下第 2位にまるめて出力結果を見 やすくします. %su2(c l a t a=x,o u t s i d e=c,item=ir, m a x c l e c=2,workds=) %su2の出力結果の一部も続けて示します. C l a s sL e v e lI n f o r m a t i o n F r e q u e n c y AARμ ロυρ し nunιpbnrnU FhuaaA'BaaaAaaA'tAnAUTlAA吋υ Pし C n ドA ー W e i g h t P r o p o r t i o口 5 .0 0 0 0 4 .0 0 0 0 1 .0 0 0 0 4 .0 0 0 0 4 .0 0 0 0 1 . 0 0 0 0 3 .0 0 0 0 1 .0 0 0 0 1 9 .0 0 0 0 0 . 1 1 9 0 4 8 O .0 9 5 2 3 8 0 . 0 2 3 8 1 0 O .0 9 5 2 3 8 O .0 9 5 2 3 8 0 . 0 2 3 8 1 0 0 . 0 7 1 4 2 9 0 . 0 2 3 8 1 0 0 . 4 5 2 3 8 1 C A T E G O R YS C O R E I M 5 D I M 6 D I M 7 D I M 8 I T E M CATEGORY FREQ1 D I M 1 D I M 2 D I M 3 D I M 4 D lf 円l f 円l f 円l f 円l f 円l 円︐ tInLndAAZdRu 。 ρ h u n h u ‑ ‑ ‑ A a a A巧 fanHυnNU‑ FKJnyunAunAUAHvρhuρhu 一 ・・・・・一 0一・ 1一・0 0000 一 ‑一一 n 4 υハ HυaAヨnudA川 υn4υ'EA‑ 1‑nソ臼︽ソ ハ吋υ007lρhU 一 一一一一一 ‑‑‑‑‑‑一 0‑ 0一 0一0 000 一 一一一 ••••••• li‑‑‑nυ日υ日υnυnυ 一 苛 n4υnhunυ1IAA吋υハ 吋υ1i 一 n 4 υ a Aヨハ吋υ n 4 υ t 円l t 円l A H υ 一 ‑‑‑‑‑‑‑一 円υハ川υnυnυ ハ川υnυ ハ川υ 一 ↓ 日υnυ ハ川υハ川υハ川υハ川υハ川υ 一 日υnυnυnυ ハ川υnυ ハ川υ ‑n‑ ‑ ‑ nυ υ1‑ 1n‑ υ1‑ 1A 川 υハ川υ 一一千一一 ↑ ハ ソ AH‑nMUρhunMUoonυ‑ Fhd1ind 勺j 勺inu‑‑ 臼 7loO︽ソ 00にJA吋υ内 ソ 臼 44・Fhυ1よ44JKJn4υ γ n‑ ‑ ‑ ‑ ‑ ‑ ‑ 一 0 000oo‑‑ 一一一 ‑‑‑‑‑‑‑一 T1A1iFhυ 司 fan4υ44・nL nU4・FhdFhd ワ臼 119 臼 一 l 喝i︽ Hυ'Ei'EAA川 υハ川υハ 一 一 一 一 一 一 一υ H ‑‑‑‑‑‑‑一 一一一一一 141iAυ 川 E 守 Anυnυnυ‑ n υ にJnυnυρhU7ーにJ ‑ nU1infu‑‑Aauz 勺jnE 一 6666666‑ f a一 1inLn4υaaAにJnnu 司 R 0 . 0 0 ‑ 0 . 2 6 ‑ 0 .1 0 ‑ 0 . 8 7 0 . 3 4 1 .6 6 O .1 2‑ 0 . 8 8 ‑ .5 0 0 0 . 0 0 O . 9 2 0 . 7 3 . 3 8 0 . 5 6 0 . 0 2 ‑ 0 . 2 2 0 . 0 0 0 .5 4 0 .2 8 . 5 8 0 . 2 7 ‑ . 4 1 1 . 2 4 0 0 . 2 4 0 0 . 0 0 ‑ 0 .1 5 1 . 6 9 O .1 3 0 . 0 0 0 .2 0 0 . 3 8 0 . 7 1 ‑ 0 . 4 1 1 . 2 5 0 .1 9 0 . 2 8 ‑ . 8 0 O 0 . 3 4 ‑ .7 3 0 0 . 6 1 ‑ O .1 9 0 . 8 0 ‑ . 2 5 ‑ 1 .7 3 0 0 . 6 1 0 . 2 8 0 . 3 4 0 . 4 1 ‑ 上段は%su2を実行すると最初に出る c a n c l i s cプロシジャの出力で, BC, E, Fの 3群では 度数が 1だと分かります.群内分散が計算できないので c a n c l i s cプロシジャが WARNING メッセージを出しますが,下段のようにカテゴリスコアは計算されます.各群の観測数が 少 な し 例 題 と は L、え非常に難しいデータです.実はアイテム Iの 5 , 6番目のカテゴリスコ アが同じなので,度数 1の群 E, Fの重心は第 4判別軸までの採用では全く同じになってし まい,符号だけ違う(!)第 5軸も使わなければ E .F両群は判別できません. 豊田(19 9 6 )の表 4 . 2 1のような判別結果(見掛けの的中率)を得るには, %su2を実行す る時に作られる一時データセット̲gmean と f a s t c l u s プロシジャを使えば簡単です. ̲gmean ーには各群の重心が収められています. f a s t c l u s プロシジャは単にユークリド距離 E4 噌 A 斗企
の計算のためだけに使います. r e p l a c e 二口 o n e m a x i t e r o; v a rd i m l ‑d i m & d i m; r u n ; i m "; t i t l e" D I M 品d l u s; p r o cf r e qd a t aニ c e s u l t/ t a b l e s& o u t s i d e牢 r 口o c o l 口o r o w口o p e r c e n t; r u n ; t i t l e; 出m e n dd i s c; % m a c r od i s c (o u t s i d e =, d i m =, gこ) ; d a t as e e d; s e t̲ gm e a n c l u s t e r ̲ nー; r u n ; p r o cf a s t c l u sd a t a 二 d e sュg nー ( k e e p 品o u t s i d ed i m l‑d i m 品d i m) o u t c l u s s e e d =s e e d c l u s t e r r e s u l t m a x c =& g 以下のように指定すると,判別結果が f r e qプロシジャの表として得られます.判別軸を すべて (8個〉使って最短ユークリド距離に判別したものです. %disc(outsideニ c,dim= 8,gニ 9 ) C R E S U L T ( C l u s t e r ) F r e q u e n c y1 一+ー 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 T o t a l o 1 51 21 31 11 61 01 01 01 21 1 9 A 1 01 41 01 I 1 01 01 01 01 01 5 B 1 01 01 31 1 1 01 01 01 01 01 4 C 1 01 01 1 1 31 01 01 01 01 01 4 01 01 01 01 21 01 01 01 21 4 01 01 01 01 01 1 1 01 01 01 01 01 01 01 01 01 1 1 01 01 01 01 01 01 01 01 01 1 1 01 E F 01 01 01 01 01 01 01 01 31 3 T o t a l 5 6 7 6 8 1 1 1 7 4 2 D E F B C +一 十 t ‑ ‑ ‑ ‑ ‑ ‑ ‑ ‑ t ー←ー十一一一一一一+一 十 十 ーー一一+一一一一一一 t ‑ ‑ ‑ ‑ ‑ ‑ ‑ ‑ t 一 + 一 一 一 一 一 一 一 t ‑ ‑ ‑ ‑ ‑ ‑ ‑ ‑ t一 一 一 一 一 一 一 十 一 一 一 一 一 一 一 一 十 一 一 一 一 一 一 一 ← 十 t ‑ ‑ ‑ ‑ ‑ ‑ ‑ ‑ t 十 一 一 + 一 ← + 一 一 一 一 一 一 一 ー + t ‑‑ ‑ ‑ ‑‑ ‑ ‑ t‑ ‑‑ ‑ ‑‑ ‑ ‑ t ‑ ‑‑ ‑ ‑‑ ‑ ‑ t 一十一一一一ト一一一一+一一一斗 ー← +一一一一十一一一一+一一一一+ 一 t ‑‑ ‑ ‑ ‑ ‑‑ ‑ t ‑ ‑ ‑ ‑‑ ‑ ‑ ‑t ‑ ‑ ‑‑ ‑ ‑ ‑ ‑t一一一 +ー→ 十 + 十 十 十一一一一一+ 豊田(19 9 6 )の表 4 . 2 1と比べると的中率(対角要素〉は同じです. しかし 1行日 (0群 〉 の誤判別の様子が少し違います.なぜ %su2と結果が異なるのかは不明です.判別車1 1 1を何個 まで使うかは任意に決められるので,すべて試しましたが,的中率を見ると,豊田(19 9 6 ) ではすべての判別軸 ( 8個〉を使って判別したと判断してよさそうです. そこで HALBAU・4でも数量化 2類を実行してみました. HALBAUは,すべての判別軸 ; " c s vによって S AS を使った見掛けの的中率が出力されるようになっていますし,後述する O データセットを HALBAUデータセットに変換できます. HALBAUは%su2とまったく同 じ判別結果でした. EA 噌 民υ
%su2のオプションの一覧を以下に示します. % s u 2 Cd a t a = • I 牢入力デタセット名 牢/ o u t s i d e= • I ヰ 外 的 基 準 変 数 名 ( 数 値 変 数 ) 本/ i t e m I 本 ア イ テ ム 変 数 名 ( 空 白 区 切 ) 本/ w巴i g h t I 本ウエイト変数(あれば) 本/ d i m I .I 本次元の数 本/ o u t =̲ n u l l ̲ .I 本サンプル数量の出カデサセット 本/ o u t c a t e =̲ c a t e ̲ .I 本 カ テ ゴ リ 数 量 の 出 カ デ ‑1hト ヰ/ o u t i t e m n u l l ̲ .I 本アイテム数量の出カデ、サか/ト ヰ/ m a x d e c .I 本出力時の小数点以下桁数 本/ v a r d e f =n • I 本分散計算時の除数 本/ t it l e 2 .I 本目 s u 2が使う t i t l e行 の 番 号 本 / n o p r i n t I 牢n o p r i n tで 全 て の 印 刷 を 抑 止 本 / w o r k d s =d e l e t e 1 *deleteで 一 時 デ ー タ 削 除 本/ 二 . 二 . 二 二 一 二 . 2 . 簡単 TABULATE 調査データの変数は多くの場合に質的です.従ってクロス集計表にまとめます.tabulate プロシジャは多機能なのですが,それだけ指定方法も複雑になります. しかし通常は表側 の変数と表頭の変数を指定し,変数が SA(単数回答)か MA(複数回答)か数量値かを区 別し,数量値ならどうカテゴライズするか,と L、う情報だけで作表できます.これをマク ロ ノ fラメータにしておけば.tabulateのステートメントやオプションを忘れてしまっても, 簡単にクロス集計表ができます. 定型的なタイプのクロス集計をするマクロを集めて. I 簡単 tabulateJ と呼ぶことにし ます.これは簡単であることを追求しているからです.あまり凝った複雑なオプションも なく,形式も tabulateプロシジャにまかせてあります.表側や表頭に日本語の 2バイト文 字を使用できますが. tabulate が日本語を完全に面倒みないので,字化けした時は文字列 の折り返し具合を調整する必要があります. これらのマクロでは,必須指定のオプションは定位置パラメータとし,そうでないもの はキーワード・パラメータにしてあります.著作権者は島田喜郎氏です.汎用性を高める ために筆者が修正を加えた部分もあります. 2 . 1 SAXSA[%tabSxS] まずは一番質素なクロス集計表です. f r e qプロシジャでもできますが,以下のように指 定します. 3 個の必須ノぞラメータは先頭から,データセット名,表側変数,表頭変数の1 ) 闘 です. rts=オプションは tabulateプロシジャと同じで表側テキストの幅を指定します.出 41ム ρ0
力結果も下に表示ます.データは林(19
9
:
3
)と閉じものを使いました.
%tabSxS(hayashi,x1,x
1,r
t
sニ 20 )
S
同μ
同μ
一一
nH
‑‑
‑一
一一
AH
一
︾‑‑
UU
N
‑‑
一
一υ
‑
一
円
一
T
‑
F
D
一
一
一
F
b
一
一
司
J
‑
P
L
‑
Q
L
一
一
一
n
L
一
寸
︐
ノ
‑
n
V
A
‑
‑
一
一
‑
F
h
d
‑
1
1
1
?
1
1
4
1
1
1
1
1
1
1
1
+
i
l
i
‑
‑
T
i
l
‑
‑
i
‑
‑
F
U
‑
‑
‑
‑
‑
F
h
d
一︑tJJ‑M剛円一一一一
一
3
一
一
一
一
一
一
(
一
一
一
一
一
一
1
l
+
i
+
│
+
│
│
│
+
│
+‑
│
一
一
寸
4
一
一
n
u
‑
‑
‑
n
u
‑
一
寸
︐
J
‑
M‑
N
H
一
一
‑
一
一
民a
d
‑
T
l
n
u‑
‑一
‑
n
u
‑
‑
・
1
4
‑
P
L
一
d
Q
a
‑
‑
d
Q
a
一
入一 一川ト│ト│││トト
・
収 ‑8一一 8 一 ・ 一 8 ↑
一
︑
t
J
J
一
M 一一一
一
一
一
一︽
(ソ
↑釘
↑一一一一
↑
一
│
+
│
+
│
+
│
│
│
十
│
一
一
一
n
H
U
‑
n
H
u
‑
‑
↑+
・│
一
‑
一
‑
一
一
一
‑
1
J
‑
M
ノ
一
千
l
‑
z
d
一
一
一n
o
‑
P
し
一
司d
υ‑
一z
司
υ一
一一
w
‑
n
V
I
‑
一
一
﹃
一
;J
i
l
i
l
i‑‑
‑
ウ一
i一
一一
)一一
一ウ
一i一‑‑‑‑
F
1
1
‑
U
N
‑
‑
一
一
;
L
一
一
一
一
一
│+│
+n│
+
Iυl
i
‑
‑
一一
u
一
n・
H
u
‑
n‑
u
一
UN
H
一
↑‑
・n
一
‑
一
→
‑
一
n
U
一
n
U
一
n
u
‑
n
U
し
ρ ‑nU一nu‑nu‑nu
yL一P
A
‑
‑
i
‑
1
i
‑
1
i
一1
i
L
一
l
l
+
l
l
+
l
i
l
i
‑
‑
+
1
8
1
l
A
A
‑
‑
n
U
一
ウ
i
一
o
‑十
F
D
一
一
ハ
M
‑o
‑
一
‑
M
Nソ
HI一
一
一
一
+lil‑‑
日
一 一 一 7 一切一
一一
一一
二
一d
1
τ
ノ
‑
Oノ
O一
一: 1
一
一
︾
一
一
一一一
︽︻
一一Fhυ
8
l
一入一)一)一)
‑
L
‑
T
L
一
円入
一
1
1
一
つ
'
u
一
q
u
‑
A
A
一
日
以
一
〆
︑
︑
一
〆
︑
︑
‑
〆
︑
︑
林(
1
9
9
3
)の表 3
.
3では複数の変数が閉じ表に表現されています.これは f
r
e
qプロシジャ
ではできませんが,クロス集計表としては「あたりまえ」の形式です.以下のように指定
することができます.
%tabSxS(hayashi,x
1x2,x1x2)
ー
ぺ
E‑
μ
同μ
M同μ
ー
↓
汁
川V
←
引
ー
一一
3‑
‑一
3‑
‑一
3‑
一一
::・一
O
一
l
一
!一一O・
巴
ル
川
﹂
一
町
内
一
川
l
一
寸
ー
は
一
戸
︑
υ
一
n
一
n
4
U
一
一
一
一
F
h
u
一︐
E仲一
(
一
]
一
3
一
3
‑u
3‑
一n
一4一
一
1
ふ
一'亡一1li
l
l
‑
4
1
l
i
l
‑
l
i
l
i
‑
‑
4
1
1
1
1
1
1
4
1
1
I
l
l
i
‑
‑
T
I
l
l
‑
‑
1
1
I
L
‑
‑
4
1
?
1
J
4
f
i
l
l
‑
‑
+
1
l
l
l
一ペ一一3‑1一l一l一‑一‑一‑一3
↑
t叫
JJ
H一
一一
一一
︐︑n
a‑
一M
一N一
一一 一
一
(
一
一
一
一
一
一
一
l
i
l
i
‑
‑
[
l
+
l
l
‑
‑‑
‑
一
1
‑n
‑
n+
H
‑+
nH
V一
一‑
一i
‑一
‑i
一n
H‑
U一
弓
ノM
一l
m
NH
一u‑
‑u
一
‑
一
一
マ
一一
戸
川
‑
n
u
u一
‑一
‑
Fu
U
‑
‑ー
Hの
一p
'
L
一l
ハ叫
ツ︐
‑
nd
hU
一
︐
n‑
叫n
a一
一↑
ハ一
ソ'
一
111+1111111+!Ill‑‑+1i
一7 一 一 5 一 3 一 2 一 ・ 一 ‑ 一 ‑ 一 5 ‑
J‑MNH一一一一一
:一
一︑
3t
‑J一
一
一
一
一
一
言
一
一
一
一
2世
i一(
l
i一一
l
‑n一
‑
lul
‑‑‑
祉
一l
'i
ni
u一
uI
一n
一i
nu
‑‑nu‑‑一
J一 E 一 百 一 仏 一 広 一 E 一 札 一 一 止 一 一
一﹂ip‑‑C一9u一9u‑2‑FU‑‑E一一
一一!
│
十一l i l'E
i ‑ 'E
‑
lつl
i一l
i4‑
‑一‑一
一
一d
4・
且一
'u
‑‑
44
一
n)
γ一
u一
一一
町内口一一一一一
一
(
一
一
一
一
一
↑
一
且
i‑
+一
1l1
1u
1‑1
in
‑u
‑‑+
1n
1u1
1一
+Il
‑
l1
一n
nl
u‑
n1
u一
一1
‑一
一
弓
ノ
一
町
円
‑
‑
一
一
‑
‑
‑
一
‑
一
‑'
力
一
寸
l
a
一
n
u
‑
F
h
d
一
n
u‑FD‑nu一一一
日'卜 ‑rL‑4・‑q︐
‑
F
D
一
つ
'
u
‑
4
・
一
一
一
一
イ
一
F
一
一
一
一
一
η
J
一
i
l
l
‑
T
I
l
l
‑
T
i
l
l
‑
‑
1
i
?
1
l
?
o
t
‑
‑
1
i
t
+
i
o
t
l
i
l
‑
‑
?
l
i
l
i
‑
‑
}
1
1
1
1
1
?
1
1
1
1
T
I
l
1
1
1
1
1
?
1
1
1
1
8
一
‑
一
‑
一
ホ一一 8 一 2 一 4
一2一
一︑t
J一
‑一
UN
一‑
一一
一
]
一J一
一
一H
一一一
一一一
一
一
(
一
一‑
一‑
一
一
‑i‑‑‑‑
l+
l
i
li
+
Il
l
一
'
一
一 一J 一 ・ 一 ・ 一 ︒ 一 ︒ 一 ︒ 一 ・ 一 3
N
‑in
一中i‑FU‑‑一FD‑FD‑nu‑‑n
Z品
こり一陀一2一一一2一2一5一一
‑1
5ii
l口
i一
l
+F
lhi
i'
‑u‑
i一
l‑i
‑
一
一+
一戸
‑‑
一‑
‑一
dl
一つ
‑l
9b
‑‑
tl
一
)
↑ N一一一↑一一一一
‑
nυ 一
一一一‑一
一
(
一
一
一
一
‑
一
‑
1
1
1
1
1
1
1
ii+Illi‑‑ll
一
万
一 N 一J 一 ・ 一
ρ 一 ・ 一 O 一 ρ 一 O 一 3品
‑Fh
d
一
作
i
一
n
u
‑
‑
n
u
‑
‑
n
U
一
'
D
‑
n
u
‑
n
・一寸一陀一4一一4一一5一2一4一E
一J
‑F
一l
l+
!│
十
li
li
‑‑
‑‑
+
11
11
+I
l‑
‑e
+
11
11
11
1l
+
ll
+I
ll
l+
l句
i‑
‑
w
x
‑
o
o
‑
‑
n
o
‑
‑
一
O
O
一
‑
一
d
Q
a
‑
‑
i
‑
9
u
一
l
一
︑
1
ノ
‑
M 一一一一‑
n
ソ
'
u
一
一
一
↑
一
一
(
一
一
一
一
一
一
[
l
i
i
‑
+
l
l一i
‑
ー
ーl
‑A
Hυ
‑‑
nH
uI
‑‑
一‑
AH
υ‑
一nuυ‑nHU‑n4U
1 ノ 一 才 一 F D ‑ F h d 一 一 一 戸 口 一 5 一 n u 一 qu
a
u
一
F
U
‑
n
d
‑
q
u
一
一
一
9
u
一
9
u
‑
n
u
‑
i一
l一
‑司‑
ii
+‑
│‑+
in
lf
iu‑
+一
l司iυl
‑
一
{‑
一ウ
一l
‑一
‑‑
‑‑
‑‑
11
一1
)1
一a
一
一
一N
一‑
一‑
‑
一
U
一一一
一
(
↑
一
一
一
一
一
! +一
l一i
l‑
i
‑n
+
lul
‑‑‑
l一l
i一
‑n‑
n
u
n‑
u‑
uI
‑n
‑i
nu
nI
Hυ
nu
u
一
一
一口一∞一∞一肌一飢一肌一肌一郎一肌
L ‑ F一 l 一 ] 一 l ‑ l ‑ l ‑ l 一 l 一 l
札一iJ引十lllJハ↓引十│パ川↓l引↓川町↓l引斗引
一一
一
町n
内γ
Hu
一一
一一
一一
一一
一
il
[││lili‑‑+!
+il‑‑
一一↑白一万一︾一一テ一目十
eT一 色
一一
‑一
戸﹃J
一﹁
内l
υ一
in
ii
j‑
'M
‑
4
t
y
‑
‑
令
川
川
一
れ
付
H
H
一
一
'
k
7
‑
一
3‑
一
言
一
ト
一
一
‑
一
‑
T
L
一
一
ノ
‑
︑
l
J
O
O
一
︑
l
J
d
一
︑
jτ
ノ
一
五
卦
一
︑
1
3
1
一
︑
ノ
一
︑
l
J
h
v
一
︑
ノ﹀71
一札一収一α 一αLU一α日一一職一 hU約一α一αれ一町はえて
﹄
ワ
t
守
ム
2 . 2 SAXMA[%tabSxM1 表頭が MAの時には以下のように指定します.林 ( 1 9 9 3 )のデータには M Aがないので架 空のデータを作りました. MAの変数に関しては 0・1型の値を持っていることを前提にしています.欠損値 ‑ 1型に なっている場合は,事前に 0・1型にしておく必要があります,変数名は q 6 ̲ 1・q6̲5のよう に接頭辞+番号の形式を予定しています. 第1.第 2パラメータは %tabSxSと同じくデータセット名,表側変数名です. MAの表 頭の指定は第 3‑5パラメータで変数の接頭辞,開始番号,終了番号の順です.ここでは 5 個の MA変数を指定しています.無回答の列を自動的に出力します. f r e q =オプションは t a b u l a t eの f r e qステートメントであり,回答者に重みを与えて集計 するための指定です.サンプリング方法などによって個人の抽出確率が異なっている場合 なとに必要になるオプションです. where= オプションも w here ステートメントそのもの で,調査業界のクロス集計用語では「フィルター」と呼ばれる機能に相当します. 出t absxm(x,sex,q6̲ ,, 1 5 ,f req=a,where=q 3ne' 2 ' &respcand= ' 1 ') J l ‑川? │ 4 L IR 4 ! l Q 1 2 J QBJ J 白 井 QU 1N 附 T N 1N I P C T N 1N 1 陀T N 1N 1 陀T N 1N 1 陀T N 1N 1 陀T N 1N 1 陀T N1 1 │ 札L 19 8 附 4 4 引 山 削 山 ! け 川 州 l 叩 0 ω 0 . 0 引 │ 削 I S E X 1 1 1 川 1 2 幻 1 .削 612 7 3 1幻引川 7 引 川 1 1 1 削 o 1 . 1 1 ム J 引 0 │ │ 9 6 劃 │印 1 1 0 1 .1 2 5 3 15 8 . 7 1 1 15531 100.0 11241 22.4 11311 23.71 17713 2.01 1 1 1 2 4 3 1 4 3 . 9 1 l L : J J J J ; ; J ; l i i i │ j i l │ 0 ! . │ 0 l .1 l J J 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 2 14 3 1 1 1 0 0 . 0 1 7 0 11 6 . 2 1 8 2 11 9 . 0 1 9 6 12 2 . 3 1 0 1 . 1 2 . 3 MAxSA[%tabMxS1 表側が MA ,表頭が SAの場合は, %tabSxMとちょうど逆で,以下のような指定になり ます.最初荷データセット名を指定するのは変わりませんが,第 2‑4パラメータで MA の変数名の接頭辞と,接尾辞の開始番号,終了番号の順に指定しています. %tabmxs( x, q 6 , 一 , 1 5, sex) ︒ ︒ E4 旬
一一一 n A υ 一ρ h U 一QU‑nUD‑‑‑ 一一町川口一‑一‑一‑一・ 一 一 一 → i‑AU 一戸川υ 一1 1 ‑ o o ‑ ‑ 一一 ρし一戸川υ 一nd 一A 4 4 一司υ ↑ ↑ 一一一一 一 nVA‑‑ ‑一2 ‑1 十│+│十│+│+l+│ O 3 5‑5‑ l 一守hi‑444‑ ハ川υ 一ハ川υ 一一一 n 4 υ 日 司t 一一一 一 一 一 一 一 町 川 口 一 nぺU 一 一 一 一 一 ーー l 一一 一:・↑ ‑ U間 川 一 ‑ 一 一 一 ぺ u‑ 一一 ‑Ti‑n 川 υ 一一一 nb 一ρし ‑ R d 一一一 川川ハ一 n v A 一 一 一 一 A‑1‑+Illi‑‑+11+ll+1l 一一 ρhu‑nHυ 一ハ川U 一ハ川U nu‑‑Rd‑ 一一 Il‑‑; 町内川一川川ハ ‑ n 弓 'EI‑‑EI‑‑ ‑19一 │十l十 何一 1i‑nuu‑QU‑nu 一町川口一 ‑ F ・一‑一‑ 一→i 一 nd‑95U 一95u‑nU n r z u ↑‑﹁υ‑n4υ 一ρし一 一 ハ H u nd‑PA‑‑ 1i 一;l+liti‑‑十11+一!一?+│ ‑ n h u ‑ ‑ n u u ‑ F h d 一ハHU‑nuu ぺ‑ ︐ ぺ ηu ‑ ︑ u 一瓜4A‑nU n H可 ↑ ↑ i ‑ M間 川 一 旬 OA‑‑ 一' h i ‑;i+│+ll│l+li ‑‑nAυ 一ハソu 一 ハ 川U‑nMU ‑ M川 口 一 ‑ 一 ‑ 一 ‑ 一 ‑ ‑ T i ‑ n u ‑ A q ‑ A U 一n 口 一ρし ‑95u‑AA‑‑AU‑95u nγu‑nv﹄ 一 一 一 ' l A 一 一 一 1l+111111+111+11+lI nhu‑‑n ソ u 一ρ h U 一ハソu 一ハ川U u‑Aua‑nソu 一a n H W︑ 一 一 ハ ソ n u z ‑M円一 1i 一 一 1﹄一 111111; 一 U 間川一 l 一n ‑ n A υ 一ハ川U 一円f h u ‑ M川 ハ 一 ‑ ‑ ‑ 一 ・ ↑ ・ f l 一n A 一円 H υ 一円fl‑nuu 一中I ‑PL 一 ' l A 一ハ川υ‑n凡 U + η 凡 U 14‑PA‑‑1A 一一 て ー ー +111111十ll+li+1l ρ h U 一一 Aua‑Aua‑nhU 一区1 u nw‑‑nHυ nHυ‑aA1‑RU O‑o‑O O 一 一一 ‑ U間 川 一 ‑ 一 ‑ 一 ‑ 一 ‑ lil‑‑+│+│ ー+│ 一→i ‑ n u ‑ n U ‑ A U ‑ n U ‑ ρ し ‑ n u ‑ A U 一ハU‑nU T L ‑ P A ‑ 1 ‑ 一1i‑1﹄一 1I L‑‑t+ill‑‑i+116+1l+1J S A比 一 一 ハ ソ u‑Aua 一︽ソ臼 ‑nuu ぺ 一一 n H υ 一ハ川υ 一nソ zu‑nU ‑M川 ‑ n h u 一'I 一1i 一'1 11111 2 一3 H 一一一一 一 山W 一nu‑‑L 一 一 一 一nn‑TL 一 一 一 一一一 A‑1‑ ↑ を自動的に作ります. VA‑‑ 一一一一一 官U‑11+11+il+11+ll+ +ll+ll ︑ U 一一一円 t l 一444‑nγu 一nソ n gu‑‑‑‑ 一一 U 間川一‑一‑一‑一‑一一 一 一 → i 一 白υ‑AA‑‑n口 一 暗I l ‑ ‑ 一一 ρし一 AA‑‑ρhu 一 弓d 一n h u ‑ ‑ ‑‑nV1・ 一 一 一 ‑ 一 一 ‑TI‑‑+l+l+l+l+l+i l 一咽4 i ↓F 一一 ‑nuu 一円f h d 一nHυ‑nHυ l 一n M U ‑ ‑ 一一 ‑nuu‑nhU 一円f 一一 N円一ハソg u ‑ ‑ 一一一 ーー ーー O‑o‑2‑3 !+l+l+l+l+l+l十│ ↑ 一 ハ 川 U 一n Hυ‑ U‑ U 一 ・ ↓ ・ ‑ U間 川 一 ‑ 一 ‑ 一 ‑ 川 ‑ ‑ 一川 一 ハ ハ ‑Ti‑AU 一AUmAU‑nU 一 一 一ρし一 nU 一n u ‑ n U ‑ n u ‑ ‑ TL‑PA‑1‑vtI‑11 一11 一 一 L ‑ 1 │ + +l│+ll+ll+ll+ji‑ ↑ハソu‑anua‑nソ u‑nuu‑nHυ‑nHυ ‑au‑ 一一 一一 hu‑τtA 一唱44‑Tlよ 一 一 一町川口一 n lil‑‑+│+│+│+│+│+l 一一 1A‑n己 一 ﹃ u‑444 一FD ‑TL 一 一 一 ‑ 一 一 一 一 一 一 hu‑nhU 一n h u 一TL 一nhu‑ρhu 一n ‑ ‑ a u 一ハリ可一ハリ可 ‑nH可一ハリ可一ハリ可 2 . 4 MAXMA[%tabM xM] 表側と表頑がともに MAの場合は以下のように指定します.この場合は表側と表頭に同 内部で自動的に作る変数です.分析データセットには,アンダースコアで始まる変数名の じ変数を指定しているので対称行列になります.表側変数となっている ROW̲はマクロの 使用をなるべく避けた方が安全です. % t a b m x m C x, q 6 ̲ ,L 3 ,q 6 , 一 L 3) 2 . 5 数量値 (SAXSA) [%divtab] 数量値をカテゴライズして表頭に使う場合は,以下のように指定します.形式的には SA xSAと同じですが,表頭には年齢をカテゴライズして年代にした結果を表示するために, 第 3パラメータ以降でカテゴライズする区切りを指定します.表の右端には単純平均の列
% d i v t a b (x ,s e x, ag~ 3 0, 4 0, 5 0) 1 C A G E 1 N A 札L 1 < 3 0 1 1 3 0 < =ー < 4 01 4 0 < =‑< 5 01 5 0 < = hk A G E im 1 i IN 1 町N1 N 1 町 N1 N 1 町 N11[ 町 N│N li i Nl酬 + ーート一一+一一一+一一ート →十一一+一一一+一一一+一 t‑‑‑‑‑t‑‑‑‑‑t一一一 ‑ 1 1 1 ‑一一一+一一一+ー 16 0 2 1 1 0 0 . 0 1 1 2 1 2 . 0 1 5 7 1 9 . 5 1 8 6 1 1 4 . 3 1 1 6剖 2 7 . 4 1 2 8 2 14 6 . 8 1 5 9 0 1 5 0 . 3 1 1 ーt ‑ ‑ ‑ ‑ ‑ t一一+一一一 t ‑‑ ‑ ‑ ‑t ‑‑ ‑ ‑‑ t ‑‑ ‑ ‑ ‑ t トー t ‑ ‑ ‑ ‑ ‑ t ‑ ‑ ‑ ‑ ‑ t →+一一+一一一 t ‑ ‑ ‑ ‑ ‑ ‑ ‑ I S E X 1 1 1 1 1 1 1 1 1 1 │ i │ │ ! │ │ l │ i l │ │ │ l 1 12 9 9 1 1 0 0 . 0 1 2 1 0 . 7 1 2 8 1 9 . 4 1 4 0 11 3 . 4 1 8 8 1 2 9 . 4 1 1 4 1 1 4 7 . 2 1 2 9 7 1 5 0 . 4 2 一 t ‑ ‑ ‑ ‑ ‑ t一一一+一一ート ー 十 t ‑ ‑ ‑ ‑ ‑ t ‑ ‑ ‑ ‑ ‑ tー ー 十 t ‑ ‑ ‑ ‑ ‑ t ‑ ‑‑ ‑ ‑ t ‑‑ ‑ ‑ ‑ t一 + 2 13 0 3 1 1 0 0 . 0 1 1 0 1 3 . 3 1 2 9 1 9 . 6 1 4 6 1 1 5 . 2 1 7 7 1 2 5 . 4 1 1 4 1 1 4 6 . 5 1 2 9 3 1 5 0 . 1 9 1 札.L │ 一 3 . SASファイルを CSV形式ファイルに変換[%csv]V e r s i o n1 . 1 SASデータセットを他のアプリケーションソフトで利用するために CSV形式に変換し たい場合があります. % c s vは最低 2個のパラメータを指定するだけで変換できます. 林( 1 9 9 3 )のデータセットを CSV形式にすることを考えてみましょう.ここで本来の説明 の手順としては,やや不親切かも知れませんが,最初の DATAステップで作成したデータ a y a s h iを以下のような指定で変換すると,どうなるかを確認します.紙幅節約の セット h r t 1に出力する例です. ために 5オブザベーションだけを,定義済みのファイル参照名 p 紙 紙 A 王 A紙︒川市川 OB パI ) ︑ ' 1ノヲ匂 9bft α ぬ 見 パ ' ︑ 内 lz t h ︑F ︑︑︐J弓ヨ︼r f t ノ 見︐)ぬ ‑dl る 見 同 'nununU14 nHunkunHunAu' 1i 制 ハ HU''EinHUハ HU ハ HUハ H U 'ハ HUハ HU 'EAnHUハ HUハ H u p h j v 引 'nHUJ‑cnHUη υ 引 '牛小マノ︑︑ノフ句 FE ノ︐︑ J (9b︐︑O ) 1 ︑ ︐ ︐ ︐ ハ 川unγurft︑ ‑‑nuf t ︑ ︐ Onu( B' O M 1i Aa 北川げ牛小'戸﹄バM phunリ' O 3 勺 ' ‑ ‑ ηL1i ︑ ︑ ノ ︑aA V V 1 .︑ ︑ ︐ ︐ ︐ ︑ ︑ ︐ ︐ ︐r f t 官 ︑ ︑ ノ ︑AA2 '1inAu'rft oVMM vAnkunkud 寸ノ n k u 刊パパ万ヘパ 乱万万日子万 '))))) 乙 71VA HU nHU'phd'ハ ハ HunHU'ハ HUハ Hu n y 臼 ハHUιEEnHUハHU nut‑‑i149undt1 ︑ 9uVAfにfにfにftFl きJ好J L 好否)否日 h a y a s h i (o b s=5,) f i l e=p r t l) 二 ) ) ( )品抵' Tt‑nγu'nF j'' ( ( 一 ( ]︑ 守 ノ ' rft 旬 一 一 ' 引'F︑ U M ' H M 4 n/MF守ノ‑守ノmhlLH'H 4 ︐AI JhMH phu'U M 'U H U﹀ ' 卜一ワ︐ ︑ ︐ ? 6c s v (d a t a 期待に反した結果が 2点あります.第 lは数値でなくフォーマット化された文字列が出 力されたことです.これは % c s vが値を出力する時に. DATAステップで定義されている出 力フォーマットに従うためです.先の DATAステップでユーザー定義のフォーマットが関 連付けてあるので,このような結果になりました. 最初の 1行目にはデータ件数と変数の個数を出力します. 2行自には変数名が出ます. 0件のデータがあるという情報 ここで第 2の期待外れがあります. 5件だけ出力したのに 2 が示されています.これは % c s vが DATAステップのコンパイル時にオプザベーション数 を調べているためですが,簡単な解決方法があれば改正するつもりです. 1行目と 2行目の情報は,パソコン用に開発された統計ノ fッケージでは一般的な形式で 円 U nL
す.例えば高木慶文氏らの HALBAU. 芳賀敏郎氏の CDA .P e r t e rM.B e n t l e r氏の EQS のデータファイル形式がそうです.微妙な違いとして. HALBAUは 1行目の件数と個数 をカンマで区切る(この方が自然ですが).CDAは 3行目に変数タイプ(質的か量的か) の情報(重要な視点です)が必要. EQSは 1行目の件数と個数が不要です. SV形式に変換するためにはフォーマットをリセットします. 期待どおりの C d a t aa ; s e th a y a s h i; format̲numeric̲; run: ( o b s=5) .f i l e=p r t l ) %csv(d a t aニ a 2 07 Xl.X~X~Yl.Y~ G l .G 2 , ]1 .,] 2 0 0 0 .1 0 0 0 0 .2 .1 1 .~ ~ 100~800~ 1 . 2 0 0 0 .1 8 0 0 0 .,] 1 2 .,],] 5 3 .4 .2 .6 0 0 0 .3 0 0 0 0 .2 .2 , ]4 .,] 3 0 0 0 .1 5 0 0 0 .,] 1 ここでは数値変数ばかりですが,文字変数がある場合に複引用符で囲みたいことがあり u o t eニオプションで y e sを指定すると文字変数を複引用符で囲みます. ます.以下のように q uote=noであり,囲みません.また 1行目のデータと変数の個数を出力し デフォルトは q e sです.なお,文字 たくなければ n=noを指定すると抑止されます.デフォルトは nニy 変数と数値変数が混在している場合は,最初に文字変数が定義順に出力され,そのあとに ) 固に並びます. 数値変数が定義1 %csv(d a t a=a .f i l e=p r t l .q u o t e=y e s .n=no) 2行目に変数名ではなく,ラベル定義しである文字列を出したい時は l a b e lニl a b e l とい a b e l=v a rであり変数名が出力されます.ラベ うオプションを指定しますデフォル卜は l a b e l=noを指定します. ルも変数名も出したくなければ l %csv(d a t a=a,f i l e=p r t l,q u o t e=y e s,n=no,l a b e l=l a b e l) "収入" "職業" "新しもの" "噌好飲料" "衣料" "広告" "新聞" , ], ], ]2 0 0 0 .1 0 0 0 0 .2 .1 , ]3 .2 .1 0 0 0 .8 0 0 0 .,] 2 0 0 0 .1 8 0 0 0 .,] 1 2 .,] ,] 5 3 .4 .2 .6 0 0 0 .3 0 0 0 0 .2 .2 , ]4 .,] 3 0 0 0 .1 5 0 0 0 .,] 1 E4 唱 nL
CSV形式というくらいですから,デフォルトのデリミタはカンマですが. dlm=オプショ ンで変更できます. dlm=とだけ指定すると空白で区切られます. この他のオプションとして lrecl=があります.変数が多い場合にはレコード長として十 分な長さを指定しておかないと気がつかないまま右端が切り落とされる危険があります. r e c l=512です.オプションの一覧を以下にまとめます. デフォルトは l 百c s v (d a t a =̲ l a s t ̲ .本 / S A Sj ‑ "‑jセ ッ ト 名 本/ f i l e, 二 /本出力 7 7イル名(参照名 o rD O S 7 7イル名)牢/ l r e c l =5 1 2 . /本出力レコードの最大長 牢 / 口=y e s . / 本 l行目にデーす し タ と変数の個数を y e s :変 出力 る / 本 口o : ない / 牢 l a b e l v a r . / 本 2行目に 力 変 数 名 数かラベルを出力 v a r : 名 / 本 l a b e l :ラ jレ / 本 / 本 口0 出力しない q u o t e 二口o . /本文字変数を複ま 引用符で / 本 n o :囲ない y e s :文囲字 む / 本 d l m =9 6 s t r( , ) /本デリミタ 、 , 本 / 牢/ 牢/ 本 / 本 / 本 / 牢/ 本/ 本/ 宇/ 本 / おわりに この他にも「小物ユーティリティー」がし、くつかあります.例えば. %psは SASのプロ シジャの出力結果から余分な改頁記号を除去し,無駄な出力用紙を使わないで済ませるツ ールです.ユーザーの中にはもっと便利な「ちょっとした」マクロをたくさんお持ちの方 がいるのではなし、かと思います.考え方にもよりますが,ライブラリに登録して多くのユ まな L、かと期待します. ーザーの共有ツールにしていただけれは¥世の中の進歩に役立つので1 また SASを使った参考書のデータやプログラムもライブラリに登録していただければ, 読者は入力の労力とミスを避けて勉強に集中できると思います. 参考書: 芳賀敏郎 ( 1 9 9 0 )数量化 1類と 2類におけるアイテムの選択とカテゴリの併合" I n :柳井晴 1 9 9 0 )人間行動の計量分析 夫・岩坪秀一・石塚智一偏 ( 多変量データ解析の理論と応用一, 第 7章,東京大学出版会. 1 9 9 3 )数量化理論と方法一,朝倉書店. 林知己夫 ( 1989)SASによる実験データの解析,東京大学出版会. 高橋行雄・大橋靖雄・芳賀敏郎 ( 1 9 9 6 )非線形多変量解析ーニューラルネットによるアプローチ 豊田秀樹 ( ,朝倉書店. n J u n J U
日本 S A Sユーザー会 (SUG I‑J) 少年の不良行為補導の実態分析 O小 林 敬 子 * 笠 哲 子 * * 岩 津 美 帆 * * * *日本女子体育大学体育学部 ** x県 M市警察署婦人補導員 ***東京大学大学院総合文化研究科博士課程 ANAL Y S I SO FJ U V E N I L ED EL lN QUENCY KeikoKobayashi JapanWomen'sC o l l e g eo fP h y s i c a lE d u c a t i o n NorikoRyu MihoIwasawa U n i v e r s i t yo fTokyo 要旨 不良行為による少年補導件数の 10 年間 (1984~1993) にわたる時系列データを用いて、年齢や時 代の変化と不良行為の関連性を吟味した後に、 W山 DOWS版 PC‑SASver ふ0 8を使用して因子分析 (主成分解)及びクラスター分析(群均等法)をおこなった。 キーワード: 少年補導データ 因子分析 クラスター分析 1. はじめに 悪化した環境の中で、少年が犯罪、触法、ぐ犯に至ることを未然に防ぐためには不良行為初期の状 況にいる少年を補導、早期に指導することが重要である。本研究では、これまでの補導状況に関する データに注目し、時代や年齢別に見る補導件数から、それぞれの非行行為発生の特性を探ることを目 的とした分析を試みた。具体的には、 「喫煙、飲酒、薬物乱用、けんか、深夜俳佃、家出、無断外泊、 不良交友(図中では「悪友」と表示)、怠学、暴走行為」の 1 0項目の補導項目について、これらの不 良行為発生の背景にある要因や特性を探索的に抽出するために、因子分析およびクラスター分析によ る分類をおこなった。 qL q a
2 . 対象と方法 , 2 . 対象データ 分析に用いたデータは、 X県 M警察署において行われた 1984年から 1993年にわたる年齢別、性別、 項目別不良少年補導件数である。 対象データの年齢は 1 1歳未満と、 12歳から 19歳に至る年齢別件数である。年齢区分は誕生日に依 る。 18~19 歳ともなると見かけ上、成人との区別がつきにくく、補導データに偏りがある可能性を無 視できないことと、 1 2歳以下の補導件数は極めて少なく特殊な事情によるものと考えられるため、本 研究では思春期にあたる中・高校生、すなわち 1 3歳から 17歳を分析の対象とした。また、この年齢 は児童福祉法の適周年齢でもある。補導で「少年J といえば少年・少女を指すが、今回は「男子Jに ついてのみの分析を行った。 2.2 デ ー タ の 吟 味 不良行為少年補導項目には「喫煙、飲酒、薬物乱用、凶器携帯、乱暴・けんか、たかり、深夜俳個、 家出、無断外泊、不健全性行為、婦女誘拐・いたずら、不良交友、君、学、不健全娯楽、金品持ち出し、 暴走行為 J 等が挙げられるが、補導件数が少なくて、安定していないと推測される項目を除き、前述 の1 0項目を分析対象とした。 6項目について、補導件数の度数 補導件数の少ない項目「たかり、金品持ち出し・・・」等も含む全 1 による分析と、構成比(年度、年齢別全補導項目件数を 100とした場合、及び年度別、全年齢、全補 導項目件数を 100とした場合)による分析の両方を行ったが、いずれも顕著な傾向がつかめなかった。 この種のデータは、あくまでも補導件数であって、非行の全体像を正確にとらえているものではな いという指摘もあるが、警察関係者による定期的な補導の取り組みとデータの長年の蓄積により、デ ータが示す件数は非行実態のほんの一部ではあっても、特徴やその変化を把握するのには充分信頼性 のある指標であると考えている。 3 . クロス集計と解釈 1 0年間)の各補導項目における補導件数を年齢別にまとめたもので 今回用いたデータは、各年次 ( ある。 図 1 (1) (2) は、各補導項目に関して、年度別・年齢別の度数表と、年弱者別の積み重ねグラフ による度数の推移、および年度別の積み重ねグラフによる補導件数の年齢による違いを表したもので ある。 r 飲酒、喫煙、不良交友、怠学」に関して平成 2、 3年 ( 1990、91年)前後に補導件数の増加 が見られる。時代的背景としては、日本経済がバブル絶頂期にあった時期である。またこの時期は第 二次ベビーブーム世代が高校生になっており、母数人口の増加も考慮しなければならないであろう。 1988年)に補導のピークがある。これは 1985年頃からマンガやテレビ 「暴走行為」は昭和 63年 ( などのメディアを通じて「暴走族ブーム Jが全国的に起こったことと関連していると思われる。暴走 族が関係した事件や事故も多発していた。 ‑24一
一弘︑ ‑ W止河川抑制打︑鳥山 N v p 士 r荘 一川河 一 燃 精 謙 一 一 濃 川 議 ・ 射 事 潟 市 川 閣 a 崎市岨 国畠鳳 川町ーし l i ‑ ‑一 一 一 一 i i j一 ﹄ 山 由 昭 一 j j jvJh 一J?: J 一一曲盟問一四 川〆圏一昨 圃ぷ姐2一夜 ⁝一一一一ー日 一 ‑h ⁝ ⁝ ﹃ ‑ 一 世 iy 一 V 九i 一 一 一 一 一 一 一 一 曲 一 ﹄山一 男心一二一一 一 一 一 一 ⁝ ⁝ 判⁝⁝し⁝ ii ⁝ 一日 仏⁝一 川一 ι ι 弘 司FM脳 Nm 一 沼 mmuo 一 一 一 一 一 ‑KK隊出 mm 崎一 初 jjiuj ω 一 一 v‑ 湖︑た減対議⁝ 一 三 一 二 で ほ : ⁝ 溺 泳 一 見 守 関関 ⁝ー一ベ ⁝ 一⁝ E ・⁝ jji 一b j⁝ ⁝ ⁝ 乱一一一一一一 ⁝ ⁝ ⁝ ⁝ 一 一 ⁝ ⁝ ⁝ UI ιjj ¥J¥ ⁝ ⁝ 1 性) 1 3 ‑ 1 7 牌 h w 拡机 ‑ m m EMFP乱暴 む 一 ぷ ぷ ‑mMh制 総 事 ヘ 品 目 出 44 1 27 11 v Z 3 1 0 7 3 5 2 0 4 山 苦 慮 記 7 413 i310160520 機械 5 8 0 1 2 1 :hfl 主主主主主主一LrdNvm 2212213511 溺頗 m 山 卯 川 川mmmm 5 2 1 4 2 0 市 総 2112213311 4 4口 2 20 17 12 7 1 1 1 5 0 2 2 2 0 2 1 1 事 38112DID‑ 2 0 0 o 0 2 2 o 0 0 2 2 1 1 2 出出路 話 繍噛 鰯晴 o 晴 1 3 2 7 1 4 0 滋歳 1 3 1 5 1 3 1 ⁝ 叫 1dt 15. 1. 1 7 J t o 1 8 3 1 8 7368mm7W 2111m4 繍 ・ 畑 w a 1 3 8 o 晴 雌 抽明 一 刻 繊 細 減 羽 目UEU よ己主主)O!~:ぐり〈刊 . 1 回 Mt滋漆1 論議議 1 図 1( 1 ) 各補導項目の補導件数と年度別、年齢別積み重ねグラフ u ノU ︑ 戸n
・
1
5
.
匿霊室薮ヨ 1 . 14
s
5
i
1. 1
噌
77811
割同
4
3
5
5
5
8
1
呂
田
3関
1
1
3
3
3
3
2
5
8
7
3
1
0
2
7
2
0
I
!
0
悶
3
4
1
7
8
4
1
1
6
4
1
1
4
不良実友〈男性 )
1
3
‑
1
7
.
不良実友{男性}
1
3
‑
1
7
M
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0 r"
m
古 川γ
元k
'
.
司
.
,
¥二ト川ト.&
J
I
邑
削
印
ト
ω"
hム . 1 /
関
1
・1
7
旗
血
.
.
.
,
;
,
:
̲
i
明司・hι
IT 司l
FY
可 ?曹司・ー ..
司b
r
"ト
'
i
"
ι
l~16.
"
,
:
;
:
,
:
,
:
,
:
,
,
̲
,
"
'
}
"
:
;
;
:
:
:
:
,
:
:
:
:
:
̲
I
ロ1
5
.
j
.
l
'
.
j513.
3 広史~ご叫ミ油£予想略
。
E
【剖~
吉 宮
ω ω
ω
= ‑ 富 呂 昌 留
2零〈男性) 1
3
‑
1
7
.
ト....
・
・
鈎 π
1
0卜
4邑 一 :
ω
I17.
1
'I
i
l1
6
鎌
べJ
5
.
‑ ‑ 際 司 邑 つ
I1
ドJ二人ンa・・.,・・・・P',::,:,:,:~ιI ・ 1噌
I γ ι
田ト
<
0
トlふ
関
ド
ι
.
.
.
.
・
. .,・・・‑ロ
.....",..,.#,理~'k,"‘」円 I 置 13.
芳
:
.
:
:
:
:
、
司
』
ー
一
'
"
.
.
.
. ‑
ι
2
I
J
b
.
;
.
;
ー
・
・
r
.
:
:
正
午
よ
己 完
.
.
.
;
:
'
#
:
V
、
長
;
シ
1
0時
空
曹
司
.
.
.
.
;
:
:
:
:
ム....
とご戸;
‑
刊さZ
盃
田 宮 古 書 吉 田 出 図 書
図 1(
2
) 各補導項目の補導件数と年度別、年齢別積み重ねグラフ
喫煙による櫨暗に占める各年轟集団町劃告
1
国
国
%
4
0
2
0
l
国
回
国
%
4
0
2
0
8
4
8
5
曲
目
曲年吹田
田
9
1
9
2
田
8
4
8
5
田
町
曲年吹田
図 2(
1
) 補導項目別にみた各年齢集団の割合の推移(l 984~ 1
9
9
3年)
‑26一
田
9
1
9
2
田
自 自 E 革 鼠 m H UB 尉 田富 封崎 町司司伺 3 史 ロ N ~ : i ! O N ~ : i ! E 目 民 自 自 国 国 田 (N)N 図 ︒事 E図様相紛 AW 時官咽川司曽軍時吋け暗雲求甑駈 UB 尉 昌司 ︒車E回繰抽騎 AW 時世咽以骨軍時刊以軍拡幅山間 富 トN 3 黒 1 2白 [ ) 総 轄Q O属Q E減鑑沿鳴り K4Nリ三円四回野健 白 申書E国機軸時停岬官屯川崎曽短時吋斗幹剖 ト (叶の白白︻ MM叫事 由冨 申轟E回線描叫宿泊特 時官屯以曽毎時吋けぬa刊K M 胃噛 UB 崎 町栂司喝 ︒高E関経亀叫府 AW 時官唱川崎骨量岬刊以州制岨持 。. 昆 昆 司 N m 円 s ロ ~ : i ! 富 呂 自 自 自 . 当 R 日 冨 宮 冨 自 封時 田富 包 自 E 目 自 h高E国輯揖叫相時相時世咽川崎骨量岬吋りゅ坦軸 中 田 自 ‑ 切 ー 同 司 制 田 田 国 自 自 富 包 包 E 自 日 呂 号 訴 冨 s ロ S . 自 冨 s 町
「飲酒、喫煙、薬物乱用、深夜街: 1 個、怠学、暴走行為」については、年齢が高くなるにつれ補導件 数が多くなることは明らかであるが、特に「喫煙」においてこの傾向が顕著である。 i けんか、家出」 の補導は比較的低年齢が占めていることが分かる。 図2( 1) (2) は、各補導項目に占める各年齢集団の割合(1 3 歳 ~17 歳全体を 100 とした場合の 各年齢の割合)の 1 0年間の推移を示している。 i 飲酒、喫煙、深夜俳個、暴走行為」は一貫して 1 6、 17歳の割合が顕著に高い。一方、 1 5歳の「薬物乱用」による補導が 1992年 、 93年と増加傾向にあ るようであり、低年齢化の兆しとして注目されるべきであろう。また「怠学」に関しては 93年におい て高校生の割合が下がり、 { cわって 14歳(中学生)の割合が激増している。 4. 因子分析(主成分解)とクラスター分析による解析 4.1 デ ー タ の 構 造 以上のように、 1 0の補導項目、 S集団の年齢層、 1 0年間の補導件数のデータを犠々な角度から比較 吟味してみたが、このように膨大な情報量を総合的に比較するためには多変量解析が有効であると考 、 1993年の 1 5歳というような集団をひとつのサンプル(オプザベー える。よって、 1988年の 14歳 Cf ORプロシジャ)と、それによって得ら ション)として、各補導項目件数についての因子分析 (FA れた因子負荷量によって、補導項目を 3つのクラスタに分割する (CLUSTERプロシジャおよび TREE プロシジャを使用)ことを試みた。 1 3歳から 17歳にわたる年齢別の 1 0年間のデータであるため、オ ブザーベーション数は 50 (5X10) である。 4.2 分析のためのデータセット ふ0 8を使用した。 WINDOWS版 SASシステムでは、動 今回の分析には W別 DOWS版 PC‑SASver 的データ交換(DDE) によって、他のソフトとの間でのデータ交換が可能である。よって表計算ソフ x c e lに入力された各補導項目の度数データを、 f i l e n a m eステートメントで指定することにより、 トE SASのデータセットとして利用した。このように、分析のためのデータ準備の段階で E x c e l上で作成 したデータをそのまま利用できることにより、データ形式の自由度と作業効率がかなり改善された。 f i l e n a m eMAdde' E x c e l lD :¥[MCLUS T .XLSJFACMFURYO!R1C1:R51C11'; d a t af u r y o ; r i n k = '飲酒, s m o k e = '喫煙, s i n er='薬物, f Jgh t = 'けんか' l a b e lt e r m = '年歳, d h a i k a i = '俳佃, outhome=家出, s t a y='外泊, f r i e n d = ' 悪友 ' n o t go=宮、学, b o s o = '暴走'; i n f i l eMAd l m = ' 0 9 ' xf i r s t o b s = 2m i s s o v e rnotabDSD; i n p u tterm$d r i n ksmokes i n e rf Jgh th a i k a iouthomes t a yf r i e n dnotgob o s o ; r u n ; また、因子分析結果の布置、クラスター分析のためのデータセットもプログラム上で既存のデータ を加工して作成した。因子分析の結果から得られた各補導項目の因子負荷量を用いてプロット図(布 置)を作成するためには、因子分析結果の SASデータセットを加工する必要がある。 T貼 NSPOSEプ a c t e rpattem (補導項目の第 l因子 第 3因子までの因子負荷量)を転置するこ ロシジャを用いて、 f ‑28一
とによって、各補導項目をオプザベーションに、各 f a c t e rp a t t e mが変数になるような新たなデータセ ットを作った。その過程のプログラムを以下に示す。 /*因子分析を実行*/ p r o cf a c t o rd a t a = f u r y oo u t = t e m l ̲ o u t ( k e e p = t e r mf a c t o r lf a c t o r 2f a c t o r 3r e n a m e = ( t e r m = 一 I a b e1 ̲ ) ) /*因子負荷量の出力*/ o u t s t a t = v a r ̲ o u tn f a c t o r = 3 ;/ * o u t s t a t =で f a c t o rp a t t e mを含むデータを出力*/ v a rd r i n ksmokes i n e rf t g h th a i k a iouthomes t a yf r i e n dn o t g ob o s o 1 ; 礼江 / * p r o ct r a n s p o s eで f a c t o rp a t t e mを転置*/ p r o ct r a n s p o s ed a t a =v a r ̲ o l l to u t =v a r ̲ t r a n ; 1T E R N ' ; where̲ t y p e ̲ = ' P A 円五1 ; 次に因子分析によって得られた第 l因子から第 3因子の因子負荷量をクラスター分析(群均等法) によって分類し、クラスタ一番号を得る。 /*変数のクラスター分析*/ p r o cc l u s t e rd a t a =v a r ̲ t r a nm e t h o d = a v e r a g e o u t = o l l t c l l l s 2 ; v a rf a c t o r lf a c t o r 2f a c t o r 3 i dl a b e l 円五1 ; p r o ct r e en c l u s t e r s3 d a t a = o u t c l u s 2o u t = o u t t r e e 2 ; ニ r u n ; 以上のクラスター分析によって得られたクラスタ一番号を、因子負荷量の布置の際、プロット記号 として用いることにした。そのためにクラスター分析の結果を、さきほどのプロット用に転置した因 子分析結果のデータセットと結合させる必要がある(その際、両者を対応させるため、それぞれを N品 m ̲ .凶 BELでソートさせておく)。 /*因子分析結果とクラスタ一番号のマージ*/ d a t ah 2 p l o t 2 ; 口1 e r g ev a r廿a no u t t r e e 2 ; r u n ; ここで作成されデータセット h 2 p l o t 2 を用いて、各因子の因子負荷量をプロットしたものが、後 の図 3~ 図 6 である。 ‑29一
4.3 分 析 結 果 と 因 子 の 解 釈 47と非常に大きく、続いて第 2因子 因子分析の結果は表 1に表した。第 l因子の固有値は λ1=4. .66、第 3因子の λ3=1 .1 1と続く。そして の固有値 λ2=1 図 3から図 5は各補導項目の因子負荷 量を布置したものである。プロット図はそれぞれ第 1X第 2、第 1X第 3、第 2X第 3因子によるも のを示している。プロット記号として用いているのは第 l因子から第 3因子の群均等法 ( a v e r a g e )によ るクラスター分析結果のクラスタ一番号である。 第 3凶子までの解釈を試み、暫定的に以下のように解釈した。 飲酒、喫煙、深夜俳個、薬物乱用、怠学、暴走行為、不良交友」の 7つの項目が大きな 第 l因子: I a c t o r 1は 値を示している。 F 「家出、けんか」以外の非行発生の総合的促進要因を表す因 子であると考えられる。特に「飲酒、喫煙、薬物乱用」は物質的興味という共通点がある。 一方、「家出、けんか」は行動や意識面の非行といえるかもしれない。物質的な非行とは「お 金がかかるもの」のことである(図 3の横軸のプラス側は「お金がかかる」、マイナス側は 「とりあえずはお金がなくてもできる」軸)。このような状況から、非行にはしる少年たち とお金の関係は、その非行形態に大きく関与していることが推測される。 外泊、家出、 第 2因子: I けんか」がプラスの大きな値を示しているのに対し、 「喫煙、俳個、飲 酒」がマイナスの値を示している。図 3の縦軸(第 2因子)について見てみよう。最近の少 年の特徴として、 家にいたくない」気持ちから「家出」する事 「人にかかわりたくない J I も考えられるが、 「家出」も、少年が自発的に環境を変えて、意識転換をはかる行動として、 積極的な行為という捉え方をすれば、 「外向的」なものと考えられる。従って、縦軸(第 2 因子)は「外向・内向」という非行の特徴を表していると考えられる。縦軸(第 2因子)の プラス方向は「外向的」、マイナス方向は「内向的」といえよう。また「外泊、家出、 んか」は低年齢特徴、 け 「喫煙、俳個、飲酒」は高年齢特徴をもつことから、年齢的な軸とも 考えられる。 第 3因子:第 1因子、第 2因子では同一グループにあった「けんかと家出」、そして「不良交友と暴 走行為」を分ける因子である。図 4の第 l因子と第 3因子を用いた散布図からは「けんか、 不良交友、俳佃」グループ対「家出、外泊、暴走」グループがあり、その中間として「深夜 俳個、飲酒、喫煙、薬物乱用、怠学」が布置する。 新しいタイプの非行、 I けんか、不良交友、俳佃」を都市的な 「家出、外泊、暴走行為」を非都市的な古典的タイプの非行ととらえ、 非行環境因子と解釈できる。 以上のように、第 3因子までで約 72%の累積寄与率を得ることができた。 次に、クラスタ一番号と因子負荷量の布置の関係を考えてみたい。第 l因子から第 3因子までを考 慮したクラスター分析によって、 「けんか」がひとつだけ 13J として分類されている。 I けんか」 は比較的低年齢が補導の対象であり、件数も年々減少傾向にあることが特徴的であるといえよう。そ n u ︒ ︒
表 1 補導項目の因子分析結果 喫煙 深夜俳佃 薬物乱用 怠学 45 I 4. 47 I 2 . 8 1 I 0. 不良交友 総合的促進要因 けんか 0. 35 0 . 0 2 家出 ‑ 0 . 1 6 外泊 年齢特徴) 性 (逃避) 無断 家出 (低年齢特徴) けんか 0 . 6 2 0 . 5 1 0 . 3 8 0 . 2 9 0 . 2 0 . 0 2 不良交友 暴走 内ー外向性 内向性 (好奇心) 高年齢特徴) 市的 (新しいタイプ) 都市ー非都市 非都市的 (古典的なタイプ) . 6 1 I 1.66 I 0.55 I 0 0. 4 。I 。 0 . 0 2 俳循 飲酒 i 喫煙 薬物 怠学 ー 0 . 0 3 ー 0 . 1 3 暴走行為 無断外泊 0. 47 ー ー 0 . 2 6 0.24 ー 1 . 11 I 0 . 7 2 . 2 7 I0 ‑ 噌i qu
一 一 一 + 一 一 ー ー 一 一 一 一 一 + 一 一 一 一 一 一 一 一 一 一 一 一ー + + +‑‑‑‑‑‑‑‑‑‑‑‑‑+ 一 一 ー + ー ー 一 FACTOR2 1 + 1 .2 + 0.9+ 2外泊 0.6 + 2家出 │ 1 3けんか 1悪 友 1 0.3 + 1暴走 l薬 物 一一一一→一一一一一一一一一一一 日日+ 1 怠学 俳個 + │ 11 飲酒 ‑0.3 + + l 1喫 煙 ‑0.6 + + ー 一 一 一 一 一 一 一 一 + 一 一 一 一 一 一 一 一 一 一 一 一 一 + 一 一 一 一 一 ← 一 一 + ‑0.3 0.6 0.0 +‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑+ 0.3 0.9 0 . 6 1 .2 F A C T O R l 図 3 因子負荷量の布置(第 1因子と第 2因子) 一 一 一 + 一 一 +‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+ FACTOR3 1 1 3けんか 0 . 7+ + ~5+ 1悪 友 0.3 + 0.1 + + 俳佃 l 一一一一一一一一←一一一一一一一一一 0.1 + 一 日 │ 喫煙1 1 1 飲酒 l 薬物 l │ + 1 2外泊 l 怠学 │ I 暴走 1 + ~3+ 2 家出 │ ‑ 0 . 5+ 。 + ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+ー+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+ー+ー .1 ‑ 0 . 2 0.4 0 . 7 1 .0 FACTORl 図 4 因子負荷量の布置(第 1因子と第 3因子) ‑32‑
ー 一 一 一 一 一 一 一 一 一 + ー 一 一 一 一 一 一 一 一 一 + 一 一 一 一 + ‑ ‑‑ ‑ + ‑‑‑ ‑ ‑‑‑‑‑‑‑‑‑+ ー 一 一 一 一 一 + 一 一 一 FACTOR2 1 1 .2+ 0 . 9+ 2 外泊 2 家出 0 . 6+ 3 けんか 1 悪友 0.3 + + 1 暴走 1 1薬 物 0.0← 一lー怠学+一一一一一一一 l + ← 1 飲酒 1 1 俳個 0 . 3+ + l喫 煙 0.6 + +‑‑‑‑‑‑‑‑‑ ‑‑‑‑+‑‑‑‑‑‑ ‑‑ ‑‑‑‑ ‑ + ー ー 一 一 一 一 一 一 一 一 一 一 一 + 一 一 一 一 一 一 一 一 一 一 一 一 一 + 一 一 一 一 一 一 一 一 一 一 一 一 一 + 一 一 一 一 一 一 一 一 一 一 一 一 一 + 一 一 一 ‑0.3 0.3 0.9 0.6 0.0 1 .2 0 . 6 FACTOR3 図 5 因子負荷量の布置(第 2因子と第 3因子) ー + ー ー ー ー ー ‑ ‑ ‑ ー ー + ー 『 一 一 一 一 一 一 一 一 一 一 一 一 一 + ー ー 一 一 一 一 一 ー ー ー ー ー ー ー ー + ー ー ー FACTO R 21 3+ ー + 〆 ー + A F 6 / 2+ C D / 1 o fH3 I B * * ! t S J / 事 F 7 1 B 3山 r : / t . . 恥 ・ L .. . ' . : 1 巴 巴 ? . 1: 「 。 一一一-i司:4:~~4r-_'_ r i ‑ 7 ! 叩: J 3 j ; 5 c ソ[ぷE:H6JJ6D71 ~ t IJ ~ x f , 日 ・ 7 E! : IIIV7$116iH71 0 4 85 / C5 ‑‑‑‑‑‑‑‑‑‑;' 6 川 J a E a H ' F ‑ 2 , d ー 手 自 / 7 f い 一一一 i / J F G H r / G 5 A3 E + A 3 A 4 A 5 A 6 A 7 i U ん ; ‑ 1 FACTORl 図 6 因子得点の布置(第 1因子と第 2因子) 1 9 9 3 1 9 9 2 1 9 9 1 1 9 9 0 1 9 8 9 1 9 8 8 1 9 8 7 1 9 8 6 1 9 8 5 1 9 8 4 1 3 1 4 1 5 1 6 1 7 ηd q u
の他に 11Jに分類された「飲酒、喫煙、薬物、けんか、俳抗菌、不良交友(悪友)、怠学」は時代背 12Jの「外泊、家出」は件数自体は比較的少ない 景に関係なく日常的に発生しやすい非行であり、 が、目、 6歳の不安定期に多く、はっきりした傾向がつかみにくい非行であるからこそ、注意が必要 な行為であるといえるであろう。 最後に、年度、年齢で分類したサンプルとしての集団の因子得点(第 1因子と第 2因子)による布 B・・・ Jは順に 1993年 、 1992・・・ 1984年を示し、アルファペット右の 置を図 6に示す。記号 A, 数値は年齢の下ひとケタを示す。例えば A3は 1993年 13歳 、 B4は 1992年 14歳を表わしている。 10年間にわたる時系列データであるが、横軸(第 l因子)の値が大きいほど高年齢となっているよう だ(図中では同じ年齢を結んだ、傾向線を表示)。図 3の解釈と合わせると、低年齢では「不良行為」 と言っても「けんか」をしてみたり、友人宅に泊まる「外泊」、または、ちょっと「家出」をしてい たのが、高年齢になるに従い「飲酒、喫煙、暴走行為」などの「お金が必要となる」行為へと移行し ている。移行の年齢は 15歳であり、やはり中学生から高校生へかわる不安定な時期であるといえよう。 5 . 最後に 種々の少年補導項目も、年齢的特徴や恒常的に発生するもの、またはブームがあってピークを過ぎ ると減少するものなど、様々な特徴に分類できることがわかった。特に第一因子として抽出できた物 質的な興味(飲酒、喫煙、薬物乱用)に関しては、今後はたばこの自動販売機数などとの関連性をみ てみる必要があろう。 この研究は、平成 7年度科学研究費の補助を受けておこなったものである。 最後に、こころよく資料を提供してくださった北海道大学の須田力先生、ならびに、分析にあたっ て数々のご助言をいただいた武蔵野女子大学(元東京大学・前三重大学)の青山昌二先生に心から感 謝申し上げます。また、 SASのプログラミングに際し、多くの助言を頂いた SASインスティチュート ジャパン株式会社 奥山慎一郎氏に感謝の意を表します。 参考文献 市川│伸一・大橋靖雄・岸本淳司・浜田知久馬 ( 1 9 8 7 ) rSASによるデータ解析入門』東京大学出版会. 社団法人大阪少年補導協会 ( 1 9 9 5 ) w月刊 少年育成~ 476号. 総務庁青少年対策本部編(19 95) f平成 7年度版 青少年白書』大蔵省印刷局. 1 9 9 5 ) IWindows版 SASと M i c r o s o f tE x c e lの間でのデータセット入出力を自動化する 三島徳雄 ( マクロの作成 J ~第 14 回 日本 SASユーザー会総会および研究発表会論文集』日本 SASユーザー会. 1 9 9 0 ) ~非行の原因』東京大学出版会. 麦島文夫 ( 法務省法務総合研究所編(19 95) r 平成 7年度版犯罪白書』大蔵省印刷局. ‑34‑
日本 SASユーザー会 (SUGI‑J) 数 量 化1類を用いた患者よりみた 病院サービスの定量評価 0田 久 浩 志 東邦大学医学部病院管理学研究室 Evaluationo fH o s p i t a lServiceO u a l i t y using O u a n t i f i c a t i o nTheoryType1 1 . TakyuH i r o s h i i,Departmento fH o s p i t a l Administration TOHOU n i v e r s i t y,5・ 21‑16 Omori‑Nishi Schoolo fMedicine, Ota‑ku, Tokyo, 143, Japan [email protected]‑u.ac.jp 要旨 病院で患者の受けるサービスの評価を重視度、満足度、受療推薦度で行なうことの 有効性について、 SUG卜94で報告した。本稿では、患者より見た病院サービスを定量 的に評価するために、受療推薦度と満足度の関係を数量化 1類を用いて解析した。そ の結果、単なる待ち時間、建物の雰囲気よりも、医療従事者の対人サービスの満足度 が受療推薦度に強く影響を与えることが判明したので報告する。 キーワード: 版 SASシステム、数量化 1類 満足度、重視度、受療推薦度、 PC 1.はじめに 著者は、外来患者が受ける医療サービスの評価を行う場合、個別のサービスに対する 事前期待とは別の重視度、患者の主観的な満足度に代えて患者が口こみで第 3者にこの 病院の受療を推薦するか否かという受療推薦度、および、従来よりのサービスに対する 患者の満足度の 3種類のサービス評価指標を用い、外来患者サービスの問題点の抽出を 試みその結果について報告してきた 1410 その過程において、患者は常に医師に関する事項を重要視し、かっその満足度が高く なることを指摘した。しかしながら、各サービス評価指標がどのように受療推薦度に影 響を与えるかについての定量的な解析はなされていなかった。今回、数量化 1類の手法 を用い、満足度と受療推薦度の定量的な関係、及び病院の種類によるその関係の差異に ついて検討を行うことを試みた。 u に nJ
1 1.対象 調査は、東京都にある大学附属病院である 0病院と、神戸市内にある甲状腺疾患の専 門病院である K病院を対象とした。年齢の区分の仕方は両病院での年令調査区分が異な 、 0大学病院では 35‑64 歳とし共に るが、両者をほぼそろえるため K病院では 30‑59 歳 再来患者を対象とした。その結果、解析対象者は 0大学病院は 219名 、 K病院は 396名 となった。 川方法 用いた調査票の内容、及び各種のサービス評価指標の求め方は前回の報告に準じ旬、 表 1に示すような、患者サービスの項目に対する満足度、重視度、受療推薦度、病院に 対する意見の記述等の質問項目よりの構成とし、患者の受診の流れにそった質問内容と した。調査票の内容と求める内容を以下に示す。 A 患者属性 患者属性の調査項目は、年令、性別、郵便番号、住所、通院期間、来院時間、離院時 問、当日の担当医師名、病院までの所要時間、予約の有無等からなる。 B .満 足 度 満足度は、患者の快適性や利便性に配慮したサービス 4)を対象とした。満足度の測定 は、表 1に示す各質問に対し、 「とても満足 (5点) Jから「とても不満足 ( 1点) Jの 5 段階尺度で記入するようにした。 K 病院では「どちらでもな~ ¥ J を抜かした 4段階評 価で、調査を行なった。 C .重 視 度 重視度は、患者における事前期待に代わる尺度と定義した。重視度は、各患者に表 1 の満足度の質問の中のどれを大事に考えるかを 3項目選択させ、各項目を選択した人数 の全体の人数に占める割合、すなわち選択率で表現した。 D .受 療 推 薦 度 受療推薦度は、患者の本院に対する総合的な評価指標として用いた。これは、患者自 身が友人知人に本病院の受療を薦めるか否かという具体的行動を、受療を「必ず薦める ( 5点) Jから「絶対に薦めない ( 1点) Jの5段階尺度で測定した。 nhu qu
E .数 量 化H類 で の 分 析 の た め の 準 備 対象とする対人患者サービスの項目としては f A :受付の職員の応対」、 応対」、 f O :医師の説明」、 f G : 診察まで、の待ち時間の長さ」、 f B :看護婦の f N : 建物の雰囲気と快 適性」の 5点の満足度を対象とした。外的基準として受療推薦度を用い、 「とても満足」 から「満足」までの肯定群と、その他の否定群の 2種類に分類した。 数量化 H類は、 SASサンプルプログラム 5)と、有馬の報告 6)を用いた。解析は, PC‑SAS Ver6.04 を用い、旧 M PS/55 n o t e N23sxで行った。 表 1 質問項目 (K病院の場合) A.受付職員の応対 B .看護婦の応対 C医師の応対 Dその他の職員の応対 E . 医師の説明の解かりやすさ F .医師との会話による不安の減少 G診察までの待ち時間 H採血までの待ち時間 1.会計までの待ち時間 J .薬局までの待ち時間 K .超音波検査までの待ち時間 しその他の検査の待ち時間 M病院内の表示のわかりやすさ N . 建物の雰囲気と快適性 0治療費について とても満足から、とても不満足までを 5点から 1点で評価 I V .結 果 2病院の満足度と受療推薦度の関係を図 2、 3に示す。 D [ M 1 S U M I T E M A:受付職員 2 . 3 2 8 1 2 2 │山本間材料料開問 1 * * * * * │ 1 .2 5 8 9 1 7 榊…林桝問…*林本榊……林榊附…本林叩…牢問山桝附牢…………本料榊附山*林桝附本料榊*林牢 5 .5 9 4 6 2 3 G:診察待ち 本本*本**本**本 1 .0 3 1 0 2 3 N:建物雰囲気 │料材料開材料開材料材料開本間 B:看 護 婦 E:医師設明 材料材料 +一 一 一一一一十一一一一一一一一一十一一一一一一 2 3 4 5 D [ M 1S U M 一+一一一一一一一一一+一一一一一 1 図 2 K病 院 の ア イ テ ム レ ン ジ 判別的中率 9 3 .7 % 3 . 4 6 7 9 4 8 ウ t q o
I T E M D I M 1 S U ! ! A:受付職員 │料料料料本木本木本木本木本木本木本木本木本木林料本料本木本料本料本木本料本料 2 . 4 6 9 4 9 2 B..看護婦 │本木本木本木本木本本木本木本木本木本木本木本木本木本木本木本本木本木本木本木本木本木本木本木本木本木本木本木本 2 . 7 2 8 8 1 3 E:医師説明 l 本木本木本木本木本木林本木本木本木本木本木本木本木本本木本木本木本木本木本木本木本木本木本木本木本木本木本 2 .7 0 5 7 3 4 G:診察待ち i 本木本木本木本木本木本木本木本木本木林本木本木林本料 1 .4 6 9 9 8 4 N:建物雰囲気 │林本木本木本木本木林本木本料本木本木本木本木本木本木本 一 一 一 ← ー 十 一 一ー+一一一一一一一+一一一一一ーし O .4 O .8 1 .2 . 16 D I M 1S U ! ! + 2 1 .5 1 8 3 0 7 十 2 .4 図 3 0病院のアイテムレンジ 判別的中率 7 6 .3 出 V .考 察 近年医療施設に対して評価を行なう気運が高まり、いくつかの報告が行なわれている 74110 しかし、それらの医療評価活動では現状分析は行われるものの、実際に医療資源 (人、物、金、情報)を投下してサービス改善活動を行う場合、どのサービス項目を対 象に改善を行えば、総合的な評価指標が効率的に改善されるかという問に答えを与える ものではなかった。 一方、評価を受ける医療施設側としては、サービス改善を行ないたくてもできない理 由も存在する。例えば、外来患者数が当初想定していた人数より大幅に増加して待合い 室が溢れかえり、それでも診療を行なっている場合など、待ち時間の改善、建物の雰囲 気の改善などは容易にはできない。また、その状態で、患者サービスの改善として、予 約診療による待ち時間改善を行なえば、現在、対応している患者数を処理出来なくなる のは明白である。建物の雰囲気の改善のために建物の改築を行なおうにも、費用をどう するか、その聞の患者への対応をどうするかなど難問が山積みとなる。また、建物、待 ち時間の改善を行なえば、それだけで患者数が増加するという保証はない。 受療推薦度と各満足度の関係について、図 1、 2を見ると両病院とも医療従事者(医 者、看護婦、受付職員)に関するサービスの満足度が他の項目に比較して高い傾向があ る。一方、医療施設側から、患者に対するサービスの改善、つまりマーケティング施策 を行なう場合、操作可能なサービス項目は施設によって異なってくる。 0病院は、市街 地に位置し当初の予定外来患者数が 2倍に増加してしまい、建物の改修は容易に行なえ ない。そのため、 0病院では建物の改善、診療待ち時間の改善に医療資源を投下するよ り、医療従事者の対人サービスを検討するほうが、現実的で費用効果が高いと思われる。 n o q o
K病院で医師の説明に関すアイテムレンジが大きいことより、今後はインフォームドコ ンセント 12‑15) の推進を考慮することが有効と考えられる。 判別的中率が O病院の方が K病院より低いのは、大学附属の総合病院であり、複数の 診療科が存在し、慢性期や急性期の患者が混在するため、患者の病院に対する満足といっ ても多岐にわたることが一つの原因と考えられる。従って、今後は診療科別の解析も考 慮する必要がある。 また、 0病院も K病院も建物の雰囲気、つまりアメニティの改善があまり受療推薦度 に影響力がないのは、病院サービスの改善の為に医療資源を投入する上で注意すべきで ある。従来、患者サービスの改善というと、病院のアメニティ 16)の改善が指摘される傾 向にあったが、今回の結果は医療従事者の対人サービスの向上とアメニティ、どちらの 改善が現実的かという指針を医療施設の管理者に与えるものと言えよう 今後は、サービス改善運動と満足度の変化、及び受療推薦度の関係について、追跡調 査を行なう必要がある。このような地道な継続した活動により、今まで経験にたよって いた病院のサービスの改善運動に、定量的な裏付けが与えられ、人、物、金、情報の各 医療資源を効率的に運用し、より良い医療サービスの提供が可能になると言えよう。 VI.結語 大学附属病院である 0病院と、甲状腺疾患の専門病院である K病院を対象に、外来患 者サービスの満足度と受療推薦度の関係を数量化 1類を用いて解析した。その結果、若 中年層の外来の再来患者を対象とした場合、 1 .医療従事者の対応が受療推薦度に与える 影響が大きいこと、 2 .建物の雰囲気などのアメニティ要因が受療推薦度にあまり影響を 与えないこと、などを明らかにした。また、これらが、病院の外来患者サービスに対す る改善運動を行う場合の、効率的な医療資源の投下のための指針となることを示した。 本研究を行うにあたり、 (株)エフアイティーの皆様に御協力をいただきました。こ こに感謝の意を表します。 参考文献 1 )田久浩志、患者よりみた病院サービス評価の有効性について、第 1 3回日本 SASユー ザ一会総会および研究発表会論文集、 4 8 3 ‑ 4 9 2, 1994 2 )田久浩志:満足度と重視度による外来患者サービスの評価、病院管理、 3 1 ( 3 ), 1 5 ‑ 24, 1994 4回日本 SASユーザー 3 )田久浩志、患者より見た病院サービス評価の曜日間変動、第 1 Qd qd
会総会および研究発表会論文集、 279‑289, 1995 4 )厚生省健康政策局総務課編:患者サービスガイドライン、金原出版株式会社、 1989 5 ) (株) SASインスティチュートジャパン、数量化い 1類サンプルプログラム、 Technical Report:J‑109, SAS 出版局, 1991 6 )数量化 H類サンプルプログラムの改良とその適用、第 14回日本 SASユーザー会総会 404, 1995 および研究発表会論文集、 403, 7 )池上直巳、河北博文:患者の満足度と病院の管理姿勢、日本病院会雑誌、 1987.7 、 13‑19, 1987 8 )長谷川万希子、杉田聡:患者満足度による医療の評価 1・40, 病院管理、 1993.7 、 3 大学病院外来における調査から、 1993 9 )三宅浩之:患者アンケー卜による客観的病院評価の試みの報告、日本病院会雑誌 3 1988.6 、 52‑61 、 1988 1 0 )菊池令子:入院中の看護の満足感と看護婦への期待、日本看護協会調査研究報告、 29,8‑47, 1989 1 1)島津 望:患者満足規定因の構造分析、病院管理, 3 0 ( 1 ), 88,1993 1 2 ) 日本医師会:生命倫理懇談会報告書、 1990年 1 3 )週刊社会保障:No.1759, 6‑9, 93.10. 4 1 4 )健康政策六法、厚生省健康政策局編集平成 5年版 1 5 )医師国家試験出題基準 中央法規、 1993 平成 5年 版 : 厚 生 省 厚 生 統 計 協 会 1 6 )荒井蝶子他:病院のアメニティーを如何に考えるか、病院管理 2 8 ( 4 ), 73‑81, 1991 A告 nU
日本 S A Sユーザー会 (SUG I‑J) CALISによる研究開発マネージメント調査の解析 新潟国際情報大学 宗津拓郎 TheAna l y s i so ft h eE n q u e t eS u r v e yonR&DManagement byCALIS TakuroMUNEZA WA N i i g a t aU n i v e r s i t yo fI n t e r n a t i o n a l& I n f o r m a t i o nS t u d i e s 要旨 研究開発ポートフォリオ・マネージメント理論を検証する意味で、わが国主要企業で の成功事例約 300の実態調査をおこない、 CALISにより解析した。試行の結果は、予想し た仮設をほぼ検証することができた。 キーワード:研究開発ポートフォリオ、研究開発マネージメント、研究戦略、共分散構造分析 1.はじめに 図 lR&Dポートフォリオマネ」ジメント 近年研究開発費は増加の一途を辿り、売上高の 戦 10%にもなり設備投資額を越える企業さえ現われ 7 ており、研究開発の効率を上げることが望まれて て いる。そこで 100の成功事例調査の結果から,研究 開発テーマを「戦昨性」、 鉄 「独創性」の 2軸で評価 二L 「鉱石」の 4象限に位置づけ,それぞれの位置付け 独創性 ン プレークスルー ト によってマネージメントの仕方を変える,研究開 発ボートフォリオによるマネージメント理論 (R& 石 DPM) を提案[ 1 [ [ 2 1した。しかしながらこれはあく まで成功事例に基づく理論であるため,これを証 明する意味で, 金 ン ノ 鉄JI 石 」 し、圏一 1のように第 1象限より「金J I 略 ' 性 I 研究開発モデル J ( 図 2) 及び │鉱 石 │ 唱Eム 4
「研究開発マネージメント」に関する仮説を設定し、アンケート調査を行ない、そのデータを WS 上でSAS /CALISプロセジャによる共分散構造分析を行なったので紹介する。 図‑ 2 研究開発モデル案 2 . 仮説 上記研究開発モデル案より以下の研究開発マネージメントに関する仮説をえた。 大仮説 1,独創的研究開発は 1 ) 研究者の強い信念と明確なコンセプト、 2 ) 上司またはトップの良き理解と強いサポート、 3 ) 自由で寛容で活性的な組織風土の下に生まれることが多く、コストパフォーマンスもよい。 仮説 1・1,研究のブレークスルーは問題点の煮詰めを行ったうえで、アイディア閃き等の活性化が有効 で、そのためには他部門との交流、ブレーンストーミング等のヒント刺激が重要で、ある。 仮説 1 ‑ 2;研究成果の高い組織は活性化されており、叉逆に活性化された組織からは高い成果が生まれ る。このような研究組織では管理は必要ない。 ‑ 2;研究成果の高い組織は活性化されており、叉逆に活性化された組織からは高い成果が生まれ 仮説 1 る。このような研究組織では管理は必要ない。 大仮説 2;戦略的研究開発は 1 ) 企業戦略との適合性、 ‑42一
2 ) 研究の独創性の度合い、 3 ) 事業性、 によって決まり、トップ主導的に経営資源が投入される。 . 1;戦略的研究開発では、自社の企業戦略およひさ研究ポテンシヤルと、社会環境変化、技術予測、 仮説 2 競合技術状況等の外部要因、及び事業化とのタイミングを考慮して、関連する研究テーマ群の開発時期順位 を定める研究戦略(研究計画)が重要である。 大仮説3,研究マネージメントは、 1 ) 戦略度の高い研究に対しては、プロジェクト管理を行う、 2 ) 戦略度の低い研究に対しては、原則として研究者の信念を尊重し自由に任す、 3 ) 研究戦略に基づく新しい研究テーマ群を設定し研究の動機づけを行う、 4 ) ブレークスルーが起きた時は、明確に評価し、研究ポートフォリオの見直しを行う、 5 ) 外部環境要因の大きな変化が生じた場合には見直しを行う、 と言うようなマネージメントミックスと、適正な経営資源配分が重要である。 3 . アンケート調査 上記仮説を検証するため全部で計 77聞からなるアンケート質問表を作成しアンケート調査を行った。調 査は東京証券取引所第 1 部上場製造業のうち研究開発部門を所有する企業 392 社を対象に実施した。 1992 年 1 0月1日付で発送し約 2 . 4週間後に回答返信されたものを回収したところ、最終的には 126社から回答を得 ることができ、回答率は 3 2 . 1%であった。研究テーマ別回答件数は全部で 263件で、各社研究テーマ 3件分 の回答要望に対して 1当たり平均 図 3 研究テーマ業界別比率 ( 全 263 件) 2 . 1件であった。 調査票は個別研究開発テーマに 関するかなり突っ込んだ質問も 4. 56%1 .90% あったため答えにくい面もあった と思われるが、特別な催促もなし に比較的良く回答してもらえた。 6.84% I 7. 22% 1 口食品 園繊維 園製紙 固化学 国製薬 田石油ゴム 2.66% I 3.04% I固 窯 業 四製鉄金属 国機械 園電気機器 日輸送精密機械 研究テーマ業種別回答率は、図 3のとうりで、化学関連が多く、 園建設 1 3. 3 1% 次いで建築、製鉄金属、電気機 器の順になっている。 I I D 4 . 因子分析 共分散構造分析を行なう前に、まず仮説と質問との対応にしたがって各観測値と潜在変数聞の因子分析 を行ない、潜在変数に関与する主要因子を抽出し、その主要因子に関与する各質問の関与係数を求めた。そ の一部を紹介する. ηd 4
4.1 研 究 戦 略 に 関 係 す る 因 子 分 析 潜在変数として研究戦略に関係する質問15項目のデータ SAS上に読み込んで、 proc f a c t o rで、因子分析した 結果は、表 1の様になり、固有値が 1以上で比較的大きくかっ固有値差があまり小さくならないものを上位 から累積寄与率で0 . 7以上になるようにして、第6因子までを拍出した。 ついで、 Varimax回転を行ったのちの各 表‑ 1 研究戦略に関する質問項目の因子分析結果 因子負荷量は表. 2の様になる。 率 差一与 値・値司寄 有一有積 固固一累 : 第 1因 子 第2因子 第3因子 第4因子:第5因子。第6因子 ご二一1 第 1因子は「関与した研究者の数」 i 3 . 2 I 1 .0 3 2 . 1 7 : 0 . 6 1 : 1 . 56 0 . 1 7 : 0 . 1 2 「研究開発期間」に関するもので共に 0 . 2 1; 0 . 3 6 : 45 0. 0 . 5 6: 0.8以 上 の 強 い 相 関 が あ る 。 こ れ を 「資源因子」という。 表‑ 2 研究戦略に対する因子負荷量 ( v a r i m a x回転後) 第2因子は「企業戦略との整合性J 1 事業計画との関係 J 1 ドメインとの位置づけ」に関するもので、ふれ てはいるが高い相関がある。これを 「戦略因子j という。 第3因子は「研究者の確保J 1 研究終了後の反省 J 1 研究期間短縮の方策j に関するもので、比較的高い相 関がある。これを「施策因子」という。 他社情報への対応 j に関するもので、大きくばらついているがかなりの強い 第4因子は「研究の計画化J 1 相関がある。これを「計画因子 j という。 学会レベルまでの期間jに関するもので、 0 . 7上と強い相関がある。 第5因子は「事業化を遅らせた原因 J 1 ‑44一
これを「環境因子」という。 第6因子は「その研究の技術予測」に関するもので、 0 . 7 3とかなり強い相関がある。これを「技術因子」と いう。 以後同様にして,それぞれブレークスルー,独創的研究,組織活性化,研究開発マネージメント,環境, 研究戦略,戦略的研究に関する因子分析を行った. 4.2 共分散構造モデル 以上の因子分析結果からえられた各主因子を観測変数の代表値として採用し、それぞれの潜在変数との関 係で整理し且つ研究開発モデルとの整合性を考恵して、いわゆる多重指標モデル形式でまとめると、国一 4の ような「研究開発マネージメントに関する共分散構造モデル」がえられる。 5 . 共分散布康造分析 5.1 モデルの方程式化 前項でえられた共分散構造モデルを測定方程式及び構造方程式の 2種類の方程式で表現すると、図 5の様 に表される。 5.2 CAL lS計算の実行 これをSASのprocステップでCALISにかけて共分散構造分析を行なうわけであるが、観測変数 l'X27は因 子分析結果を使用して質問結果と図4の中にある観測変数の代表値のように対応させた。 これまでの方法である相関係数を計算しておいてマトリックスを読み込ませて計算させるやり方に比べ、 直接生データを読み込んで一度に計算してくれるので計算そのものは非常に簡単である。しかし方程式の数 が多くモデルの形が複雑だ ったためか、最初に考えたモデル方程式のままではなかなか収数せず、途中色々 と方程式を変えてトライヤルを行ない、最後にパフォーマンスを売上高一本に絞ったところ、やっと収散さ せることが出来るようになった。しかしこのようにモデルの形を変えてトライヤルできることがCALISの 最大の特長であろう。 5.3 CAL lS計算経過 CALISによる計算結果の内主要なものを一覧表にまとめたものが表3である。 最初は図 . 4の多重指標モデルに従って解析を行なっていたが(表 3では 10̲7) 、プレークスルーから独 創的研究開発へのパス及び事業環境から研究開発戦略へのパスはいずれも因果係数が低いので切り離した。 さらに研究開発マネージメントから研究開発戦略へのパスを切り離したり、影響度の低い主因子 X15、 X 2 0を切ったりしたが,最終結果の t値で l以下を示すものがあって研究戦略から戦略的研究へのパスの因果係 数が3 . 3と異常値を示す等、完全に収数しなかった。しかし最終的に戦略的研究から売上高及び研究開発効 率へ行っているパスのうち研究開発効率のパスをカットして売上高だけにしたら(表 3の12̲1)、t値が上が りうまく収敬するようになった。これは後で考えれば当然のことであるが、パフォーマンスとしての売上高 U 巳 4
図‑ 4 研究開発マネージメントモデル e 1 図‑ 5 研究開発モデルの方程式化 観測変数の代表値 l.測定方程式 X1 = A 12 * f2+e 1 X2=λ22 * f2+e 2 X3 =λ32 * f2+e 3 4 X4 = A 42 * f2+e x5 = A 52 * f2+e5 X6 = A 62 * f2+e 6 X7 =κ73 *η3+e 7 X8 =κ83 *η3+e 8 X9=κ93 *η3+e 9 X10=κ104*η4+e10 X11=κ114*η4+e 1 1 X12=κ124*η4+e12 X13=κ134*η4+e 1 3 X14=λ141* f1+e14 X15=λ151*f1+e15 X16=λ161* f1+e16 X17=λ177*f7+e17 X18=λ187*f7+e18 X19=κ195*η5+e19 X20=κ205*η5+e20 X21=κ215*η5+e 2 1 X22=κ225*η5+e22 X23=κ235*η5+e 2 3 X24=κ245*η5+e24 X2 5=κ256*η6+e25 X26=κ266*η6+e26 X27=λ271*f1+e27 X1 =q 2 ̲ 1 6 a+q2̲16b+q 2 ̲ 1 7 x2 =q 4 ̲ 1 6 a+q4̲16b x3 =q 2 ̲ 1 5 a+q2̲14 X4 =q 2 ̲ 8 a +q 4 ̲ 1 7 a+q 2 ̲ 1 9 x5 =q 2 ̲ 1 8 +q4̲17b X6 =q 4 ̲ 1 5 a+q4̲15b X7 =q 1 ̲ 1 3 +q1̲14+q 1 ̲ 1 5 X8 =q 1 ̲ 3 +q 1 ̲ 1 8+q 1 ̲ 2 0 X9 =q 1 ̲ 1 6 +q 1 ̲ 1 7+q 1 ̲ 1 9 X10=q 1 ̲ 1 2 a+q 1 ̲ 1 2 b Xll=q 2 ̲ 1 2 a+q 2 ̲ 1 2 b X12=q 2 ̲ 1 0 a+q 2 ̲ 1 0 b X13=q 4 ̲ 1 7 a+q 4 ̲ 1 7 b X14=q 1 ̲ 1 1 +q 2 ̲ 1 +q 3 ̲ 1 X15=q 4 ̲ 1 8 a +q 4 ̲ 1 8 b X16=q 2 ̲ 2 +q 2 ̲ 4 +q 2 ̲ 6 a X17=q 4 ̲ 2 a +q 4 ̲ 1 9 X18=q 4 ̲ 1 2 a X19=q l ̲ 4 +q 1 ̲ 5 +ql̲6 X20 =q 3 ̲ 2 a+q 4 ̲ 1 3 X21 =q l ̲ 9 +q 2 ̲ 4 X2 2=q 2 ̲ 1 +q 4 ̲ 2 1 a X2 3 =q 1 ̲ 1 0+q 3 ̲ 8 a +q4̲14a X2 4=q 1 ̲ 1 +q l ̲ 2 X25=q3̲5; (売上高) X2 6 =q3̲3; (研究開発効率) 4 ̲6 X27 =ql̲20+q 今︑︼ ζU Y L B d 判吋 + ︑ 戸 d ζU * A斗 A仏マ dζu 戸 C β︑ ++ 判吋判吋 A 値寸 ** ︑ 戸ybnμ・ A 値寸 nμ・ 3 う釘珂/可︼ +++ d6 守EA v t d v t d η *** 咽EA N'ybN'nμ・ 守EA う 釘 1・町内/可︼ 可 ︼ 4 弓 4EA 守EA ++++ 守E A 4 E A EbFbFbFb ︼ 4EA **** ︑ ↑ l BZA ー ー 3 1 4 弓d ζ U 山 七 7777 方一一=一一= 造 3456 構 ηηηη 46‑
表‑ 3 CALISによる研究開発モデル分析結果比較 x3 X4 x5 X6 X7 X8 X9 X10 Xll X12 X13 X14 X15 X16 X17 X18 X19 X2 0 X21 X22 X23 0 . 6 5 0 . 7 0 . 7 1 0 . 5 2 0 . 6 0. 43 . { ) . 2 4 0 . 8 0 . 0 2 0 . 7 0 . 6 5 0 . 6 9 0 . 7 1 0. 5 4 0. 5 8 0. 4 6 ' { ) . 26 0 . 7 9 . 0 2 . 7 0 0 . 6 4 0 . 7 1 0 . 7 1 0. 5 4 0 . 5 8 0. 46 . { ) . 2 6 0 . 8 1 . { ) . 1 2 4 5 0. ‑ 0 . 0 0 3 0. 51 0 . 6 1 0. 43 . { ) . 2 8 0 . 6 9 0 . 0 5 ' { ) . 2 0 . 0 0 3 0 . 5 1 0 . 6 1 0. 4 3 ' { ) . 2 8 0 . 6 9 0 . 7 0 . 6 9 0 . 8 1 . { ) . 1 2 0 . 7 2 0. 5 2 0 . 3 2 4 8 0. 0 . 8 1 0 . 7 6 . { ) . 1 0 0 . 6 9 0 . 5 0 0 . 2 8 0. 49 0 . 7 9 0 . 1 5 0 . 6 9 . { ) . 0 8 . { ) . 0 3 0 . 1 6 0 . 6 9 0. 5 0. 3 46 0. 0 . 9 9 0 . 1 1 7 . { ) . 1 5 0 . 2 4 . { ) . 0 4 0 . 6 8 0 . 8 9 4 5 0. . { ) . 1 5 0 . 2 5 . { ) . 0 3 . 6 9 0 . 9 2 4 0. 。 。 ∞ . 1 。 0 . 5 2 OA RS c s D5 SR RM OR OA 4 ー ワ
と研究開発効率はその定義から言っても叉実際の解析結果からも非常に高い相関があるため、いわゆる多重
共線性を生じていたためと考えられる。
た
、
しかしこの多重指標モデルではどうしても未だセントラルパラメータマトリックスの Eigenvalueに1っ
け負値のものが残り、因果係数に納得のいかない値が出る等満足で、きない状態であったので、一部に PLSモ
デルの概念を導入して潜在変数である独創的研究開発及び研究開発戦略と測定変数の関係を逆方向にしてみ
たところ、 E値のーがなくなり一応満足のいく結果がえられるようになった。しかしこれでもまだA
IC値が
495と非常に高く、独創的研究開発から戦略的研究開発へのパスの因果係数が一 0
.
6
1となってー値が説明で
きないので、根本的に検討し直すこととした。
5.4 モデルの変更
まず主因子聞の相関関係を求め、 0.4以上の相関を有する相関関係の高い主因子のみを抽出して整理する
と表 4の様になる。
表 4 高相関因子対応一覧表
主因子
x2:有効なこと
x3:解決法
│
対応する高相関因子 (
0.
4
以
̲
e
j
)
1..~..~.~...:..9.:.~.~..l
ル一解
ベ一理
w
レ一の
.
.働
・
・
目
目ウt
o
o
D
﹁
一
・
・
x‑X
X
後一性一プ
現一規一ツ
実一新一ト
Ix6 :0
.
6
4
x13:0
.
7
7
X 9 I x 2 4 : 0 . 5 2
X9 :0.
49
1x14:0
.
5
8
lx16:0.
44
1x19:0
.
6
3
x9:コンセプト信念 Ix14:0
.
5
7
1x16:0 .4 8~ x19:0
.
6
0
X11:研究の誘引力 Ix16:0.
44
!
'
)
(
'
1
6
.
.
:
.
0
.
4
8
]
.x.19..:.0.69.~..x.21..:. 0.56L:<??:0:5~
X14:事業化関連性
x16:研究管理評価 Ix19:0.53Ix21:0.55~
!
X19:企業戦略事業'性 r~"2"i":"õ:'iiiir"""""""""""""r""""..................T............................!
,
X
2
1;
F
T
7
2
烹y
a…… 1..~..~.~...:..9.:.~斗… ・・ …・…・L
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
l
.
.
.
.
. …….
.
.
.
.
.
.
1
.
.
.
.
.
.
X24:研究開発規模
Ix25:0.
44!
x25:売上高
x26:0.
43
これ等の相関関係から、明らかに研究開発戦略と独創的研究開発の問、ブレークスルーと組織の活性化の
間にパスの追加が必要であること、及び研究開発マネージメントと戦略的研究開発の間にはパスが不要であ
ること等が予想された。
さらに主因子は図 .
5のように観測変数を加算して算出しているので、多重指標モデルより PLSモデルの方
が適切であると考え、図 6の様に全ての潜在変数を内生変数とする PLSモデルで表現することとしてモデル
ALISプロセジャーで計算し直したところ、表3の21̲4, 21̲41,21̲43の様に AICが24至36
を作り直し、 C
と小さくなり、ょうやく各因果係数も納得できるものが得られるようになった。そこでこの図 .
6の研究開発
PLSモデル(モデル2
1.43)を本アンケート調査の共分散構造解析の最終結果とし採用することにた。
なお本モデル (
2
1
̲4
3
)の計算に使用したモデル方程式は図一7にまとめである。
A性
O凸
6 . 仮説の検証 共分散構造分析の最終結果は図?の様に表されるので、この結果に基づいて考察を行ない、最初に立てた 仮説の検証を行なった。 結果は図 9の仮設の検証にまとめであるとうりであり、一部に検証の度合いがややあいまいなものもある が、特に否定されたものはなく、大部分の仮設は検証された。 7 . 結論 本研究の目的である効率の良い研究開発を行なうための R&DPM理論は、本アンケート調査の結果によっ ても検証された。すなわち; 1 ) ["独創的研究開発」のためには研究者の明確なコンセプトと信念、トップの理解とサポート、活性的 な組織風土の維持が必要である。 2 ) ["戦略的研究開発」は企業戦略との適合性、研究の独創性、事業性により決まる。 3 ) ["研究開発マネージメント」とは研究ボートフォリオの見直しを行ない適正な経営資源配分を行なう ことである。 8 . 参考文献 山 宗i 畢拓郎, 1993年度組織学会研究発表会大会報需要旨, p . 5 ' 6,(1993) 1 2 1宗淳拓郎,研究・技術計画学会誌投稿中 1 3 1豊田秀樹,前田忠彦,柳井晴夫,原因をさぐる統計学ー講談社, ( 1 9 9 2 ) 1 4 1竹内啓監修/豊田秀樹,̲SASによる共分散構造分析東大出版会, 49‑ (1992)
図 ー 7 研究開発P L Sモデル ( 2 1 ̲ 4 3 ) 園 田 8 研究開発 P L Sモデルの方程式 I測定方程式 X25(uriage)=l .00キヮ 6+e25 I I.構造方程式 す 1= r1 14牢 X14 + r1 1 5牢 X15 + r114牢 X14+ r1 す 2= r2 1牢 X1 + r2 2牢 X2+ r2 3牢 X3+r24牢 X4 +r 2 5本 X5 + r 26本 X16+戸 24牢 マ 4 + r z マ 3= r3 7本 X7 + r3 8本 X8 + r3 9本 X9 +戸 31本 マ l + s3 2牢 マ 2 + s3 4牢 マ 4 +戸 35牢 マ 5+ n マ 4 = r4 1日本 X10+r4 1 1本 X11 + r412本 X12 +r 4 1本 マ 1 + r 4 マ5 = r519本 X19 + r520牢 X20+ r521本 X21 + r522本 X22+ r523本 X23+ r524牢 X24 +戸 5 1本 マ 1+ s5 7申す 7+ r s マ6 = s63本 マ 3 +戸 64本 マ 4 +戸 65本 マ 5 + r 6 マ7=r717牢 X17+r718牢 X18+ n RU n u
図9 仮設の検証 [[~~:j~:議議@~:~:~~~~:~荏蕊主事:~:~~:~~:~:~~~;~;j言語抗議:~:~~~:ミi宅:λ~:~;~~:~~~~~~~:~;m~:と;:;!;;同;:;!;:;議決~;:::;;;:可;j;i;j;~~:λ己:;:;::ぷ;~;~j~:岩手話:::::験:でや:~:::::::::::お将司λ与を下:!:::::λ:!:!:!:::!:!:!:足首本お:i:;:i~:j: るミ込:j~:j@客足在宅:l:~~:ま:!:*~:~:!:~~~~:~:~!~:j:j~~:;.~~弘、;:;:;!:みと詰~!@主~@I 0大仮説 1;独創的研究開発は 01)研究者の強い信念と明確なコンセプ卜、 02) 上司文はトップの良き理解と強いサポート、 ム3 ) 自由で寛容で活性的な組織風土の下に生まれることが多く、 x (コストノ fフォーマンスもよし、)。 0仮説 11;研究のブレークスルーは問題点の煮詰めを行ったうえで、アイディ ・ ア、閃き等の活性化が有効で、そのためには他部門との交流、ブレーンス 卜ーミング、等のヒント刺激が重要である。 ム仮説12;研究成果の高い組織は活性化されており、 x (文逆に活性化された 組織からは高い成果が生まれる。)このような研究組織では管理は必要な ・ 0大仮説2;戦略的研究開発は 01)企業戦略との適合性、 02) 研究の独創性の度合い、 03) 事業性、 によって決まり、トップ主導的に経営資源が投入される。 0仮説2‑1;戦略的研究開発では、自社の企業戦略および研究ポテンシャルと、 社会環境変化、技術予測、競合技術状況等の外部要因、及び事業化とのタ イミングを考慮して、関連する研究テーマ群の開発時期、順位を定める研 究戦略(研究計画〉が重要である。 0大仮説3;研究マネージメントは、 01)戦略度の高い研究に対しては、プロジェクト管理を行う、 02) 戦略度の低い研究に対しては、原則として研究者の信念を尊重し、自由 に任す、 ) 研究戦略に基づく新しい研究テーマ群を設定し、 ム3 x (研究の動機づけを行う、) 04)プレークスルーが起きたときは、明確に評価し、研究ポートフォリオの 見直しを行う、 05) 外部環境要因の大きな変化が生じた場合には見直しを行う、 と言うようなマネージメントミックスと、適正な経営資源配分が重要である。 RU よ ‑
日本 S A Sユーザー会 (SUG I‑J) 多変量解析を用いた通信販売予測システム化の課題 袴田剛史 株式会社ミツク システム開発部 官1 ep r o b l e mo ff o r e c a s 七s y s 国 nw i t hM ul t i v a r i a t eAna l y s i s i nm a i l ‑ o d e rf i r m T 出 自h iHaka m a d a S y s t e md e v e l o 戸Je n td e p t .M I C∞ . , LTD 要旨 アパレル商品を主に扱う通信販売業においては,商品受注予測などの精度を高める ため,多変量解析などを用いることが多い。ただし実際に適用することを実現す る過程には,いくつかの課題が待ち受けている。本論文においては,その課題と解 決のための糸口を記述する。 キーワード: 重回帰分析単回帰分析 クラスター分析残差分析 S A S / S T A T' J7 ト ウ ェ7 RU nd
1 . はじめに 通信販売業(以下通販)においては,コンビュータによる業務処理が早くから適応 され,同時にデータによる情報の蓄積も行われている。(偶然的な蓄積としても)とこ ろが,そのデータの活用においては,十分な状態にあらず,近年においては,その充実 が目指すものとされている。その中で. (予測〕といったキーワードは様々なテーマに なっている。例えば,カタログを配布することによる顧客からのレスポンス予測,また 購買ジャンルの予測,間品の需要予測(販売期間中の総受注) .受注予測(受注カーブ) などがある。本文では,その中の商品の需要予測を一例として取り上げ,多変量解析の 適用と課題について論じてみたい。 2 . ステップ 1~重回帰分析~ 2 .1 概 論 まずは,間品需要予測における最初のステップとして,重回帰分析を適用する。ご承 知のとおり,重回帰分析の基本モデル式は以下のようなものである。 y=alX+a2X+a3X+…+an X+b 一一一一一一一一一一一一一一… ( a ) これを,間品需要予測に用いる場合,目的変数を需要数,説明変数を商品特性要因と して, al価 格 +a2素材 +a3デザイン+…+an X+b 一一一一一一一一一一ー ( b ) 需要数 = といったモデルとする。いうまでもなく,このモデルによって作成(分析)されるデ ータは過去の実績となる。つまり,例えば,昨年の需要数から上記モデル式を作成し, 今年(来年)の需要数を予測するといった手法になる。 2 . 2 実施 では,実施にあたり,上記モデル式 ( 2 . 1( b ) ) に対して,説明変数となる要因である ところの,商品特性要因をどのようにデータとして作るか,あるいはデータの信頼性は 高いものであるかなど,避けては通れない課題があるが,本文の趣旨から外れるもので A S / S f ATnトウェ了を使用すること あり,通販各社固有のことなので除外する。であれば. S で,まずは容易にモデル式の作成に至る。 一5 4一
2 . 3 課題 では,信頼性の高いモデル式が作成されるか否かを垣間見れば,果たして,その点は 決して容易なものではない。一口に信頼性と記したが,様々な角度で評価されるはずで はある。限定して,重回帰分析の結果とした場合,その信頼性を〔重相関係数) [確率〕 としてみる。すると,商品群の区分けも無く重回帰分析に当てはめ,モデル式を作成し ようとすると,かなりの無理を生じることに出くわすはずである。これを,ステップ l における課題として扱ってみたいと思う。 3 . ステップ 2~ クラスタ一分析~ ステップ lの重回帰分析の課題を解消するためには,そのモデル式を当てはめる商品 分類をどのように分割するかということになる。そもそも通販各社は,一般的に業務上 都合の商品分類を有しできる場合がほとんどであるが,それを, この分割単位として利 用することは,今の場合できないものと仮定して論じるものとする。 3 .1 実施 クラスター分けに起因する要因としては,そもそも重回帰分析の目的変数であるとこ ろの需要数としこれを変数とすることで,各商品の類似性により商品群の分割基準を 見出し,分割を行うものである。(これによって分割された単位を分析単位と称する〉 実施については,同様に S A S / ' 5 f A T i 7トウェ了を使用することで判定を行う。 4 . ステップ 3~分析単位ごとの重回帰分析~ ステップ 2において分割された分析単位ごとに,重回帰分析を行ってみる。この結果 は,おそらく,ステップ lでの重回帰分析の結果に比較すれば. [童相関係数) [確率〕 の面では数段良好な結果となるものであろう。 Fhu Fhu
4 .1 課題(商品特性要因) 上記したように,一応重回帰分析の結果に限定すれば,以前の課題は解消される。と ころが,これを予測式とした場合,説明変数すなわち商品特性要因の面で次の課題が生 じてしまう。(これを第 1の課題とする〉つまり,実績を説明するためのモデル式とし ては満足できても,次の予測に使用するためのモデル式となるとどうかといった点であ る。たとえば,説明変数としてのモデル式上は,その個々は独立であっても,商品特性 要因としては独立ではない場合があることなどである。具体的には,ある商品番号のワ ンピースの商品特性要因として. [色揃え数) [サイズ展開数) [品揃え数〕といった 要因があったとする。この時. [色揃え数) x [サイズ展開数) = [品揃え数〕のため それぞれは独立した変数ではないことが明らかである。これほど明らかな場合は別とし て,そうでない場合には,要因同志の相関を分析した上で,結果的には,どちらか一方 のみを説明変数として扱うか否かなどどいった検討を行う必要がある。 4 . 2 課題(特異商品の除外) また,第 2の課題としては,特異商品が含まれているため,それに影響を受けた重回 帰分析の結果は,予測のためのモデル式として利用すると,異例な値が出てしまうこと が上げられる。では,その特異商品をいかに見つけ,場合によっては除外するかどうか, といった検討が必要になる。このためには,残差の検討を行い分析上の特異商品を見出 し通販業務見地からその特異性を確認した上で,それらの商品は除外するべきだと思 われる。特異商品は必ずやあるはずなので,これを除外した後に,再度重回帰分析を行 った場合,予測のためのモデル式は改善されることと思われる。 5 . ステップ・フロー これまでの経緯から,商品需要予測のための重回帰分析に代表される多変量解析を用 いた全体のフローは次のようになる。 p o 民U
クラスタ一分析 重回帰分析を行う分析単位を見つけ出す 説明変数の選択 各説明変数(商品特性要因)の相関を分析し要因の選 択を行う i 重回帰分析 分析単位ごとに重回帰分析を行いモデル式を作成する 特異商品の除外 重回帰分析の結果より,残差を調べ特異商品を除外す る i 重回帰分析 特異商品を含まないデータにて再度重回帰分析を行う そのモデル式を予測のための式として利用する 57一
6 . 補説 前章~ 5 . ステップ・フロー』において,全体のまとめとさせていただいた。これは, 商品需要予測を対象にしたものとなってはいるが,顧客系の手法など,他の分析・予測 にも応用の効くものであると考えている。ただし詳細に至っては一商品需要予測に いても然り一個々に様々な課題が生じることは実務として感じるものである。この点 においては,通販個々に異なるものでもあるため,本文では割愛をさせていただく。む しろ,その個々の課題の方が難しいものかもしれないが,公に記せるものではないため ご容赦いただきたい。 7 . あとがき 統計解析における学術的知識が無い私どもであっても,まがりなりに本文にて記した ような分析フローを確立できたことは, S A S / 訂A T i 7ト ウ ェ7 をはじめとする各プロダクトのお陰 だと感謝している。ただし論文となると,その分野の知識が無いことからあまりそれ らしいことを記述できないことは反省するとともに,半ば仕方の無い事実なのでお許し いただきたい。加えて,そうであっても概要ばかりの論文になってしまっているため, (タイトルから想像する)期待を外してしまっているかもしれない。ただし実際に, このようなことをおやりになろうとしている方々には,ひとつの道標程度の価値があれ ば幸いだと思っている。 現在,私どものプロジェクトでは,上記した基本フローに加え,途中に生じる問題( 予測の精度が落ちることを主として)の対応方法を,ある程度汎用的手法として確立を しようとしている過程である。いつの日にか,その内容においても論文化することに展 望し本文を閉じたい。 OO RU
視聴率高位番組と年層の関係を探るーその 2ー 飯塚寿子 NHK放送文化研究所 世論調査部 TV P o p u l a r programsand age group P a r t2 ‑From t h e audiencer a t i n gs u r v e yi nt h e Kanto d i s t r i c t, conductedbyNHK‑ Hisako l i z u k a B r o a d c a s t i n gC u l t u r e Research I n s t i t u t eNHK i n a t o ‑ k u,Tokyo105, Japan 2 ‑ 1 ‑ 1Atago,M 要旨 NHKの視聴率調査は、 6月と 11月に、 7歳以上の個人を対象に、全国規模で 実施している。この調査は、個人別の調査であるため、年層ごとの分析が可能であ る。この特徴を生かして、視聴率高位番組と年層ごとの視聴率の関係を数量的に把 握することを試みた。 16年間の変化を見ると、 80年台の後半からテレビの視聴時聞が上昇に転じた こと、高位番組は、 80年代前半と 90年頃に大きな変化があったことがわかった。 キーワード NHK個人視聴率 1980‑95、全国テレピ視聴時間量、関東地 方の高位番組、 SAS/STAT、 SAS/GRAPH、 BASE/SAS 1 分析に使用したデータ 分析には、主に、 NHK視聴率調査の結果を使った。使用したデータはつぎのと おりである。 ①全国の 1980年から 95年までの聞のテレピ視聴時間量。 ②関東地方の 80年から 95年の視聴率高位番組。 高位番組とは、関東地方の放送番組群のなかから、放送時間が 10分以上のもの を選ぴ、さらにそのなかから視聴率 25位までのものを抜きだしたものである。 NHK視聴率調査データの調査規模、調査有効率などの概要は付表 lのとおりで ある。 ‑59一
2 分析の方法 視聴率調査結果データは、 6月期と 11月期では番組編成が異なるため、 6月と 11月にわけで分析した。 80年から 95年のデータを、性・年層 6区分(男性については、 7歳から 19 歳 、 20歳から 39歳まで、 40歳以上の 3区分、同様に女性についても、 3区分 とする。年層区分は分析目的に添ってわけたが、サンプル数や誤差を考慮して 6区 分としている)の視聴率によって分類したものを、年次ごとに比較して、変化の過 程と高位番組の年次による特徴を見た。 これらの分析のために、 SAS/STAT、 SAS/GRAPH、 BASE/ SAS等を使用した。 3 分析の結果 ① テレビ視聴時間量の変化 まず、テレピ視聴時間量の変化を見て行くことにする。 80年以降のテレピ視聴 、 82年から 時間量(全国・週平均)の変動を見ると、 6月期では 80年と 81年 87年まで、 88年以降、 11月期では 80年と 81年 、 82年から 88年まで、 89年以降と、それぞれ 3つのグループに分けられる。 視聴時間量から見た 3つのグループの特徴は、前期は視聴時間量がやや多めな時 期、中期は少なめな時期、後期は上昇期となる。そして、 80年以降の視聴時間量 のピークは、 6月期、 11月期ともに 95年である。 図 1 テレビ視聴時間量の変化(全国・週平均) 時間量 3.50 JW ︐ v 9 0 ︐ ・ • 8 8 r ‑ 3.25 3.20 ︑ 3.30 ' ・ ︑ ・ ︐ ‑ R ' 3. 45 3. 40 e 3.10 3.05 8 年次 1 8 2 8 3 8 4 8 5 8 6 J 。 ︒ ︒ 守 3.00 『 玉 なお、 1985年 6月期の視聴時間は、 3時間である。 8 9 9 9 9 9 9 2 3 4 5 ρU n u
②高位番組の全体像 ア 高位番組の平均視聴率 80年以降の高位 25香組の平均視聴率を基準にして、ごく大ざっぱなグループ にわけると、 6月期、 11月期ともに、平均視聴率も、上位の番組の視聴率も比較 的高い 80年から 83年までと、 84年以降の 2つのグループに分かれる。 表1 5年ごとに見た高位番組の平均視聴率(関東地区全体、上位 25番 6月期 3 E 均 ; 11月期 最下位 t T最 け す .'\.17n~均 最7 E i すi T最 上 位 STD 80年 1 5 . 3 1 2 . 8 25.3ω33j170 132287件) 3 . 9 I 17.3 13.6 24.0(5) 2.1 81 1 5 . 7 11 .6 2 3 . 6( 3 ) 3 . 3 82 1 4 . 6 1 2 . 0 2 3 . 3( 1 ) 2 . 4 i 1 5. 4 1 2. 4 2 3 . 9( 2 ) 2 . 7 83 1 4. 4 1 0 . 5 2 2 . 2( 3 ) 3 . 2 I 15.4 11.8 25.2 (3) 2.3 2 . 7 9 . 9 1 8 . 6( 0 ) 2. 4 1 3 . 5 1 0 . 1 1 7 . 8( 0 ) 2 . 2 I1 84 8512.09.619.4(O)24!13.710.8194(O)2.4 I 13.2 10.2 21.6(1) 2.5 86 1 2 . 3 1 0 . 1 1 8 . 2( 0 ) 2 . 2 87 1 3 . 2 1 0 . 3 2 3 . 6( 1 ) 3.1! 88 1 2 . 7 9 . 9 2 7 . 5( 1 ) 3 . 6 1 4 . 2 1 0. 1 2 8 . 2( 1 ) 4 . 1 I 13.1 10.2 23.4(1) 2.8 8 9 1 3 1 102185(O)21;135106195(O)25 90 1 2 . 1 91 1 2 . 8 1 0. 5 1 7 . 0( 0 ) 2.0! 9 . 2 1 6 . 9( 0 ) 2.1! 1 4 . 2 1 0 . 8 2 1. 4( 2 ) 3 . 2 92 1 2. 4 93 1 2 . 7 1 0 . 3 1 8. 4( 0 ) 2 . 1 1 1 2 . 1 94 11 .3 9 . 5 1 5 . 3( 0 ) 1 .6 ! 1 1 .3 9 . 5 1 8 . 1( 0 ) 1 .9 95 1 2 . 1 1 2 . 2 9 . 6 1 6 . 2( 0 ) 2 . 3 9 . 7 1 9 . 3( 0 ) 2 . 6 i 1 2 . 3 9. 4 1 9 . 8( 0 ) 2 . 7 9 . 5 1 8 . 2( 0 ) 2 . 3 9 . 8 1 6 . 8( 0 ) 1 .9 i 1 2 . 3 1 0 . 8 1 7. 4( 0 ) 1 .6 ( )内の数字は、 2 0 %以上の番組の本散を示す。 80年から 83年までの時期の特徴の一つは、平均視聴率が 20%を超える番組 がいくつか存在することに加えて、最下位 (25位)の香組の視聴率もそれほど低 くないことである。 84年以降になると、いくつかの例外はあるが、 20%を超える番組もなくなり、 平均視聴率も 13%にとどかないケースが多くなる。この傾向は、 91年以降の 5 年間では、より顕著である。なお、これらのなかで例外とも言える年は、 6月期で 、 87年 、 88年 、 は 84年 11月期では、同じく 87年 、 88年である。 84年 は 、 20%を超える番組が存在しないのに平均の視聴率が高い特異な年にあたり、 8 7年 、 88年は、 6月期、 11月期ともに視聴率が 20%を超える番組の存在に
より、様相が変わっているためである。 視聴時間量との関係を見ると、視聴時間量が比較的多かった 80、 81年には、 視聴率が 2 0 %を超える番組は、 6月期と 11月期をあわせると 14本ほど存在し たが、視聴時間量は 80年や 81年の前期を上回り、さらに増えてきている 88年 以降は、 8年間で 4本と少ない。そして、 91年以降となると、視聴率が 2 0 %を 超える番組は、 l本もない。なお、視聴率が 2 0 %を超える合計 30本の番組のう ち 、 NHK総合の番組は 23本、っち 13本は、いわゆる大河ドラマである。 ③ 年度ごとに見た高位番組の特徴 ア 年層別の視聴率と高位番組 最近の高位番組は、まんべんなくあらゆる年層の視聴率を獲得できるような番組 は少なくなってきた。では、こうした変化は、いつごろから起こったのだろうか。 視聴率が 1 0 %を超える年層がいくつあるかをカウントして見ると、視聴者層が、 ある特定の年層に依存している、 3年層以下型が目だ、って増えて来たのは、 85年 以降であることがわかる。 このことは、 90年以降の視聴時間量の増が、個別番組の視聴率の上昇に結ぴ付 いていないことと、少なからず関わりがあるものと考えられる。 σ 層型一 ) ) 3 D ) ) ) ) ) ) )り 年下一 尚一C 什い何一同一泊 一何日 回一一一 友 引戸別口 2 2 6 4 3 3 0 5 3 4 2 6 1 3 以一白 Eti‑‑ 7‑l V M w o w σゆ伸︒ σ ︹期年型⁝8 5 9 5 4 1 1 4 1 3 2 1 4 3 0 1 長月 J 一 σσ σ σ σ 年型⁝7 9 3 6 3 2 1 2 2 3 2 o o ‑ ‑ 4 i= Lrl層 一 14 の コ ノ ⁝ ;i tili‑‑iiiili‑‑i21jipi‑‑j:; t x σ 一 一 3J A 8 71 71 51 01 61 79 Z8 I2 l0 ‑2 ‑7 22 19181 1 EEA し層型一)))))))))))))))) 件 ゆ体何伺 占 年 下 一 件体所︒ nU 兜 望唱 7035210101116321 5 一 XEnxunxunxunxunxun6000凸 nxunynynynynyny 一 0123456789012345 ‑層一 が年型一 一ふ司占可草 Fd 40e+︐ 円HHHe 口 2 i 聴別層一 視 5 型一 Jf rt年 全 一 3424200120001000 2 ︑: 中れ 土 掠 乙 白 山 9999999999999999 I i ‑:ーん明守山 I 1 咽 唱 'I'I'I I 胃 1A 咽 胃 1A I 咽 'I'I 1 a E I I 咽 咽 *全年層型とは、全ての年層の視聴 率が 10%以上のもの。 *同様に、 5年層型は、 5つの年層 の視聴率が 10%以上のもの。 *3年層以下型は、 10%以上の視 聴率を獲得できた年層が、 3以 下であることを示す。 )内は、 4年層型を示す *( こうした結果を参考にして、類似性のある年度ごとに区切って、クラスター分析 による高位番組の特徴を見て行くことにする。 クラスター分析には、年次別の 25の高位番組ごとに、性年層 6区分の視聴率を 使用した。なお、今回の分析は、 6月期の番組群だけである。
80年から 83年までの高位番組の特徴 イ この 4年間の共通点の一つは、視聴率が高い番組がいくつかあることである。も う一つの共通点は、全ての年層が 10%を超える全年層型と、 5つの年層が 10% を超える 5年層型の存在が目立つことである(年層 6区分のなかで、年層別の視聴 率 が 10%を超えるものがいくつあるかをカウントし、その数によって、 6つの場 合は全年層型、 5つの場合は 5年層型、 3以下の場合は 3年層以下型とする)。 そして、これらの視聴者の年層にあまりかたよりのない番組群は、高位番組の上位 を占めている。 80年の l位である 18時だよ!全員集合」は、全年層型の番組ではあるが、若 年層の視聴率が突出した形のもので、この時点では特異なタイプの番組である。 5 位まで、に入った類似の番組は、 81年と 82年の「ザベストテン」だけである。 ここでは、 81年と 82年の番組群を選んで、先に示した年層 6区分を使って、 クラスター分析をした結果を見ていく。 .81年の番組のクラスター分析結果では、やや高年層よりの傾向はあるが、どの 年層の視聴率も 10%を超える A型番組群(年層構成がどちらかといえば中高年 寄りのため、年層構成を図で表示すると、 Aの形になる。 NHK番組が多い)が ほほ 4割強を占め、 2番目のグループは中高年層の視聴者がやや多い、ナイタ一 番組に代表される O型番組群(中高年の視聴者がやや多いので図で表わすと、 0 に近い形になる)が 3割強、 3番目は視聴者が主に若年層で構成される Y型番組 群(これも、若年層が高く高年層が低いので、図にすると Y型になる)が、 2割 である。 3つのグループは、大きくまとめると 2つになり、 Y型番組群はまだ少 。 数派であることがわかる(図 2) .82年のクラスター分析結果は、 A型番組型が 13本と過半数を占め、 0型番組 群も、視聴者層が類似しているクイズ番組 2本と「サスペンス劇場」などを周辺 、 Y型番組群は、視聴率は高いが 3本と本数は少ない。クラス に取り込んで 9本 ターを大きくまとめると、 8 1年同様、 A型番組型と Y型番組群の 2つになる。 ウ 8 4年から 90年までの高位番組の特徴 この 7年間は、テレビの視聴時間量からみると、 84年から 87年までは低迷期、 88年以降は上昇期にあたるが、個別番組の視聴率は高いものが少なく、 20%を 超える番組は 2本しかない。この 2本は、 NHKの日曜夜 8時放送のいわゆる大河 ドラマで、あるが、 87年 ( 1 独眼竜政宗 J23 . 6%)と 88年 ( 1 武田信玄」 23 . 5%)の 2番組ともに、視聴率の高さや、男性の中高年層をとりこんでいる 視聴者層の構成などからみても、特異な番組である。ここでは、この時期の傾向を 見るために、 86年と 89年の番組群のクラスター分析結果を見ていく。 ‑63一
81年 6月の高位番組のクラスター分析結果 図2 円 u'ιA﹃'・ aunu 今'﹄A﹃ RMau 今'﹄ A﹃ 唱A'o'saヲ︐.の'﹄唱ムヲ' 間山間尚陥MMMMMMMM 今 ιauau'''OA﹃A﹃ZJ'szJZJ'A 人2 神人特市 司 の ︐ ︐ A'A'A'A'A'A'A'A ‑a'A‑A 巨・阪巨徳山 xド x x ツ散 日イ合人目ニ刊 中ワ集巨中ボ・ロ ・ス貝・・ス慢キ 記 戸 ケ 全 花 戸 戸 戸 自0 閤 タ ユ ! の タ ム タ タ ど8 ん 太イニヨ︿イ‑イスの太古 ん噸H 時 ん 噸 怨 昭 二 口 中 ザ 俗ナK ださナゲナルK玄工 お水N 8ま土週木オN池サ ‑‑zJFヨ ヲ'aヲ 唱‑azJEB 唱 ヲ 唱 唱 唱 唱 唱 今'﹄今'﹄の 今 ' ﹄ A﹃ ' ・ aunu 今 ιA﹃'oau 円U 今'﹄A﹃ A唱 'A 唱 A唱 A唱 A の'﹄の'﹄内 'h 唱 zo's''au ︐︐の4 A﹃ZJ''F2 唱AA﹃'o A'3FB''a A A A A A N H N H M H N H N H N H N H N H N H N H M H N H M Hι 神人 3 zd 円uau'''OF2A﹃A﹃ZJZJ'3 の£唱ム の£の4'A'A'A'A'A 司 A 司 A'A 司 A'A A 司 l a ‑ 阪巨・ ド 人 xx ド イ巨人目イ ワ X 巨中スワ ス 島 ン ・ ・ ‑ スl 点ス日 一広fHF ユ戸ろ柚周目ピ ュ・トタタニユえ村のユ一 ニ疎スイイのニは ニダス K野ベナナ時K にいタのズ戸 H ロ ・ 岡 剛7 H陥るイ午イユ Nプザ日火夜N太明ナ正クニ A唱 A'A 唱 A唱 A の'﹄の'﹄内'﹄ 唱 唱‑.︐S Fヨ ヲ'aヲ 'AZJFヨ ヲ ︐ ︒ ︐ ︐A'3E2 F スワイド.. 1 Z 3 .6 17.4 14.3 13.7 夜 7時のニュース 1 5 .Z NHKニユースワイド・ 2 18.Z 寸 ︿ 内 ︿ 内 内 内 内 内 ﹀ ︿ 内 ︿ 寸国 N 同凶凶国唱晶 FNh 酢 寸 同 ロ 凶 同 ロ 同 寸 hH 唱NH NZNNHZHHHHZZZZHNNNHHHHzzz zzzzz.zzzzzzzzzzz ugo‑‑oH ﹀区凶的国 区凶 n トコ 4 ト O L O Z 凶 4 Z 44Z4g 凶n トコ uU 凶2 424﹀rE‑HZHZ? 白4 区Z O N L F凶凶@窓車 獄窓唱︐ H国 今 寸 .0 x x x x x x x x x x xxxxxxxx.xxx︐ロ .xxx.xxxxxxxxxxxxxx .. xxxxxxxxxxxxxxx 一 xxxxxxxx.xxxxxxxxxxxxxx ..x 一 x x x x x x x x x x x x x x x xxxxxxxx. × x x x x x x x x x x x x x x . x x x x x x x x x x x x x x x x x x ‑ V 0 0 0x x v o h x v o o h x . x x v 0 0 0X ハ x v o h x v o o o h x v o o h x x x v 0 0 0X X V O A ‑ x x x x x x x x . x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x v O A x x x ‑ x x x x v o o h x . x x v o h x x v o ox v o o h x x x v o o o h x v o o h x v o h X XOX X V O A + D D 凶. x x x x x x x x . x x x x x x x x x x x x x x x x x x x x x x x V 0 0 0 0 0 0xxxxx‑ x x x x x x v o o o o h x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x×x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 一 x v o h x v o h x v o o史 x x v O OX X V O Ox x x v O A X v o o o h x x v o o h x v OX V O OXXXV2H.0 一 x x x x x x v o o o o h x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x v o o h x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ X X X V 0 0 0 0 0 0 0 h x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x v O Ox v o o h x x x x x x v O A x v o o o h x v o h x x x x v o h x v O Ox v o o h x x v o o h x x v O A + H 同. D x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x × x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x v 0 0 0 0 0 0 0 A x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x + N . 0 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x V 0 0 0 0 0 0 O A x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ D 同. x x x x x x x x x x x x x x x x x x x x x V 9 0 0 0 6 0 0 0 h x x x x x x x x x x x x x x x x x v n + N X X× x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x v O A ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ 同0 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x + . x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ × x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ D x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x v O 0 0 0 0 6 0 0 0 0 0 O A X + 凶同. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ 8Z355869279430f3103471621 4・ ZZZ1111112221111 クイズダービー 13.1 lZ.4 8時だヨ!:全員集合 i 血中玄太 80キロ ZZ.8 おんな太閣!e NHKニユ スワイド・ 3 14.4 F NHKニユ 逮怨ゲーム 明るい農村 11 .7 サザエ古ん に0 太陽にほえろ I 14.3 ザ・ペストテン 18.7 オールスタースポーツ捻符 13.6 木崎ナイター・中日 X 巨人 13.9 ナイターの餓点 13.5 土曜ナイター・巨人 x阪 神 14.6 日噌ナイター・巨人 x阪神 17.8 火昭ナイ夕日・申 Bx巨人 16.7 水崎ナイター・申臼 X 巨人 18.8 ..• プロ野Jt.広島 X巨人 Z O . 3 まんさくの花 16.1 ‑ ~ーヲ 11.6 玉三の三ユース 13・1 NHKのど自慢・和歌山市 13.Z 凶同凶﹀ 0:'凶巴Tコ"'0:凶白 的凶::....,且"'0:ト...."'...J •••••••••••
2 教師ぴん 2 宵容家銭 F 6 正午ニュー 日同ナイタ ﹃ 唱 唱 唱 ζ 唱 唱 ζ 唱 NIIKモ 日 唱 唱 唱 唱 L パートに火 日附刷晴 i望~ゲーム 唱 ニュース 笑っていい のど自慢 申書合ニュー 土I I Iナイ夕 唱 Nスベシャ だいじよう 火叩ナイト 水叩ナイタ 迫~ゲーム 捻合ニュー 12.2 Nスベシ+ 79 寺ニュー NHKモー 12.5 12.9 15.1 12.2 のど自慢 14.4 正午ニュー 18.5 春日局 11.3 NHKモー 5MmMZM72 凶 6 9 9 8 3 1 4 4 門 3m71415561 2 ほ 11222111111 ニュース 10.8 にD 水曜ナイタ 火Iliナイト 土Iliナイタ 木昭ナイ夕 日崎ナイタ ニューステ 日曜劇場 15.6 10.6 11.5 青春家殺 uコ 教師ぴん 2 10.2 10.3 12.3 12.3 13.6 14.3 17.3 12.0 12.2 11.9 13.7 14.3 16.1 パートに火 笑っていい だいじよウ ドラゴン Z みなさんの サザエさん YXN 判 J G B R P S Z H C U D V H T Q L沢 但 O F A •. ﹀ XZZ ︐ ﹃ uaE 且的 コロ﹀玄↑ eJK 内 内 守 ゅ同 今 凶 O L d﹃ Aw.0 Z﹁EZHZHZ 的・白E4Z 匡凶↑的コJ U E o ' S H↑d ﹃﹀匡凶的国O L O 凶Z叫Z 的一同的﹀J4Z4E凶↑約コJU 凶ω24HE4﹀ HZU 議議群議滋議援護襲撃一 H13 015 Q17 519 U21 1 ' 12 3 Y25 7叫ニュー ドラゴン Z 19 K11 胃 みなさんの H 8 J 10 L 12 N 14 P 16 R 18 T 20 V 22 X 24 NHKモー E5 G 7 サザエさん 木I I Iナイタ o4 B ニューステ C 3 寄目用 A1 1 % : 1的 巴Tコ<t:::凶ロ (/')W::HI 且 ' 1%:←.....<...J 17.3 15.6 14.4 14.3 13.6 12.5 12.3 12.2 12.0 11 .3 10.6 10.3 xxx.xxxxxxxxx ... xxxxxxxxxxxxxxx.4 0 .xxx.xxxxxxxxxxxxxxxxxxxxx× x x x x x x x x x x x x x一 × ×x x x v o h x x x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x v o o oX× ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× x x x x× x x x× x x x x x x x一 × × × x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x × x x 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× 一 × x x x x x . D x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x x x x V 0 0 0 0 0x x x x x×一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× X× x x x× x x x x x× ×x x x x× x x x× ×x x x x x x x x x x x x x x x x x x x x x x x× ‑ x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ‑ x x× x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 一 x x x x x x x x× x x x x x一 x x x x x x x x x×××x x x x x x x x x x x x x x x x× x x x x x x x x x× x x x× 'N.D x x x x x x×××x x× xxx× x x x x x x x x x x x x x× ×x x x x x x×××x x x x x× ×x x x x x x x x××××x x x x x x x x x x x x x x x x x x x x x x x x x x x x×××××x x× x ‑ 一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x × ×x x x× x x x x x x x x x x× x x x x x x x x x x×××x x x x x x x x x x x x x x x x×x一 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× x x× ×x x x x x x x×××××x x ‑ x x x x× x x× x x x x x x x x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x×x一 E l g A司AZd︐︐︒︐zd︒︐﹄勾 ︒︐auF2︒︐ x××××××x x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x x x x x x x x x一 ‑‑‑‑‑‑‑‑‑‑‑‑‑ × auroF2A zd勾£勾 ︒︐﹄勾£司Anu司Anu x x× ×x x x x x x x x x× x x x x x x x x x x x× ×x x××××x x x x× x x x× x x× ×X X + 同.ロ ︑A A A A A A A A A A A A A × ×x x x x x x x x× x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× ×x x x x x一 x x x x x x x× x x x x x x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x x x一 ×x x x x x× x x x x x x x x x x x x x x x x x x x x x x x x x x x× x x x x× ×x x x x x x x× x ‑ x x x x x x x x x x x x x x x x x x ‑ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x× × ×x x x x一 x x x x x× ×x x x x x x x x x x x x x× x x x× x x x x x x x x x x x x x× x x× × x x x x x x x x× xxxxxx×××x x x x x x x× x x x x x x x x x x x x x x x× ×x x××一 x x x x× × ×x x x× xxxxxxxx× x x x x x x x x x x x x x x x x x x x x x x× xxxxx‑f・ D ×x ×x x x x x x x x× x x x x x一 x x x x x x x x× x x・ x x x x x x x x x x x x× x× x x x×x × ×x x x x x× ×x xxxxxx× ×x x x× x x x××××x x x x x x x x x x x x x x x x x x x一 x x x x x x× x x x××××x x x x x x x x x一 × × ×x x x x x x x x x x x x x x x××××x x× ×x x x x x× x x××××××x x一 x x x x x x x x x x x x x x x x x x x x x x x× x x x x x× × x x x x x x x x x x x x× x x x x× x一 x x x x x x x x x x x x x x x x x x x x× x x x× x× ×x ×x x x x× x x x x x x x x x x x x x x x x x x x× x x x x x x x x x x x x x x x x x x x x x x { × x x x x× ×x x x x x x x x x x× x x x× ×x x x x x x x x x x x x x x x x x x x x x x x x X 4守 山 . 口 89年 6月の高位番組のクラスター分析結果 図3
図4 95年 6月の高位番組のクラスター分析結果 16.8 H1 1 ドラマ:tの同か 16.0 N3 ¥f~ t'1軍吉宗 3 J サザエ吉ん 13.3 H5 5 7 土叫グランド車 t 12.7 N7 9 日刊ナイ夕日. 12.3 N9 12.1 N11 11 ちびまる子ちゃ 11 .7H13 13 ニユース .3 H15 15 NIIKおはよ 2 11 1 1ナ fター・ 11.2 N17 17 水 1 水戸興門外伝か 1 0 .9 N19 19 10.7 N2l 21 ニユ日ス・気象 z3 マジカル開 nパ 10.1 NZ3 9.8 H25 25 関口~東京フレ 16.3 N2 z 曹よ、来い 4 ニュースス1'‑ 13.4 嗣 6 NIIKニュース 13.0 N6 同 12.5 N8 8 ナイター巨・ l 10 NIIKニユ日ス 12.2 HI0 プ ロ 1 f t 量 .. , . 日 11.9 N12 12 11 .6 H14 14 王欄のレストラ 11 .2 H16 おはよう N I I K 16 11.1 H18 18 NIIKニュース 20 NIIKのど自慢 10.8 N20 10.4 H22 22 ナイ夕日中継・ 10.0 N24 24 ~~に震を l ZNN Z" 、 Z司 Z N I l ' I 的 ・ 併 . . Z 守 : : Z P""4唱 ω 白 〉 ・ . . . J 3はよウ ヨはよ 2 . . . . ̲ Z . . . . .1 l ' I ~. Z . . . . .ロ ー 」 U NHKニュース NHKのど自慢 Z Nロ . .白o: Z..... 白E z ' " u ' , U3 、凶 N ・ 炉 ト 凶 ・ 凶 〉 { ロ = 国 ・ 併 Z ・ 併 z ‑ 凶 ロ a : Z{ =:1 的 巴7コ司a:w 口 H .ロ N .ロ w= ご . . . . Iι...: a:ト~<_, 同.ロ f.ロ m .ロ ロ Aw. h.ロ 的 o ' " ι auq︐ ヲ 可‑ AW ‑ 之d ι 勾 ・・晶︑ム噌ム 'A g x x x x x x x x x x x x xxx. 同 ト ・ にD にD ニュース NHKニュース ニュース・気象 NHKニュース 水戸貧門外伝か 水市ナイター・ プロ野放・中日 八代将軍吉宗 13.0 10.7 11 .1 10.9 11.2 11 .9 16.0
.86年の番組をクラスターに分けて見ると、 A型番組群は 13本、 0型 番 組 群 が ナイタ一番組 5本 を 含 ん で 8本、若年層が多い Y番組群は 4本である。ここでの 注目点は、 O型番組群の中心ともいえるナイタ一番組群が、 10位以内に l本も 入っていないことである。 .89年の番組をクラスターに分けて見ると、 A番組型は 12本、 O型番組群は 6 本、若年型の Y型番組群は 7本になる。 0型番組群のなかには、 3位の「ニュー スステーション」カ宮入っている。 ここでも、大きく分けると、高年層よりの A型番組群と O型 番 組 群 が lつにまと 。 まり、若年型の Y型番組群との独立性が強まってきたように見える(図 3) ‑この 7年間の特徴のひとつは、ナイタ一番組の視聴者層が高年層よりになってき たことと、かつてのように、 20%に近い視聴率を獲得できなくなくなってきた ことである。 エ 91年以降の高位番組の特徴 ・テレビ全体の視聴時間量は上昇傾向にあるが、個別番組の視聴率は、あまり高い ものはない。 6つの年層の全ての視聴率が 10%を超える全年層型の番組も、 l 本しかない。 92年のこの番組は「なるほどザワールド J 13. 4 %で 6位と、 視聴率が高いグループではない。このように、 6月期では、全年層型の番組が、 上位グループにはいってこなくなったことが、個別番組の視聴率が低い原因とし て考えられる。 .91年の番組をクラスター分析をして見ると、ナイタ一番組の視聴者層の変化と、 高位番組に登場する本数が減ってきたことにより、 A型番組群と O型番組群の合 併が起っていることがわかる。 A型番組群はナイタ一番組 l本を含めて 15本 、 若年層の視聴率が高い Y型番組群は 10本である。この Y型番組群のなかには、 若年層にターゲットをしぼったドラマが 2本ほど入っている。 . 3%と低迷 また、この年、唯一高位番組に入ったナイタ一番組の視聴率は 12 し、さらに高年層寄りを強めた。 ちなみに、 93年には、プロサッカーの Jリーグが高位番組に登場したが、視聴 率は 1 1 . 5%、クラスターは若年型の Y型番組群に分類された。 .95年の番組をクラスター分析をして見ると、 80年頃には 3つにわかれていた クラスターカ官、 2つのグループにまとまってきていることカ宝わかる。 0型番組群と、 N H K番組が多い A型番組群は lつのグループになり、あわせる と 18本になる。このなかには、ナイタ一番組 5本が含まれる。 Y型番組群は 7本あるが、このなかには、女性の若年層を中心に、 5年層型の視 聴 率 l位の「ドラマ北の固から」をはじめ、若年層の視聴者が多い、 2J I 僕 ら に 愛 を !Jなどのドラマ番組が 3本入った(図 4) 。 ‑67 「家なき子
4 おわりに 80年から 95年までの視聴時間量や高位番組群を見ると、つぎのような傾向が わかる。 ① 90年以降は、テレビの視聴時聞は増えてきているが、個別の番組では、全年層 で視聴率が 10%以上のものはほとんどなくなった。 ② 80年以降の高位香組を大ざっぱに分類してみると、 80年から 83年頃までの グループと、 84年以降のグループになる。この 2つのグループをわけるものは、 家族そろってテレビを見るという古典的なテレビ視聴の形態が、一人で好みの番 組を見るというような視聴形態に変化したことと、これに対応して、テレビの送 り手側が、ターゲットを絞った番組を作るようになってきたことによるものと思 われる。 ③高位番組をクラスターにわけでみたところ、 2つの特徴がわかった。 .y型番組群が、ほとんど若年層の視聴率中心のタイプに変容したのは、 「ちびま る子ちゃん Jや「サザエさん Jが 、 7歳から 19歳までの若年層で 50%前後の 視聴率を集め、周辺に男女の 20歳から 39歳までの層を取り込んでトップに登 場した、 90年 11月以降である。しかし、これも、 95年の視聴傾向を見ると、 高年層の人口数の増加にあわせて、さらに変化しそうな気配が見える。 ‑ナイタ一番組の視聴者層が、 90年までは 2桁の視聴率を確保していた男性の 7 歳から 20歳の層の視聴率が徐々に下がるなどの変化があったために、ナイタ一 番組中心の O型番組群のクラスターの縮小と、 A型番組群と O型番組群の合併が おこるようになった。 組使平平 番を週週 全)( R 月月 の ピ︑ Mll レ民人人 0 1 1 テ 住0 8 ( ︒のの 0 2 紙 % % 間 放 上 6 1 用 30256677 日民以 3 1 入 7 ‑ 歳一一一一記 3 1 9 0 5 1 1 1 の K 7点 点 ) 8 8 7 8 8 8 8 8 要 一 週 Hる地地み))) ロU ノ %% 68249364 1J1 39904900 87788788 式 1レ 日 た 用均均 既 一 l Nよ 0 4 刻 載 均 均 対一第たに 0 9 分 掲 平 平 ーとのれ出 3 × 5 を 週 週 重一月さ抽×人(夕(( 調了送為人 2 盛一月月月月月月月月 率寸放作 2 1 ︑目デ 6 6 6 6 6 6 6 6 山一びに無 l は 法 刻 の 羽一よ期段︑区収時と年年年年年年年年 制一お時 は 地 図 局 ご 05050505 一期組象法(>地 K 一 月 査2化 国 東 付 送 次 8 8 9 9 8 8 9 9 H一 6調 層 全 関 配 放 年 > 5 区 一 N 一時番対方率国東 l 一一U一査査査査効全関 吾一調調調調有<< ︐ 寸 ー 一 Fhu OO
SASとGISによる地域メッシュ統計国勢調査を用いた 居住者特性分析 0池 谷 貞 彦 * 0稲 葉 由 之 内 *株式会社住信基礎研究所 成践大学大学院博士後期課程 要 旨: 地域メッシュ統計国勢調査の 500mメッシュデータの指標を用 いて因子分析を実施し、得られた各国子得点の空間的分布状況を GIS (地理情報システム)により分析し、地域の}古住者特性を把 握した。 キーワード: 因子分析、クラスタ 分析、 GIS、地理情報システム、 地域メッシュ統計 ‑69‑
, • はじめに 地域メッシュ統計国勢調査は、人口などの国勢調査結果が500mメ yシュ単位で集計されている。 この属性を用いて、主因子分析をすれば、メッシュごとの特徴を掴むことができる。さらに、この特 徴を地図上に色塗によって表せば、同一特徴がどのように集合離散しているかなどの空間的分布を見 ることにより、地域の居住構造を把握することができる。 本稿では、この分析手法と使用したデータおよび地理情報システムについて述べ、東京都区部につ いての分析事例について報告する。 2 . では、使用した地域メッシユデータ国勢調査平成 2年の内容について述べ、 3 . では空間的分 布を見るために使用する地理情報システム(以下、 GISとする)の特徴と機能について述べる。 4. では、東京都区部についての分析事例で用いた分析手法について述べ、その分析結果を吟味す る 。 本稿において、主因子分析で使用した統計解析ソフトウェアは、 SAS/STATソフトウェア、空間分 ! lNFO (米国 ESRI社の登録商標)である。 析で使用した地理情報システムは、 ARC 2. 地域メッシュ統計国勢調査データ 地域メッシュ統計国勢調査とは、国勢調査の結果を一定の経度・緯度間隔に基づいてほぼ正方形に 2 . 1参照)単位に集計したものをいい、人口総数や世帯総数などが 区画した標準地域メッシュ(図表‑ 2 . 2 ) 。地域メッシュ統計国勢調査は、全国に渡って、 Ikmメッ メッシユごとに集計されている(図表 ‑ シュに集計されており、人口集中地域地区においては 500mメッシュでも集計されている。さらに、 各集計レコードは、緯度・経度をコード化したメッシュ・コードと対応しており、これによりメッシユ ごとの集計値と地図上の各メッシュとを対応させることができる。 図表 ‑ 2 . 1 標準地域メッシュ ( 1kmメッシュと 500mメッシュ) 500mメッシニ1,. 1 3 8 '3 0 ' 3 6 '1 5 ' ~ 5 3 6 '1 0 ' 、 、 、 7 '3 0 一70‑
平成 2年国勢調査に関する地域メッシュ統計(その l 人口
。トラッ 7
ブロ vクI
D式
パリティ
奇数
レコード~
1088パイト
l
e !量密度
6250 BPl
ブロック長
o910パイ!
ノンラベル
ソート順
地~メッシュ・コード (1-1 次)昇順
G 1O
. 3インチ
データの属性
キャラククー形式
ペル
フ
R
文字コード
固定長プロ vク化
阻気テープ l逆に l県分を収録 (
17都道府県別)※
EBCDIC
。結果散位の特例表示
rXJ ・・・山山・・….!J> 匠(~Ilf対iI.メッシュであるため,当 l宣地~メッシュにおいては盟意せ
ず.近住する地収メッシュに合算して.ll!章している. )
rO
O
O
O
O
.
O
J …
・I
Ii国也の算出において.分母が r0Jのi
晶合( r
性比 Jの場合のみ)
r0
9
0
0
0
.
8
J.
.
…
・1
1i!車値の算出において.分母.分子が共に r0JのlA合
R 1D
悶
‑
‑
l
ヤ
ー
晶
盃
名
コ
世帯,産業)提供用磁気テープ様式
2 コ『ドの鋭明
l 仕 川
トラック歎
3
o
l
.
8
)
。編成区分 (RIDの c
rl
J 山山平成 2年国跡調査1II1次'?Il2次基本集計結果に係る泊成であることを示す.
'
r2J・ ・ … "
J
l
'3次基本集計,従業地・通学地銀 I
十.人口移動集計結果に係るu:
成であることを示す.
o1
.2
1)
。地ほメッシュ区画区分 (R1Dの c
r2J.
…
.
.
J
l
'2次地ほメッシュ区画の政値であることを示す.当 l
f
i第 2次地 t
畦メッシュ区画内の
前 3次地峨メッシュ区画データの合算値である.
(この樋合『地紙メッシュ・コード 3次・ 4次 J欄はプランクである. )
r3J.
.
.
.
.
.
l
I
l3次地ほメッシュ区画の数値であることを示す.当 l
宣第 3次地t
世メッシュ区画が人
口集中地区地ほである場合は.当 1
.
.原 4次地紙メッシュ区画データの合算値である.
(r
地峨メッシュ・コ『ド I1
)
;
:J聞はプランクである. i
r1J'…・・人口集中地区地尽における !
!
H次地法メッシュ区画の散値であることを示す.
o~ [lf・合算 IU'jf,f号 (R IDの c
o1
.
0
2)
rXJ'…・・硲阻対iI.地祇メッシュであることを示す. (一つの地祇メッシュに波意される世帯陀
士が極めて少ないijJ合.その内訳となる散値を !
i
.匿するものである. )
政又は人口 IU
r
(
a
lJ ..…・合算地~メッシュであることを示す.
(~[lf対象地法メッシュのも島医値を.合算して
lI(意している. )
I05,(イト
*
一西 1
ラ抑
関盃年
,• ,
‑
F
ブ 地1
i
f
./7i
ブ
フ
フ
I 1213 1
1
.
ンド ノ
年
ク初 ク 次 次 次 次 ク
, ,,
I 3
ノ
r I I J III
8 1
0
1
1 1
0
Jl' 2 次地~メヲシュ区画の
#1 1 #2 1 #3 1 #1 1 #5 1 #6 1 #7 1 #8
市
区
町
村
数 県 市 県 市 県 市 県 市 県 市 県 市 県 市 県 市
ツ
庖
ド
.
.地ほメッシュ区画に同定された都道府県・市区町村コード
当1
γン
1/25.000地形図名
II
I I I I t I I I I I I I I I I I I
r I I I I I
1
0 2
1 2
3
※
ブ
III I I
1
9 5
1 5
3
r I r I I I J I I t I I I J III I f I I J I I r I I I I t I I I III
5
0 5
8
6
1 0
3
0
6 6
8
7
1 7
3
7
6 7
8
8
1 8
3
8
0 8
8 0
0
t
s道府県境界に山かる地峨メッシュについては.当!fi!s
ilI'府県分のデータのみ義章している.
フ
1M置 1
1
1置
ン
一つの地 i世メッシュに迎:\fされる世 1if ll'.歎又は人口総散が極めて少ない l品合.~低!日置と
して当 l
f
i地峨メッシュの政値は単独では表意せず,近 1
1
1する地 J
誼メッシュの数値に合算した
上で表草している.
ただし,人口総数(総政・男 女) .世帯総数(総数・一般世帯・施設等の世郁)及び性
l
!1
十したそのままの原数値と. I
l
‑
I
l
i 置を出じた数値の両方を.裂なしてい
比については. J
ク
る
。
0
1
0
4
0
81
0
01
0
2
m
1
0
5
図表 ‑
2
.
2 地域メッシユデータ国勢調査平成 2年データ・フォーマット
資 料 : ["データファイル J
i
Vリ
J
J
i 地域メ Y シユ統計
平成 2年│到勢調査集計 J (1I‑ll日本統計協会
(7 ‑ 2) I lODY 1 8 B 3,<イト (7,<イト x 2 G 0セル) 人 総 A 人口総数(年齢不詳を含む o.) [脇田!昔置を行令ていはい数値】 総数 ~ I1 口 B 年 人口総数(年齢不砕を含む o ) ( 1 ) 男 女 総数 男 女 ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ' ) ¥ 口 ( 3 ) 。‑,歳入口 ( 2 ) [ l tl !(合算) f 量置を行勺た数値】 月1[" 齢 5‑91 & : 人 口 l a歎 男 女 総数 ( 7 ) ( 8 ) ( 9 ) 自 由 日 正 1 0 6 , キ1I1 1 I 11111111 TI‑TI‑I I‑r‑‑I‑r‑ITI 1 11 ( 4 ) ( 5 ) 10‑14成人口 m歎 し斗! i ! ~ 男 女 ( 14 ) ( 1 5 ) 1~ 1Jl 1 1 I~ ロ 総数 ( 1 6 ) つ ' ( 6 ) 15‑19虫人口 総散 男 女 ( 1 7 ) ( 1 8 ) ( 7 ) 20 ‑2Ul人口 ( 1 0 ) 男 女 ( 2 0 ) ( 2 1 ) 25‑29旗人口 総数 ( 2 2 ) 男 女 ( 2 3 ) ( 2 4 ) 1 9 0 。 ℃ 4 3 m ( 8 ) ( 9 ) 30‑341 . " t 人 口 U I数 ~ 男 女 ( 2 6 ) ( 27 ) 。 35‑30忠人口 総数 ( 2 8 ) 総数 男 女 ( 2 9 ) ( 3 0 ) │ω 40‑H歳入口 ( 3 1 ) 男 女 ( 3 2 ) ( 3 3 ) 45‑49tl人口 総数 ( 34 ) 男 女 ( 3 5 ) ( 3 6 ) 2 7 4 1111111 ‑ 1'1 ‑ 11 ‑ 1 1 1 1 1 1 1 1 1 1r‑r‑r. r ‑I‑I 1. 1 111 別1111人1 50‑54tit人口 O~ 口 55‑59忠人口 03 ( " .. つ . .づ 60‑641 & : 人 口 O~ 65‑601&人口 09 r ‑ ー ー ー ー 一 一 ー ー ー ー 総数 ( 3 7 ) 男 女 ( 3 8 ) ( 3 0 ) 総数 ( 4 0 ) 男 女 ( 41 ) ( 4 2 ) 総数 ( 4 3 ) 男 女 ( 4 4 ) ( 4 5 ) 総数 ( 4 6 ) 3 5 8 図表・ 2 . 2 地峡メッシユデータ国勢調査平成 21 f :データ・フォーマット(つづき) 男 女 ( 4 7 ) ( 4 8 )
(7‑5) つ (H) 電気・ガス ' 1 ,1,供給・水道業試案者 ) E 4 1 ( ) 7 4 l ( ( 14 5 ) 速愉・通信業車U i者 総数 女 1&歎 I(49) ( 5 0 ) づ き 卸売・小売業.飲食庖就業者 ( 51 ) 金融・保険業主t 業者 女 総数 女 1&数 女 ( 15 0 ) ( 1 5 1 ) ( 15 3 ) ( 15 4 ) ( 1 56 ) 1 1 1 4 ( 5 2 ) 総数 ~ ( 5 3 ) 不動産業就業者 ( 5 4 ) 公務(他に分煩されない bの〕就業者 サービス業就業者 ( 5 5 ) 9 1 女 1&歎 男 女 蛤数 男 女 1&数 ( 1 5 8 ) ( 15 0 ) ( 16 0 ) ( 16 1 ) ( 16 2 ) ( 16 3 ) ( 1 6 4 ) ( 1 6 5 ) ( 16 6 ) 1 1 0 8 ‑ . : ) 教・ー bコ ( 5 6 ) ( 5 7 ) 幼稚園在園者 c 未就学者1&数 女 ( 16 8 ) 状. .• . 滋 ( つ . づ き 宵 保育園・保育所・その他 ( 5 8 ) ( 5 9 ) 在学者総数 小学校・中学校在学者 総数 男 女 総数 男 女 I : B 致 男 女 総数 男 女 ( 1 6 0 ) ( 1 7 0 ) (71 ) (72 ) ( 17 3 ) (IH) (1 7 5 ) . ( 1 7 6 ) ( 17 7 ) ( 1 7 8 ) ( 1 7 0 ) ( 1 8 0 ) 1 2 8 2 ( 6 0 ) ( 1 8 3 ) 女 ( 18 6 ) ( 6 3 ) 卒業者総数 総数 ) ( 1 8 1 ) 総数 I(62) 7 8 1 ( 女 ) 4 総数 短大・高専・大学・大学院在学者 8 1 { 1 3 6 6 ( 6 1) 高&在学者 高校・旧中卒業者 女 総数 女 ( 18 日 ) ( 19 0 ) ( 19 2 ) 図表 ‑ 2 . 2 地域メッシュデータ国勢調査平成 2年データ・フォーマット(つづき)
(1
日
(
6
4
)
18
短大・高専・大学・大学院卒業者
m数
【留置 l
昔置を行っていない数値】
女
世帯人員別(1)
1(
6
6
)
施股等の世帯
施股等の位都 1
1人世帯F
数
数
数
)
(
2
01
(
10
8
)
(1
9
5
)
(
10
3
)
[I:i!医(合算) f
昔置を行った数値 J
(
6
5
)
3人世都数
(
2
0
4)
(
2
0
2
)
1
4
5
0
(
6
1
)
(
6
8
)
│山川別口) 側
(
1
1
)
I
世帯人員別 (
2
)
4人世初数
(
2
0
5
)
山地
l
J
4
(
2
0
1
)
I
(
1
0
)
家族矧型別(1)
γ
以上
その{也の貌族
「 … 歎 │ 世 帯 数
I (209)
(
2
0
8
)
I
(
2
1
0
)
I
(
2
11
)
京銀奴型別 (
2
)
6段未満貌旗
のいる世帯F
歎
6
5再以上級族
のいる世都数
(
2
1
2
)
(
2
1
3
)
従業・通学時の世帯の状況 s
1
)
住宅に住む一般世帯
通勤・通学者
のみの世帯で
1
2段未満通学
者がいる世帯
数
(
21
4
)
通勤・通学者
のほかは高齢
者のみの世帯
数
活動 .
i
i
l
i学者
(
2
1
5
)
(
2
1
6
)
のほかは高齢
者と幼児のみ
の世帯数
14品 │
153~
(H) 窓計の収入の福 m~l)
経 済 構 成 別(
2
)
一般世帯
ムM
主
収叫市
東位
人数
ムM
農な
姶帯
(
2
2
1
)
料数
制噌円
(
2
2
0
)
・世
金な
貸主
者
世
集
bA
a
H
就
(
2
1
9
)
非数
漁帯
業数
贋者
林位
非業
・拡都
築業世
(
2
1
8
)
非業数
体体混
農浪者
業数
(
2
1
1
)
(
1
3
)
ぬ出合
本世
思者
漁帯
経済情成別(1)
集
従
(
7
2
)
(
2
2
2
)
1
6
1
8
(
1
1
)
C
(
1
9
)
性
比
(I:i!医!昔置を
行っていな
い数値]
性
比
品医{合算
【1
)措置を行
った数値]
平均年齢
住宅に住む世
帯f
数
(
2
3
5
)
(
2
3
6
)
(
2
3
1
)
(
2
2
9
)
(230
(~数)
年少人口の冨)
1 生産年齢人口
j
日>
.
の割合
(
2
3
8
)
1
1
0
2
図表 ‑
2
.
2 1
也城メッシユデータ同勢調査平成 2年データ・フォーマット(つづき)
(
2
3
9
)
老年人口の'l
J
I
{
'
;
(
2
4
0
)
6)
3. GIS (地理情報システム) GISは、空間的あるいは地理的な情報をデータ・ベースとして蓄え、色分け(分級)、地域ごとの集 計、空間的な検索などの解析機能により、目的とする分析結果の表現として、地図や烏撤図などを作成 するシステムである。 従って、通常地図に表されているような道路、鉄道、駅などの施設、市区町村境界を点、線、面ーなど ヌl 形で表示したものに、メッシュを重ね合わせることにより、メッシュの分布と地理的な背景との相 のi 3 . 1、図表 ‑ 3 . 2 ) 。このメッシュを、人口、世帯数などで色分け 聞などを把握することができる(図表‑ すれば、人口や世帯数の多いメッシュの集散状況や、その部分の地理的背景を読みとることができる。 3・ 2は、平成 2年国勢調査における首都圏の人口分布を 1kmメッシュで表したものである。 図表 ‑ 人口の多いメッシュが都心部から主要鉄道沿いに放射状に拡がっている様子がわかる。 3 . 1 GISによる重ね合せ 図表 ‑ . 2 メッシュと区境界の重ね合せ 図表・ 3 にU マt
梓市中口︿パホ 国間間 口一圃圃 4 5︿ D D D 胸 口 一 ‑ ‑ Lra︿ D D E Lra︿ E E C a uFE ︿ DEC ・司 岡山 mu 性箇︿ DDD‑ 国 内 凶 箇︿ E D ‑ ‑ N uF uFEE ・一回圃 口 町 ・ ‑ uFS ︿ DDD 語羽ロ︿ Lr 自︿口口一‑‑ E4FG園緑畑山町吋け品附属松田叶 N M回川昨 ヘ h'Y 図 N・のgwm 悔恨庫叩世間叩陸相叫(押さ E E D E C 国 百 三 軍 畢 ヴ t ハhu
4 . 居住者特性からみた地域構造 4 . 1 問題意識 「街」は様々な個性をもっている。これらの個性は人々の経験的な知識によって総合化され、 「街」特 有のイメージとして知覚されている。例えば、葛飾柴又は古くからの商 I~i 街からなる下町地域、回同調布 は区 W lの広い高級住者有というようなイメージが「街」に与えられている。このようなイメージは、 の歴史、民観、 「 街 」 仁地利用、建造物の状況、居住者の構成など様々な要素の知識やメディアの情報から形成 されたものであり、判断を行なう者の経験に依存するものである。さて、これらの個人に帰属された極め て定件ー的なイメージを、定量的な分析により指際化して、汎用性の高い情報として活用することはできな いだろうか。本軍では、 「街」の状況をあらわすーっの要素である居住者の構成から、東京都区部におけ る地域特性の表現を試み、分析結果及び分析方法適用の発展性について展望するものである。 4 . 2 居住者特性を表現する指標の作成とその分布状況 図表・4 . 1 地域単位としての500mメッシュ (田園調布駅周辺の状況) 1)居住者の構成をあらわすデータについて 分析にはメッシュ単位データ( 「平成 2年度国勢調査報告メッシユ データ J)を使用する。メッシュと は地域を碁盤の目のように区切った 地域単位ーであり、図表‑ 4 . 1に示すよ うな区分になっている(図表‑ 4 . 1は 500m四方のメッシュ単位で、区切ら れた田悶調布駅周辺の状況を示して いる)。この地域単位ごと、居住者 の人口構成、就業構成、学歴、世帯 構成、住居の状況などのデータが提 供されている。 2)分析方法と分析に用いる指標 ( 1)因子分析について 「国勢調査報告メッシュデータ」から作成する本分析で用いる指標は、メッシユ内に居住する人々の状 況を集計して、構成比率に加工したものである。例えば、メッシュ内における「住宅に住む世帯数」を分 母として「一戸建世帯数」を分子とした指標は、 「一戸建世帯の占める比率」となる。このような指標の うち、いくつかの指標には共通的な構造を示すものが多く含まれている。例えば、先にあげた「一戸建世 帯の占める比率」と「持ち家世帯の占める比率」はかなり強い相関関係にある。また、これらの指標は 11人世帯の占める比率」とは負の相関関係にあると考えられる。そして、低層の共同住宅に 1人世帯が 11人世帯の占める比率」が高い地域はアパートが多く、低い地域はアパートが少ない地 多いことから、 域であると推測することができる。この一連の類推は、一戸建て住宅のほとんどが持ち家であり、持ち家 に 1人で住んでいる人が少なく、 1人世帯はアパートに住むということから推測される定性的な関係把躍 である。しかし、このような知見は感覚的に理解していることであり、その関係を明確かつ定量的にとら えたものではない。また、様々な要素からなる多数の指標を総合的に判断することは難しい。このため、 地域特'門を判断するのに個々人の経験的な知識にたよることがほとんどであった。 そこで、指標!司の共通構造あるいは独立的な構造をそれぞれの指標から抽出することのできる「凶子分 析」を用いて、指標から導き出される居住者特性の傾向を把握することにする。 F a c t o ra n a l y s i s )は 、 1 9 0 4{ f .Spearmanにより、テストの成績を規定する「知能」と呼ばれる 悶子分析 ( 7 7一
凶子ーを取り
mすための手法として発点されたものである。その分析方法とは、多数の変数から直接的には
l
1出する方法であり、変数を凶子(共通構造)と残芹:
観測できない因子(共通情造)を仮定して、それを t
(独立的構造)に分解する。つまり、各変数はそれらに潜在する共通的な構造から形成されたものと考え
るわけでhある。因子分析については、柳井他 (
1
9
9
0
) など数多くの参考 1
1
1
・に説明されており、地理的な分
i
m(
刻する解説は村 1
1
1(
1
9
9
0
) が詳しい。また、因子分析を囲内の地域分析に I
JI,、た研究として、Tt
析に l
1
9
7
8
) 、上町・(1
9
8
1
) 、 勝 又 他 (1
9
8
3
) 、西原他 (
1
9
8
5
) 、若林 (
1
9
8
7
) などがある。
(2)分析に用いる指標とその構成
分析の対象地域は東京都区部とし、分析に用いる変数は総務庁統計局から提供されている平成 2年
度
[
f
.
.
[
勢ぷJ
1E報告の 500mメッシユデータ I} を加工した指標から選択した。選択した指標は図表・4
.
2に示す 36指
標であり、指標は居住者特性を地域構造に反映させるために比率尺度を月 jいている 2) 。
図表 ‑
4
.
2 分析に用いる指標とその構成
掴 帽 名
1 総人口
掴 帽 の 帽 庖
総人口{自用対置}
2 若年人口比 .
.
.
Ol
l
!‑14l1!人口/総人口
3 青年人口比$
1
5l
1
!‑29l1!人口/総人口
4 中年人口比.
.
.
44
l1!人口/お人口
拘 置‑
弓 老 年 人 口 比8
65l1!以上人口/属人口
6 女子紅建摩
女子*1.者盟/女子骨働力人口
7 事事骨由力人口8
非骨働力人口/厳人口
8 自宮憲主 .
.
.
自冨憲主世/眠怠者世
9 軍簸世定者'"
lU長世縁者世/眠縁者 E
1
0
. 車 1立産.眠.者 .
.
.
車 1>
X産.*1定者世/*1.者世
1
1
. 圃股.虻定者'"
盤股.眠縁者量/眠縁者世
1
2 副過怠眠定者寧
劃過.虻定者世/眠縁者世
1
3 釦売・小売..~貧11[*1・者 8
卸売・小売歳、監貧居眠複音量/*1.音量
1
4 童副・保融撮眠縁者噂
盆剛・保瞳.*1.菅直/*1・.置
1
5 サービス.*1・....
サ
1
6 公務*1.者直属
公務眠.者世/眠.者世
1
7 短大・高尊大掌・大学院在掌者 8
盟大・高事・大学・大学院在掌音量/在掌音量
1
8
. t
I
:
睦
"
'
J
!
l高担率定者 ...
1 t
I
:
睦"
'
J
!
l大掌寄車窓者皐
;t;相・旧中章旗音量/車窓者世
<
,
1
.
短大・高専・大掌・大学院奪定者世/寧定者世
2
0
. 施股轄の世格.
.
.
絡股専の世帯世/世帯総監
ピス.*1.音量/紙定者世
. 1人世帯都 .
.
.
21
1人 世 帯 世 / 般世都世
2
2
. 7人以上町世帯皐
7人以上町世帯畳/一般世得叡
23 岨軍旗世帯皐
植lU質量/阻腫世得総量
2
4
. 6l1!来湯鰻農のいる世帯摩
6瞳来酒 I
I
J
J
獲のいる世帯置/ー般世帯置
2
5
. 65.以上園蹟のいる世帯 .
.
65l1!以上回俵のいる世得世/一般世帯 E
2
6
. 12.
来濁通学者がいる也事事寧
通I!・通掌者のみの世帯で 12j
t
:
i
長濁通信F者のいる世帯世
/佳宅に住む世都段
2
7
. .林造.・葬厳林 2
・.眠縁者連合世稽 E
値
厳林...事事.林溢.眠縁者型合世帯世/一組世帯量
目
2
9
置童・給料が主な世帯都寧
買童・給料か主な世容量/一信世帯世
戸圃世帯患
戸撞世帯量/住宅に住む世帯置
3
0
. :f昼且国世帯寧
長且壇世都世/性宅に住む世都世
"
包眉共同住宅世格車
32 高層共同住宅世帯.
.
.
し 2陣瞳共同住宅世容量/住宅に住む世帯置
6暗瞳以上共同世帯世/住宅に世む世都世
H
揖ち宜世帯噂
持名軍世事監/佳宅に住む世帯怠
日
虫歯の僧京世帯車
公宮・公団・公社町僧京世都世/住宅に住む世都世
問
毘宮の僧置世帯皐
毘宮の僧宜世都邑/住宅に住む世帯世
36 首与住宅世帯寧
給与佳宅世都置/住宅に住む世帯世
1
)5
(
X
J
mメッシュデータは人口集中地区に限り提供されており、東京都区部ではほとんどの地域をカバーしている。
2
) 凶子分析は分析に用いる変数に関して正規性を要求する分析手法であるため、総人口は対数変換したものを使用
する。また、分析に用いるメッシュとしては、指標加工の際に分母が Oとなるメッシュ及び人口が50人未満のメッシュ
を除外した。これは「外れ値」を除外する目的に加えて、人口集中地区という意味を保持するために設けた基準であ
円
︒
︒t
る
。
3)居住者特性を表現する指標の性質と分布状況 (1)抽出された因子の性質 同i 二分析の結果、指僚 1 I 1 J の共通構造として 6つの困子を抽出することができた。因子負荷量が絶対 1 1 ! { 0 . 3以上の変数を示した l 刈 f負荷祉行列を図表 ‑ 4 . 3に示す。表中の数仰は各変数の│丈i 子負何量をあらわし、 それぞれの l 刈子への関述の度合いを示すものである。この因子負荷量が正の数値をとれば、該当する折燃 は凶子の強い説明要素となり、れであれば因子にとって反対の意味を示すものとなる。なお、僚の大きさ は説明する影響の度合いを衣している。 . 3 因子分析の結果:因子負荷量行列 図表・ 4 第 2因子 印 刷e Exe 沼町制 S e l f ‑ employedvs Employee 子 gy 保 第Y F 第 1因子 !~ 第 4因子 S i n g l e 第 5因子 第 6因子 L if e l 総人口 ‑ 0 . 5 2 2 若年人口比率 0 . 8 9 ‑ 0 . 5 3 0 . 4 4 百川副明↓ 0 . 3 9 0 . 7 1 一 40 宰率一 比比ト率 口口一歳 入人一就 年年‑子 41‑6 中老一女 IlllE? 3 青年人口比率 . 56 ‑ 0 0 . 4 2 7 非労働力人口率 0 . 6 6 8 自営業主宰 0 . 7 2 9 家族従草者宰 0 . 7 2 0 . 3 5 ‑ 0 . 46 1 0 第 1次産婁税章者率 0 . 7 0 1 1 建設婁税章者串 ‑ 0弓3 1 2 製造襲就章者宰 ‑ 0 . 58 0 . 4 9 1 3 卸売・小売章、飲宣底試章者事 1 4 金融・保険草創章者宰 ‑ 0 . 4 1 ‑ 0 . 3 1 0 . 3 9 ー0 . 4 1 0 . 6 2 モ ? 二 ? 三 空 宇 宇t'i:‑竺一一一ー ‑ L ‑ ‑ F . I . ‑ ‑ m l 1 1 6 公務就章者率 0 . 3 6 1 7 短大・高専・大学・大学院在学者事 I I 0 . 5 6 1 8 愚終学歴高椋車難者宰 ‑ 0 . 8 1 1 9 愚終学歴大学等辛章者率 0 . 9 2 ‑ 0 . 57 1 0 . 3 2 ‑ 0 . 5 5 0 . 5 1 2 0 . 施設等の世帯宰 21 . t人世帯率 ‑ 0 . 3 7 2 2 . 7人以上の世帯串 0 . 5 8 2 3 措置置族世帯率 0 . 6 3 ‑ 0 . 3 9 0 . 4 3 2 4 . 6ld:未満観肢のいる世帯宰 2 5 . 65緯以上銀法のいる世帯宰 0 . 8 2 1 0 . 7 7 ーーーーーーーーーー ーーーー田ーーーーーーーーーー‑+‑‑ーーーーーー+ー 2 6 . 12歳未満通学者がいる世帯事 刊 0 . 4 2 ーーー‑ 0 . 4 9 農林漁婁・非農林漁章就章者 )混合世帯率 0 . 7 6 2 9 一戸建世帯宰 0 . 7 0 0 . 4 7 0 . 4 5 0 . 6 8 1 3 2 . 高層共同住宅世帯寧 0 . 8 3 N 0 . 4 3 3 5 民営の借家世格率 3 6 給与住宅世帯串 因 子 寄 与 ‑ 0 . 3 8 ‑ 0 . 4 0 ‑ 0 . 5 0 3 3 持ち家世帯宰 公宮の借家世帯率 0 . 4 3 + + 帯 ι 一世 一 串 帯一住 世‑同 屋‑層 長一低 3 ・3 率一宅 ‑ 0 . 5 3 理一共 2 8 貨童・給料が主な世帯事 ‑ 0 . 7 9 0 . 3 1 0 . 8 4 ‑ 0 . 38 ‑ 0 . 4 0 5 . 9 1 0 . 7 7 4 . 6 2 79‑ 4 . 4 2 3 . 0 6 2 . 5 3 2. 4 0
以l
、、凶了.
1
1
fに共通構造を解釈する。
<第 1因子:Self‑employedvsEmployee因 子 >
羽 fは持ち家 1
止'
3
7率 (0.83) 、65歳以上親族のいる世帯率 (0.77) 、自営業主率 (0.72) 、家族従
第 11
業者本 (
0
.
7
2
) 、一戸建仕上,;
1
7率 (0.70) 、老年人口比率 (0.64) 、 7人以上の I
!
t帯率 (0.58) 、卸売・小
0.
49
) など自営業を営む世帯や老年齢層のいる大家族を表現する変数が高いii!
Iを
売業、飲食),;;就業者キ (
羽子負荷量をあらわす)。また、核家族 t
l
J
:
帯
率 (
‑
0
.
6
3
) 、青年人口比本(
示している(括弧内の数イ[[(は l
‑
0
.
5
3
) 、賃金・給料が主な 1
1
1
:帝率 (
‑
0
.
5
3
) が負の負荷量となっている。つまり、この因子は都市住民に
止帝を表したものである。そこで、第 1因子は自営業者と雇用者という対照的な 2つ
合まれている自営業 i
の集卜I
Jの住みわけを表現する I
tJ子として、 Self‑employedv
sEmployee因子と命名する(この因子は西原、
大川 (1986) の行なった Li:\Il~J 市人口集中地区における第 1 因子と同様な結果を示したため同じ命名とした)。
<第 2因子:Executive因 子 >
0
.
6
6
) をとっているため、非労働力人口の主体である専業主婦が
第 2凶子は非労働力人口事が正の他 (
=
1に含まれていることの影響が予想される。そして、就業状況においては、製造業就業者率(ー0.58) 、
世帯 1
46
) 、建設業就業者率(・0
.
3
3
) が負、サービス業就業者率 (
0
.
8
1
) 、金融・保険業就業
家族就業者率(ー0.
者率 (
0
.
6
2
) が正という対照的な負荷量を示している。また、最終学歴に関しては、大学等卒業者率(
0
.
9
2
) が極めて高く、高校卒業者率 (
‑
0
.
8
1
) が負という構造になっている。そして、世帯の構成要素で1土
、
短大・高専・大学・大学院在学者率 (
0
.
5
6
) が正値となっているため、比較的高い年齢の子供をもっ 1
1
1
:
,
i
?を也定することができる。これらの状況から、第 2因子を Executive囚子と命名する。
<第 3因子:YoungFamily因 子 >
第 3悶子は、若年人口比率 (
0
.
8
9
) 、 6歳未満親族のいる世帯率 (
0
.
8
2
) 、中年人口比率 (
0
.
71
)
、 1
2
歳未満通学者がいる世帝率 (
0.
49
) 、賃金・給料が主な世帯率 (
0.
4
7
) 、核家族世帯卒 (
0.
43
) が正債を
.
5
7
) 、老年人口比率 (
‑
0
.
5
6
) 、 1人世帯率 (
‑
0
.
5
5
) 、青
とり、短大・高専・大学・大学院在学者率(司0
年人
u比率 (‑0.
44
) 、6
5歳以上親族がいる世帯率(・0.
42
) などが負の値を示している。このように第 3
凶子では、人口構成を表す指標が間報端な影響を及ぼしている。これらの状況から、第 3因子はライフサ
イクルのなかでの「若夫婦と小さな子供J というサラリーマン世帯の状況を表現するものと考えられる。
そこで、第 3凶子を YoungFamily悶子と命名する。
if
e因 子 >
<第 4因子:SingleL
第 41
週子は、民間の借家世帯率 (
0
.
8
4
) 、低層共同住宅世帯率 (
0
.
6
8
) 、 1人世帯率 (
0
.
5
1
) 、青年人
0
.
3
9
) 、短大・高専・大学・大学院在学者率 (
0
.
3
2
) が正の数値を示している。これらと反対に、
口比率 (
公営の借家世帯率(ー 0
.
7
9
) 、高層共同住宅世帯率(ー0
.
5
0
) が負となり、学生や独身就業者など若い世帯
の居住状況を表しているものと思われる。そこで、第 4因子はライフサイクルのなかでの「若い 1人世帯」
ということから、 S
i
n
g
l
eL
i
f
e因子と命名する。
<第 5因 子 >
第 5凶子は、総人口 (
‑
0
.
5
2
) が負に影響を及ぼすような因子特性を持つのが特徴的である。他の特徴
0
.
7
7
) 、賃金・給料が主な世帯率 (
0.
43
) 、女子就業率 (
0.
42
) 、公務就業
としては、給与住宅世帯率 (
者キ (
0
.
3
6
) が正となっており、公務員住宅や給与住宅が存在する地域の状況を表現している。
<第 6因 子 >
現子は、農林漁業・非農林漁業就業者混合世帯率 (
0
.
7
6
) 、第 1次産業就業者率 (
0
.
7
0
) 、一戸建
第 61
0.
45
) 、建設業就業者率 (
0
.
3
9
) が正で、卸売・小売業、飲食庖就業者率(・ 0.
41
) 、高層共同住
世帯率 (
出j
;率 (
‑
0.
40
) が負というように、束京都区音1に居住する農業・漁業従事世情などの状況を示したも
宅i
のである。
‑80‑
以降の考祭では、これら 6つの凶子のうち特徴的である第 41a子までの 4同[‑について説明を行なう。
(2)居住者特性(因子得点)の状況
住者特刊:を考察する。因子代人1,
¥
(
ここでは、分析により何られた閃[‑の得点分布状況を観祭し、地域の!日f
とは、前 J
!
iで解釈した因子の影粋の強弱を示す舟標であり、その[t!子の意味合いが強い地域で、は得点が i
L
I
くなり、反対の特性を持つ地域では(氏い得点となる。
<Self‑employedvsEmployee因子得点:図表 ‑
4.4>
S
e
l
f
‑
e
m
p
l
o
y
e
dv
sEmployee因子は「自営業者」と「雇用符」の住みわけ状況を示したものである。 [
k
[子
得点の高い地域は「自営業者」の多い地域であり、 N.}.~: の低い地域は「尿用者」の多い地域をぷ現するも
のである。
日立って得点の高い地域は、
T
i束[)(を r
l
J心とした下町地区と駅周辺の尚業地区であり、住商 f
j
j
'
.用住宅地
調布や成減などの高級住宅街においても得点が高く、個人で
の状況を確認することができる。また、H:I[車l
事業を営む層や一戸建持ち家世帝が多い状況があらわれたものと推察される。また、得点の低い地域は向
切などの公営住宅や、中野、池尻など山手線から 2、 3駅西側へ離れた地域である。これ
島、子、品川区八i
1
7が比較的合まれていないようである。
らの地域は自営業世4
< Executive因子得点:図表 ‑4.5>
E
x
e
c
u
t
i
v
e1
*
I:
fは「高学歴で第 3次産業就業者の世 ;
m
;
J を表現している。
得点の高い地域はいわゆる山の手地区であり、都心を中心として武蔵野台地に扇状に拡がっている。な
かでも、杉'I引き区、世田谷区内の住宅街の得点が高い。また、葛西クリーンタウン、大川端リバーシティ、
光
カ
勺
i
‑
.l
'
1
:
1
地などの住宅地が点的分布として目立っている。このように、 E
x
e
c
u
t
i
v
e因子得点の高い地域は、
高級1+宅街や良好な環境の計画的住宅地を表現している。
図表・4.
4 Self‑employedvsEmployee因子得点
図表・4.5 Executive因子得点
4
1
a
︒
口
<YoungF
a
m
i
l
y因子得点:図表‑4.6>
YoungF
a
m
i
l
yI
E
I子は 1';夫~,jl と小さな子供」という世帯状況を表し、因子得点の高い地域は、青年層
r
と老年}汚が少なく、若い核家族 l
止'市の多い地域を表現するものである。
f
!
}
l
X分,1tiとしては、区部 j
司縁部において得点が高くなっており、公営住宅の存在する地域でも問機な状
況をぶしている。また、都心部や山手線沿線及び山手線から 2、 3駅西側へ離れた地域の得点が低くなっ
ている。このように、利便性の高い地域は Y
oungF
a
m
i
l
yI
l
t帯の居住地成ではなし、。
<S
i
n
g
l
eL
i
f
e因子得点:図表ー4.7>
S
i
n
g
l
eLi化問子は「若い l人医者;
J を表し、因子得点の高い地域は学生や独身就業者が多い地域を表現
するものである。
得点の IRJい地域は山手線の西側におよがり、 S
e
l
f
‑
e
m
p
l
o
y
e
dv
sE
m
p
l
o
y
e
e因 T得点及びYoungF
a
m
i
l
y悶子得
点のJil
リ方が低いイi
Hを示した地域において、 S
i
n
g
l
eL
if
e凶子得点が高くなっている。山手線から西側に 2、
3駅ほど離れた地域は、低層の共同住宅に代表される民営借家が多い地域であることが推察できる。
図表・4
.
7 S
i
n
g
l
eL
i
f
e因子得点
.
6 YoungF
a
m
i
l
y因子得点
図表・ 4
このような因子得点の分布状況と、経験的に知覚されていた地域イメージを比較すると、因子分析を月]
いて「街」のイメージを指標化することが可能であると考えることができる。とくに、 E
x
e
c
u
t
i
v
e因子の
得点分布は、良好な環境の住宅街分布と合致しており、居住者特性と「街」イメージとの強い相関関係を
4
.
2参照)からなる
裏付けるものとなっている。これから考えられることは、公表されている指標(図表 ‑
情報だけで、 u
.みわけ構造をかなり詳しく表現することができるということである。ここでの分析では、
手法卜ーの制限から「社会階層 Jと「住みわけ」といった因果関係についてまで論じることはできないが、
その関係追及は興味深いテーマであり、今後の研究が望まれる。
4
.
3 居住者特性による地域分類
4
.
2節では、居住者特性を表現する 4つの因子から東京都区部における地域構造を概観した。これらの
分布状況は、それぞれの特性のみを表現するものであり、各因子を総合化した分布とはなっていなし、。そ
‑82‑
こで、本節においてはこれら 4つの同子得点を総合的に判断した地域分類を行なうものとする。
米同では、はやくからマーケテイング分野において出或分類に関する調佃庁究が幅五く利用されており、
P
o
t
e
n
t
i
a
lR
a
t
i
n
gI
n
d
e
xf
o
rZipM
a
r
k
e
t
s
)c
Iu
s
t
e
rsystemによる"
地域分類に関して代表的なものに、 PRIZM (
l
i
f
e
s
t
y
l
ec
Iu
s
t
e
r"が挙げられる引。
,
)地域分類のための方法
類型化の H法としてはクラスター分析の最近隣重心ソート法を用い、変数としては前節において説明し
た第 11!5l子から第 4国子までの│刈子得点を選択した。この分析方法は定められたクラスター数において、
1
9
7
3
) 、SAS
メッシュをそれぞれのクラスターへ所属決定する反復演算法である(詳しくは Anderbarg (
1
9
9
0
) を参!!日)。
I
n
s
t
i
t
u
t
e(
2)地域のクラスタリング
(
,
)クラスターの性質
クラスターは、各因子の特徴がよく表現できるように 6つのクラスターに分類した。それぞれのクラス
4
.
8に示すとおりである(図中の n=380は380
個のメッシュがク
ターに関する因子得点の平均値は図表 ‑
ラスターに含まれることを表している)。クラスターの命名は、それぞれの悶子得点の平均値において作
点の高い因子名を取り出すことにより行なったものである。 Executive因子得点と YoungFamily因子得点
l
u
s
t
e
r
) は良好な環境の住宅街などを示し、クラスター
が高いクラスター 1 (Executive& YoungFamilyC
3 (
O
u
t
l
i
e
rC
l
u
s
t
e
r
) は性質が異質な外れ値 (
o
u
t
l
i
e
r
) 的クラスターであり、メッシュ数も 22だけとなって
l
u
s
t
e
r
) は在院業、小売業などの自営業者が多い地域を表現している。
いる。クラスター 4 (Self‑employedC
i
n
g
l
eL
i
f
eの
クラスター 5と 6は、因子得点の混在が見られる地域であり、クラスター 5は Executive と S
i
n
g
l
eL
if
eの混在地域となっている。なお、クラスター 2は特徴
混在、クラスター 6は YoungFamily と S
が明確でないため、命名を行なわなかった。
.
8 各クラスターにおける因子得点の平均値
図表・ 4
クラスタ
1
E
x
e
c
u
f
l
v
e&
Y副 司 F
a
m
i
!
yC
!
u
s
!
e
r
2
.
0
¥
.
.
‑
n=3S0
I
クラスター 2
クラスター 3
白J
t
l
i
e
r
C
l
u
s町
クラスヲー 4
SeU
.
e円相 o,
.d
C
l
u
s
l日r
n=ユ
1
2
n=:2
2
クラスター 5
E'位以!ive晶
唖
自 拍C
!
u
s
t
e
r
クラスヲ ‑ 6
YoungF
a
m
l
l
y&
S
i
r
可羽田Li!
eC
!
u
s
t
e
r
n
:
:
:S~O
口 =7
16
s
" u
n=3~7
l雪
1
.1
1
.0
。
。
‑
1
.0
圃 Sdf‑
e
mployed¥s白官plOYo
.
!e 因子揮出
‑
2
.
0
口""叫'"因子持点
図 Ynun
.
sFamily肉 子 得 占
1
.
0
if
<,悶子得点
園 SingJeL
-~.O
3
) この地域分頬は、米匡)36,
(
X
X
JのZ
i
pc
o
d
e (郵便番号)と C
e
n
s
u
sd
a
t
a及 び Conおumer刊 r
v
e
y
sをマッチングさせて分
析し、米国全土を 40↑閣のクラスターに分頬したものである。これは本分析と同じく !~Ht 者可手↑生による地成分類であり、
所得データが得られているため、階照区分をより細かく設定してし る。また、 Z
i
pc
o
d
e (郵便番号)単位で分類され
3
e
n
e
r
a
lM
o
t
o
r
sやA
m
e
r
i
c
a
nE
x
p
r
e
s
sなどの顧客が、この地域分類をマーケテイングに利用しているとい
ているため、 G
う(クラスターの内容等については、 Wei日 (1
9
8
9
) を参照)。
nJ
00
(2)クラスターの分布状況 このような地域の類型化から、より簡単に居住者特性による地域構造がみえてくることになる(凶表 4 . 9参J!日:当日はカラーでJ 芯示する)。山の手地区は、 Executive& YoungFamilyC l u s t e r (クラスター 1) ・ とExecutive& S i g l eL i f eC l u s t e r (クラスター 5)からなり、両者の違いは低層アパートが存在する地域で あれば、 S i g l eL i f e& E x e c u t i v eC l u s t e r (クラスター 5)であり、主に一戸建住宅からなる住宅地であれば、 E x e c u t i v e& YoungFamilyC l u s t e r (クラスター 1)となるようである。 ドI I T [地区は、 S e l f ‑ e m p l o y e dC l u s t e r (クラスター 4)と YoungFamily& S i n g l eL if eC l u s t e r (クラスター 6)からなり、位向併用住宅地が S e l f ‑ e m p l o y e dC l u s t e r (クラスター 4)となる。クラスター 5と 6は E x e c u t i v eI t : ![‑の影響により区分され たものである。このように、本分煩から「山の手一下町」という経験的に言われていた地域区分どおりの i J i l fJ H者一白'計業主 j といった居住者特性による地域構造を判別することができる。なお、因子を総合化 して分析しているため、例目!Jの同子 1~Þ 点分布ほど極端な色分けとはなっていなし当。例えば、下町地区であっ ても Executive& YoungFamilyC l u s t e r (クラスター 1)に属する地域がみられる。 ここでの地域分類を用いることにより、商品の購買層を絞り、集中的に宣伝を行なうことが可能となる など、地域マーケテイングへの適J1Jが期待される。 4 . 9 クラスタ一分析による地域の類型化 図表 ‑ 園田タフノ、ター l E量クフスター 2 . ク ラ λ7‑:; . ク フ λ f ‑. 1 匝函クラ 7 .タ‑:i Eコクラスター 6 84‑
4. 4 研究の総括と展望 本分析は定性的な 1 1 mのイメージを、定量的分析により指標化して衣現することを日的として実施し 「山の手一下 I I I JJに代表される都民部のイメ . 2節及び4 . 3節において分析した結呆では、 たものである。 4 ージを指傾化することに成功した。 これまで、地成を判断するには不動産業者などの経験的な知識に依存しなければならなかったが、 SAS m とGISを し3ることにより、統計分析から得た地域情報を一括的に提供することが可能になるものと思わ 刷、地域計 [ n J jをはじめとして、各種の地域マーケテイングなどへの利用が考えら れる。すなわち、都市計 i れる。 1)他の地域における適用例 l 局子分析はその性質仁、対象とする地域の広さによって分析結果が異なってくる。例えば、分析対象が 市部までの場合には都心部と周辺部の差異が強調され、町村部までを対象として拡げた場合には都市部と 1然異なる分析結果が得られるわ 農村部の特徴が抽出されることになる。つまり、対象地域が異なれば、 2 けである。 研究の適用例として、他の対象地域による分析結果について紹介する(当日提示する)。 ( 1)東京雇用圏における分析例 (2)横浜市における分析例 2)研究の発展性 ( 1)町丁目単位での分析 本分析では分析・単位としてメッシュを採用したが、実際の「街」の状 i JG を表すには U I J T目単位での分析 及び表示が望ましし、。なぜならば、 「街」イメージが変化するのは、道路、鉄道などの境界においてであ r r日であるからである。 り、これらを境界とするのは問 ( 2)実地調査との比較 本分析は集計されたデータを加工したものに過ぎず、実際の街並みについて調査したものではない。そ こで、いくつかの地域をサンプリングしてそれらの地域における街並みの掠点を行ない、因子得点との比 較を実施することが考えられる。また、 1持」のイメージをアンケート亦l 貸し、その知覚しているイメー ジと閃子得点を比較することも興味深い。 (3) 従業地特性の分析 水分析は居住地に着目したものであったが、用いるデータセットを変更することによって従業地として の特性を測ることも可能で、ある。例えば、オフィス街や工場地域における業種構成や事業所規模などのデ ータを用いることにより、オフィス街などの特性を表現することができるのではないだろうか。 従業地と居住地という 2つの性質をとりいれて、近畿闘の地域構造を分析した調査に、国土庁, (株) 住信基礎研究所 (1993) がある。 ( 4)他の地理情報との比較とデータセットの拡張 つぎのような地理情報との比較を行なうとともに、それらの情報を加えて、多機な情報を含んだデータ セットから再度分析を行なう。 ‑住宅地地価、家賃分布との比較 ‑都 r l i)i~ 盤設備、土地利用現況及び転換速度との比較 この種の既往研究としては、 i ! I J島他 (1991) が、土地利用情報を用いて東京都都心音11&びマンハッタン における地域分類を実施している。 以上、本分析を発展性について考祭した。しかし、本分析の最大の活 j 司法は、得られた分析結果を 1 1 1 ‑ 1別 の地域分析における基礎的情報として利用することにあるのは言うまでもない。 QU RU
参考文献 A n d e r b a r g, M.R.,( 1 9 7 3 )C l u s t e rA n a l y s i sf o rA p p l i c a t i o n s,AcademicP r e s sI n c 市Jt j文 ‑., ( 1 9 7 8 ) 社会・経済的地域特性と地区開通勤人口流動からみた名市屋大都市閣の地域構造, 地理学評論, Vo. 15 1,No.7,pp5 4 5 ‑ 5 6 3 . 勝瓦猛,大坊前夫,樋口忠成., ( 1 9 8 3 ) 因子分析法による山形県 44市町村類型に関する研究,山形大学紀 要(社会科学) ,Vo1 . I3,Noム p p . 1 8 3 ‑ 2 2 9 . 国土庁大都市 i 場整備局, (株)住信法礎研究所., ( 1 9 9 3 ) I 平成 4年 度 近畿閣の圏域構造に関する調査」 M加 l y, B.F. J . , ( 1 9 8 6 )M u l t i v a r i a t eS t a t i s t i c a lMethods,Chapmana n dH a l lL t d . 村LlI 紡司., ( 1 9 9 0 ) I 地域分析 地域の見方・読み方・調べ方J,古今書院. 西原純,大川緑., ( 1 9 8 6 ) 長崎市における因子生態研究,長崎大学教育学部社会科学論, 35号 ,p p . 2 5 ‑ 4 0 . 1 中島章浩,大西隆,栗田治., ( 1 9 9 1 ) マンハッタンの都市構造の分析, 1 9 9 1年度第 26回日本都市計画学会学 o.26‑B,pp. 48ト4 8 6 . 術研究論集, N SASI n s t i t u t e .,( 1 9 9 0 ) SAS/STATU s e r ' sGuide,V e r s i o n6,SASI n s u t i t u t eI n c . 上野健一., ( 1 9 8 1 ) 大正中期における旧東京市の居住地域構造 因子生態学研究 一居住人口の社会経済的特性に関する ,人文地理, Vo I .3 3,N o . 5,p p .ト2 0 . Weiss, M, J .,( 1 9 8 9 ) Thec l u s t e r i n go fAmereica,Happer& Row, P u b l i s h e r s,I n c 山I IIi待之,倍、│尚一幸., ( 1 9 8 3 ) 戦後の日本における都市化の分析 一「標準大都市雇用閤」によるアプ ローチー,地域学研究, Vo1 . I4,p p . 1 9 9 ‑ 2 1 7 . 山口岳志, ( 1 9 7 6 ) 札幌市の社会地域分析 因子生態学的研究一,東京大学教養学部人文科学紀要, VoI .6 2,人丈地理学 V,p p . 8 3 ‑ 1 0 5 . 柳 井H 育夫,繁桝算男,前川良一,市川雅教., ( 1 9 9 0 ) I 因子分析 その理論と応用一 J,朝倉書庖. 若林芳樹., ( 1 9 8 7 ) 時間・空間における広島都市圏の因子生態分析,地理学評論, VoI .60,N o.7, pp. 43 1・4 5 4 . 参考資料 J (財)日本統計協会 (1988) 平成 2年国勢調査集計J (財)日本統計協会 「地域メッシユ統計ガイド一利用のための手引き 「データファイル説明書 地域メッシユ統計 「数似地│立l ユーザーズガイド J (l!ナ)日本地図センター ( 1 9 9 2 ) 1 9 9 4 ) IGISによる空間計画へのアプローチ J (株)住信基健研究所 ( b ハ n o
日本 S A Sユーザー会 (SUG I‑J) スキャンパネルデータによるシェア予測 森村英典 理学部数物科学科 日本女子大学 AP r e d i c t i o no fP r o d u c t sS h a r eb yU s i n go fS c a n p a n n e lD a t a H I D E N O R IM O R I M U R A D e p a r t m e n to fM a t h e m a t i c a la n dP h y s i c a lS c i e n c e s J a p a nW o m e n 'sU n i v e r s i t y 要旨 スキャンパネルデータを用いて、ある商品群のシェア予測を行った。予測モデ ルを構築するため、データの特性を細かく分析したが、その際、データハンドリ ングに始まり、散布図、回帰直線の観察、判別分析等に SASを利用した。 キーワード: 商品のシェア予測 SASデータセット SAS/INSIGHソフトウェア SAS/STATソフトウェア ‑87‑
1.はじめに 日本オペレーションズ・リサーチ学会のマーケッティングサイエンス研究町 会では、 1 9 9 4年度と 9 5年度の 2回に亘って、あるスーパーマーケットで取得さ れたスキャンパネルデータの一部を提供して貰い、それを利用して、ある製品 群の販売量のシェア予測をテーマとするコンペを実施した。コンペとしては予 測精度を競うという形で行われたが、それよりも、この種のデータから消費者 行動を考慮した予測モデルを構築するための様々な考え方を募るという点に力 点があったと思う。 講演者は、学部学生の卒業研究のテーマとしてこの予測作業を課すことを考 え、学生主体のチームとしてこのコンペに参加した。そして、なにがしかの予 測作業を行ったのであるが、そのデータ解析に SASを利用したご縁で、ここ でその大略をご報告させていただく。 予測する販売シェアの対象商品は、 9 4年度はインスタントコーヒ一、 9 5年度 は版売開始後半年程度の「新製品」であった。後者の場合は、食品や雑貨を含 んでいる。 2 . インスタントコーヒーのシェア予測 2 . 1 予測の目標と与えられたデータの内容 9 4年度の目標は、対象とするインスタントコーヒーの 1 0銘柄について、その シェアを予測することであった。もちろん、与えられたデータが、あるスーパ ーマーケットに登録されたスキャンパネルの購入実績とその日の Sp状況に限 られているため、全国的なコーヒーのシェアを予測することを意図するもので はない。ターゲットとされる実績値もそのスーパーにおける値である。 この 1 0銘柄に「その他」を加えた 1 1の「銘柄」について、 9 4年の 1月から 8 月までの期間における販売量シェアを予測するのが課題である。各チームの算 出した値と、その期間の実績値とを比較する。このコンべでは、タイルの不一 致係数によってその車離度を算出し、その値の小ささを競うと定められた。 3年 l 月l 日から 1 2月 3 1日までのスキャンパネルのイ 与えられたデータには、 9 ンスタントコーヒ一時入実績、つまり購入日と銘柄、数量に、その日のその屈 での SP (販売促進政策)を示す、当該銘柄の値引率に加え、それをエンドに 置いたか否か、当日その商品を宣伝するちらしが配布されていたか否か、が付 与されていた。 8 8
エンドというのは、スーパーの陳列台の端のことで、ここは人目に着きやす いため、ここに置くと売り上げが増加すると言われている。また、言うまでも なく、スーパーへはちらしに書かれた商品を目当てに客が行くことも多いであ ろうから、この二つは、 SP戦略として重要である、と信じられている。もち ろん、購入数に直接関係するのは値引きの程度と考えられているから、値引率 もしくは価格掛け率という指標が重要であろう。そのデータはここの対象とな 0銘柄については、その値が日毎に付けられていた。 る1 これらのデータは、 9 3年の 1年間に、 3回以上インスタントコーヒーをこの 9 6世帯で、そ 庖で購入した人に限っており、与えられたスキャンパネルの数は 7 6 2 4であった。このデータが、テキス れらの総購買回数に当たるレコード数は 5 トファイルの形式で、 1枚のフロッビーディスクに納められていた。 従って、まずこのデータを SASのデータとして読み込む必要がある。その 後で、解析のために、いくつかの変数を導入した。その一つに曜日の付与があ る。この種の解析では、曜日変動を考慮することも必要であると考えたからで ある。そのような作業に対しては SASのコマンドは有効で、比較的容易に行 えた。 2 . 2 価格掛け率と価格入れ換え日 我々は、解析に当たって、データをよく見て、そこから何らかの情報を引き 出すことを基本的な態度としたいので、出来るだけ直感に訴えやすいような図 を書くようにした。 価格掛け率についても、まずはその時系列的変動を図にして、各銘柄ごとに それを図示して、相互の比較を行った。その結果、いくつかの特徴に気がつい 5 0 g ) の価格掛け率の変化を示す。 た。図 1に、銘柄 1 (ゴールドブレンドの 1 1 .0 価 格 揖 け 率 0 . 5 2/16 5 / 2 7 9 / 4 図 1 :価格掛け率の時間的変動(銘柄 1 ) 89‑ 1 2 / 1 3
各銘柄に対する価格掛け率は、 1 日から 2~3 日しかある値を持続しない場 合もあるが、通常は 1ヶ月程度の期間、ある値のまま推移することが多い。また、 銘柄間にはっきりした関連を持ちながら価格掛け率が変動している様子も見て 5 0 g(銘柄 1)と l O O g(銘柄 2)とで 取れる。たとえば、ゴールドブレンドの 1 は、一方が安売りをしている時期に、他方は定価販売という傾向がはっきりと 見られるのである。 このような各銘柄についての価格掛け率の変動を調べるうちに、 「価格入れ 換え日」とでも称すべき特定の日がほぼ月 l回程度の割合で生じており、この 日に数銘柄の価格掛け率が一斉に変えられていることに気がついた。従って、 この日の聞を「月」とみなして解析を進めることが適当である、との知見が得 られた。 これらは、販売政策という面から見れば、極めて当然、の事態であるけれども、 そのような「人工的な」あるいは「管理的な」要因を無視して解析を進めるこ とは、かなりの危険を伴うことであろう。現場的な予測作業を行う場合には、 あらかじめそのような点についてヒヤリングを行っておくことが適切であるよ うに思われる。 2. 3 エンドの影響 ちらしが出されている日は、ある銘柄のいわば「激安日」に当たるので、当 然のことながら、その銘柄の販売量は多くなっている。しかし、これを価格の ためと見るか、ちらしのためと見るか、その決め手を見つけられるほどのデー タ量は無いので、確認は出来ていない。 40 案 採 • 1期 . . 3期 日 4期 合 6期 恩 T ‑ ‑ 斗 ・ ~ 限 1 0 7期 9 1 1 711 411 611 8 1 1 1 0 1 1 1 11 1 2 1 1 1 31 図2 :エンドに置いた日の売れ行き ‑90
エンドにある銘柄が置かれている時も、価格掛け率が低い時が多いので、エ ンドだけの効果と見ることもやや困難である。しかし、エンドに置かれている 期間でも、その間ずっとコンスタントに売れているわけではなく、むしろ、第 1日目に購買が集中しているという特徴が見られた。図 2にその例を示すが、 この事実をどのように解釈すべきかははっきりしない。しかし、消費者行動と しては注目してよい事柄の 1つではないであろうか。 その他、天候と気温のデータともつき合わせてみたが、半ば予想される通り、 ほとんど購買量との間に関連は見られなかった。 2. 4. パネル毎の特徴 「銘柄 5 J (2カップ)、 グラム〉は、 「銘柄 6J (カプチーノ)および「銘柄 1 0 J ( 3 0 「特殊銘柄」と総称するが、これらを買う人は、その特殊な目的 に合致して購買をするためプランド・ロイヤリティが極めて高く、価格の如何 に拘わらず、その銘柄を購買するという特性を持つことが予想される。事実、 銘柄 5の常時購買者は 1人、銘柄 6のそれは 5人という程度の少数ではあるが、 これらの銘柄は極めて少量が 1単位であるため、当然購買数は多くなり、ごく 少数の購買パネルが全購買数の大半を購入していることが判明した。 ⑫ ⑩ 図3 :パネルのクラス分け 川崎間制⁝川町内幻引回日目指仰山川市 ⑨ なし S ' S ①②③④⑤⑤⑦⑨⑨⑪⑪⑫計 日 ロイヤリティ 4Eム QU
この人々を除外して、全パネルを購入数量によって 5クラスに分類し、それ ぞれのクラスに入るパネルを個々に見る。そして、価格の安い時に購入してい るか、比較的価格に無頓着に購入しているかで、概略の色分けをしたところ、 購入量の多い層ほどブランド・ロイヤリティは高い傾向があることが見られた。 更に、各ノ fネルの特徴を明確にするようなクラス分けとして、 ドライ派」、 「フリーズ・ 「スプレー・ドライ(パウダ一〉派」そして「特殊銘柄派」を核 として、それらの中間層を適宜定義しながら分類することを試みた。その結果 を図 3に示すが、 2 0 0世帯くらいは「銘柄 l lJの存在がかなり邪魔をしている。 しかし、いずれにしても、ある程度のブランド・ロイヤリティはほとんどす べてのパネルが持っており、想起集合の中で価格の安い品を購入するという消 費者行動が一般的であると解釈されそうである。 2. 5. 半IJ別分析と購買予測 上記の分類によるクラスの中の各パネルが、それぞれの購買時において、実 際にどの銘柄を購入するかを予測するために、一般的な手法として、判別関数 の利用が考えられる。 そこで、たとえば 1 ~g 月のデータに基づいて判別関数の係数を定め、 10~12 月のデータについて判別を行ったときの誤答率と、それらの時期において、最 も安い銘柄を購入するとみなした場合の誤答率とを比較して、どちらの方法が より正確に、購入銘柄を予測しているかを調べた。 その結果の一例を表 1に示すが、双方とも、個々の購入機会に何を買ったか という点では、かなりの誤答率となっているものの、判別関数による方が正答 が多い。 表1 : グ ル ー プ G の購買予測の比較 ( 9 3年度のデータ) プフンド 1 2 3 4 5 6 7 8 9 1 1 誤答率 実績値 判別関数予測 安値購買予測 1 0 1 7 3 3 6 1 5 5 1 0 5 5 7 1 2 2 。 9 1 4 2 6 2 。 。 。 。 。 。 。 2 3 0 . 3 7 3 ‑92‑ 。 。 。 。 。 。 。 1 8 6 0 . 5 1 6
この結果では、その時点で最も安い商品を買うという消費者が半分にも達し ていない。パネルのクラス分けが正確ではなかったという虞がないわけではな いが、それよりも、消費者のブランド志向が、案外高いと見るべきではないで あろうか。 この判別分析には、 SAS/STATを利用した。判別関数の変数としては、 各銘柄別の価格掛け率、エンドの有無、ちらしの有無、過去の購買実績を用い 4変数になる。特に、最後の購買実績を入れたことで正答率は上 たので、総計 4 がった。 2. 6. シェア予測 コンペのテーマは、インスタン卜コーヒーの各銘柄のシェア予測である。し かし、与えられたデータには、他のスーパーなどでの価格やちらしの有無など が示されていないし、当該庖舗の販売政策も不明であるので、このデータだけ から、 1 9 9 4年度のシェアを予測することに、どれほどの根拠があるのか、若干 の疑問がないわけではない。更に、ある銘柄が全く売れていない期間があり、 果たして実際にその商品が置かれていたのか、また価格掛け率 lという表示は、 現実のデータなのかというような、いくつかのデータに対する疑問も引きずっ ている。その上、 1 J として「その他 Jの銘柄が集められているが、こ 「銘柄 1 1Jの販売量が無視できないほど大きいことも、この分析とそれに基 の「銘柄 1 づくシェア予測に不明確さを持ち込んでしまう。 これらの難点も考慮、しながら、更にこの両年度で・パネル自体は変化しておら ず、しかも対象商品がインスタン卜コーヒーというかなり定常的な需要を担っ た食品であることも考慮すると、あまり細かな手段を弄した予測手法は、かえ って間違った結果をもたらすことも予想される。むしろ、 1 9 9 3年のシェア実績 をそのまま 1 9 9 4年のシェアとする、というような極めて粗い予測が、かえって よいのかもしれない。しかし、それではつまらないので、ここでは、敢えて細 かい予測、つまり各パネルの特徴を最大限予測に利用するという方法を取って みることにする。つまり、層別したパネルの購買銘柄を、判別関数によって予 測することを積み上げた方式でシェアを予測した結果は、表 2に示す通りであ る 。 4年の 8ヶ月分のシェアの実績と判別関数によ そこでは、各銘柄ごとに 9 る予測値に、前年度シェアそのものを予測値と見る場合の 3つの数字を示して いる。タイルの不一致係数で判断する限りは、前年度そのものという方が結果 的には優れている。 ηJ QU
表 2 : 94年 1 ‑ ‑ ‑ 7月のシェア予測 プランド 実績値 判別関数予測 9 3年度シェア 1 4 . 9 1 4 . 2 1 1 4 . 8 .5 1 4 . 8 11 .8 2 11 11 .0 1 0 . 0 1 0 . 6 3 4 9 . 2 1 0 . 3 6 . 3 0 . 2 0 . 2 0 . 5 5 6 8 . 6 9 . 7 8 . 3 7 4 . 3 4 . 5 5 . 3 4 3 . 6 4. 2 . 5 8 9 3 . 1 5. 4 5 . 1 1 .4 2 . 6 4 . 3 1 0 .9 2 4 . 8 2 9 . 6 31 1 1 不 致係数 0 . 1 1 6 0 . 0 5 1 3 . 新製品のシェア予測 3 . 1 予測の目標と与えられたデータの内容 9 5年度も前年度に引き続き、コンペが催され、われわれも前年同様の形で参 加した。このときのテーマは、新製品の販売量シェア予測である。 与えられたデータには 2種類ある。第 lは、モデル構築の研究用として、あ 3 ' "9 4年 発 売 の 新 製 品 (6商品) 1年分のスキャン るスーパー 4庖舗における 9 パネル・データであり、第 2は予測コンペの対象となる 9 5年春発売の新製品 (5商品〉の発売後 1 3週間のデータである。 つまり、第 lの 6商品 l年分のデータを解析して、予測モデルを構築した後、 第 2の 1 3週分(これを以後第 l期と称する〉のデータによって、更に 1 3週の空 7週からの 1 3週分(これを以後第 3期と称する〉について、その購入 白後の第 2 量のカテゴリー内シェアを製品別に予測することがコンペの課題である。 ここで、カテゴリーと称するのは、その商品が属する商品群であって、それ ぞれ次のように定められている。 [モデル構築用のデータ] ( )内にその属するカテゴリーを示す。 1.カゴメ キャッロットジュース 100 2 . マキシム カフェテリア 3 . ネッスル カプチーノ 4. サントリー c cレモン 5 . 花王 スムーザ一 (野菜ジュース〉 (インスタントコーヒー〉 (インスタントコーヒー〉 (炭酸飲料) (仕上げ剤) ‑94一
6. 日水 焼きおにぎり (冷凍調理品〉 [予測対象のデータ] ( )内にその属するカテゴリーを示す。 青の洞窟 (パスタソース〕 2 . 味わいカルピス (乳酸飲料) 3 . オーガニック 4 . ナイーブ (シャンプー〉 (シャンプー) 5 . (ビール&H O P 'S ) ドラフティー し、ずれのデータも、関東地区の某大手スーパーマーケットの 4庖舗で取られ 0 0 0世帯であった。また、与えられ たもので、全庖舗で‑の対象パネル数は合計 1 たスキャンパネルデータには、これらカテゴリーの商品群の商品をノ fネルが購 入するたびに、当該商品か他銘柄の商品かのいずれかであることの記録ととも に、ほぼ、 9 4年度のインスタントコーヒーの場合と同様、 庖/パネルナンバー/購入年月日/導入後日数/対象ブランド購入点数 /他ブランド購入点数/値引率/エンド有無/リーフ有無 が記録されていた。ここで、導入後日数とは、各庖舗ごとに、対象ブランドが 初めて売れてからの日数を示している。 3 . 2 不変量の発見 この予測作業の目標は、売り出してから 3ヶ月ほどのデータを頼りに、その 3ヶ月後からの売り上げがどうなっているかを予測しようというのであるから、 僅かの期間における売り上げデータから、将来伸びる商品か否かの判定をつけ なければならない。それは当然当該商品の性格、性能、人気、価格といったも のだけでなく、競合する商品のそれらにも影響するから、全商品を一括りにし たモデルが出来るのか否かさえ自明ではない。 当然のことかもしれないが、このような場合には、頭の中で様々なモデルを 作ってみても、実際のデータを入れでみると、なかなか思うような結論には達 しないことが多い。この作業も全くそのような例の典型的なものであった。 そもそも、予測とは、何らかの定常的なつまり時間的に不変な量を発見し、 それに適当なデータを入れることによって、将来の値を算出するものである。 今回のデータは、当該銘柄の購入機会がそもそも少なく、他の同じカテゴリー の商品に埋没しているものが多かったから、 l個 2佃という少数の購買が、か なりの変動と感じてしまうほどであり、当然の事ながら、安定した量を見つけ だすことは難しかった。 ‑95
我々は、まずは時系列データを図示して観察することから始めたが、週間の 購入量といっても庖によっては Oに近い商品もあるし、他方には、 3 0 .4 0とい うような量を一度に購入するものもいる状況であり、平滑化をしなければ何も 分からないという感じがした。 それで、 3週程度の移動平均もとってみたが、この程度ではあまり平滑化の 効果が現れない。といってこれ以上長い期間の移動平均は、 1 3週しかないデー タの特性上からは好ましくないと判断したためこの方法による平滑化はあきら めた。そして、例外的にいくつかの場合に成功したのは累積による平滑化であ る。しかし、 SASには、簡単に累積を取って図示するという機能が見つから なかったので、一々プログラムを組んだが、これは是非備えて欲しい機能であ ると感じている。 また、各 SP変数などの売り上げに及ぼす影響を見るため、それらの相関を 調べたが、ほとんど相関は見られなかった。これは、各庖や各パネルごとに解 析を実施するほどデータ数がないので、週間の購入数や SP変数を、少なくと も庖ごとに集計したり平均したりした値を用いているためでもあるかもしれな いが、それにしても全く無相関と言って良いほどの散らばりを見せており、ど れか特定の変数聞の相聞を細かく調べる元気もでない状況であった。 そこで、この方向での予測モデル構築はあきらめ、他の不変量の発見に努め た。その結果、各商品の購買間隔が指数分布に従うことと、新規購入者の累積 数が時間的にベキ乗タイプの関数として表現できることとが、かなり粗い精度 ながら認められた。前者は片対数紙上で、後者は両対数紙上で直線になること で認識されるわけであるが、これらは SAS/INSIGHT により、モニタ ー上で簡単に見られるので、いろいろのケースを確かめるのに好都合であった。 更に、各購買機会ごとの各パネルあたり購入個数は、各商品ごとにほぼ一定 であることも認められた。 この結果、第 3期の各商品の購買数を、 第 3期の購買者数] x [平均購入回数] [ 第 3期の購買数] = [ x [平均購入数] として算出することとした。これら各項は上で言及された「不変量」を基に何 とか計算できるものである。この計算を、当該銘柄と当該カテゴリーとで行い、 両者の比からシェアを計算しようというのである。それぞれの計算にかなりの 誤差が覚倍されるので、結果的にどれほど正確な値になるか心許ないが、少な くとも論理的には承服できるスキームであろうと考えている。 ρhu n u υ
ところで、 [ 第 3期の購買者数]の算出のための不変量は、累積新規参入者 の評価関数である。累積新規参入者というのは、各週ごとに、はじめて当該銘 柄に関心を持ち、それを購入するという行動に参加した人の累積数である。こ の中には、 1度はかつて見たもののその後 2度とその商品に手を出さない人も 含まれている。この人々を「脱落者」と呼び、それを除外すれば[第 3期の購 買者数]として適切な数が得られることが、モデル構築用のデータから窺われ ていた。 このため、脱落者の推定が鍵になったが、これを第 1期のデータから推定す る訳には行かない。まだその時点、では、将来絶対に買わなし、かどうかが不明で あるからである。そこで、購入間隔が指数分布に従うという前提が満たされる ことを根拠として、脱落者の推定方法を考案した。次項で、それについて解説 する。 3 . 3 新製品のシェア予測 上述のように、脱落者とは、 1回購入して後は購入しなくなった人と考えて いるが、このような人以外にも l 期中には l 回しか購入していない人も存在して いる。つまり第 2 期以降に再び購入している人である。脱落者は第 2 期以降も購 入していない人達であるが、新規参入者の中には「一定の割合で」このような 脱落者がいるものと仮定することが、この推定法の根拠である。 つまり、この割合を l 回限りの購入者数の中から見つけようとするのである。 脱落しない人は、今後も当該プランド(または他ブランド)をある間隔で購 入しようとしている人と考え、この人達を仮に「購入意欲者」と呼ぶことにす る 。 すなわち、脱落者数を d,購入意欲者数を Nとするとき、 N本 P(l期中の購入回数=1)+d ( 3 .1 ) が実際の期間中 l回しか購入していないパネル数全員であると考えるのである。 Nを予測するためには、購買間隔が指数分布に従うことから、購入機会はポ アソン過程と見なすことが出来、それから PC1期中の購入回数=k)をポアソン 分布として計算することが出来ることを利用して、 N本 PC1期中の購入回数=k) ( 3 . 2 ) の値を実際の k回購入意欲者数に等しいと置くことから求めることを考えた。 但し、 kは平均購入回数に近い値で N P(k)の値がある程度大きいものについ て考える。これは、実際のデータは、当然、かなりの幅で偶然、変動をしている ヴ ‑ Qd
から、ある程度の大きさの数でないと、その誤差があまりにも大きくなると考 えられるためである。 その場合でも平均購入回数のまわりで複数の kについて考えることになるか り、 このように求めた複数の Nを更に平均して Nを求める。この値を ( 3 .1 )に代入し て dを計算する。 このようにして求めた d/Nが全体の購入者数の中の脱落者の割合である。 し、て累積新規参入者に これで脱落者の割合が求まったので、この値を lからヲ I 掛ければ、第 3期の購入意欲者数すなわち[第 3期の購買者数]が求まる。 ところで、累積新規参入者数は、正確には次のようにして算出する。第 t週 に初めて購入した人の数を順次累積し、それと時間との両者の対数をとって打 点すると、図 3 のようになる。この例では第 3 期までつまり 3 9週までを打点した が、およそ直線に乗っていることがわかる。特に第 l 期の分に注目しても同一直 線上に乗っている。このことより第 l 期のデータから第 3 期の新規参入者数を求 めても不自然ではないであろう。つまり、 y切片を a,傾きを bとすると、新規 参入者 yは 、 y=eaxb (x:t週 〉 ( 3 . 3 ) として計算することができる。 ﹁ 4 t t 田1 1 マキシム かくして、我々の計算は、予測したい当該銘柄ごとに、その累積新規参入者 3 . 3 ) によって求め、それに脱落者を除くための「残存率」を掛けて、 を ( [ 第 3期の購買者数]をまず計算する。 [平均購入回数]は、今脱落者数を推定するために用いたポアソン分布を用 3週間の平均値に他ならないから、容易に求めら いれば、その期間中すなわち 1 叫 n o nυ
れる。更に、各購買機会ごとの[平均購入数]は既に第 1期分のデータから求 められているので、それらを[第 3期の購買者数]に乗ずることによって、販 売量が予測できる。この操作を当該カテゴリーについても行い、シェアを算出 する。このようなけし、さんを行った結果と、コンペ終了時に明かされた実績値 とを次の表に併記する。 予測値 正解 青の洞窟 7 . 3 1 .3 5 味b いカルピス 5 0 .5 2.6 22.6 1 2 .8 35.37 3 .6 4 オーガニック ナイープ ドフファィ 1L 9 6 4 . まとめと謝辞 以上の 2回に亘るスキャンパネルデータの分析を通して、消費者行動という ものは、かなり気まぐれで、その結果として生ずる販売量のシェアを予測する という作業は、相当の誤差を覚悟しなければならない、ということを実感した。 しかし、その中にも、ある程度の規則性は見つかるので、全くお手上げと言う ほどのものでもないようである。ただ、どのような場合にはこの種の予測手法 が適当である、という程度に予測モデルを明確にするためには、もっと多くの 試みがなされなければならない。そして、まずは、データそのものを解析する という段階での作業が必要であろう。そのような作業を通して、データそのも のの取り方にも一層の工夫が必要になるのではなかろうか。 こういった作業を積み重ねるための道具として、 S A Sに代表される統計ソ フ卜の役割は大きい。ここで報告した予測作業においては、もし S A Sなどが 使用できなかったとしたら、おそらく全く手が着かなかったであろう。特に、 散布図や回帰直線をモニター上ですぐに見ることが出来、異常値を外して観察 することが容易な機能は、この種の解析には欠かせない。 終わりに、本研究の実行に際し、 S A Sについての細かい指導をして下さっ た東京三菱銀行の青沼君明氏に、深甚な謝意を表する。同氏のご指導、ご援助 がなければ、この研究は遂行できなかった。 ‑99一
日本 S A Sユーザー会 (SUG I‑J) マーケティングのための統計解析例題集 奥山真一郎 株 式 会 社 SASイ ンステイ子ュートシ.ヤハ。ンコンサルティンゲセウション Exampleso fS t a t i s t i c a lA n a l y s i sf o rM a r k e t i n gScienceU s i n gt h eSASSystem S h i n ' i c h i r oOkuyama SASI n s t i t u t eJapanL td . C o n s u l t i n gS e c t i o n I n u iB l d g .K a c h i d o k i8 出 F l o o r,1 ‑ 1 3 ‑ 1K a c h i d o k i,Chuo‑ku,Tokyo104 要旨 マーケティングで活用されている統計解析を SASシステムで、実行するには、どのプロシジャをど のように指定すればよいのかわからないことが多々ある。そこで本稿は、統計手法とプロシジャ の対応表や例題を通じて SAS システムによるマーケティングサイエンスのためのヒントを提供す ることを試みた。 キーワード: マーケティング SAS/STAT多変量解析マーケティングサイエンス はじめに 本稿で扱う統計手法は、大きく 2つのグループに分けることができる。 1つめのグループは、価 格やブランドとしりた製品の属性が、顧客の好みや購買行動にどのように関わっているかを調べ るものである。これらの手法には、「コンジョイント分析」や i D i s c r e t eChoice分析」などがあげられ る。また、もう 1つのグループは、総称して知覚マッピング( p e r c e p t u a lm a p p i n g )と呼ばれるもので、 商品に対する顧客の選好や選好の遣いを表示する図を作成するものである。これらの手法には、 i多次元選好分析 (MDPREF)Ji多次元尺度構成法 (MDS)Jなどがある。 「対応分析 J ここで、本稿で扱う統計手法とそのためのプロシジャの対応を表 1にまとめる。 1 0 1
表 1 マーケティングのための統計手法とプロシジャの対応 解析手法 使用するプロシジャ(プロダクト名) コンジョイント分析 TRANSREG (SAS/STAT) 対応分析 CORRESP (SAS/STAT) 多次元選好分析 (MDPREF) PRINQUAL (SAS/STAT) 多次元尺度構成法 (MDS) MDS (SAS/STAT) 各種知覚マッピング・マーケティンググラフ PLOTIT マクロ (Base SAS,SAS/GRAPH) 以下の各項では、それぞれの手法を、「手法の紹介 Jrデータの紹介 JrSASプログラム例 Jr出 力と解釈 Jr更なる理解のために」の 5項目よりまとめる。 例題1 .コンジョイント分析 .手法の説明 コンジョイント分析は、製品の選好分析や消費者選択のシミュレーションなどに用いられる統計 手法である。コンジョイント分析により、重要な製品属性、また最も好まれる属性の組み合わせな どを発見することができる。新製品開発、既存製品のコンセプトおよびポジショニングの見直し、 価格変更の効果測定、マーケットシエアシミュレーションなどに適用されている。 ‑データの紹介 出力 1 自動車のタイヤに関する選好データ O B S B R A N D C H A R G E S P R I C EM I L E A G ER A N K 1R A N K 2R A N K 3R A N K 4R A N K 5R A N K 6R A N K 7A V G R A N K 各被験者の評価順位 平均順位 プランド名 装 着 費 価 格 耐久性 1F i r e s t o n e $ 7 . 5 0 $ 4 5 . 0 0 4 0 0 0 0 2F i r e s t o n e $ 0 . 0 0 $ 7 5 . 0 0 4 0 0 0 0 3F i r e s t o n e $ 0 . 0 0 $ 6 0 . 0 0 6 0 0 0 0 4F i r e s t o n e $ 7 . 5 0 $ 7 5 . 0 0 6 0 0 0 0 5F i r e s t o n e $ 0 . 0 0 $ 4 5 . 0 0 8 0 0 0 0 6F i r e s t o n e $ 7 . 5 0 $ 6 0 . 0 0 8 0 0 0 0 7G o o d y e a r $ 0 . 0 0 $ 6 0 . 0 0 4 0 0 0 0 8G o o d y e a r $ 7 . 5 0 $ 7 5 . 0 0 4 0 0 0 0 0 . 0 0 $ 4 5 . 0 0 6 0 0 0 0 9G o o d y e a r $ 7 . 5 0 $ 6 0 . 0 0 6 0 0 0 0 1 0G o o d y e a r $ 7 . 5 0 $ 4 5 . 0 0 8 0 0 0 0 1 1G o o d y e a r $ 1 2G o o d y e a r $ 0 . 0 0 $ 7 5 . 0 0 8 0 0 0 0 1 3M ic h eI i n $ 0 . 0 0 $ 4 5 . 0 0 4 0 0 0 0 1 4M i c h e li n $ 7 . 5 0 $ 6 0 . 0 0 4 0 0 0 0 7 . 5 0 $ 4 5 . 0 0 6 0 0 0 0 1 5M ic h eI i n $ 0 . 0 0 $ 7 5 . 0 0 6 0 0 0 0 1 6M i c h e li n $ 0 . 0 0 $ 6 0 . 0 0 8 0 0 0 0 1 7M i c h e li n $ 7 . 5 0 $ 7 5 . 0 0 8 0 0 0 0 1 8M i c h e li n $ 1 7 1 8 1 5 1 6 1 3 1 4 1 1 1 2 9 1 0 7 8 5 6 3 4 1 7 1 5 1 0 1 1 3 4 1 2 1 4 5 7 2 6 1 6 1 3 8 9 2 1 8 ‑102 7 1 7 9 1 5 1 4 1 7 9 1 2 8 1 3 1 8 4 1 0 2 1 2 6 1 1 5 1 4 3 1 6 4 1 5 1 8 7 1 0 2 5 1 3 1 6 8 1 1 3 6 1 3 1 7 9 1 4 2 5 1 6 1 8 4 1 1 3 6 1 2 1 5 7 1 0 1 5 1 8 8 1 6 3 9 1 2 1 7 4 6 2 7 1 4 1 3 5 1 1 8 1 0 1 4 1 3 . 8 5 7 1 1 7 1 7 . 0 0 0 0 8 . 7 1 4 3 6 1 2 . 8 5 7 1 9 4 . 5 7 1 4 8 7 . 4 2 8 6 1 5 1 3 . 4 2 8 6 1 8 1 6 . 4 2 8 6 . 1 4 2 9 3 5 2 8 . 0 0 0 0 1 0 4 . 0 0 0 0 1 1 7 . 8 5 7 1 1 3 11 .2 8 5 7 1 6 1 2 . 8 5 7 1 4 5 . 7 1 4 3 5 9 . 1 4 2 9 7 2 . 4 2 8 6 1 2 1 0 . 2 8 5 7
このデータ(出力 1)は、 7人の被験者に、タイヤに関する 18通りの組み合わせをす べて評価してもらい、購入したい順に順位をつけてもらったものである。 1は最も好む組 み合わせを示している。 18通りの組み合わせは、ブランド名、耐久走行距離、価格とい う各 3水準の属性と、装着費用という 2水準の属性により構成されている。 .SASプログラム例 順位データのメトリックなコンジョイント分析の例 p r o ct r a n s r e gd a t aニs a s u s e r .t i r e su t il i t i e s : l a s s ( b r a n d一m il e a g e / z e r o = s u m ) : m o d e lI i n e a r( r a n k l ‑ r a n k 7/ r e f l e c t )二 c r u n . コンジョイント分析を実行するには、 TRANSREGプロシジャを使用する。従属変 数として各被験者の評価順位の入った rankl から rank7 を、独立変数としてタイヤの各 t ie sオプションにより、分散分析表と部分効用値表を出 属性をそれぞれ指定します。 utiIi 力する。 Iinear[こより、変数の線形変換を行う。 reflectオプションは、評価順位を反転さ せる。つまり大きい数字がより良い評価をあらわすように、評価順位を逆転させるのであ る 。 classは、各変数をダミー変数に展開する。また zeroニsumにより、各属性聞の効用値の 合計はゼロになるように制約されている。 ‑出力と解釈 上記のプログラムを実行すると次のような結果が得られる。実際には 7人分の出力が得 られるが、スペースの都合上 1人分の結果を掲載する(出力 2) 。 出力 2 TRANSREGプロシジャの出力 T R A N S R E GU n i v a r i a t eA l g o r i t h mI t e r a t i o nH i s t o r yf o rL I N E A R ( R A N K 1 ) I t e r a t i o n N u m b e r A v e r a g e C h a n g e M a x i m u m C h a n g e S q u a r e d C r i t e r i o n M u l t i p l eR C h a n g e O .9 9 7 9 4 0 . 0 0 0 0 0 0 . 0 0 0 0 0 N O T E :A l g o r i t h mc o n v e r g e d . まず、反復計算に関する履歴が表示される。 NOTE: Algorithm converged. とあるよう に、アルゴリズムが収束したことが確認できる。 、 1人目の被験者の結果を また出力 3は NEAR( R A N K 1 )な っ て い る が 、 実 際 に は 以 下 掲 載 し て い る の で LI LI NEAR( R A N K 2 ). LI NEAR( R A N K 3 )・・・とつづく。そして次に、 u tiIi ti e sオプションにより要求された分散分析 表と部分効用値表が出力される。 1 nd nU ︐
出力 2 TRANSREGプロシジャの出力(つづき)分散分析表 T h巴 T R A N S R E GP r o c e d u r eH y p o t h e s i sT e s t sf o rL I N E A R ( R A N K 1 ) a s e do nt h巴 U s u a lD e g r e巴so fF r巴巴 d o m U n i v a r i a t eA N O V AT a b l巴 B S o u r c巴 D F S u mo f S q u a r巴S M巴a n S q u a r e M o d巴l E r r o r T o t a l 7 1 0 1 7 4 8 3 . 5 0 0 0 0 0 1 . 0 0 0 0 0 0 4 8 4 . 5 0 0 0 0 0 6 9 . 0 7 1 4 2 9 0 . 1 0 0 0 0 0 R o o tM S E 0 . 3 1 6 2 2 7 8 D e pM e a n 9 . 5 C V 3 . 3 2 8 7 1 3 3 R ‑ s q u a r巴 A d jR ‑ s q FV a l u e p 6 9 0 .7 1 4 0 . 0 0 0 1 O .9 9 7 9 4 0 . 9 9 6 4 9 この分散分析表は、コンジョイントモデルの大まかな当てはまりの目安になる。正規性 と独立性の仮定が違反しているため、分散分析の結果は近似である。この例では、寄与率 (R‑square)は 、 O .99794である。 出力 2 TRANSREGプロシジャの出力(つづき)部分効用値表 U t il i t i e sT a b l eB a s e do nt h eU s u a lD e g r e巴so fF r e e d o m evJ J ︑ ・守 G&L 巴 川川U nIRS a ‑‑n nuF n u +L ﹁ &LnHH mt │ (N t o n e B R A N DF i r巴s B R A N DG o o d y e a r B R A N DM i c h巴I i n ‑ 6 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 6 . 0 0 0 0 0 0 0 0 . 1 0 5 4 0 . 1 0 5 4 0 . 1 0 5 4 6 9 . 2 3 1 C L A S S . B R A N D F I R C L A S S . B R A N D G O O C L A S S . B R A N D M I C C H A R G E S$ 0 . 0 0 C H A R G E S$ 7 . 5 0 O .1 6 6 6 6 6 7 ‑ 0 . 1 6 6 6 6 6 7 0 . 0 7 4 5 0 . 0 7 4 5 1 . 9 2 3 C L A S S . C C L A S S . C 00 75 P R I C E$ 4 5 . 0 0 P R I C E$ 6 0 . 0 0 P R I C E$ 7 5 . 0 0 0 . 5 0 0 0 0 0 0 ‑ 0 . 0 0 0 0 0 0 0 ‑ 0 . 5 0 0 0 0 0 0 0 . 1 0 5 4 0 . 1 0 5 4 0 . 1 0 5 4 5 . 7 6 9 C L A S S . P C L A S S . P C L A S S . P 450 600 750 M I L E A G E40000 MILEAGE 6 0 0 0 0 M I L E A G E8 0 0 0 0 ‑ 2 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 2 . 0 0 0 0 0 0 0 0 . 1 0 5 4 0 . 1 0 5 4 0 . 1 0 5 4 2 3 . 0 7 7 C L A S S . M I L E A G 4 0 C L A S S . M I L E A G 6 0 C L A S S . M I L E A G 8 0 qq 見u ρ u u 0 . 0 7 4 5 'hu 9 . 5 0 0 0 0 0 0 2U N U ‑ ‑ I n t巴r c巴p t r S t a n d a r d E r r o r 1 U t iI i t y L a b e l I N T E R C E P T この出力の importanceのところには各属性の重要度が示される。この被験者にとっては、ブラ ンド名の重要度は、 69.231目と最も高く、次いで耐久性を重視していることがわかる(重要度: 2 3 .0 7 7 弘)。また、各属性の各水準における選好は、 U t i l i t yの項により把握できる。この被験者が 最も好んだ組み合わせば最も効用値の大きい、 ブランドは Micheli n、装着費用は無料、価 ‑104一
格が $ 4 5 .00の、耐久走行距離が、 80000マイルのものである。 ‑更なる理解のために 今回の例題は、いわゆるメトリックなコンジョイント分析の例題である。 TRANSREGプロシジャ は、メトリックだけで なく、ノンメトリックなコンジョイント分析を実行する。メトリックなコンジョイント 分析では、評価データを直接モデル化するのに対し、ノンメトリックなコンジョイント分析では、選 好判断の単調変換を求める。またモデルの当てはめに関して、メトリックなコンジョイント分析では、 最小 2乗法を用いるのに対し、ノンメトリックなコンジョイント分析で、は、交互最小 2乗法アルゴリズ ムを用いる。 コンジョイント分析を実行するためのデータ収集においては、実験計画が不可欠である。今回 の 18の組み合わせば、全 54通りの中から実験効率の高い 18の組み合わせ(非直交計画の D 最適な組み合わせ)を用いている。実験計画の作成においては、 SAS/QCソフトウェアの OPT EX. FACTEXプロシジャにより、主効果モデル・交互作用モデルのための直交計画の作成と非 直交計画の作成することが可能である。 コンジョイント分析に関するよい参考文献として、 rSASTechnicalReportR‑l09Jコンジョイント 分析例題集」があるので、詳細を参照のこと。 .対応分析 例 題2 ・手法の説明 対応分析では、分割表の行と列についての関連を調べることができる。調査データなどでは、 カテゴリカルデータを扱う場合が多い。そういったカテゴリカルデータを集計した、クロス集計表を グラフィカルに表現し、分割表中のカテゴリー聞の関係を視覚的に調べるのに役立つ。顧客の属 性とその商品ニーズを同時に把握するなどで利用できる。 ‑データの紹介 出力 3 所有車に関する調査データ O B S O R I G I N 生産国 知l e rIc a n 2 3 4 5 6 7 8 9 1 0 1 1 1 2 J a p a n e s e J a p a n e s e 加e rIc a n 加e r l c a n J a p a n e s e 加e rIc a n E u r o p e a n 知日 r i c a n 知日 r i c a n E u r o p e a n E u r o p e a n S I Z E サイズ T Y P E H O M E SEX タイプ所有形態性別 I N C O M E 所得 MARITAL 婚姻 L a r g e S m a1 1 S m a l l L a r g e Medium Medium L a r g e Medium Medium M e d i u m S m a1 1 Medium F a m i1 y Sporty F a m i1 y F a m i1 y F a m iI y F a m iI y F a m i1 y F a m i1 y S p o r t y F a m i1 y S p o r t y Sporty 11 n c o m e 11 n c o m e 2I n c o m e s 11 n c o m e 2I n c o m e s 2I n c o m e s 2I n c o m e s 2I n c o m e s 2I n c o m e s 2I n c o m e s 2I n c o m e s 11 n c o m e Married w K i d s Single Married Single Marriedw K i d s Singlew K i d s Marriedw K i d s Married w K i d s Married Married Marriedw K i d s Single O w n O w n O w n R e n t O w n O w n O w n O w n O w n O w n O w n O w n M a l e M a l e M a l e M a l e M a l e M a l e F e m a l e F e m a l e M a l e F e m a l e F e m a l e M a l e ‑105‑
このデータ(出力 3)は、所有している車の属性を調査したものである。項目として、その車が生 産された園、サイズ、タイプ、そしてレンタカーであるか自家用車であるかの 4つである。被験者属 性としては、性別、所得、結婚の有無、子供の有無などがある。スペースの都合上、 12人分の調 査データを掲載しているが、実際には 339人のデータを用いる。 .SASプログラム例 多重対応分析の例 p r o cc o r r e s pmcaobserveds h o r td a t aニs a s u s e r . c a r so u t c = c o o r s ; t a b l e so r i g i ns i z et y p ehomeincomesexm a r i t a l ; r u n ; SASシステムで対応分析・多重対応分析を実行するには、 CORRESPプロシジャを用いる。 a b l e sステートメントに解析に用いるカテゴリ 多重対応分析の場合は、 mcaオプションを指定し、 t ーをすべて指定する。このプログラムは、パート表作成、各座標値の計算までのプログラムであ る 。s h o r tオプションは、詳細な統計量の出力を抑制するための指定で、ある o outc= オプションは、 知覚マップを作成するための座標値 C c o o r d i n a t e s ) をデータセットとして出力するためのものであ る 。 observedオプションは、パート表を出力するためのオプションである。 通常この計算結果をもとに、カテゴリ一聞のパターンの近さを一目で確認することができる、 「知覚マップ」を作成する o 知覚マッピングには、 S AS/STA 丁、ノフトウェアのサンプルライブラリーに l o t i tマクロ C c r s p p l o t . s a s ) を使用する。マクロを定義しておけば、以下のプログラムを実行 ある p するだけで、美しい知覚マップが得られる(図 1 。 ) 知覚マップを得るためのプログラム例 % p l o t i t C d a t a = c o o r s,datatype=mca) ‑出力と解釈 出力 7は 、 CORRESP プロシジャの出力で、分割表に続き出力される慣性分解と力イ 2乗分解 の表である。慣性(ln e r t i a s ) とは、主成分分析における分散に相当する。多重対応分析では、す )ッド距離上に置き換える。座標値(出力 4)をもとに作成された知覚マ べてのカテゴリーをユーク 1 ップは図 1である。 1 0 6
出力 4 CORRESPプロシジャの出力慣性分解と力イ 2乗分解 T h eC o r r e s p o n d e n c eA n a l y s i sP r o c e d u r e I n e r t i aa n dC h i ‑ S q u a r eD e c o m p o s i t i o n ハ U ︐ ハ HU ハ U ハ HU ハ U ハ HU ハ U ハ HU E ー ー ・‑ ハ Unununu ハ HU ハ Hunuvnuv o .79670 ‑ 0 . 5 7 2 5 9 ‑ 0 . 4 6 5 3 5 1 . 5 3 2 9 6 0 . 0 9 6 3 2 ‑ 0 . 5 2 3 6 5 0 . 3 6 1 5 3 ‑ 0 . 6 6 0 3 5 0 . 1 3 0 1 4 ‑ 0 . 1 1 5 3 8 0 . 2 9 3 9 1 0 . 5 5 4 5 9 ‑ 0 . 4 4 4 8 6 ‑ 0 . 1 8 3 6 8 0 . 1 4 9 1 2 ‑ 0 . 8 1 2 5 5 0 . 3 1 5 8 3 0 . 3 0 2 4 3 0 . 9 1 6 1 9 ‑争 ハ U ‑‑‑‑E ハ U ハ HU ‑ 0 . 4 0 7 3 2 0 . 0 4 3 7 4 . o32765 ‑ 0 . 7 1 4 8 1 ‑ 0 . 2 6 3 8 1 0 . 4 4 8 6 7 ‑ 0 . 4 3 2 5 5 0 . 6 7 8 8 2 0 . 0 6 4 7 1 ‑ 0 . 3 7 9 5 2 0 . 9 6 6 7 8 0 . 8 2 2 1 6 ‑ 0 . 6 5 9 4 9 ‑ 0 . 3 4 7 9 7 0 . 2 8 2 4 9 ‑ 0 . 4 0 9 6 4 ‑ 0 . 8 1 9 5 1 1 . 1 4 6 5 0 0 . 4 1 4 8 6 台‑T ハ U ハ HU D i m 2 率 ‑aT‑aT 合守合宇宙 金守合宇宙字企守合守合守合守合守合守合守合守合干 目 ハ HU 1 . 7 1 4 2 9 5 1 6 3 . 2 1( D e g r e e so fF r e e d o mニ 3 2 4 ) 出力 4 CORRESPプロシジャの出力(つづき)座標値 C o l u m nC o o r d i n a t e s 本 神本 帥柿 ‑AT‑AT‑AT‑‑T‑AT‑‑T ****ホ* *本*本*本 ‑AT‑AT‑AT‑AT‑AT‑AT‑AT 告干 ホホホ本本本一本*本 一****ホ*旗本*・本 本本本本*本本本*** ‑AT‑AT‑AT‑AT‑AT‑AT‑AT‑AT‑AT‑AT‑‑T ‑AT‑AT‑‑T‑‑T‑‑T‑‑T‑‑T‑AT‑‑T‑AT‑AT‑‑T **一本***本本本本本本 RuqAV ︽HU ︽ uuQU 内 MUFhunhuFhdan匂 a n1nJι ‑‑‑‑‑‑‑ 百 M百 M百 M百 M百 M百 M百 M百 M百 M百 M百 M百 M Fhu‑‑4EE ︽ UJunhunJι ︽ UJuan1nunhunJιan 寸 U nkuFnu 戸内vnku 守 ︐ ︐ 戸 内V 守︐︐内屯リvnkuFnunuv ハH 111 ‑‑‑‑‑‑‑‑‑‑ JunuJM ﹃ ︐ ︐ 内MUnku ﹃︐︐ βhυβhυnJιFh以 内 MU ﹃ ︐ ︐ ︽U MUFhJV 守''aa qAM4EEaa‑nJιaa‑nkunkunuJU 内 ハ HUFhJV ︽HUFnua偽ι4EE 守''nJιaa1 守 ︐ ︐ 守''nJι ・ n屯unJιnku ハHunJιFhJV ︽HU 守''nuu ハHU 守''FhJV 守 ︐ ︐ ハH u a 偽ι4EEFhdaa1FhdnJιnuuaa‑nuvnuv ︽ UU7'FhdFhdan匂 a n1ququnJιnJιnJι1E ハ U ハ HU nuuFnu 守''Fhd 内 MUFnu 守''Fhdaa‑n屯UFh以 内 ︿ U ︽ 4 A V ︽ UJUFhJV ﹃︐︐ Fhdan1nJιnhun︽ U ﹃︐︐ nhunuJu n k u n J ι R U 1 E 7 a斗 1EquFhJunJι ワ ι R V Fnu 内 MUnJι4EEnkunkuaa‑nJι4EE 内 HUFnunku F b 凋件凋 寸凋 寸 q d q d q d q d q d q t q t T l ‑107 T ‑ T ‑ ‑ ‑ y ‑ ‑ y ‑ ‑ T ‑T‑‑T ーーーー+ーーーー+一一一一+一一一一+ーーーー+ーーー 守 ''FhJVFnuaa‑nJι4EE 守 ︐ ︐ 守 ︐ ︐ aa‑aa‑nuuaa ハHunJι ︽UJUFhdnJιQUan1nhuan1nuJM ︽uunuJu n屯u n ︿U4EEnuu ハHU 守︐︐ Fhunkunuunuu 内 MUaa‑ n J ι 内屯unkuFnuFhdaa14EE ︽Hunuu 守''Fnun︿u q J n L 4 1 4 1 4 1 4 1 4 1 4 1 ハU ハU ハU n u ••••••••• D i m 1 A m e r i c a n E u r o p e a n J a p a n e s e L a r g e M e d i u m S m a1 1 F a m iI y S p o r t y W o r k O w n R e n t 11 n c o m e 2I n c o m e s F e m a l e M a l e M a r r i e d M a r r i e dwK i d s S i n g l e S i n g l ewK i d s 8 1 2 1 6 2 0 4 S i n g u l a r P r i n c i p a lC h i ‑ V a l u e s I n e r t i a s S q u a r e sP e r c e n t s
2 . 0 1 5 本 Large 1 0 i d s * S i n g l ew K 本 A mencan C ¥ J E 2 I n c o r n e 本 1 . E 9 D5 。 車 。 。 本F 8 f Y ! l i . Y M a r r i e aw K i d s R e n t>1:ホ S i n g l e WQrk . . M e d i u r γ 1本 小 γ Ma J 巴 。 布Fem Hn nur vy 倒 ︒ ︒ ‑ ‑ e 川本 町 田 MM 3 nド ・串巴 旧u 町匡﹄ 呪 s Eslu FM 倒 n 本 円 F﹄ ‑0.5 ︒ ︒‑串釦 a J 巴 本 *M a r n巴d ‑10 ‑ 1 .0 ‑0.5 0 . 0 0 . 5 . 10 1 5 図 1 所有する車の属性と所有者の属性 図 1より、独身 (single) ・独身子持ち (single w kids) ・シングルインカム ( 1 income)・レンタカー (Rent) が関連がある。またスポーツカー (Spo代 y )・小さな ( S m a l l )・日本車 (Japanese) は関連があ る。さらに大きな (Large)・アメリカ車 (American)・ファミリー力一 (Family)・既婚子持ち (Married w K i d s )は関連があることがそれぞれ分かる。これらをもとに広告の対象を絞り込むなどの利用が可 能となる。 ‑更なる理解のために 関連の解析として数量化 E類がある。数量化 E類を含めた、 CORRESPプロシジャの使用法 については、 rSASによる数量化 E類」という資料を参照のこと。また、 PLOTITマクロについては、 マクロの紹介」を参照のこと。 「マーケティング情報のビジュアル化テクニック ‑PLOTIT 例題 3 .多次元尺度構成法 (MDS) ・手法の説明 多次元尺度構成法は、主成分分析のように次元を縮約していく手法の 1つである。主成分分析 との大きな遣いは、扱うデータが多変量データではなく、(非)類似度データ・あるいは距離データ であることがあげられる。この(非)類似度データから出発し各点の位置(布置)を求める手法が、 多次元尺度構成法である。個人差の把握、製品のポジショニングなどに応用される。 ‑108一
‑データの説明 出力 5 飲料のイメージ調査データ O B S N A M E 被験者 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 S u b j l S u b j l S u b j l S u b j l S u b j l S u b j l S u b j 1 S u b j 1 S u b j 2 S u b j 2 S u b j 2 S u b j 2 S u b j 2 S u b j 2 S u b j 2 S u b j 2 O T W A T E R B E E R W E V E R A G E O F F E E T E A S O D A J U I C E B I N E B M I L K C 各飲料のイメージの近さの評価(近いものには 1遣いものには7) 飲料 。 。 。 。 。 。。 。 。 。 。 。。 。 。 。 。 。 。 。 。 。。。。 。 。 。 。 。 。。 。 。 。 。 。。 。。 。 。 。 。 。 。 。。。。 6 5 6 7 6 7 7 7 7 7 6 7 7 5 5 7 7 4 7 7 7 4 3 5 7 7 7 5 3 6 7 6 5 4 2 6 7 6 4 7 4 3 7 3 7 6 7 7 7 7 4 4 7 5 。 。 。 。 。 。 m iI k c o f f e e t e a s o d a J U l c e b o t t l e dw a t e r b e e r w l n e m iI k c o f f e e t e a s o d a J U l c e b o t t l e dw a t e r b e e r w l n e このデータ(出力 5)は、飲料に関するイメージ調査をしたものである。スペースの都合上最初 の2人のデータのみ掲載しているが、実際には 7人に調査をした。飲料が似ているかどうかを 7段 階で評価した。 1は似ていることをあらわし、 7は似ていないことをあらわしている。調査対象とな る飲料は、牛乳・コーヒー・紅茶・ソーダ.7)<..ビール・ワインの 7つである。 .SASプログラム例 多次元尺度構成法 (MDS)の例 p r o cm d sd a t a二 s a s u s e r . b e v e r a g eo u t ニo uL i dB E V E R A G E : s u bN A M E : v a rM I L KC O F F E ET E AS O D AJ U I C EB O T W A T E R B E E RW I N E : r u n : 知覚マップを得るためのプログラム例 出p l o t i t ( d a t aニout,datatype ニm ds) 多次元尺度構成 j 去を実行するには、 MDSプロシジャを用いる。 MDSプロシジャでは、 比例尺度・Il圃序尺度・間隔尺度などのさまざまなレベルで解析が可能である。また、 M D Sプロシジャは 2元 MDSだけでなく、 3元 M DS (個人差 M DS) も実行できる。ここ では、グループ刺激空間と呼ばれる、被験者の各飲料に対するイメージの布置を得るプロ グラムを掲載した。各個人の重み空間を示す、個人差 MDSの伊l は後で示す。 円ud 1ム n U
‑出力と解釈 出力 6 MDSプロシジャの出力 M u l t i d i m e n s i o n a lS c a li n g : D a t a = S A S U S E R . B E V E R A G E S h a p e = T R I A N G L EC o n d i t i o n = M A T R I XL e v e l = O R D I N A LC o e f = D I A G O N A LD i m e n s i o n = 2F o r m u l a = lF i t = l d g e = O .0 0 0 1 M c o n v e r g e = O . O lG c o n v e r g e = O . O lM a x i t e r = 1 0 0O v e rニ2Ri C o n v e r g e n c eM e a s u r e s B a d n e s s ‑ o f ‑ F i t C h a n g ei n T y p e I t e r a t i o n C r i t e r i o n C r i t e r i o n M o n o t o n e Gradient 。 一一一一一一一一一一一一一一ー一一一一一一一一一一ー一一一一一一ーーーーーーーーーーーー一一一一一一一一一一一ー一一ーーーーーー‑ I n i ti aI M o n o t o n e G a u ‑ N e w M o n o t o n e G a u ‑ N e w G a u ‑ N e w M o n o t o n e G a u ‑ N e w M o n o t o n e G a u ‑ N e w G a u ‑ N e w G a u ‑ N e w G a u ‑ N e w G a u ‑ N e w G a u ‑ N e w G a u ‑ N e w 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 0 . 3 4 9 8 8 1 0 . 3 1 9 0 9 2 0 . 2 7 6 8 8 1 0 . 2 8 5 2 9 2 0 . 2 7 9 1 8 9 0 . 2 6 8 0 6 7 0 . 2 7 7 2 4 6 0 . 2 6 7 9 8 4 0 . 2 7 6 3 9 7 0 . 2 6 6 2 3 5 0 . 2 6 6 0 0 6 0 . 2 6 5 8 5 6 0 . 2 6 5 7 4 7 0 . 2 6 5 6 6 9 0 . 2 6 5 6 1 5 0 . 2 6 5 5 8 0 0 . 0 3 0 7 8 8 0 . 0 4 2 2 1 1 ‑ 0 . 0 0 8 4 1 1 0 . 0 0 6 1 0 3 0 . 0 1 1 1 2 2 ‑ 0 . 0 0 9 1 8 0 0 . 0 0 9 2 6 2 ‑ 0 . 0 0 8 4 1 3 0 . 0 1 0 1 6 2 0 . 0 0 0 2 3 0 0 . 0 0 0 1 5 0 0 . 0 0 0 1 1 0 0 . 0 0 0 0 7 7 6 3 7 0 . 0 0 0 0 5 3 4 3 4 0 . 0 0 0 0 3 5 1 3 1 0 . 1 6 3 6 1 0 0 . 4 7 5 8 1 3 0 . 0 3 6 8 5 8 0 . 3 1 8 1 9 9 0 . 2 7 6 5 9 9 0 . 0 1 9 7 9 1 0.270390 0 . 0 0 8 9 5 2 0 . 2 6 7 4 1 8 0 . 0 3 2 1 4 6 0 . 0 2 4 8 5 7 0.021202 0.017940 0 . 0 1 4 9 2 5 0 . 0 1 2 1 4 9 0 . 0 0 9 7 1 1 C o n v e r g e n c ec r i t e r i aa r es a t i s f i e d . 2 ヰ COFFE~ TEA れj E E 牢 。 本 BOTWATER BEER 。 主 ヰ MILK ホ WINE 市 牢 JUICE SOD ミ ‑2 ‑2 。 Dmension 1 図2 グループ刺激空間 ‑110 2
まず MDSプロシジャは、収束に関する居歴を出力する(出力 6)。その結果を p l o t i tマクロで布 置を得る(図 2 )。この図を見ると、水 (BOTWATER)・牛乳 (MILK)・ジュース (JUICE)は、右の方にプ ロットされ、ビール (BEER)・ワイン (WINE)は、左の方にプロッ卜されている。これより Dimension1は 、 健康に関する軸と解釈できる。 Dimension2に関しては、明確な解釈は難しい。 ‑更なる理解のために 個人差 MDSを実行するには、以下のようなプログラムを実行する。これにより、図 2で、示したグル ープ化刺激空間のほかに、個人差をあらわす重み空間を出力する。これによりどのような属性の 人が、どの軸を重要視して判断しているかなどが把握できる。 個人差重み空間のプロットを得るためのプログラム例 p r o cm d sd a t a = s a s u s e r . b e v e r a g eo u t = o u tc o e f = d i a g o n a l : i dB E V E R A G E : s u bN A M E : v a rM I L KC O F F E ET E AS O D AJ U I C EB O T W A T E R B E E RW I N E : r u n : 個人差重み空間のプロットを得るためのプログラム例(つづき) p r o cp l o td a t a = o u t : e v e r a g e : p l o td i m 2 * d i m 1ニ'*' $b w h e r e̲ t y p e一= ' C O N F I G・ ; r u n, p l o td i m 2 * d i m 1 = 'ギ $n a m eI h z e r ov z e r o : w h e r e̲ t y p e ̲ = 'D I A G C O E F ': r u n, 例 題 4. 多次元選好分析 (MDPREF) ・手法の説明 多次元選好分析 (MDPREF)は、夢J Iが被験者の評価で行には評価の対象物となっているような 行列に対する主成分分析であり、最終的な結果はパイプロットとして表現される。また、コンジョイ ント分析のように製品に対する選好評価の調査に用いられる手法である。コンジョイント分析では、 被験者に対しどの属性が重要であるかをたずねた。多次元選好分析では、被験者自身の知覚ス キーマに基づく選好評価をさせる。そして、被験者が判断した次元を把握するために、その解析 結果を用いる。これにより、評価の対象物のポジショニングと被験者のニーズを同時に把握する ことが可能となる。 ‑データの説明 以下に示すデータ(出力 7)は、米国の SASインスティチユートにて実施したアンケート調査デ ータである。 EA 唱 EA 唱 EA 唱
出力 7 自動車の選好調査データ モデル nunDPO メーカー 25人の被験者による各車の評価データ H閉 山 ︽HVRHU ﹁ト﹂ E E﹄ UUUUUUUUUDDDDDDDDDDDDDDDD DDDDDDDDDGGGGGGGGGGGGGGGG GGGGGGGGGEEEEEEEEEEEEEEEE EEEEEEEEE111111111122 222 2 123456 78901 2345678 901 2345 HmAAVRHFト﹄ JJJJJJJJJJJJJJJJ JJJJJJJJJUUUUUUUUUUUUUUUU ︾ I 守 守 InυnυFhuFhunununυnυ n w nOFhunOFhuranonorDQMOORUFhu 守I n u n u n u n υ q︾ q ︾ EJVRUEd 守I 守 I 凋紬 守 IauquQutz TEJVEd‑‑QUFhuRUEdRUEdqu QυRU 守IRURUFhunυnυnυqu 守IRUFhuqunυnυnυ quFhu 守IQυQυ TRU 凋 吋 qLQUQuou 凋紬 QM 世p l o t i t ( d a t a = r e s u l t s . d a t a t y p e = m d p r e f2 . 5 ) q ︾ 11 凋紬TRU 凋紬TEd‑‑ 守IauquEJV 守I ︾ q︾ 知覚マップ作成プログラム例 I q L q u 凋 崎 刈 紬TQU72 守I q u 凋崎刈吋 ︒ 九 d a t ar e s u l t s : s e tr e s u l t s : i f̲ t y p e 一='CORR・thenmodel =substr(model.6): r u n : 守 Iq 守 q d o o q︾ QM T 守I1lauauQURUEdFhu 守I Q U Q u q u 凋紬 気U 内 九 p r o cp r i n q u a ld a t a = s a s u s e r . c a r p r e fo u t = r e s u l t sn = 2 r e p l a c es t a n d a r ds c o r e sc o r r e l a t i o n s : i dm o d e1 : t r a n s f o r mi d e ( j u d g e 1 ‑ j u d g e 2 5 ) : r u n . nυFhu 守IRuauauFhuqu 守Inυ ﹄ ﹄ 多次元選好分析プログラム例 I n υ A吟 凋 紬TquEJvnυquauauqu 凋紬TEJVEJV 守IQUQυ ﹄ 勾 .SASプログラム伊l 守 ︾ FhuauqζqLqζqdq noqdnuauqLハU ﹄ 勾 ﹄ 11111111 車が好きで、すか」という質問をしている。 ‑‑qu 凋紬TEJvnυnυnυQυ q ︾ nUFhuraranokuqurDquqd 凋 仏 寸 守I q u q d 凋 斗 QM QuqdqdEJvqdTat‑qLqLQM 守IqLqLauEJVEJV 守I 守 Iqu ・A・A・nunuraranununununuququn口 AU・ A A EJvnυauqu 凋紬T 1 l q L q︾ QU 凋紬T1lquauqL 守I 凋件 ハU 4 1 4 1 4 1 4 1 4 l n u n ヨ nonU41414141 守I r a q u 凋仏寸 ιaaT4EE4EEnHvnHvnHVFnvau守 nJι4EEau守 ︽HvnJιnMU h 戸u ︽ U J U 内 ︐ 4lqd 凋仏寸 qdFhuFhuqdq︾ 守I q L 凋 斗 ﹁D A同 日 wnJι4EEnJι4EE ︽ H V 内 ︽ H V ︽ HVA同 日 wn4un4U4EE4EE 向日υ ︽ H V 内 υ H υ H TQU 守I 守I 守IquRUEdFhu 凋紬TRuauauFhU720u υ ︽ H V p h A V ︽ HvnhU ﹃︐︐向日υ ﹃︐︐ n同︾向日υ H 内υ FhJvn4uphdnhU ︽ uunMu 凋咋凋紬 向 日 n同 ︾ ︽H V ︽ H V ︽ HvnHvn同日wnHvn同 ︾ ︽Hvn同日wnHvnHvnHvn同 ︾ ︽uunHV ︽ u u I 1 l q U 守I 守 q ︾ qLqd 凋仏寸 nu‑‑nunO 守I q ︾ n u n u n U Q U R U E d q︾ 正 ηLnUηLrDqdnunununUAUrarano nurDFhu 内 凋紬 ︒ 九 ・ TRuqLFhunυFhu 凋 咋 守 I 守I q u 凋紬Tnυ n H V ︽ HvnHV ︽ HvnHvn同日wnxunHvnHvnHvnHV4EEnMunMun同日W H V ︽ H V ︽ Qυnυ ﹄ 目 ︑ ﹄ &LUY ︽ U AUnH&TLnHvtl U 刈 AU&LDnw 邑 EHunH ﹁ 内 n H l 内 免 u&E .1lHu u u 門 H 門 白 L. 1﹄ vE&E a u ︾ 匂 ﹁ r 目︒ u&L ﹂υ m 川 免 u n u v E p u '﹄ ヲ↑ ιvE υ ρu.1l ﹂ ﹁ DVa.;1ll ﹁ + L + L D . l + L n l a 巴 hHhμ 目 u 伺 ︽ 巴 & T 'll.'tFunH U 戸 uvnH dv11llv1Fu n U 目 filnH・ 1 1 免 U 免 UHU‑‑inu‑‑lnuvEnunu‑‑ ーのd q G E L ﹁ト﹂ n LuwnLVHM川 ﹁PEHM川 n v E annhwnLuwnhu 川門HHM'FPERHunHHnHU 勾 nHnH E & E O L w a F W & E & CODee‑nHIn‑nw 邑 w 邑 免 MIlli‑‑n+L+L+Lcaa 100Dluuuaww 31lvtvtvt a anunununu‑‑lpuponu ‑BEMvvvvv ︐ n u ︐ n u ︐ n u ︐ n u ︐ nunum山 m山 m山 & E LKHLknvv J 口 eeeFEVErnnnuyuyuynlh'lEl aEHHEHHEHH 内 U 内 U 内 U 内 U 内 UTi‑EE‑‑‑211 内 U 内 U 内 U 内 u nunununUEIEI ﹁ r 川 門 川 円 l nrnrnrnruvuvHV 1lqLqd 凋 件 Fhuau 守Inoqunu‑‑qLqd 凋 崎 EJvau 守I この自動車の選好調査データは、 25人の被験者が、各自動車を 0から 9の 10段階で、評価した ものである。価格効果を最小化するため、「どの車を購入しますか ?Jという質問ではなく、「どの a 噌ム a 噌ム nd
多次元選好分析を実行するには、 PRINQUALプロシジャを用いる(出力 8)。各被験者のデー タを transformステートメントで指定する。 ideは identityの略で、変換をしないときに指定する。 . 5は、ベクトルを 2 . 5倍に引き伸ばすという指定である。 知覚マップ作成プログラム例中の 2 ‑出力と解釈 出力 8 PRINQUALプロシジャの出力 PRINQUAL MTV Iteration History Iteration Number Average Change Maximum Change Proportion o f Variance 0 . 0 0 0 0 0 0 . 0 0 0 0 0 0 . 6 6 9 4 6 Variance Change N O T E : Algorithm converged WARNING: The number o f observations i sl e s s than o re q u a l to the number o f variables WARNING: Multiple o p t i m a l solutions may e x i s t . プロシジャは、 MTV(MaximumTotal Variance) Methodに基づく、反復履歴を出力す PRINQUAL )。その計算結果をもとに作成したパイプロットが図 3である。 る(出力 8 3 事c o 叶門 en 凶 2 \~ B d = t ( ¥ J C .~ 百 0 ‑2 ‑2 。 2 ロmension 1 図3 多次元選好分析 (MDPREF)結果 3 司自ム 司自ム 司U
図 3を見ると、 Dimension1は、国産車・外国車という軸と考えられる。左に国産車(アメリカ車)、 右には、日本車などの外国車が位置している。また、 Dimension 2は、車の大きさの軸と考えられ る。つまり右の方には小さな車が、左の方には大きな車が位置している。また、ベクトルは各被験 者の選好をあらわしており、ベクトルはおよそ最も好む車への方向を示している。多くの被験者の ベクトルが、 ACCORDなどの方向を示している。また ACCORDとCORVETTEの聞にも多くのベク トルがある。恐らくここに位置する車は、新車開発のターゲットとなるで、あろう。 ‑更なる理解のために この他に、対象物に関する客観的データを付与して選好布置を得るベクトルモデルや理想点モ デルなどがある。 おわりに 今固まとめた手法は、 SASシステムの統計手法のごく一部にすぎない。今後もマーケティング サイエンスとして実際のビジネスに活用可能な統計手法例題をまとめていきたい。本稿で 扱った 手法はすべて、 SAS システムリリース 6 .11の SAS/STA丁、ノフトウェアに追加された、マーケッ トリサーチメニューシステム(評価版)で実行可能である。またサンプルデータもすべてメニューよ り作成できる。マーケットリサーチメニューを起動するには、コマンド行で rMARKETJとタイプしリ ターンキーを押す。全てマウス操作で、マーケテインタのための高度な統計手法を利用できる。ま た、今回本文中で紹介した参考文献およびその他参考文献を一覧表として末尾にまとめた。本 稿が、マーケティングにおける SASシステム活用の一助となることを期待する。 参考文献 ・本文で引用した文献 SASI n s t i t u t eJapan(1996), SASTe c h n i c a lReportR一109Jコンジョイント分析例題集 岸本 (1992), SASによる数量化 E類,日科技連多変量解析専門コーステキスト K u h f e l d, W.( 1 9 9 5 ),マーケティンゲ情報のピシ.ユアル化テクニックー PLOTITマクロの紹介一,日本 SASユー ザー会論文集 ・入門テキストとして rSASによるデータ解析入門(第 2版) J,東大出版会 竹内・大槽他 (1992), 竹内・芳賀他 (1996), rSASによる回帰分析 J,東大出版会 SASI n s t i t u t e ( 1 9 9 5 ),I n t r o d u c t i o nt oMarketResearchUsingtheSASsystem,SASI n s t i t u t eI n c . ・その他の関連資料として Stokes, M . ( 1 9 9 5 ), C a t e g o r i c a lDataA n a l y s i sU s i n gtheSASsystem, SASI n s t i t u t eI n c . W . F . ( 1 9 9 2 ), "MarketingResearch:UncoveringCompetitiveAdvantages, "Proceedings K u h f e l d, 1304‑1312 o ftheSeventeenthAnnualSASUsersGroupI n t e r n a t i o n a l, 豊田 (1993), rSASによる共分散構造分析 J,東大出版会 ‑114一
日本 S A Sユーザー会 (SUG I‑J) S A S / I M Lソ フ ト ワ ェ ア を 利 用 し た 産 業 連 関 分 析 朝倉俊明 株 式 会 社 SASイ ン ス テ ィ チ ュ ー ト ジ ャ パ ン テクニカルサポートセクション SAS/IML is possible to conduct Input‑Output analysis reflecting the latest economic conditions Toshiaki Asakura Technical Support Section ,SAS Institute ]apan,Ltd 要旨 産 業 連 関 表 か ら SAS/IML ソ フ ト ウ ェ ア を 利 用 し て 、 産 業 連 関 分 析 モ デ ノ レ を 構 築 す る ことにより、他部門均衡の経済分析が容易にできる事を簡単な事例の中で紹介します。 EXCELの フ ァ イ ノ レ で 提 供 さ れ て い る 産 業 連 関 表 か ら 、 SASデ ー タ セ ッ ト に 読 み 込 み こ の デ ー タ セ ッ ト を SAS/IMLソ フ ト ウ ェ ア で 利 用 し て い き ま す 。 ぃ ワ キ t SAS/IML、 投 入 係 数 行 列 、 レ オ ン チ ェ フ 逆 行 列 、 RAS法 1.はじめに 国内の産業構造の変化を分析する際に、産業連関表は有効なデータを提供します。 すなわち、各産業は各々、自部門での生産を行うために、他産業からの中間投入を必 要とし、この産業聞における投入一産出構造を記述したものが産業連関表です。 今 回 は 、 こ の 産 業 連 関 表 を 使 用 し た 産 業 連 関 分 析 を SAS/IML ソ フ ト ウ ェ ア を 使 用 し て 行 う こ と を 目 的 と し ま す 。 SAS/IML ソ フ ト ウ ェ ア は 行 列 計 算 に 際 し て 簡 便 な プ ロ グ ラ ム表現による行列の操作性に優れていることを特徴としています。 2 .産 業 連 関 分 析 の 基 本 モ デ ル 2 ‑ 1 .基 本 モ デ ル の 構 築 い ま 、 第 j産 業 で は 、 生 産 Xj に 刻 し て 原 材 料 と し て 、 第 i産 品 を Xij だ け 投 入 し ている場合、線形性の仮定から、 X i j / aij = Xj と し て 比 例 定 数 αり が 得 ら れ ま す 。 し た が っ て 、 こ の 内 は 第 j 産 業 が 生 産 l単 位 あ た り 必 要 と す る 第 i産 品 の 投 入 単 位 を 示 し て い ま す 。 こ の よ う な 投 入 係 数 を 、 産 業 連 関 表 の内生部門の配置と同様にタテ、ヨコに並べたものを投入係数行列と呼びます。 1 1 5
。 a" ... 。 。'12 。 2 n 2 1 " I A= " ' 1 2 ;投入係数行列 a ̲ , a ・ ・ n l n 2 ・ yy この投入係数行列 Aの各タテ列は、各産業の各原材料投入単位、いわば原単位を示 しており、この意味で技術構造を表わしています。 2 ‑ 2 .均 衡 産 出 高 モ デ ル いま、 2部 門 の 場 合 、 ヨ コ 行 の 需 給 バ ラ ン ス 式 は 、 次 の よ う に な り ま す 。 ( … 叫 =x =x 1 +九 X2 1+X12 ;中間需要+最終需要=生産 2 ; :第 i財 の 最 終 需 要 計 と し て 表 わ さ れ ま す 。 ただし、 F これを投入係数を用いて表わすと次のようになります。 v 2X uX l切川叫 山 ロ l J X1+α2 X2+九 = X 弔 辺2 2 α2 九 l F ;と 九 ) を 既 知 と し 、 生 産 額 (X 最終需要 ( 1とX 2)を 未 知 数 と す れ ば 、 こ の 2元 連 立 1 次方程式の解は次のように表わされます。 X1 , . , . l‑a α 円 F . + l' ( 1 ‑ a l l X 1 ‑ a 1 2 ) ‑ a 1 2 a 2 1 ト (α lー ら )‑0202 2 二 品 晶 ぷ ~ 1‑a" F . + ト (αllX1ー ら )‑a2 l ‑ a ) ( l ‑ a1 1a 1 2~ l' ( l l 2)‑a 2 1a21~ 2 仏 X2 = このモデル式を均衡産出高モデルと呼びます。 次に、この基本モデルを行列表示すると となり、右辺の係数行列をレオンチェフ逆行列と呼びます。 ここで、次年度の最終需要が ベ切であったとすると 次年度の各部門の生ーは X=ザ( E‑A)xC で表わせます。 ー 116‑ ll‑ ¥ ︑I ノ ( 1一α l l X 1 ら )‑αuα2 2 1 /1ll¥ 1 (一αぷl 一a 山 1 2) ‑α ( ミ ) = 円九 ( l ‑ a ) ( l ‑ a12)‑α12a l l × (1‑a X 1ー ら )‑a l l 2 1a 1 2
2‑3.S AS/IJfLソ フ ト ウ ェ ア で の 投 入 係 数 行 列 と レ オ ン チ ェ フ 逆 行 列 の 求 め か た 今回は、 Microsoft社 の 表 計 算 ソ フ ト ウ ェ ア で あ る EXCELで 以 前 作 成 し た 産 業 連 関 表 ( 通 商 産 業 省 編 集 11985年 度 産 業 連 関 表 」 を 引 用 ) を SASデ ー タ セ ッ ト に 読 み 込 み 、 こ れ を SAS/IMLソ ブ ト ウ ェ ア を 使 っ て 行 列 計 算 さ せ ま す 。 最 初 に DDEを 利 用 し て EXCEL の デ ー タ を SASデ ー タ セ ッ ト に 読 み 込 み ま す 。 f ilename T̲INPUT dde .Excel[ A :¥連関表¥ 8 5年 連 関 X L S ]Sheet1!R5C3:R29C27・ ' data T I N P U T : i n f il e T INPUT informat ITEM1‑ITEM25 10.3; input ITEM1‑ITEM25; r u n ; デ ー タ セ ッ ト を SAS/IML ソ フ ト ウ ェ ア で 使 う た め に は 、 USEス テ ー ト メ ン ト で 定 義 し ます。そして、このデータセットのオプザベーションを行列の要素として読み込むた め に READス テ ー ト メ ン ト で 行 列 を 定 義 し て い ま す 。 2 5 x 2 5 の 産 業 連 関 表 か ら 2 5 x 2 5 の マ ト リ ッ ク ス a、 総 生 産 を マ ト リ ッ ク ス b 、 最 終 需 要 を マ ト リ ッ ク ス d と 定 n )、 行 列 の 要 素 を す べ て 逆 数 に 義します。 SAS/IML ソ フ ト ウ ェ ア で は 、 単 位 行 列 を i( nv関 数 を 、 行 と 列 を 入 れ 替 え る の に t 関 数 を 使 っ て い ま す 。 最 終 的 に 投 入 するのに i 係 数 行 列 c、 レ オ ン チ ェ フ 逆 行 列 xを求めています。 proc i m l ; use T̲INPUT; read a l l var all̲ into a ; use T̲OUTPUT; read a l l var a l l into b ; use DEMAND; read a l l var all̲ into d ; e =i( 2 5 ); binv=b do i = 1t o nrow(b)・ binv[i]ニ inv(b[i]); end・ c=t(t(a)#bi円 v ); x = in v( e ‑ c )・ /本 y =x本 d ; *1 print 投入係数行手I J 'c quit; レ オ ン チ エ フ 逆 行 手I J 'x ; この SAS プ ロ グ ラ ム の 応 用 と し て 、 競 争 輸 入 型 モ デ ル の 場 合 の 投 入 係 数 行 列 、 レ オ ン チ ェ フ 逆 行 列 を 求 め て み ま す 。 投 入 係 数 行 列 、 レ オ ン チ ェ フ 逆 行 を CREAT ス テ ー ト メントを使ってデータセットに出力してみました。 proc i m l use IMPORT; read a l l var all̲ into m ; eニ i( 2 5 )・ mm=m/b: mx=e#mm binv=b; do i = 1t o nrow(b); binv[i]=inv(b[i]); e n d ; c=t( t( a )#bi n v ); ‑117
x=inv(e‑(e‑mx)*c); y=x*d; create keisuu from c : create reon from x ; quit; SAS/IMLソ フ ト ウ ェ ア 計 算 結 果 の 投 入 係 数 行 列 、 レ オ ン チ ェ フ 逆 行 列 は 、 表 2 になり ます。 2 ‑ 4 .RAS法 に よ る 投 入 係 数 の 予 郡 レオンチェフ・モデノレによって経済構造の予測をおこなうとする場合につねに問題 となることは、各産業の生産に関する技術構造の変化、つまり、投入係数の変化を予 測 に い か に 反 映 さ せ る こ と が で き る か と い う こ と で す 。 こ こ で 、 過 去 の 2時 点 の 表 か ら 投 入 係 数 の 変 化 方 向 を 計 測 し 、 こ れ に よ っ て 将 来 の 投 入 係 数 を 予 測 す る 方 法 、 RAS 法 に よ る 投 入 係 数 の 予 測 プ ロ グ ラ ム を 紹 介 し ま す 。 RAS法 は 、 基 準 時 点 の 投 入 係 数 行 列 A を、行方向の修正行列 Sと、列方向の修正行列 Sとによって修正し、予測時点の 投 入 係 数 を そ れ ら の 行 列 積 R・ A.Sと し て 求 め る 方 法 で す 。 こ れ ら の 修 正 係 数 行 列 R と Sは 、 そ れ ぞ れ 暫 定 的 生 産 額 に 投 入 係 数 を 乗 じ た 内 生 部 門 の 行 方 向 の 計 と 列 方 向 の 計 が 、 そ れ ぞ れ 暫 定 的 中 間 需 要 額 と 中 間 投 入 額 に 一 致 す る よ う に 、 交 Eに修正していく ことによって求めます。 以下のようなアノレゴリズムをプログラミングしています。 完了 代替変化修正係数 I I r=lim, r ' 加工度変化修正係数 , I Is' s=l i m 修正投入係数 A1ニ lim, A1=凡 4 .8 予測中間需要 W1=A1X1 r /"l, s /" "1 RAS方 式 に よ る 投 入 係 数 の 予 測 を 、 3部 門 の 簡 単 な 数 値 例 に よ っ て 示 し ま す 。 今 、 昭 和 40年 産 業 連 関 表 か ら 計 測 さ れ た 投 入 係 数 が 、 次 の よ う で あ っ た と 想 定 し ま す 。 ‑118‑
3 一日一日一日 2‑U一日一日 日一一一一日 ② 昭 和 50年 産 出 額 X ③ 昭 和 50年 中 間 需 要 和 W 、 中 間 投 入 和 Z proc iml; a={0.3 0.1 0.2, O .1 O .3 O .3 0.2 0.4 0.2); x={200 300 500); w={170 310 300); z={140 240 400); start ras(sx1,wx1) g1oba1( z,w,t,u ); wxx=sx1#wx1; w1 1ニ sx1本 t(wx1 ); r1 1=t( w )/w1 1; wx2=wxx#rI1; t=wx2; zll=t(rl1 ) 本wxx; sx2=z/z1 1; u=sx2 wx2 ・中間需要和, print 中間需要・ wxx '修正, r1 1 sx2 中間投入和・ z1 1 w1 1 finish ras: do i=l to 3 ; if i =1 then run ras( a,x ); else do・ m=t;n=u; ); run ras(m,n end; end; qUlt; こ の 条 件 よ り 、 予 測 し た 昭 和 50年 に お け る 投 入 係 数 は 以 下 の 通 り で す 。 10 . 29283 0.07453 01 .78151 1 .3741 0. 31477 0. 376171 A=I0 1 0 . 26920 0. 41111 0. 2 4 5 6 5 1 土OQ tA 唱 ノ tA 唱 I tA 唱 }Ioonu‑‑ m Ill11111L 列 おげ 一TJ00.nU 司乙‑ 1= 4 ム﹂目﹁ ︑ Aイl ェ フ寸 チ一 hμL ン オ レ また、 0 . 6 5 3 9 3 0 . 7 5 8 2 3 1 45230 . 1 467351 2. . 1 56984 2. 395931 3 .産 業 連 関 分 析 3 ‑ 1 .産 業 連 関 分 析 の 役 割 産業連関分析では、産業聞の投入 産出構造を通じて全産業に及ぼす究極的な波及効 果 を 計 測 す る こ と が 可 能 で す 。 2 ‑ 2で 述 べ た 需 給 バ ラ ン ス 式 か ら 導 き 出 さ れ た 基 本 モ デ ル は 、 ど ん な 最 終 需 要 額 Fに 対 し て も 、 こ の 需 要 を 満 た す の に 必 要 な 究 極 的 生 産 ー 1 1 9
額 X が、 X=(l‑AtF として求められることを表わしています。 ま た 、 生 産 活 動 に 関 連 す る 各 1次 供 給 要 素 に 対 し で も 、 こ の 関 係 か ら 最 終 需 要 と 究 極的な連結をおこなうことができます。また、付加価値を生み出す基礎である労働や 資本のような本源的な生産要素に対する誘発関係なども、求めることができます。 3 ‑ 2 .盟 内 生 産 へ の 渡 及 効 果 の シ ュ ミ レ ー シ ョ ン 1985 年 度 の 最 終 需 要 の 生 産 に 必 要 な 各 産 業 の 生 産 水 準 は 、 上 述 の 手 法 に よ っ て 求 め る こ と が で き ま す 。 例 え ば 、 一 次 金 属 産 業 は 33610.392、 輸 送 用 機 械 産 業 は 34807.825、 そ し て 一 般 機 械 産 業 は 30409.734 と 実 際 に 産 業 連 関 表 に 基 づ い て 推 計 す る こ と が で き るのです。 こ こ で は i愉 送 用 機 械 の 生 産 の 変 動 が 他 産 業 に ど の 程 度 の 影 響 を 与 え る の か を シ ュ ミ レートしてみます。特に、近年、自動車産業は海外生産移転の進展等、国内生産動向 が大きく変化している業種であり、また国内有数の非常に広いすそ野を持つ業種であ ることから、その生産動向は他産業の生産水準に大きな影響を及ぼすと考えられます。 それではまず、輸送用機械の生産の投入構造を大まかに見てみます。 1 985 年 度 の 輸 送 機 械 の 最 終 需 要 計 は 、 掲 載 し で あ る 産 業 連 関 表 か ら 15235.215 で す 。 自 動 車 の 生 産 において、中間投入が大きいのは金属製品、一般機械、卸売・小売などです。 こ こ で は 、 海 外 生 産 移 転 等 、 何 ら か の 理 由 に よ っ て 輸 送 機 械 の 国 内 生 産 額 が 20%低 下した場合の金属製品、一般機械、化学製品、卸売・小売の生産水準を推計してみま す。これらの製品を選んだ理由は輸送機械への投入が大きいためです。 結果は、次の通りです。 シュミレーションにおける各部門の生産水準 現時点の生産額 予測時点、の生産額 生産額の減少率(%) 22957.793 22688.654 1 .17 7 .化 学 33610.392 32566.635 3.11 1 0 .一 次 金 属 30409.734 41 1 2 .一 般 機 械 29677.372 2. 1 4 .製 造 業 34807.825 29077.61 16. 44 今回のシュミレーションによって、海外生産移転などの理由から輸送機械の生産額 が 20%低 下 し た 場 合 、 他 産 業 に ど れ く ら い 間 接 的 な 影 響 を 及 ぼ す か を 数 字 的 に 明 示 す る ことができました。特に影響が大きいのは、他の製造業でした。シュミレーションで は、輸送機械産業の最終需要のみを変化させましたが、実際には他にも変動する産業 があるので、もっと影響があるはずです。このように、最終需要が与えられれば、こ のモデノレによって各産業への生産波及効果が求められるわけです。また、これに付加 価値係数、雇用係数、輸入係数などの諸係数を乗ずれば、付加価値、雇用、輸入など の分析もおこなうことができます。 4.お わ り に 今回は、産業連関表を使って、輸送機械産業の生産額の変動が他産業の生産水準にど の程度のインパクトを与えるかを簡単なシュミレーションによって試算してみたが、 SASシ ス テ ム の 他 の プ ロ ダ ク ト と の 組 み 合 わ せ に よ り 、 よ り 精 轍 な モ デ リ ン グ を 行 う こ とによって、産業に関する詳細な分析や、経営戦略の立案を行うことが可能であり、 これについては自身の今後の課題としたいと思います。 5.参 考 文 献 金子敬生 宮沢健一 「新版 産 業 連 関 の 理 論 と 適 用 J 、日本評論社、 1 997年 「産業連関分析入門 J 、日本経済新聞社、 1 994年 ‑ 1 2 0
表 1,1985年産業連関表
l
.a手本水産
2石組・石氏
3その他1iI:a
貴晶
5阻阻
骨組ーパ
7化学
健闘晶
g石泊・石 t
@里.・土石
1
0一次金属
1
1金置担晶
12‑蝕睡幡
口電気 1
1
1
1
"繍通用値幅
"繍官檀憎
"その地盟遭畢
1
7姐 担
1
8電気ガス水董
"師尭・小売
2
0金融'!i瞳
2
1不動産
位置岨・遇悟
2
3サービス
2Hま府サービス
25舜書判サーピ
20
開田
。
0
.
0
2
3
1
1
1
1
1
1
1,
1
1
1
2
1
1
1
11
1
4
4
1
8
8
.
0
担
7
1
1
2
.
8
3
4
4
2
.
1
1
1
1
3
2
S
.
4
3
0
.
R
S
8
2自1G7
1
3
2
.
5
1
G
44
7
.2
1
2
5
.
1
1
4
0
.
8
宮5
2
4
2.
0
2
4
3
.
3
4
8
74534
ee
7
.015
自 4
.
3
1
'
.
8
4
4
3
.
3
1
7
4∞ 2gS
3S94
I
.B
14
8石油・石圃@圃.・土
.
.
.
.
羽 田2
tO-~完全
回
1
4
1
1聞 t 4
8
8
.1
5
8
4
1回 1 1
0
.
1.
5
。
0
.
・
0
.
1
4
4
1
2
J
I
S
G
2回 2
0
.
0
曲
。
0
.
0
5
7
IRl
!3
3
3
.
7
5
1
.
5
1岡 市 1
1
.
11
1
4
4・
2
4
.
8
1
1
1
2
4官7.41
5
3 13201
5旦28
0
.
13
<
4
0
.
2
8
1国 7
.2
12
5
8
7
.
7
7
5
7
2
.
1
1
2
1 2
1
1
21
0・
・
調7.1
3
1
1
3
0
.
8
2
8 2
8
4
.
1
1
2
2
.
1
1
3
7
1
3
.
8
1
9
8
.
0
自1
日1.70
1 24d.
1
Z!
I
1
2
8
.
1
7
7 3
1
4個
3拍 5
。担2
2
.
4
7
4
0
.
4
1
3
2
G
O
.
1
7
1
調 01
2
.
2
G
4
1
.
1
S
3
2
.
7
3
4
82
1
0
.
7
5
5
国.
.
n
担
1
4
.
1
5
5
3・1
3
d
.
S
d
2
8個
t
G
.
2
1
4
1
1
5
3
.
1目
3
5
.
8
7
7
4
0
.
0
4
7
1
3
.
8
4
1
5
1
.
Q8
d
3
.
'担
7・ "
'
.
5
3
'
1
1
5
.
4
2
4
3
.
1
1
5
5
1
27
.1
2
4
却 帥5
1
.
1
0
5
0
.
0
1
3
0
.
3
3
7
0
.
2
7
7
0
.
2
G
g
0
.
0
1
3
I
O
.33d
2
4即.5
7
4(
1.
7
1.
5
G
d
.3(河
B田 0田
5
.
3
1
4
8
5
.
1由7
1
5
.
&
4
4
2
.
3
7
2
1
.03
司自国
3
2
.
1
1
7
2
4
8
4
.
7
2
0
2
.3;4 37
8
.
.
3
2
1
1
1
.
3
1
8
1
0
4
.
4(
14 1
自刊日. .日.
1
1
1 3
1
3
.
1
1
2
3
10.8η118.214 4
5
2
.
2(
14
出
.
4
,
81
1
8 2
11
.1
1
8
1
1
1
3
.
4
1
1
1
国 3
1
1
4
2
4目 S
却'
.
4
3
4
'
.
5
d
1
3
.
5
0
4
d
S
.
T雨 量 "
1
5
.
8
掴
3
1
3
.
0
1
S
4
43
4
1
7
0
8ロs
調B
.
B
7
S
2
.d
71
1
.
7
1
5
7
4
8
1
1
2
.
.
,
,
"
,
噌
.
'
・
・
.
.
.
.
.
,
,
'
"
内
回 目1
1
I
:
26U87
7
0
.
2
5
5
4
.
S
g
d
1
2
.
1
5
7
2
2自'"
・
1
2
.
2
1
1
1
2
.
3
5
羽 目.2
t
.
e22
18
田4
85 4
S
.
3
由5
1
商色 町 1 1
1
4
1
1
.
7
1
3
1
却4
dS
1
1
5
.
8
4
7
1
凹 "2
1
.
1
4
'
2
凹.2S
4
4
1
5回目
1
8
1
.
1
5
1
1
官4
.
5
7
3
却・ l
'
e1
8
'
刊回
1
1
.
7
4
3
3
.
1
1
1
0
.
1
1
5
1
5
4
1
14
.
47
1
1
4
4
.
8
8
7
問自 1
3
2
4
.(
19
5
1
1拍園田5 1
羽 田1
57H(
l3
4
4
4
.
2
8
8
m.423
2
7
2
.
2
4
2
1
1
1
4
.
8
4
1
4
3
.
3日
日<..臼
3<2
自
司4
S
1
割3
1
.
1
4
S
18050
5個 @
噛
内
内 町内. .
句
司
島
崎
両
.
,
4
g
2広3d.
E
1
1金 属 製
"抽量Jft 15輔 官 償 問 そ の 他
叩一曲樋
回
5
.
0
4
4
3
.
4
4
2
帥2
調
2担
司
自
.
2
.
52 1
2
d
O
.
2国
2
2
.
.
51
2
l
d.
2s
e
@
。
国
‑田8
1
8
.
0
2
1
1
1
2
0
.
1
1
1
1
0
"
11
.1
1
7
3 211U凹
4
3
4
.
4
4
4 1
4
凪 1
5
1
3
1
1
31
.
3
:
圃
2同+医瑚
.57 1
7
3
7
2
.
7
4
2
'
07
3
2
.
3
G
d
ー
1
.3
17
1
4
0
.
3
d
G
2
凹.
0
8
1
3
'回 1
2
0
.
G
3
4
2
G
.,
3
2
2'回
0
.
5
3
2
0
.
1
0
3
1
4
3
.
8
7
7 1
4
7
.
4
8
1
1
8
1
1
..(85
1
30
.
23
2
担 8市
1
47
7
.702
司自由 7
8
4
1
1
.
5
3
d
l
l
.
0
0
4
1
1
357
(
12
.
7
0
1
1
15
.135
Slg.
27
g 1
回旦 S
d
2
Ud4
5
.
2
6
8
4
a
a
l
l
O
1
1
4
.
1日
1
2
0
.
8
2
3
" 田4
J
.
4
7
a
4
d
田1.3
51
ld
7
.212
1
5
3
.
5
7
由
2
d
.
l
'
G
0
.
4
4
7
1
(
14
.
0
1世
18.官官
27
7
.
0
曲
402
.3
73
317.出"
7
"
"
1
3
"
2
四.23
1
5
.0
1
1
4
1
1
0
.
1
4
2
.7
2
0
.5
0
.
1
1
2
3
11
.5
1
.3
23
7
1
1
.
2
4
1
1
<
3
・35
rUl
4
.
2
5
2
2a
7
.
V
1
S
l
!8
.
e
d
l
2
4
1
.
1
0
4
7
1
1
1
.
3
4
0
1
2
4
.
3
3
5
1
0
1
5
.
4
2
5
<52刷3
1
81
.08
3
1回目 0
4 2
3
4
4
.
1
5
7
1
B
l骨o.
1
G1.偶"
1
5
7
1
0
.
5
8
1
5
7
44
.
87
1
4
2
4
.
5
5 1
1
0
41
.
45
1
.3
53
17
'
8調 4
4
8
.
1
4
7
l
ld
.
Q5
1
田且 7
55 1
7司 .
3
1
1(
1
d8.242
28.138
目日開
7
1
1
t
5
国
1
2
1
1
8
.
8
1
7
目 j回
7
1
4
.
7
4
1
0
52
.3
0
2
1
7
0.
12
9
2
1
5丘077
5
1
日 間1
1
5
1
1
5
.
3
2申
羽 田 周3
日間
'
.
0
国
3
.
1
5
0
5
1
田 制1
4,
U91
"‘司"‘~~
A~"a...
l1
.d
S7
lnd担
...~・…ー…-・
.
.
・
'
.
24
4
6
.
8
4
5
2
.
0
3
1
..
且
2
1
1
.
7
5
4
42
7
.1
帥
3
1
5
.
1
4
1
1
5
8
.
313
11
.7
252βlG dU2G
2177回目 207
,
;1
5
3
3
2d
.
dG
3 1
5
1口 1
3
2阻 伺 1 5
4
.
2
5
1
1235.
21
4 201
.
735
1
0
8
位目
5
.
1
1
1
1
.
7
3
d
・
lRS1
.
2d3 262
.7
4
d
7
8
.
4
1
1
B
5
ι凹
452
.4
由
4旧 制
1
37
7
.7
1
1
1
5 1
1
5
7帥 "
l
!O
B
.1
官
1
3
8,
0
0
4
3
1
泊 7
9
B 3
0
.
5
4
2
.."同
8"割
1
28
'
2.
3
1 2
1
1
5
.
1
5回
I
.
O
B
S
2
2
.
"
7
3
4
.
5
5
1
0
.
7
8
n
.
.
.
r
.
.a
.
r
一‑一一一
.
1
3
0
.
1四
'
.
0
剖
。目 3 2
1
5
52
.
副
苅
‑
<
1.
0目
7
4
1
1
.
8
7
3
.712
2
3
.
0
5
掴
21U74
3
.
2臼
2
2
1
1
.
a
s
e
2
8
.
4
担1.1
1
7
4 l
!4
.
0
1
8
1
回..柑
".由 3
G2 17
:
珂.
2
.由
.1
4
2 44"5
.7
掴
1
2
.1
1
3
1
02
"
3
7
.
5百
237
V.
3
1 2
0
.
G
B
1
.由.
4
2
1
5 日,,̲.担
G
.
0
7
3
2目.市
1
4
71
.5
田
3.
.
.
1
2
2
.7
G" 即日.. .阻刷 7
調0
5G
44U国
4
3
.
1
5自
由
1
.
1
5
4
1
0
.
3
7
1
1
1
'2由4
s53d目
4
3
2
1
5
.
7.
5 2
3
7
.
0
7
0
"田..
1
07
.
回1 4
11.
21
1
5
刷 a田 1 5
1
3
.
3
3
8 443田 5
2
1
2
0
.
1百
27
坦 5却
3
1
0
.
8
4
1
1
1
87
.7
国
10
祖 国7 回 0
.
8
75
.
2
1
2
.
6
帽
3
2
3
.由主
1円 '
.
7
0
4
引2
.
1田
2
1J
.
U2g 担 5柑 2
目 同 国1 "
1
3
4
.
4
d
g 1
目 1日
調
1
0
.
8
21
.
開1
am
g
.
7
2
B
1O.
g
O
d
3
.
S
2
一...
一品...・員同見向
.
.
a
。回 7
1
3
2
.
1
8
1
0
4
.
8
4
7
"申 4
27
ー1
.
2
5
7
1
2国 国 4
5
3
.
4
1
5
5
.
7
0
1
5
E
申3
.
4
2
4
2
.
4
1
5
5
3
9
.
2
1
1
5
1
2
2
.
7
7
1
4
4
.
1
2
5
1~ 1.7 17
3
7
0
.
4
8
5
7
5
1
1
..
5
団
1
曲1.5
15
4
1
3
8
.
3
7
2
2
7
1
51
.2
0
1
2
2
2
S
.
3
2
9
541H13
.....両~ A"~
1154
.
&1
:
22
.
4
3
4
2
3
.
d
l
5
.2
.
4
1
1
1
.
.
回.
0.
4
4
3
3
r
.
n3
2
0
1骨市
3
1担 2
1
.
0
2
1
5
阿 国1
1
5
1
1
5
.
0
1官
1
0
8
.
8
3
3
1
4
.
2
7
1
何割潟
2
.
0
0
7
3
1
.
7
1
1
2S
3
0
.
7
5
2
5
.
1
5
3
1
国 ι由.
1
百 日3
5 13
曲 7
47
。加9
2
1
5
.
4
5
4
1
5
.
4
7
1
5
8
.
t
G
4
0
.
1
1申
2
.
3
1
1
5
23
1
.
0
:
:
施
U25
1
0
.
d
R
S
1
5
5
.
0
1
1
5
1
5
.
8
4
5
0
.
5
5
1
.
18
1
5
4
.
8
4
G
4
0
.
G
4
1
3.
5
1
.
回1
41
日 開3
,見 1
8
7
21
.4
48
0
.
3
1
4
1
国2.d
31
1
.347
1
0
.
0百
25Gdd
0
.
2
1
1
8
0
.
7司
1
45
..
0
1
3
0・3'
72U.
5
1
5
.2
.
7
8
3
担.e.
dl
7 4
1割 S珂
1
1申4
1
1 23阻 877 3
2
4
.
4
0
7 .
.
.
.
2
.
1
5
4
且 8 3 2 .1
1
4
5 1
田8
.
1
4
7
1
2
7
7
8・58
1
27
.
21
1
2
"
2
.
3
2
7
4
2
1.
2
副
司1
1
.
1
1
8
4
1
2
4
4
.
3
5
4 1
国臼田:2 1
2
5
0
.
7
1
1
5 1
8
3
0
.
2
0
8
田3
.
B
7
目.
1伺 叩 5
.
1
5
0
4
l
d
B
5
.
1
d
7
B
.
.
.
.
.
g
.
.
却0
1
1
5
2
g司 317 2
制苅 1
3
'
3
S
9
2
.
7
1
7 Bd4国 4 223日 3
1 B4gU89
11
.0
1
g
24
1
.8
4
4
申日制
S
.
2
1
1
7η1
2
2
.
S
2
g
1
1
.
4
2
3
0
.
'
・4
。
晶' 『晶..
,一一
4.
20
1
3
.
C
O
D
。
0
.
4
3
1
1
1
四7
1
1
1
1
1
4
.
1
1
1
1
2
.
"
"
5
3 "・
42
.3
75
25811
市1.3
1
1 開1
1
.
1
4
2
4
7.
5
.
割1 1
4
3
1
5司
3
5
.
0
担
" 田E
5η
1
4
.
5
4
G
4
4
.
5
1
5
8
3百2
2
1
8
.
G調
3
・l
'
2
4
3
.
8
2
5
2
d
.4d4
1
5
3
5
.
5
5
1
2
4
.
3
1
g
51
.2
8
1
1
担'"
1
凹3
.
7
4
7 403副司
甜1.1H
I 1182自4
1
1
1
1
0
.5
.1
7 2
1
1
2
.
1
1同
白 川4
申
307
.3
1
5
1
1
1
0
.
5
1
1
5
7
3
.
4
1
2
1
07
.2
3
1
t
由
7
.3
3
4
g
4
d
.
7
1
4
g
.
0
4
3
.
.
A
.
.
.
.
.
. ー..晶... A
'
"・ 一 一 ムnー担2
ー
F
→
.
.
C
'
‑
J
3
g
7
S
.
4
4
4
1
.
1
7
両1
3
.
"
1
5
1
5
2.
担7.1
.
.
S
I
4g2
S
.1
4
d
1
7
g
g
.
5
5
3
担, .
.
g
.
1日
"伺回世
1
4
"
2
SJg8
ldd4H2
1523521
S
1
3
1
3
.
8
η
2回 目 375
S31Hd
7
1
3
1
3
3
.
7
1
2
2日
7
.
:
)
'
g1
I
g
2
1
7∞ 4
01η.718
1
回5
2
.
2
1
2
4
日2
S044
∞1.8
g 3嶋 田 ..
1
。
1
3
0
5
0
4
。
2S2Ul
1
4
gD4d
。
22
7
.d2B
司自 4
4 ‑3自4白 2
4
4
S
8
2
.
B
I
8
。
3
1
5
.
0
3
2
。
0
.
2
"
S ‑117g1.B2..寸 1
7
臼3JJ
。
。
4
.
82.
1
0
.S.回再 '
'
'
S
2
.D4..悼 1
4
41
.3
制
gR734
。
。
2師 .
7
2
1 ‑
2
3
1
5
1
.
2
6
1 2
3
"
1
"
.
3
3
8
,.司自" 1
四 1
圃
2
.
7
同
1
4
4
.
3
2
8 O
8
S
.
"
2
g ・7
岡田園
伺骨
1
07
.588
。
2
.
.
.
1
5
5
2
3
3
.
5
1
1
5 司3
1
5
8
.
7
4
1
5
‑
2
S
.
1
1
7
8
"
'
1
5
.
1
2
。
2
1
7
8
.
e
S
l
8
1
.
0
7
2171
.3
2
1
5 ‑17自S
.
O
d
2
1
5
45
,
伺7
2
2師 0
.
2
7
1
。
331"田 1 ‑
1
3
9
.
d
g
8
3
9
5
.
2
0
1
2348担 5
1 1
2
21
.7
0
8
日
l
d
l
"
d
.
B
。
3
5
3
.
1g J 田 2"
5
5
1
5
.
7
'
"
・1
町.剖 1
加1
.
1
5
3
8
ae01
.
1g
1
2dl32d
231
.
41
5 寸 5田 4 叶 I
g
.
1
5
2 3
1
5回 目 7 ‑
2却..目冒
1
割5
.
"
8
1
.
1
54
4
3
3
7
14
45U2S 寸 2
.
1
8
2
1
7
.7
1
5
2
1
5
"
3
.
2担
B2UdS ‑
1
1
1
5泊 2
即日"
1
1田 1
.
1
1
1
5
,
5g
dg
1
47g.~g
2
個回目
1
0
3
1
1田 S 5
5
1
5
1田
‑<1"町
1
1
5
0
0
3
.
3
9
1
30"2R7
個
2
g
3 137H7S 8
d
1a
.
g
d
7 g17S887 叶 310.tn 22377.
207
羽 目S
.
1
2
7
3
.
.
1
4日 3 $伺.
3<日 2
田
l
B8
.
4g
4 1
四 回2 同 調 1
17 1
1
4
8
5
.
2
B
I 同刊 7
.
3
叫
I
g
S
7
g
.
0
g
3 348U,
g
伺
8
g
4
.
2
S
1
引 .
g
S
2
1
2
0
.
2
7
S 回2.4S
g 1
司1.71
B ‑
3阻 4
2
2
2
7
0
S
.
2
担
4
0
1
B
.
g
O
S
同同司自
ー1
373 1
4
7
.
国7 旧 担 4
S
2 1
0
21
.2
42 ‑
1
8
8
8
.
1
g
B 1
1
1凹..田
307Sg,
8
1
1
4
。
。
I
g
l
g
2,
71S 担 3
g
2
.
2
g
3
。
。
'
2坦,.眠障
.
7
I
J
目.
4
7
S
。
。
日 田 "0
。
。
1
4
.
2
4
8
目 見 回4
時田1
,
7
‑
4
4
.
5
5
52
.
2
3
5 32U2dS ‑t阿国5 甜旦出向S
刷同日開
2
g
g
3
4
.
7
4 lUg01 3
2
g臨調
5担。同3
。
。
2
'日 7
7
1
4
4
0
.
4
2
S
IJ
.
;.
3
5
4
243S
1
I.
3
S8
'
2
。
。
2自"骨量"
。
。
2自l
1
lUSl
30342,
1
5
1
5
7
個 37
.4
4
自 由ι n
2
8
.
0
9
8
3
1
1
5
.
0
回
3g7B3g I
S
g
8
.
8
叩
1
37
3
8
.2
2
1
5
3
2
5
g
0
.
4
担
1
。
。
3
8
C
l
I
O.
8
4
,
3
<
,
骨I
S ‑
2
4
0
8
.∞ 5 3
7
0
21
.
74
1
5
8
2
1
1
4
7,
3
g
478
7
.3
1
8
。
。
。
。
J
.
5
.
4S
2
.
l
1d
調4
S
4
.
3
S
7
1
4
g
.
O
G
8
。
。
。
。
g
d
7
4
.
団施
官8
13
.S
1
d
7
1
3
S
8
.
5百担
w.
軸
帽
帽
F g a 書 5 8 F g 円︒戸﹄ 円OF@ 円︒F‑o 円O F戸田 ロ白FHN noFHU F S g nDFHU ロ 白 ﹁ 戸 市 山 円︒FH吋 no﹁同∞ 円︒﹁同@ 850 gEH E 85u 8 5 品 地周 N・世即﹀市剤師昨司浬 円︒戸田門OFLN F もS ooooso‑so‑∞0・2OEO‑COON‑POSHNpoco‑M0・2OEO‑02 ご E 円︒戸LMM 円OFhω 8 5 4 85u 25m エニ 巾 巾 ︐ B 曽 Ol︒・o‑solo‑‑SE・o・320l︒・2M苫︐︒・0OEO‑0・︒ss・o・gas・o・ouzo占・820 邑 ωC・O・0N目︒10・2 占・ouso︐︒・ogoo‑0・SOS︐︒・OE0010・0ENO10・02E・o・‑M色0・0・自os・o・口百Olo‑‑NNE‑0・02s・o・02MO'0・2us・o・0 占・oOME10・0SMO10・0Noso‑soE10・00∞BIO‑OEBIO‑ESolo‑E足︒﹁‑um色10・0280・︒︒goo‑ooSoo‑OHZoo‑ESoo‑OHコOps‑moo‑oEBIO‑Zug‑ogMgo‑goMOO‑OBoo‑0・︒︒由︒︐︒・︒suo‑︒・0OEO‑0・00Mg 冒 00・MEgo‑sgoo‑‑酔Zoo‑oEM0・0・田口20・00solo‑2go10・2ωE・o・02苫30・︒=E・o‑zg︒'o‑‑‑NE・o‑ogg占‑‑ZE olo‑‑uE010・22010・戸MM酔C・O・MM包︒︐︒・8Hω0・0・古EogM・昌Bolo‑zos‑‑吋SE0・S 'o‑ 弓 E・o‑SUE‑0・22︒︐︒.︒ES・o・2‑g占・︒zg ︐︒・0Eoo︐︒・2司︒︐o‑Zug‑oacts‑0・0@吋OOlo‑‑uFMO︐︒・芯Eot‑‑EZolo‑‑ENOlo‑ESoo‑EOBIO‑CM@S・o‑osuo‑0・otoo︐︒・0M2010・EBoo‑ogs・o‑SHoo‑0・8@吋0・0・0 ω ︒ 国 ︐︒・0M吋担︒︐︒・0念Z010・回目品︒︒︐o‑OMO0010・00∞∞010・0@吋句︒lo‑‑mM吋0・0・∞Apa酔0・0・Hoaoolo‑‑‑ω吋0・0・0mmOOH・HAmu‑010・0回一=oo‑‑Mω吋010・0HO@010・0品印ω0l︒・OM酔0010NO︒∞0・0・OMHmol︒・OHO∞︒︐︒・0OM戸︒︐0・︒muu0・0・0Mmo︒ー︒.︒MM品︒︐0・︒ω 呂 '0・︒ts・o・0E吋︒︐︒・2SO占・︒N出品︒ 宮 0・0ZFO︐︒・850l︒・2solo‑‑SE・o・0N50l︒・oEE・o・0ou 邑 010・ogs︐︒・︒ωN810・820占・︒芯ωD・O・‑osolo‑220'o・ogoo‑0・02uO10・2‑E0・GEMo‑‑MEgo・0E ︐︒・0ZE10・E お 010・028102solo‑BED‑0・OHMS‑0・ONgo‑‑tE010・OHSolo‑ssol︒・2∞s・o・‑zoo‑0・000∞0・0・︒ZN010・00MMOO︒2210・0‑=︒︒.︒︒︒︒︒︐0・0MME 占・︒=M010・0MMMOO‑02210・0EE10・zso'o‑oSE・o・52010・E 占・oOOslo‑oENOlo・00Mg︐︒・0OEO‑0・0OEO‑0・8Mg10‑OOEO‑0・0MFOOI0・ENg‑0・0OEO‑0・00Zoo‑oZEPOCH酔Ops‑00﹁coos‑0・203l︒・SOB‑0・0OEOPOONEpos‑D・O・205占‑sz︒︒.︒︒ェ︒︒.︒︒=︒︒︒ES ︐︒・ouzo︐︒・03210・M200占‑ONUS‑0・szoo‑0200︐︒・MM20ム・串晶S・o‑E@s・o‑NES・o‑EOB・o・0MmMOO‑OHME0・oazo‑zug﹁ロ白00・osuo‑0・色目s・o‑OHMMOO‑OMONo‑0・02E・o・00E︒︒.︒25・0‑︒SS占・︒HHS 'OEO‑mwoo︐︒・0Hmwoo︐︒・0晶@∞︒10・︒同一N吋0・0・OHM‑AM・o・0ω同吋010・ou印晶0・0・ωuo晶010・0晶酔ω010・0品∞ ︒︐︒・0MMU0・0・︒同色合同0・0・0MMU0・︒・0‑MHO‑0・00吋︒︒︐︒・0戸umoo‑ω∞Hoo‑0・0@O@G・O・00MMOO‑OOAmF00・oa戸晶0・0・OM明日︒︐︒.︒︒吋白0・0・︒︒︒∞o'0・︒︒MUO 'o‑0・=︒︐O目印∞0010・AFONuo︐︒・戸品︒ω010・MHOHo‑0・M∞吋@010・晶∞‑@03同・吋∞吋一NC・O‑u@@︒0・0・晶印酔吋0・0・MMUAm0・0・‑uω∞︒︐o‑‑umU0・0・H‑Mao‑0・0∞@oo'o‑‑m吋00l︒・戸市w︒moo‑ouωN0・0・‑OM吋Ol︒・0酔H‑0・0・0N戸市WG10・MMO∞0・0・‑MMU0・0・omMM0・0・戸戸∞∞︒ E00・0︼∞U00・0H吋moo‑OMO吋Ol︒・0戸島吋0・0・AFM印moo‑O@口∞0・︒︒︒MM︒︐︒・0ouuo10・︒∞︒︒︒︐︒.︒︒HJ﹃︒︐︒.︒MM@︒︐︒.︒MG‑o 'o・︒‑‑吋O︐︒・0吋必吋Olo‑‑MZMOO‑oωO∞010・000戸︒︐︒‑O吋吋晶010・戸市WHNos‑‑M∞戸Molo‑‑MO∞0・0・戸市山市W伊︒︐︒・0印臼HO︒・0oumoo‑O宍 ︐︒・0印M4olo‑‑oMmo︐︒‑M‑OM0・0・ORN∞0・0・0吋ooo'o‑‑OAEo︐︒・H∞∞Mos‑‑吋∞吋@0・0・MOOHO‑0・H吋mHOlo‑‑MU@0・0・ouuU0・0・0Am‑M0・0・ou念wO10・0Hω吋0・0・0uO吋Ol︒・om@U010・um∞000・︒︒@戸o‑‑︒uu戸︒︒︒‑a∞︒︐o‑MOU吋O'0・︒uMM︒︐︒・om‑品︒︐︒︒吋晶∞︒ 'oou印ω010・ouω∞010・戸OMOO︐︒.︒同∞戸0・0・0品川WHO‑00吋ω∞0・0・HFJ﹃@010・0@U0010・0ωωω0・0・MH@︒︒︐oou戸島0・0・0MmH010・0MM︒︒10・0MmAmD・O‑OHFoolo‑ON@戸030・ou吋吋0・0・Nω戸U00・0N‑MOO‑ouN四00・市wω∞﹄O'0・︒uou0・0・︒︒∞‑︒︐︒.︒MTmG・O・︒MGU︒ 'oohp印品目10・0∞00010・NO晶ω︒︐︒・0HAmU0・0・0∞吋0010・戸︼品︒︒10・M酔OMOz‑‑m品∞oolo‑‑a'∞め010・MO吋∞010・0∞O吋0・0・0ωω@0・0・0AP白00・0・︒ 白色C・O‑OH吋ωol︒・0かωoo'oohm∞同0・0・恒三日山G・O‑OHMMOO‑OM‑吋0・0・00吋︒︒︒・@吋印︒︒︐0・︒umm︒︐︒.︒Mωuo'0・0品∞︒︒ 'o‑MZS'o‑MSuo‑0・830'p‑EU010・MHos‑0・主20・0吋出回04uazo‑0・EOHO‑0・20E・o‑ωOZC・O・‑zg︐︒・HOEO‑0・MEMo‑0・0コ苫l︒・5吋∞Ol︒・MEEム‑tN210・02E0・=品E・o・00og・0・M君︒︒︒・Eus・o・2MHO占‑Em苫 'o・00MMO︐︒・0OEO‑0・00コD・O‑OOEO‑0・SUMO‑0・︒2210・︒suo‑0・ozs・o・︒OEO‑0・0ogo︐︒・0osolo‑028・0・2PE・o‑OCH‑0・0・8021︒・OOps‑0・osuo‑ooEgo‑oSHOO‑ooogo‑goE0・2士︒0・0ozoo‑ωSE・o‑sso ︐︒・00‑目010・︒︒HM010・0OM‑0100︒︒︒0・0・︒OH吋010・︒︒MM0・0・00Mm0・0・0HO∞0・0・00ωColo・00ω∞0・0・00F00・0・000ω010・000吋010・︒︒目︒︒10・00omol︒・00目00・0・︒︒‑uo10・00吋︒︒10・00OMOo‑︒︒OHo‑0・000‑0・0・︒︒‑u︒︐︒︒︒︒吋︒︐︒.︒︒︒∞︒︒・ω@唱︒︒ EA 唱 η6 η6 0・000ミ0・2SN0・02go‑goZ0・20MOO‑ss︒POSE0・00OEO‑22晶0・000202SHOOSEP︒︒︒ミ0・︒︒︒OM︒︒︒s︒一 850 g ‑‑∞佃戸︒︐︒・0印OFO︐︒・戸60woo‑印︼UMOO‑00印吋O'OO吋OAE・o・‑晶∞U010・∞吋@00・0‑uNao‑0・戸市山明日0・0・0吋吋∞0・0・0晶umo︐︒・oumuo︐︒・ou@∞010・0MHhwoo‑oω∞M0・0・0品川昌010・M也市WHO‑ooMU000・00‑aD・O‑oouoo︐︒︒︒︒吋︒︒OMM∞︒︐︒.︒同酔品︒10・︒MU@o ・M‑M司︒ ︒a‑‑uoaoo‑‑・戸吋∞NOE‑‑UUAE∞︒ g‑‑吋同句@Og‑‑6hmMOO‑晶‑MWAmHOI‑‑吋O︼担︒︐M・mmω∞01u・UMuoo'u・MM吋mOEMU‑品吋吋ODI‑‑ω吋品川W01u・Mm∞叩01N・吋Am∞oo‑‑・∞ω咽吋Ot‑‑吋吋吋mos‑‑∞ω‑ωotrH晶moo‑‑H・@印吋印OIM‑‑@吋ωo'∞・@Mm∞ot‑‑‑吋OHO‑︒・uN晶吋0・0・N吋晶ω0・ 出 NO︐︒・00∞00・0・om吋吋O︐︒・0︼市WHO‑0・0MO∞o'o・MMMOOO‑‑吋句︒00・目NAmO00・0U吋@00・0Ha∞00・0︒@︒︒0・0HMMOO‑00吋uo︐︒・︒︒︒∞00・ou@@0・0・0吋UND・O・00J﹃︒0・0・︒ONUOPOOHO0・0・︒‑吋印︒︐︒・︒︒吋唱︒︐︒︒︒︒@010・︒︒也NO 'o・OM‑NO︐︒・0EN吋00・@m O‑‑‑EMO'OOM印U010・0@u︒︒‑‑MAEAm0・00M∞uo︐︒・0印吋印010・0∞凶NO10・0N同∞0・0・0∞mU0・0・HO@N0・0・0品吋酔0・00MMApo‑OOF∞N010・ON‑‑010・0HFMWO10・00吋吋︒ー︒・0ωNao‑0・MO吋吋010・OHHmoo‑O︼O印0・0・00‑ω0・0・︒APU∞00・︒muω0・0・0‑MApo‑0・︒000︒ 0・000Amoloo‑‑J﹃010・0M@ω010・000吋O‑‑mO@OOPOON晶0・0・ouZBIO‑NoumO10・0同声凶010・ou晶@010・0目品目0・0・00晶酔00・000‑00・0白色@00・0OAZoo‑H‑mmoo‑OOAmoo‑0・om吋吋0・0・00HJ﹃0000晶000・00OHo‑︒︒HNU︒︒ooua︒︐︒.︒︒戸∞︒︐0・︒OMM︒ MOO‑00@∞00・0=Z000000o'0・0MMU︒︒.︒︒@MD・O・︒ou‑o'0・00Ha︒ oo‑‑M010・0M‑﹃010・0印晶MOO‑oω同ω00・00吋晶O‑‑m品︒∞D・O・0戸市WOD・O‑M∞OA世0・00NhH010・omωuO10・0M000・0・0oaHOO‑00匂M0・0・oo‑‑山00・OHM‑00・︒∞@出Ol︒・0OAm戸010・EN 0・06U∞︒︐︒.︒閉山woolo‑‑‑hm吋00・0M6moo‑MMM・‑00・︒︒umwOM晶ouoof‑H‑OAm戸oolo‑‑oMM0・0・Hu‑uO10・0U﹃日010・OFJ﹃@00・OHUω00・0oa吋00・0omooo‑‑u@ω0・0・ouoω0・0・ωAmuuO10・0Nhpω00・00J﹃mO10・0OM品G・O・︒吋出MOO‑︒uuω︒︒︒‑‑‑00・0∞ω∞︒ noFF円︒FHnoFunoFhp円OFU円︒FonoF吋円︒﹁∞円︒﹁@円︒F‑ono﹁H‑n白FFMnoFHω円︒﹁FAF円︒﹁Hun白﹁戸︒nc﹁戸吋白担﹁‑∞noF‑ω {hl(HIミ)﹄﹃‑惚﹄国司明一一 ︒︒005020 呂 0・0MUO∞OOMO∞吋C・O・‑M@00・0Mm晶印0・CHoa‑‑0・ou吋戸市W0・0同吋印∞0・0H戸一NApo‑ooou吋0・0ωO吋M0・0MMM@0・0MHUN0・OFm吋@0・0MM∞U0・0NOUN0・0MM000・oum∞吋0・0H吋同∞0・OMOA‑N0・ouMM戸0・︒︒︒∞M0・︒@︒︒戸︒・︒HApu‑︒︒MMMω0・0MG戸‑ 00MMm60‑o‑u印0・0吋佃∞M0・oh横山岨晶0・0NU@60・oaEU∞ω0・00∞O‑0・0目︒OU0・0朗自戸H0・0uM∞∞0・omO吋日0・om∞MHO‑O吋︒ω︒0・0um∞U0・ouuoO0・00Nue0・0吋戸酔00・ouaEum0・0∞∞m吋0・F晶吋UFOOMM吋∞︒︒︒∞出︒︒・‑OM∞戸︒・︒∞u‑Nooomh・∞ 0・000HOO‑ooo‑‑V0・00OU日0・000N∞0・︒︒0・=0・︒︒︒ωM0・︒︒︒吋00・0000吋0000印∞0・︒oOH明︒・000N∞0・000戸@0・︒︒︒H吋0・︒︒︒muooooH吋0・000N@0・︒︒︒ω00・000晶U0・︒︒HN‑0・︒︒ONF0・00OMOO‑︒︒吋品同︒・︒︒印ω︒︒・00‑︒U0・︒︒︒ωN 0・00OUU0・0‑mO00・00∞∞ω0・00M∞00・00臼戸田0・00ω︒M0・00切晶吋0・00同︒ω0・00吋同市W0・00ωAF戸0・︒︒︒晶∞0・00印吋@0・000吋@0・0OU@U0・00吋︒00・0om吋@0・00印刷@0・000N印0・0aEU︼@0・0ua吋︒0・00H吋酔0・OF∞m∞︒・︒同︒ωω0・︒ou‑吋0・0目︒︒ω OOUMO‑0・ou∞山吋0・0吋吋@00・0︼M‑00・06hH@0・OMU︼@0・0UM‑00・0︼︒∞00・OAF‑uU0・0戸市w@00・0M﹃AmM0・0M臼hP00・0Hao︒0・0‑吋︼@0・0ωω∞日0・0MmuM0・0回吋@U0・0Am吋ω‑0・00吋吋ω0・ou‑o@0・0MωωMOOM∞ω∞︒・︒MM‑hP0・︒ou︒ω0・︒︒吋品∞ 0・︒︒MA世相000印声MOOOM印00・00‑J﹃日0・0OH@M0・0OUN‑0・00ω吋∞0・0OHMω0・︒︒ω印H0・00uoω0・0OFmM0・000岨M0・00目吋日0・00MMUD‑oo‑‑00・0OF臼00・0OH∞︒︒・OHMHOO‑ooaomo・00晶@00・omuAmmo‑︒︒@@曲︒・︒︒uuU0・︒戸omN︒・︒‑NOU OOOAmMHO‑O∞∞@晶0・OM‑吋ω0・0HMAF@0・0MmM∞0・ohp晶@印0・omOM凶0・00∞AFω0・0AFAF@吋0・oaEU∞U0・0MAFOHO‑o‑@晶∞0・0戸∞MOO‑o‑MOOD‑o‑M戸∞0・0戸吋向山ω0・00∞∞吋0・0MMmω0・0MMAFU0・0OUN‑0・0OUU00・0Muum︒・︒N‑∞∞0・︒uMmm︒・︒同ω∞印 ︒ou吋吋U0・0MMM@0・00∞moo‑omMAP‑0・ou∞O∞0・OM吋MOO‑ONu‑ω0・0N吋MHO‑OAFHOmo‑ONUMOO‑OM晶∞00・ohMm∞0・ohpumU0・ouω印吋0・OAF‑吋∞0・ou吋m∞0・OAm吋O晶0・0Ham‑0・0ωO吋@0・︒︒UMω0・oo‑‑ao︒MM@ω︒・︒aEOO吋0・︒‑ua‑oou‑uN 0・0‑umω0・0Mu︒ω0・0‑mωM0・0NOO吋0・OHMOω0・FOMM∞0・0MMm‑0・0OM吋吋0・0HO吋ω0・0OAmM吋0・0日品目@0・0N吋MAm0・OAmmAFApo‑OMMMM0・0︒uω∞︒・MMoa00・0吋Am吋M0・OHM︒N0・0H吋OUOOM@︒N0・0OH畠山0・0‑︒@品︒・0uou︒︒‑ouo︒︒︒・︒品目︼U 0・0000印0・000OM0・0000‑oocoo‑0・000OU0・000060・00OHApo‑oooOHO‑000000・000OHO‑oooCApo‑oou∞Apo‑OOFH印0・000U戸0・00OF∞0・000om0・0000戸︒・00‑OAmOOONU︒0・000OM0・0000F00︒︒ON︒・0GH吋UOE︒︒?E0・0OMω∞ 0・00吋‑‑0・00∞m山田0・0∞ω∞00・000@∞0・︒︒︒∞00・000∞Apo‑ooou‑0・OOOAm∞0・00N∞ω0・︒︒︒由︒0・00MMOO‑OOH@M0・00OAmAm0・ωH戸市w@0・0OHM吋0・0OF000・00吋︒∞︒・0OMωHoo‑‑aU0・000品目︒・000吋H0・0・'吋ou︒・︒︒品印吋0・0FJ﹃AEU︒・︒︒同晶∞ 0・00吋印00・0‑∞晶@0・0‑HO吋0・00aEω@0・00恥品∞0・006吋00・00吋@O0・0ou∞00・OHmωN0・000Nω0・0戸島AF00・MMOUω0・0‑00@0・0@ω回@0・0︼臼UO0・0ouuN0・0NU品目0・0OH∞山0・00omω0・00Ha@0000‑M0・00‑M︒︒・00AFUN︒︒︒︒︒‑︒・︒︒ OU 0・000曲目0・︒︒∞MOO‑00印O印0・000HOO‑oOH吋ω0・︒︒︒MaE0・0OHm‑o・00晶OF0・︒︒HAFU0・00品目一N0・0ouu00・0品︒∞H0・M∞ωoω0・OMUAm∞0・0印OMOO‑oouuAmoo‑ω∞吋︒・0MM@m0・00oa晶0・000∞∞0・000OHO‑00戸山師︒‑ooaoO0・︒甲006︒・︒︒N吋︒ ︒0000印0・OM∞吋Amooo‑朗日0・oo‑OHO‑ooOMApo‑ooOMHO‑00晶吋M0・0000吋0・0︼同相H0・MHUN@0・uoo∞ao‑‑OAm∞ω0・0000∞0・oaMum0・0印戸吋日0・0H戸@000品回OG0・0OFHH0・0000@0・00OHN0・00000︒・00︒︒吋︒︒︒M∞吋0・︒ooa︒0・︒︒ou∞ ︒oo‑︒ω0・0MMMOO‑o‑MONO‑o‑uMHO‑oooaE00・︒︒︒∞M0・︒︒@HOO‑oON∞日0・0OU吋吋0・00MMM0・0mON@0・0Mm@NOOMON吋0・00ωω∞0・0‑mMOO‑OHH吋@0・0@MMHO‑︒︒白色∞︒・oOM‑J﹃0・000M∞0・000OHO‑︒︒︒︒︒0・︒︒︼四回0・︒︒‑MM︒・︒︒ou∞ OOAmu目白山0・︒︒︒吋M0・00@同‑0・0H00∞0・FHOO@0・ouu吋00・MhH∞︒ooOM∞H0・0MMM∞0・00∞mm0・00ω∞∞0・00吋@N0・0‑∞品ω0・0HMM吋0・00∞@@0・0∞m@吋0・0OU吋U0・00ωAmoo‑00戸000・0OHMm0・0000吋0・︒00@吋0・︒ωωω∞0・︒M‑品ω︒・︒吋OMH O‑OM出︒晶0・OM∞必吋0・‑NOM吋0・000OHO‑o‑M吋000ω吋叫@0・0吋吋品︒0・0吋HOMO‑O印O朗自0・OAF‑HU0・0HOApm0・︒︒酔O@0・00UOM0・00品mU0・00N@H0・00品川WHO‑OMOMOO‑00MMOO‑ONoua0・00戸OU0・00‑uω0・0U品ω︒︒・︒‑u∞‑︒・︒‑ωOU0・0‑hmm品 0・OOF‑刷戸0000@晶0・000MM0・00吋∞00・︒︒︒品目0・︒︒︒同@0・00閉め吋0・0OHOAPO‑‑u戸UApo‑oouom0・Dou‑吋0・00M@日0・0‑HaF0・00吋Mm0・0‑mouooouNω0・0吋︒吋∞︒・0oomAmO000∞吋︒・000ω品︒︒ooOFO︒︒︒同︒︒・0OHm‑0・︒00000・︒︒‑uu ︒・︒︒白血目︒・00AmOU0・00HAm吋0・戸OMM吋︒・︒︒︒間吋0・00M@日0・00@OHO‑000吋U0・00H∞ω0・00om吋0・00﹄吋︒0・oo‑‑ω0・00︼@U0・000∞U0・00‑MOO‑000MM0・00‑一N吋0・00‑NU0・00N目︒︒・0ou‑‑0・0oo‑‑0・00‑mH0・︒山∞品印︒・︒︒ω︒‑0・︒︒ωωω ︒oOU000・00OM戸0・000H∞0・︒︒︒戸印︒・U戸︼∞∞000戸印吋0・00omU0・000戸印0・00HHA問︒・00OM吋0・00OAmmo‑coo‑Am0・000HAm0・00HAmoo‑000MMOOON@00・0OU吋∞0・00OM吋0・00Hoa0・000UU0・00ODUO‑︒︒︒句︒︒・︒OM企品︒・︒︒ouu︒・︒︒︒MO O‑o‑oaAmoo︒Mm∞0・00‑︒U0・0目白∞︒︒・00@口吋0・ω晶吋︼︒0・0H吋ω00・000戸︒︒・0戸島om0・00omU0・︒︒晶MU0・00MMm0・000∞吋0・︒︒目ωω0・︒︒吋 moo‑oaE@@N0・0OU@吋0・00戸mH0・0FO@︒︒︒︒品企吋0・00ou@︒︒︒ω︒‑0・︒︒吋hpU0・︒︒‑Mm︒00HOM ︒・︼回∞OM0・0日戸‑‑ooo‑MHO‑ω00∞︒0・00HOω0・0OU品︒0・0ouhpU0・︒OOHm0・00oaE00・000‑∞0・000UAF0000ωU0・00OAmH0・COOM‑0000同市W0・ohmO晶ω0・00MM印︒・00OM吋0・000@曲︒・00oaH0・000OHO‑︒︒︒MHO‑o‑uω吋0・︒︒‑︒︒︒・︒OMO‑‑ 0・︒︒︒︒︒0・0‑oaE吋0・00OMOO‑000000・000OHO‑oo‑uG0・0OM∞mO印吋U@M0・0‑ou@0・00戸HOO‑0000吋0・0000U0・0000‑0・0000U0・︒OCD‑0・000OHO‑︒︒︒︒OOE戸酔O∞吋0・︒︒︒︒︒0・︒︒︒︒︒0・000000・︒︒︒︒︒0・︒︒︒M吋︒・︒oo‑N︒‑︒︒︒ω吋 0・000000・00ocoo‑OOM∞印0・000000・︒︒︒︒戸0・0OHM‑0・00ω000・00OM∞0・00N@N0・0U吋ω∞0・000ω晶0・00ou∞0・0000ω0・000OUD‑︒︒︒︒‑0・000ωm0・OHM@︒︒・︒00000・000000・︒︒︒︒︒0・000000・︒︒︒︒︒︒・︒oONω︒・︒︒︒︒‑0・︒︒︒︒︒ g
日本 S A Sユーザー会 (SUG I‑J) SASユーザ一実態調査から アンケートの集計結果より 石橋梓子 株式会社 SASインスティチュートジャパン 技術部 AR e s e a r c ho nt h eC o m p u t i n gE n v i r o n m e n to fSASU s e r s ThroughtheQuestionnaires SachikoI s h i b a s h i SASI n s t i t u t eJapanLTD. TechnicalD i v i s i o n 要旨 キーワード ' 9 5年末に実施した iwwwを利用したトレーニングについてのアンケート」、 および N IFTY‑ServeSASフォーラムの会員を対象とした、入会時のアンケー トの結果をまとめ、コンピュータシステムや SASシステムの利用状況を明ら かにする。 WorldWid 巴 Web(WWW) ,N i f t y ‑ S e r v巴 , I n t 巴m巴t ,SASS y s t 巴m,SAST r a i n i n g, IWWWを利用したトレーニングについて」のア 1 はじめに ンケート票は、 1 9 9 5年 1 2月発行の ISAST e c h ‑ n i c a lNewsV o l3No.2 J の発送時に同封し、 286 1 9 9 5年秋、 SASジャパンではより効率的かっタイム 件の有効回答を得た。 リーな情報提供を目指して、 ISASインステイチュー トジャパンホームページ」および INIFTY‑ServeSAS このアンケートは、 SASシステムの既存ユーザー フォーラム」を開始した。 向けの技術情報誌に同封したこともあり、主に これら 2つのオンライン上での情報提供サーピス開 ユーザーのコンピュータ環境、技術情報の提供 始にあたって、情報の受け手であるユーザー側のコン 方法についての設聞が中心である。 ピュータ環境、 SASシステムの使用状況などを調査す SASフォーラム入会時アンケート べく、 2種類のアンケートを実施した。 1 9 9 5年 1 1月より、弊社では NIFTY 三S e r v e上に ISASフォーラム」を公開している。本フォーラ ムはプライベートフォーラムであり、入会時にオ 2 アンケートの実施 ンラインでのアンケートを実施している。現在 もアンケートは継続中であるが、今回の集計は、 IWWWを利用したトレーニングについて」 フォーラム開始時より 1 9 9 6年 3月までに回答を 弊社では、 SASコンサルタントに向けて技術情 得た結果に基づいている(有効回答数 284件 ) 。 報を提供する I SAST e c h n i c a lNewsJ という小冊 このアンケートは、 SASシステムの既存ユーザー 子を定期的(年 4回)に発行、郵送している。 ム 4E ηベ u n4
に限らず、 SASシステムに興味のある N
IFf
Y
‑
í~í ケスチムをご中l用の~í
S
e
r
v
eの会員を対象に行っているため、ユーザー
のコンピュータ環境以外にも、広く SASシステ
E
肝旦則
内例II:F句 I
N
T
W凹 3
.
1
1
3
9
ムへの要望や、 SASフォーラムに期待するもの
u1
について項目を設けている。
3
9
36
2
1
各アンケートでは、氏名や所属等の個人データ以外
1
6
1
2
に、次の項目について回答を募った。以下、各設問と
ともに集計結果のグラフを示していく。
"
"
/
0
0
'
I
S
E
2
.
1 W W Wを利用したトレー二ングについ
て(有効回答数:2
86件)
町C
:
1 4050 曲 1080801
田 1
1
01
2
01~ 1~
01020 3
回打SltI
(1)業種
(
3
)SASシステムの経験度
学校
保険
通信
製造業
コンピュータ
医薬
初心者
中級者
金融
研究所
官公庁
公共事業
ヘルスケア
その他
上級者
I
A
Sシ
ステム経験の程度 i
l
業
種i
l
何
で
す
か
問機縁議機縁議議緩議議題
1
田
中量者際議欝簸難擁護緩欝瀦鑓態態態鑓舗
m
AS
l
t
I
Q
lM
I
!
)
司口町T
臣華
マ1
牢枝
70
研究所
担
製造量
百
金融
百
コンぜ且 ‑
!l
2
上踊睦豊富
(
4
) SASシステムの利用範囲(以下のいずれか)
SASプログラムを作成
ヘルスケア
開発されたアプリケーションの利用者
í~í:;^ チムをご刺用の範囲 li以下のどちらでしょうか
o w
~
~
~日田
70
偽証訓
刷 MJ
I
)
>
口
町T
2
0
国プログラム作
2
2
s
アプリの利用者
臼
80
内SltI
2
∞
1田
(
2
)SASシステムを{吏用しているオペレーテイング
3
:
l
O
白血則
システム(複数可)
MVS,
F4,
VOS3
VM/CMS
OS/2
Windows3.1
VSE
PCDOS爪1S‑DOS
OpenVMSVAX
OpenVMSAlpha
UNIX
M
a
c
i
n
t
o
s
h
PC98(1I.換機含む)
Windows95
(
5
) SASプログラムを作成する場合に使用する SAS
言語(複数可)
DATAステッフ IPROCステッフ
SCL/その他のエントリ
マクロ
SCLIFRAMEエントリ
SQL
その他
‑124‑
mプログテムを作成する場合の使用語 現在利用中の場合、使用している o s C N Ts l > 1 附官をご使用の D Sは?!職場) 2 6 3 P 嗣主む 8 1 S Q/ l 汀E 田 S l I ‑ 2 4 S Q/ l ' R 酬 1 8 2 叩 1 0 0 口T H E R 5 . 2 6 % ま>l W I N ∞応 3 . 1 回 TS l > 1 5 8 . 6 5 % 断C I N r o 剖 21 .05% ( 6 )職場での I n t e m e t利用状況 ( a ) インターネットメール ウ一白一 年以内革l 閲する NE 了S CAPE 78.86% ( b ) インターネットニュース 9 7 現在利用できる 利用不可だが、一年以内に利用予定 利用の予定なし (7)自宅での I n t e r n e t利用状況 インターネットニュースを 利用できますか(職場 l ( a ) インターネットメール 現在利用できる 利用不可だが、一年以内に利用予定 利用の予定なし 現在利用できる インターネットメー jレ を 利用できますか(自宅! ( c )Wor 1dW i d eWeb(WWW) 現在利用できる 利用不可だが、一年以内に利用予定 南l 用の予定なし 利用の予定なし mを利用できますか l 職場 l ( b ) インターネットニュース 現在利用できる 現在利用できる 利用不可だが、一年以内に利用予定 利用の予定なし ザ﹁) 一斗4 一 行 晴 U る一つ‑ パ一︑別他潟 一寸ノ インターネットメー jυ を 利用できますか i 職場 l 町一ウ初日 J 使一ラ 山 町 一 冊 利用の予定なし 判一四 利用不可だが、一年以内に利用 間一一色 腕一附 現在利用できる 唱E 目品 ηJU RU
インターネットニュースを 利用できますか(自宅! 十 . S A i ? 1 ? N I れ 仙 什 加ト 伽 レ卜一一 。灯rUM i 凶 邸 ト I ‑ J . . 躍盤欝麗盤盤盤鶴罷欝韓盤 即 │ 川 費悦 l? 快たことが刊な恥い臨鶴欝灘欝欝畿欝鰭華舗調 現在利用できる l 凶 量 罷 雪 凶 凶 閣 町I花 3 1 目 。 由 岨 田 町 1 5 2 1 ∞ロ¥) 1岨 1 田 O I TS l . M 5 5 . 4 7 1 軍 l 開の予定なし ( 9 ) (上記で「受けたことがない」場合)今まで SAS 年以内車l 用する トレーニングを受けなかった理由(複数可) 価格 ( c )Wor 1dWideWeb(WWW) はい(現在利用できる) ニーズに合っていない いいえ(利用できない) 利用しづらい 知らなかった l自宅 l 官仰を利用できますか ? その他 これまでS A Sトレーニングを受けなかった理由 。灯S1J1 繁務総炉開百 耐 │ 2 2 3 1 1 J i許 ム ム ハ ふl j いいえ 寸9 . 6 4 1 現在利用中の場合、使用している OS W Wfをど使用の O S l i ?[自宅) ( 10 ) SASトレーニングを受けてみたい分野 ( 3つ記入) その他 (全回答のうち、上位 1 0件を抽出) 3 .7 ' 7 % S A Sトレーニングで受けてみたい分野 旭 川 S3 .J W I 4 3 . 4 0 1 山 S9 5 W I N O白 1 3 . 2 1 % .S 1 J 1 32 1 6 1 6 1 6 1 5 1 4 1 4 現在利用中の場合、使用しているブラウザ 1 2 ' l f { / W をご使用のブラウザi ま?[自宅) 1 1 1 0 2 0 1 0 司 40 A 田川 ( 11 ) コンピュータによる SASトレーニングカfサポー トされた場合、利用するか 、 はu N E T S C A P E 64% 同 日S A I C いいえ→ 12% 理由 オンライ:tS A Sトレーニングが サポー卜されたら、ご利用になりますか ( 8 )以下の SASトレーニングの利用経験(複数可) SASトレーニング オンサイトトレーニング 日1 1日 岡 田 了 .S 1 J 1 はH 223 い い え 4 0 ∞ ∞ 1 噌Eム n︐白 nb 受けたことはない 2 'SL t 1 ヨ ' "
( c ) ユーザー事例 いいえ..なぜですか 白 Q l出 HI l YO l N T S U H ( d ) 弊社が主催、参加しているセミナ一、フェ ア等の情報 唱 内容じよる ( 巴 ) SASシステムの今後の方向性 9 利用車喧がない ( η ヨーロッパ、アジア等海外での SASシステ ムの現状 事l 用しづらい 彊格 ( g ) 使用法、操作法に関するヒント 6 i 4 5 6 7 8 9 ( h ) 使用上の注意事項やパグ等の技術情報 1 0 ASU1 ( i ) サンプルプログラム ( 1 2 ) WorldWideWeb(WWW)による SASトレーニン 。)アップデートモジュールの配布 グがサポートされた場合、利用するか ( k ) マニュアル情報 はい→ 利用する環境は (1)ユーザー会の情報 自宅職場両方 いいえ→ ( m )その他 理由 W胴上の SAS トレーニングを利用した~ , で す か mで欲しい情報 I i ? AS U 1 Q 1 2町 民 羽 田T 間 2 2 ' . ) 抽S 社の現状 b )臼 Sの 圃プT c )ユーザ革開 d )フ ェ 7情報 4 9 いいえ 回 η 日出回目羽 泣い e )凶の方向性 2叩 :m .)世用法ヒント ASU1 h )1 t 1 雨 情 報 リサンアル はい..自宅、職場どちらでご利用になりますか J )モア 2 ール E布 t圏 k) マニ ~7 ル情報 1 )ユーザ会情報 7 山 mmm 四 回 目 千)海外での弘s 1 国 n )その他 闘機議議総饗懇懇欝機議議 間 前騒翠翠 咽 2 国 2 国 : m 3灯SU1 ( 14 ) SAS トレーニングに関する意見(一部抜粋) │ いいえ..なぜですか ロ地方および土日のセミナー開催を希望 1 ; 1 1 2 XH I 即D l N T 利用車喧がない ロ特殊な分野での詳細な使用法を知りたい(特 1 に W W W経由で) 内書による ロ FAQの充実を希望 利用しづらい ロ W W W、NIFTYなどオンライン上でのリア 情緒 ルタイムサポートを活発にしてほしい その他 ロマニュアルの FTP化を望む o 1 2 3 4 5 6 7 8 9 1 0 1 1 1 21 3 ASU1 ロ初心者向けコースの増加 ( 13 ) インターネット(主に W orldWideWeb)を通じて ロホームページ上での習熟度別トレーニング 特にサーピスまたは情報提供を受けたい項目(以 があればよい 下から 5つ選択) ロトラプルシューティング等、実務に即した ( a ) 弊社(および SASI n s t i t u t e )の現状 トレーニングを! t ウ ヮ4 ム ︐ ( b ) SASシステムの紹介
if
?
‑
︒
悶削川
仙円
止世
日ロ
F
ム
i
+
+
ム
同口一
l
的一
4
用一
J
│‑ 一
京
司 一
な一
主一
)‑
(nL ﹁
2
.
2 SASフォーラム入会時調査(有効回答数:
1
9
9
6年 3月末現在、 2
8
4件)
FAQ
内訓
(
1
)S
ASシステムのユーザー/非ユーザー
S
A
Sユーずですか?
F
R
E
Q
.
醸議鶴盤盤鶴罷器瀦嬢譲議選富
2
4
7
百S
岡盤璽
デー‑!1解析
'
"
掴床解析
71
研究開揖
1
5
レポー'ト作風
1
4
アプリ聞尭
1
3
1
0
37
T
1
0
0
200
マー'ケティング
Z
O
l
F
恒 U王町V
金融
その怯
以下の設問は、 S
ASユーザーのみから回答を
o 10 泊 : J ) 40 回 国
得た。
7
0 回曲
2
田
FA
Q
.
.
E
町
(
d
) プロダクトに関する感想、要望(一部抜粋)
(
a
)S
ASシステムを使;用しているオベレーテイ
口 DOS版の開発の復活を望む
ングシステム
口便利だが習得に時間がかかる
ご使用の O
S
I
.
I
;?
ロユーザーインタフェースの強化を望む
"
"
托
内S
U
I
口頼もしいが GUIに工夫が欲しい
1
3
7
口使いやすいが重い
B
2
2
7
口機能が豊富で、よい
2
1
口 PROCのモジュール化による販売をし
1
6
1
5
てほしい
f
Ii
f
ψ灯
国1
2
(
2
)SASフォーラムを知ったきっかけ
DIS
o 10 泊 : J ) 叫 目 白
S
A
S
7
i
‑
7ム
を
7
0 8u田 1
田 1
1
01
2
01
国 1
4
0
どのようにして知りましたか?
'
同
F
下
回
。
I
O
!
SASテクニカルエ
(
b
) 主に使用しているプロダクト
S了AT
"
,
,
,
,
品S
;
)
<
‑ム
ペ
ー
‑
‑
:
;
2
1
SAS
社員から
2
1
品Z
の量判物で
1
8
プログラマ‑;<"'}
1
2
回
窃¥炉別
出担百四回
"
f
S
P
I
刊L
2
7
mm
ìt闘する ~~10 9' 1 トは?
45
N
I
F
T
Y
上で
四
降征以.[T
1
0
3
人から聞いた
白S
セミナーで
SASロヨ冒U'li
c
a
t
l
o
7x7ーで
ワ
ー
キ
ン
グ
グ
ル
ー
広告で
団団匹
o 10 20 国
40 目 白
70 田 町
1
0
01
1
0
F
置はDC.
Y
(
3
)SASフォーラムに期待するもの(一部抜粋)
T
.
S
SI
S
T
m
S執正
口いろいろなノウハウの公開を望む
α祖LC
札ム
口他社での使用状況などの情報交換の場にし
たい
0
"
宮寺市
。 泊 叫 田 8 u
1
田
1
2
0
1
4
0
1
曲
1
国
'
同
口最新情報をリアルタイムで得たい
ロサンプルプログラムのアップロード/ダウン
ロード
1
2
8
口実際の作業に即した使用例など ザーからの質問なり要望なりがあり、それに対して弊 ロ統計、システム開発一般の議論の場にしたい 社スタッフが回答する、双方向的なサーピスである。 ロデータウェアハウスについて知りたい 現在は、テクニカルサポートのサーピスがここに位置 付けられる。 ロユーザ一同士でサポートしあえる場にし たい さらに、両者の中間として定義できるのが、インター ネット等を利用したオンライントレーニングであろう。 ロベンダーからの情報が欲しい l対 lの家庭教師的な対応ではないにしろ、開催地・ ロユーザー会や外部フェアなどの情報交換 時間にしばられず自由に受講できるオンライントレー ロユーザーが気楽に意見を言える場所 ニングは、 SASユーザーの自には魅力的に映っている ようである。 ロ困ったときの駆け込み寺 ( 4 ) その他 SASジャパンへの意見、要望(一部抜粋) ロメーリングリストの早期開設を望む 口マニュアル、ヘルプの早期日本語化 ロ SASに関する新しい用途やプロダクトの情 報を迅速に公開してほしい 設問 6~14 では、 SAS ユーザーのインターネット環 境を踏まえた上で、オンライントレーニングのニーズ について質問している。特筆すべきは、 SASユーザー の職場でのインターネット関連機能の使用状況は、「現 在利用できる J1 1年以内に利用予定」を合わせると、 70%以上を占めるということである。自宅での使用状 況も、(職場ほどではないが)SASユーザーのインター ネットに対する興味の深さを十分に示している。「イ 口全国的なユーザーサポートを望む ンターネット」という言葉自体は、ここ数年で社会に 口販売形態(レンタル)、価格設定を再考して 浸透しているが、実情としては疑問視されがちであっ た。しかし、 SASユーザーに関しては、言葉の浸透度 ほしい ロマニュアル上での事例を増やしてほしい と実態がかなり近づいていると言えそうである。 1・1 2のコンビュー夕、インターネットを利用 設問 1 ロサポートを迅速にしてほしい した SASトレーニングについては、利用したいとの声 口個人でも利用しやすい形態を が圧倒的に高い。これは、設問 1 4の回答に多く見ら ロ誰でもが使いやすいソフトウェアになって ほしい ロ他製品との環境/データの共有化をすすめて ほしい れた「地方や土日の受講 H習熟度にマッチしたトレー 実務に即したトレーニング H特殊分野での ニング J1 詳細な使用法」などの意見を反映している。また、設 問1 3の回答でも、文字通り SASを使いこなすための 技術情報(使用法ヒント、サンプルフ.ログラム等を含 めて)のインターネット経由でのニーズが高いことが 3 総括 示されている。 3 . 1 羽f羽f羽rを利用したトレー二ングについ のトレーニング、技術情報の提供を求めており、その て このことから、概ね SASユーザーはオンラインで ための受け皿となるインターネットの利用状況も整備 設問 1~5 では、 SAS システムのイ受用 j犬況について されていると言えるだろう。 「自分のニーズにマッチしたトレーニングや情報提 質問しているが、ここから既存 SASユーザーの典型 的な姿が浮かび上がってくる。 供を、好きなときに好きな場所で受けたい」、これは誰 多くの SASユーザーは、日々の業務に則した SAS でもが理想とするサーピスである。インターネットの プログラムを作成・実行し、ときにはマクロを利用し 普及により、これが単なる夢ではなく実現する時代が ながらも、 ISASを使いこなすためには勉強しなけれ もうすぐ来る、ユーザー側の受け入れ体制は既に整っ ば」と感じている...・ ・..といったところだろう。 ていることを痛感するアンケートであった。 H この、 ISASをイ吏いこなすために」必要なのが、 SAS トレーニングやマニュアル、そして個別サポートであ る。トレーニングやマニュアルは、あらかじめ想定さ 3 . 2 SASフォーラム入会時アンケー卜 れたニーズやレベルに基づいて、弊社が企画し提供す こちらのアンケートは、 IWWWによるトレーニン るサーピスである。一方、個別サポートは、まずユー グについて」よりも設問を少なく簡略化してあったが、 1 2 9
SASユーザーのニーズを把握するのに十分な結果が得 対する意見を自由に回答してもらった。 SASフォーラ られた。 ムに期待するものとしては、「自由閲達な情報交換の なお、このアンケートは、 SASユーザーに限らず、 場」とする回答が多数を占め、今まではユーザー会な SASシステムに興味を持って SASフォーラムに入会し ど限られた機会しかなかったユーザ一間の情報交換が、 た人々を対象に行っているが、 iSASユーザー/非ユー 時と場所を問わず行えることへの期待が読み取れる。 ザー」および iSASフォーラムを知ったきっかけ J以 wwwを利用したト 情報交換の「中身 Jとしては、 i 外の設問は、実質的には SASユーザーのみが回答し レーニング」と同様に、使用法のヒントやサンプルフ。 ていることを明言己しておく。 ログラムなど、 SASシステムを使用する場で本当に必 要なテクニックを上げる回答が多かった。 ‑ aでの、イ史用オペレーティングシステムに関 設問 1 wwwによるトレーニングについて J する回答では、 i とほぼ同じ傾向が見られている。 ‑ bでは主な使用プロダクトについて質問して 設問 1 SASフォーラムでは、弊社からの情報提供よりも、 SASユーザー同士での知識の共有が主体となることが 予想される。 SASフォーラムが、ユーザーが望むとお いる治人 SAS/STAT 、Bas巴 SAS、SAS/GRAPHの H重 りのフォーラムへと発展し、回答者の約 13%を占める が突出している。このグラフでは現れていないが、実際 非 SASユーザーにとっても魅力的なものとなるよう の回答僻]でこの 3種を組み合わせていたユーザーがか 願っている。 ‑ cでの回答と合わせて、 i B a s 巴S AS、 なり多く、設問 1 SAS/STAT、SAS/GRAPHを使って統計解析作業を行 う」という典型的なユーザー像がここからも浮かび上 4 おわりに がる。 設問 2の 、 SASフォーラムを知ったきっかけについて 末筆ではございますが、お忙しいなかアンケートの の回答では、全体の 4寄j 近くが i SAST e c h n i c a 1NewsJ ご協力くださった方々に、深くお礼申し上げます。あ をあげており、既存 SASユーザーがオンラインでの情 りがとうございました。 報交換に非常に輿味を持っていることを示唆している。 設問 3・4では、 SASフォーラムへの期待、弊社に 今後も、 SASシステムや弊社へのご意見・ご要望が ございましたら、お気軽にお寄せください。 ‑130一
日本 S A Sユーザー会 (SUG I‑J) 株式の期待リスクプレミアム推計方法におけるー研究 日米両証券市場の実証分析を通じて 一一一一 宮村幸夫 主席コンサルタント 株式会社 金融エンジニアリング・グループ TheE f f e c t i v eIndexo fForecastingRiskPremiaf o rStocksandBonds; AnEmpiricalStudyo fJapanandU . S .StockMarkets YukioMiyamura SeniorConsultant FinancialEngineeringGroupI n c . 要旨 株式のリスクプレミアムを推計する方法として、従来よりイールドスプレッド ( y i e l d s p r e a d ) 指標(債券利回り 株価益回り)を対象に幾多の研究が行われてきているが、小 稿では、その推計において、より高い精度を求めた変形イールドスプレッドの研究を行う。 Nht ワ キ 1 はじめに 従来より世界の主要な証券市場を対象に、株式のリスクプレミアムを予測し得る指標に 関する様々な研究が行われてきている。特に近年においては、財務指標を用いた実証研究 が多く、ポートフォリオ管理の有効な手段であるアセット・アロケーションの中でその有 y i e l d 用性を検証する例が多い。債券利回りと株価益回りを比較するイールドスプレッド ( s p r e a d ) は、それらの指標の中でも、実務の分野で広く用いられてきたものの一つであるロ イーノレドスプレッドが、 リスクプレミアムの推計指標として活用されている重要な背景の 1引 モ デ ル に 基 づ い て 容 易 に リ ス ク プ レ ミ ア ム に 置 き 換 え 一つは、それがゴードンの配当害] ら れ る と い っ た 理 論 性 を 有 し て い る こ と に あ る と い え よ う *1。 し か し 、 現 実 に は 、 イ ー ノレドスプレッドは日本では恒常的に負の値をとり、米国においてもほぼ同様で、リターン・ リ ス ク の 考 え 方 と 整 合 性 を 欠 く 場 合 も 出 て く る *2。 ま た 、 米 国 で 盛 ん に 行 わ れ て い る 株 価先行指標としての財務上の各指標の研究からは、株価益回りよりもより有用な財務指標 の存在が示唆されている。 そこで、小稿では、株式のリスクプレミアムとして整合性を持ち、かつ、その推計精度を EA 噌 EA 噌 qu
向上し得るようなイールドスプレッドを探求するために、債券利回りと比較すべき有効な 財務指標が、他に存在し得るか否かを日米両国市場の実証分析を通して検証する。 *1 ゴードンの一定成長の配当割引モデ、ルによれば、 P=D/( 1+ r ) + DX( 1+ g )/( 1+ r ) 2 +DX( 1+ g )2 /( 1+ r ) 3 +・・・ (P :株価 D:一株当たり配当 E:一株当たり利益 一一一一一 g :成長率 r ① 割引率) ①式より P=D /(r‑g ) ② ② 式 に お い て 、 配 当 性 向 ( D/E) を 100%とすれば、成長率は Oとなるから P=E/rすなわち、 r=E /P ③ 債券利回りを R とし③式に挿入すると、イールドスプレッド YSは 、 次 の よ う に 株 式 r‑R)に置き換えられる。 期待リスクプレミアム ( YSニ R‑E/P=R‑r=一 (r‑R ) 一④ *2 小稿の検証によれば、 1980年初から 1994年 末 ま で の 期 間 に お け る そ の 月 末 値 ( 債 券利回りから株価益回りを差し引し、た値)は、日本市場では恒常的(100%) に正の値 を持ち、米国市場でも正の値を持つ期聞が多く(約 73%) 、 そ の 期 間 平 均 値 は 日 本 で 3.35%、米国で 0.68%である。 2 変形イールドスプレッドの定義と理論的解釈 前述したように、通常のイールドスプレッド(以下原型イールドスプレッドと略称)は、 その算定に際し株価益回りを用いるが、これに代わる有用な指標を求めるということは、 分子として用いられる会計的利益をどのように考えればよし、かという問題に帰着する。そ もそも投資家が求める投資利益とは、 w. H. ビーバー [ 1]が指摘しているように*1、将 来に支払われる「配当流列」の差額として表わされる「経済的利益」であり、会計情報と して示される「会計的利益」とは異なるものといえる。したがって、この「経済的利益」 をより的確に捉え得る「会計的利益」を探求することは、期待リスクプレミアムの推計精 度を向上させ得ることにもなろう。 このような観点から、小稿では、通常 株式期待収益率'と称されている内部成長率と 配当利回りの合計値に基づくイールドスプレッドや投資指標として有用な財務指標の研究 2 ]の 事 例 *2から着眼できる Cashf l o wy i e l dr a t i oと Book‑to‑market を行った Chanら[ r a t i o に基づくイーノレドスプレッドを定義し、それらがリスクプレミアム推計において原 型以上の有用性を持ち得るか否かについての検証を行う。 ①株式期待収益率 株式投資利回りは、株価の変化による収益率(キャピタルゲイン)に配当利回りを加え て表わされる。したがって、⑤式が成立する。 r ム P/P+D/P ( p:株 価 ム p:株価の変化 ⑤ D:配当 r 株式投資利回り) η6 η0 句 '
次 に 、 株 価 の 変 化 は 企 業 業 績 の 変 化 に 比 例 し 、 そ の 感 応 度 が 1で あ る と 仮 定 す る と ⑤ 式 を 導ける。 / : : : , . P/P二ム E/E司M/E]X[ ム E/M] ( E:利 益 ム E:利 益 の 堵 加 ⑤ 一一一 M:内 部 留 保 額 他 は 前 述 と 同 じ ) ここで、 M/Eは内部留保率を表わし、ム E/M は内部留保額から生まれる利益率を示し、 ROE (株主資本利益率)の値と等しいといえる。⑤式を⑤式に代入すると⑦式が導けるが、 この⑦式の右辺は、 D=Eす な わ ち 配 当 性 向 1を仮定すれば、株価益回りそのものとなる。 =ROEX ( 1‑D/E )+D/P 一一一一 r ⑦ 債 券 利 回 り か ら ⑦ 式 で 示 さ れ る 株 式 投 資 利 回 り r を差し引し、た型のイールドスプレッド (以下 r型 イ ー ル ド ス プ レ ッ ド と 略 称 ) の 実 測 値 を 前 節 の * 2と 同 期 間 で 分 析 す る と 、 米 国 市 場 で は 、 ほ ぼ 恒 常 的 ( 約 85%) に 負 の 値 ( リ ス ク プ レ ミ ア ム は プ ラ ス ) 2.71%) を持ち、日本市場でも半数近く (期間平均企 ( 約 43%) の 期 間 で 負 の 値 ( 期 間 平 均 0.37%) を 持つ。したがって、原型イールドスプレッドを用いた時に生ずるリターン・リスク上の不 整合は、ほぼ解消し得ているといえる。 l o wy i e l dr a t i o ② Cashf 企業の設備投資に関わる減価償却費が、将来の企業利益に繋がると考えるならば、この 指標を株価益回りと同様に株式投資利回りの一種と見なしでも良いはずである。実際に、 債券利回りから Cashf l o wy i e l dr a t i oを差し引し、た型のイールドスプレッド(以下 CF型 イ ー ル ド ス プ レ ッ ド と 略 称 ) は 、 日 米 両 市 場 と も 前 述 の 期 間 に つ い て 、 恒 常 的 ( 日 本 95%、 米国 100%) に 負 の 値 を 持 ち 、 し か も 原 型 イ ー ル ド ス プ レ ッ ド の 場 合 に 比 べ て 、 日 米 間 で のその水準差は小さい(期間平均:日本企 4.01%、米国企 5.29%) 。 さ ら に 、 こ の 期 間 平 均 と同期間での長期債利回りから株価インデックス収益率の実測値および配当利回りを差し 42%、米国企 5.69%) の 比 較 で は 、 米 国 市 場 で ほ ぼ 一 致 し 、 日 本 市 場 で 引し、た値(日本企 6. も原型の場合のような大きな君離は見られない。 a t i o ③ Book‑to‑marketr Book‑to‑marketr a t i oは、本来株主から見た企業の解散価値利回りを示す指標である。 しかし、継続企業を前提にすれば、株主は企業が永続的な経営活動から収益を生み出し、 かっその投下資本(純資産)に対する収益率は少なくとも市場金利以上になることを求め る は ず で あ る *3。この純資産の生む収益が株主にすべて還元されるとすれば、 Book‑t o・ marketr a t i oに 市 場 金 利 を 乗 じ た も の も 株 式 投 資 利 回 り の 一 種 と 見 な せ る は ず で あ る 。 た l o wy i e l dr a t i oが 内 部 留 保 率 0を 仮 定 し た 株 式 投 資 利 回 り の 場 だ し 、 株 価 益 回 り や Cashf 合 で 、 そ の 分 子 の 一 株 当 た り 利 益 や キ ャ ッ シ ュ ・ フ ロ ー の 成 長 率 も 、 ま た Oで あ る と し た a t i oを ベ ー ス と し た 投 資 利 回 り の 場 合 に は 、 分 子 の 純 資 産 のに対して、 Book‑to‑marketr の成長性を考慮、に入れでも矛盾は生じないはずである。したがって、⑧式から⑮式までの 一清 り h 2F ‑133 一 i 市場金利 一庄 B 一株当たり純資産 一回附 利り 資た 投当 式株 株一 ( p:株 価 rg r=g+BXi/P @一昨 展開ができる。
g= 1 B/B =(E‑D)/B =ROEX ( 1一D/E) E:一 株 当 た り 利 益 一一一一⑨ I 1B 一 株 当 た り 純 資 産 の 変 化 D:一 株 当 た り 配 当 他は前述と同じ) ⑨式を③式に代入して⑩式を導ける。 r=ROEX ( l 一 D/E )+BXi/P 一一一一 ⑮ 債 券 利 回 り か ら ⑩ 式 で 示 さ れ る 株 式 投 資 利 回 り rを差し引し、た型のイールドスプレッド 以下 B M型 イ ー ル ド ス プ レ ッ ド と 略 称 ) の 実 測 値 を 上 述 と 同 期 間 で 分 析 す る と 、 日 米 両 市 .84%) を持ち、 CF型 と 同 様 に 、 導 出 さ れ る 場で恒常的に負の値(日本企1.14%、米国企 4 株式投資リスクプレミアムの符号は正の値をとる。 *1 [1]pp.62~66 (訳書 89 頁 ~94 頁) *2 Chanら[2]お よ び 浜 尾 [3]は 、 米 国 の 株 式 市 場 で 盛 ん に 行 わ れ て い る 財 務 上 の 各 指 標 と株式投資から得られる収益率に関する研究を、日本の株式市場にも当てはめ、そ の類似性を探求している。彼らの検証結果によれば、日本の株式市場においても財 a t i oと 務 上 の 各 指 標 は 株 式 投 資 収 益 率 を 有 効 に 説 明 で き 、 特 に Book‑to‑marketr Cashf l o wy i e l dr a t i oの説明力は、統計上の高い有意性を満たすものとしている。 *3 このことは、あるひとりの株主がその企業の株式をすべて所有しているとすれば、 企業が生み出す利益はすべてこの株主に還元され、株主の投資効率と企業の生む収 益率は同一視し得ることからも理解できょう。 3 分析モデルとデータ ①分析モデ、ル リスクプレミアム推計におけるイールドスプレッドの有用性を検証するために、以下の ⑪式に示すような線形回帰モデルを用いる。 R P t + l=a t+ L s kXYSkt ⑪ R P t + l :t+1期 に お け る リ ス ク プ レ ミ ア ム ( 株 価 イ ン デ ッ ク ス 収 益 率 fントー/ゾフォーカスインデックス収益率) 。 a t k 切片項 : k番 目 の イ ー ル ド ス プ レ ッ ド ( 原 型 お よ び 変 形 3種 類 の ど れ か ) の 係 数 YSkt :t期における k番 目 の イ ー ル ド ス プ レ ッ ド ( 原 型 お よ び 変 形 3種 類 対 象 ) の 値 ②分析期間と使用データ .1980年 1月から 1995年 1 2月までの月末値による月次データを使用し検証を行った。 ・株価インデックスについては、日本は TOPIX、 米 国 は S&P500を使用した。 ・債券は、 日米とも 10年国債利回りと N R l i j ; 'ン ト ー ハ 7ォ‑7ンスインデックスを使用。 0 ・株価益回りおよび配当利回りは、日本は東証一部ベース、米国は S&P500銘 柄 ベ ー ス 4 A斗‑ n4U ム ︐
を対象にしたものを使用した。 .PCER(Cashf l o wy i e l dr a t i oの逆数)と PBR (Book‑to‑marketr a t i oの逆数)は、 米国の市場を評価する上で定評のある MorganS tanleyCapitalInternational (以下 MSCIと略称)の値を、日米両市場とも使用した。 4 検証結果と若干の考察 1)結果 ⑪式による将来のリスクプレミアムと原型・変形イールドスプレッドとの回帰分析の 結果を表 1 (日本市場)と表 2 (米国市場)に示す。 a )各イーノレドスプレッド単独でリスクプレミアムを推定した場合 ・日本:回帰係数の t値 お よ び F値 や R 2による回帰モデ、ルの信頼度から判断する限り、 原型が最も有意である。しかし、 r型 や B M型の信頼性も高いといえる。 ・米国:日本と同様の観点から原型が最も有意である。日本と異なり CF型 の 信 頼 度 が 高い。 b )2種 類 の イ ー ル ド ス プ レ ッ ド を 用 い て リ ス ク プ レ ミ ア ム を 推 定 し た 場 合 )と同様の観点から原型 +BM型、原型 +r型 の 信 頼 度 が 高 い 。 こ れ ら の 組 合 せ ・日本:a において強い共線性は見られない。また、 CF型は、単独では有意性は低いが、 r型と 組合わされた時には回帰係数の持つ有意性が大きく向上している。 ・米国:日本と同様に原型 +BM型 、 原 型 +r型の信頼度が高い。また、 r型 +CF型に おける回帰係数の有意性も高い。 c )3種 類 の イ ー ル ド ス プ レ ッ ド を 用 い て リ ス ク プ レ ミ ア ム を 推 定 し た 場 合 )お よ び b )よ り も 全 体 的 に 向 上 し て い る が 、 イ ー ル ド ス プ ・日本:モデ、ルの決定係数は a レッド聞にかなり強い共線性や t値の低下がみられるものが多い。相対的には、 r型 +CF型 +BM型の信頼度が高い。 ・米国:日本と同様に r型 +CF型 +BM型の信頼度が高い。 d)4種類のイールドスプレッド(フルモテル)を用いてリスクプレミアムを推定した場合 )、 b )お よ び c )よ り も 向 上 し て い る が イ ー ル ド ス 日米両市場ともモデルの決定係数は a プ レ ッ ド 聞 に 強 い 共 線 性 や t値の低下がみられ、モデ、ルとしての信頼性は落ちる。 尚、表 1、表 2の ダ ー ピ ン ・ ワ ト ソ ン 統 計 量 か ら 判 断 し て 、 検 証 を 行 っ た す べ て の モ デルついて、系列相関関係は存在しないといえる。 2)若干の考察 総括的に捉えると、日米とも単独では原型のイールドスプレッドのリスクプレミアム推 計 精 度 が 、 小 稿 で 展 開 さ れ た 変 形 3種 類 も 含 め た 中 で は 最 も 高 い と い え る 。 し か し 、 複 数 のイーノレドスプレッドを組み合わせたモデルには原型を凌ぐ推計精度を示し得るものがあ る。また、日米各市場の特徴として、米国では相対的に原型や CF型 の イ ー ル ド ス プ レ ッ a 守 ム F h υ qu
ドの有用性が高く、日本では r型 や B M型のそれが高いという傾向が見られる。これは、 l o wy i e l dr a t i oなどの利益ベースの財務指標が、 米 国 で は 、 日 本 以 上 に 株 価 益 田 り や Cashf 投資判断にあたっての会計情報として最も市場で信頼されており、日本では、資産価値、 ROEまたは内部留保率などから捉えた成長性が、かなり重視されているといった可能性を 示唆しているものともいえよう。 5 むすび 小稿では、株式のリスクプレミアムの予測精度を向上し得る指標として、原型イーノレド スプレッド以上に有用なイーノレドスプレッドを探求するために債券利回りと比較すべき有 効な財務指標が、他に存在し得るか否かに焦点を当てた実証分析を日米両市場について行 った。その結果、日米両市場とも、単独では原型の持つ有用性が高かったものの、複数の イールドスプレッドを組合わせることにより、その予測精度を向上し得る可能性を示せた。 また、日米比較を通して、米国では利益ベースを主体としたイールドスプレッドの、一方、 日本では資産価値や企業の成長性を内包したイーノレドスプレッドの相対的な有用性が高い という傾向も確認できた。これらの結果は、アセット・アロケーション手法の構築に際し、 980年から 1995年 ま で の 1 6年間 効果的に活用され得るものといえる。ただ、本検証は 1 の分析によるものであり、その聞に証券市場を取り巻く環境の変化により各イールドスプ レッドの有用性もまた変化してきている可能性も強く、期間分析におけるより詳細な検証 が必要であるが、この点については今後の課題としたい。 参考文献 い]WilliamH.Beaber FinancialReporting:AnAccountingRevolution"1981年 PRENTICE‑HALLCONTEMPORARYTOPICSINACCOUNTINGSERIES (W'H. ビーバー/伊藤邦雄訳「財務報告革命」白桃書房) [ 2 ] L o u i sK .C.Chan、YasushiHamao 、j o s e fLakonishok FundamentalsP r e d i c tJapaneseStockReturn? FINANCIAL ANAL YSTS JOURNAL JUL Y・AUGUST1993pp.63~69 [ 3 ]浜尾泰「日本の株価と財務ファンダメンタルズ」 証券アナリストジャーナル 1992年 9月 pp.59~68 [ 4 ]宮村幸夫「原型・変形イールドスプレッドと投資指標としての有用性」 証券アナリストジャーナル 1995年 1 1月 pp .4 8~61 [ 5 ]宮村幸夫「リスク管理とイールドスプレッドの有用性」 ソシオサイエンス(早稲田大学大学院紀要) 1 995年 3月 pp.125~ 1 37 [6]EugeneF.Fama E f f i c i e n tC a p i t a lMarkets:I THE JOURNAL OF FINANCE VOL.XLVIN05 DECEMBER 1991pp.1575~1617 ρ り 1ム ηd
S h e e t 1 仏 ム ト . . . . . . . : : l 三 ・ ' ' ' ''4/J イールドスプレッド型 l原型 係数値 値 t 2 1 r型 値 t 型 3 1 C F t 値 4 1 B M 型 t 値 5原型 +r型 t 値 VIF 6原型 +CF型 t 値 VIF 7原型 +BM 型 t 値 VIF 型 8 1 r型 +CF t { 直 VIF 9 1 r型十 BM 型 t 値 VIF 1 0CF 型 +BM 型 t 値 VIF 1 1原型十 r型 + C F型 1 2原型 +r型 十BM 型 t 値 VIF t 値 VIF 型 1 3原型十 CF +BM 型 t 値 VIF 1 4r型 +CF 型 t 値 十BM 型 VIF 1 5原型 +r型 型 t 値 + C F型 +BM VIF l n t e r c e p t s1 F1 直 s2 s3 s4 1 1 .9 5 1 5.398 ‑ 1 .6 1 3 3 .446 ‑ 3 .4 5 7 o .528 ‑0.911 8 .278 1 .2 49 ‑ 2 .8 7 7 一o .974 ‑0.275 2.467 ‑ 1 .1 7 2‑ 1 .5 7 1 ‑ 0 .6 2 7‑ 0 .7 3 3 5.020 6 6 ‑2.240 ‑ 1 .1 4 .809 ‑ 1 .3 4 8‑ 0 .6 7 1 8 . 2 4 1 3.047 ‑ 2 . 8 1 1 ‑2.080 0.000 1 .0 7 6 1 .0 7 6 5 .909 ‑ 1 .6 9 7 0.058 5.987 2.474 ‑3.065 0.284 0.000 1 .4 0 1 1 .4 0 1 4 .5 8 6‑ 1 .6 0 2‑ 0 .7 2 2 8.682 2 .884 ‑ 3 .4 7 2‑ 2 .2 7 0 0.000 1 .0 0 0 1 . 0 0 0 4 7 ‑ 1 .1 0 4‑ 0 .424 ‑ 1 .1 7.154 ‑ 1 .4 15 ‑ 3 .4 2 1‑ 2 .4 1 2 0.000 1 .0 6 6 . 0 6 6 1 O .6 0 7‑ 0 .9 5 5 0 . 0 5 6 4.122 O .6 9 3‑ 1 .7 8 0 O .1 0 2 0.000 2 . 8 5 8 2 . 8 5 8 92 ‑0.262 ‑ 0 . 7 1 6 ‑ 1 .6 3.668 1 .9 1 0‑ 1 .5 1 1‑ 1 .5 1 1 0.000 1 .0 0 1 1 .0 0 1 3 . 0 5 1 ‑ 1 .0 24 ‑0.812 ‑ 0 .1 8 4 5 .700 3 2‑ 1 .6 3 3‑ 2 .2 0 9 0.805 1 .1 0.000 1 .8 3 5 1 .3 9 5 1 .8 1 7 4 .595 ‑ 1 .5 2 5‑ 0 .2 0 2 一O .5 5 6 5.801 2 .883 ‑ 2 .9 6 9‑ 0 .3 4 6 0.963 0.000 1 .2 3 3 3 . 5 3 2 3 . 2 7 6 0 .7 2 6 5 .230 ‑ 1 .7 0 9 0 . 0 7 3 ‑ 5.806 2 .1 9 7‑ 3 .1 2 1 0.364 ‑2.275 0.000 1 .4 0 1 1 .4 0 1 1 .0 0 1 0 . 5 3 1 ‑ 1 .7 0 4‑ 0 . 5 1 8 O .7 0 8 5.256 ‑ 0 .5 5 3‑ 2 .8 5 5‑ 2 .6 9 2 1 .1 9 5 O .0 0 0 3 . 6 5 1 1 .2 7 9 3 . 4 3 1 5 .1 1 4‑ 1 .6 72 ‑ 0 .0 4 3 0 . 0 5 9 ‑0.690 4.331 1 .0 9 1 ‑ 1 .2 3 1‑ 0 . 0 2 9 0 . 1 1 7 一0.538 0.000 2 .0 7 6 1 .7 1 3 8.579 7.829 R2 D .W I 0.060 2 . 0 0 1 o .042 2 .007 .9 16 0.013 1 .9 48 0.026 1 0 . 0 8 1 2.053 0.060 2.009 0.085 2.024 0 . 0 7 1 1 .9 99 0.042 2.009 0.038 1 .9 3 1 0.084 2.039 0.085 2.034 0.085 2.034 0.078 2.030 0.085 2.034 * 1表中の各欄の最上段の値が係数値を示す。 * 2共線性のチェックは、 VIF (変数聞の R 2に対し VIF=1 /(1‑R 2 ) で示せる)値で判断。 よ 唱E ηー ﹃U
S h e e t 1 日 】 、 〆E '14 ‑"h イールドスプレッド型 l原型 係数値 値 t 2 1 r 型 t 値 3 1 C F d直 4 1 B M 値 t 5原型 +r型 値 t VIF 6原型十 CF 型 t 値 VIF 型 7原型 +BM 値 t VIF 型 8 1 r型 +CF t 値 VIF 型 9 1 r型 +BM t 値 VIF 型 +BM 型 1 0CF t 値 VIF 1 1原型 +r型 + C F型 1 2原型 +r型 +BM型 t 値 VIF t 値 VIF 型 1 3原型 +CF 型 t 値 + B M VIF 1 4r型 +CF型 t 値 +BM 型 VIF 1 5原型 +'r型 型+ BM 型 t +CF 値 VIF l n t e r c e p t s1 F 1 j 直 s2 s3 s4 R2 D.W 0 . 4 8 6‑ 0 . 9 1 6 1 3 . 2 9 5 o .066 2 .0 0 5 1 1 .4 2 5‑ 3 .6 4 6 ‑ 0 .7 5 3 ‑0.223 3.958 0 . 0 2 1 2.014 1 .6 1 0‑ 1 .9 8 9 ‑ 1 .8 0 8‑ 0 .3 3 5 4.094 0 . 0 2 1 1 .9 2 5 7 0‑ 2 .0 2 3 1 .9 ‑ 0 .9 6 2‑ 0 .1 7 7 1 .1 3 4 0.006 1 .9 8 3 1 .0 6 6‑ 1 .0 6 5 1 .1 1 6‑ 1 .1 7 5 0 . 1 5 3 7.094 o .070 1 .9 8 7 1 .4 9 5‑ 3 .1 6 9 0 . 9 4 9 . 1 7 6 2 0 . 0 0 0 2 . 1 7 6 ‑0.246 ‑0.839 ‑ 0 .1 3 1 .9 80 6.915 0.069 1 ‑ 0 .2 3 9‑ 3 .0 9 1‑ 0 .7 5 3 .1 6 5 1 .1 6 5 0.000 1 2 .5 6 2‑ 1 .2 8 9 0 . 3 6 4 8 . 1 9 1 0.080 2.008 2 . 0 4 1 ‑3.894 1 .7 1 8 0 . 0 0 0 1 .7 5 2 1 .7 5 2 ‑3.314 ‑ 0 . 2 9 8‑ 0 . 4 4 6 .9 5 2 5.549 0.056 1 ‑ 3 .0 9 4‑ 2 .6 2 2‑ 2 .6 4 8 0.000 1 .0 6 8 1 .0 6 8 O .6 4 9‑ 0 .2 3 3 0 . 0 2 7 1 .9 7 7 0.021 2.015 O .7 0 7‑ 1 .6 7 6 O .1 3 2 0 . 0 0 0 1 .5 4 2 1 .5 4 2 ‑ 2 . 0 2 7‑ 0 . 3 1 1‑ 0 . 0 6 7 2 . 1 1 1 0.020 1 .9 29 1 .8 7 1 ‑ 1 .7 5 4‑ 0 . 3 8 2 0.000 1 .1 4 3 1 .1 4 3 1 .3 54 ‑ 1 .2 2 7 0 . 1 7 4 0 . 0 2 7 4 .7 0 7 0.070 1 .9 90 0 . 4 6 1 ‑ 1 .7 0 6 0 . 5 8 2 0.084 0 . 0 0 0 8 .1 4 0 7 . 4 5 8 3 . 9 9 3 2 .8 0 5‑ 1 .4 2 6 0 . 0 9 8 0 . 3 3 6 5.560 0.082 1 .9 9 7 2 .1 2 1 ‑ 3 .5 3 3 0 .5 4 5 . 5 9 5 1 0.000 2.596 2 . 2 8 4 1 .8 3 9 1 .7 4 6‑ 1 .2 1 7‑ 0 . 1 8 1 0 . 3 9 7 5.817 0.085 1 .9 7 6 1 .1 7 7‑ 3 . 6 0 0‑ 1 .0 3 1 1 .8 5 5 0.000 1 .8 3 0 1 .1 9 3 1 .7 9 4 ‑2.839 ‑ 0 . 6 1 2‑ 0 .7 8 8 0.634 .9 3 8 5 .7 8 3 0.085 1 ‑ 2 .6 4 2‑ 3 .5 8 6‑ 3 .6 2 5 2 . 4 4 1 .8 2 7 2 . 6 3 9 0 . 0 0 0 2 . 4 6 5 1 ‑0.390 ‑0.662 ‑ 0 . 3 1 2 一0.484 0 . 5 4 3 4.515 0.089 1 .9 5 8 ‑ 0 .1 2 8‑ 0 .8 5 8‑ 0 .8 0 1 ‑ 1 .1 6 1 1 .9 3 2 0.000 9 .5 0 71 2 . 8 1 1 6 . 6 9 1 3.082 * 1表中の各欄の最上段の値が係数値を示す。 キ2共線性のチェックは、 V IF (変数聞の R 2に対し VIF=1 /(1‑R 2 ) で示せる)値で判断。 ‑138‑
日本 S A Sユーザー会 (SUGI‑J) 顧客属性分析システム iCPAJ の改良 谷岡日出男 主席コンサルタント 株式会社金融エンジニアリング・グループ Improvementso ft h eCPASystem(CustomerP r o f i l eAnalyzer) HideoTanioka S e n i o rConsultant F i n a n c i a lEngineeringGroupI n c . 要旨 KnowledgeDiscoveηinDatabases二デ ータベースからの知識抽出)分析エンジンの KDD( 1っとして位置付けられる自動分類アルゴリズム 1 1D 3J、 (またはその改良版 IC4. 5J)を組み込んだ SASアプリケーション ICP Aシステム」の今後の機能強化点につ いて議論する。 キーワード: CPAID3C4.5CHAID 1.はじめに SUGI‑]'94において当社は SASを用いて開発中のツリー分割形式の顧客判別ツー ル ICP Aシステム J(顧客属性分析システム)について発表を行った。その後、 1995年 4月 、 C P Aシステムの製品版最初のパージョン (1. 0) をリリースし、以後、同年 6 月パージョン 1 . 1、同年 12月パージョン 1 . 2にそれぞ、れパージョンアップした。パ ージョン 1 . 1では個々の顧客属性変数の種類を名義尺度と順序尺度の 2種類から選べる 機能を付加し、パージョンl. 2では C P Aシステムを SAS/AFメニュー実行環境の みならずパッチ実行可能とした。 本稿では、今後予定している C P Aシステムの改良点について数理的な側面と使い勝手の 側面に分けて議論する。また、 SAS社で開発した CHAIDアプリケーションとの違い についてコメントする。 2. 数理的側面の改良 まず、数理的な面として以下の点について議論する。 ‑139‑
(1)校別れ数のコントロール (2) 枝別れのストッピングルール (3)エントロピー基準以外のツリー生成方法 (4)ツリー全体の効率指標の作成と枝刈り (5)複数判別基準による顧客判別(柔軟性を拡張する) (1)校別れ数のコントロール 判別対象となる顧客行動結果の取り得る状態(判別基準変数の各カテゴリに割り振られる) に基づいて親集団を何個の子集団に分割するか、というテーマである。現行の CPAは相 対的にいずれか 1つの行動結果が支配的となるように 1つの親集団から行動結果の数と等 しい数の子集団を生成する方式を採用している。(顧客属性変数のカテゴリ併合ありの場 合) 白支配的 親ノード 子 ノ ー ド (2) 灰色支配的 二一( 3) 黒支配的 この方式は顧客行動結果の各カテゴリが名義尺度である場合は問題ないが、顧客行動結果 の各カテゴリが「黒」、 「灰色」、 「白」といった順序尺度の場合は目的にそぐわないツ リーができる場合がある。分類目的は通常「黒」、 「黒」、 「白」のみを判別したいのであって、 「白」と同じ程度に「灰色」も判別したいというわけではなし、からである。現行 の CPAで「灰色」の顧客属性を知りたくない場合は、 「灰色」のデータを除外するか目 的に応じて「灰色」を「白」または「黒」にあらかじめ合併させることにより顧客行動結 果のカテゴリを「白 J 1 黒」の 2値に変更してから分析を実行することである。 さて、 「灰色」の情報をそのまま利用しながら 2分割を行えるようにするため、 CPAを 次のように拡張する。すなはち、判別基準変数の属性として「名義尺度」と「順序尺度」 を定義できるようにし、 1 ) 1 慎序尺度」の場合は分割数のパラメータは 2に強制設定とする。 そして各分割の際、判別基準変数カテゴリ値を隣り合った値同士は同じグループになるよ うに 2つのグノレープに併合し、その 2つのグループの構成比率をエントロピ一計算の基準 にするというものである。併合のパターンは N個のカテゴリがある場合、 る。例えば、上記「黒」、 「灰色」、 N‑1通りとな 「白」の 3カテゴリがある(黒 =1、灰色ニ2、白 =3 といった順序カテゴリにコード化しておく)場合、 ‑140‑ (黒+灰色)対(白)の構成比率の場
合と(黒)対(灰色+白)の構成比率の 2通りのパターンの判別基準で属性分割によるエ ントロピ一計算を行い、その中で最少エントロピーをもたらす属性分割を実際の分割に採 用する。 こうして中間的な行動結果カテゴリは場面に応じて両端に位置する行動結果カテゴリのい ずれかと合併され、反対側のカテゴリとの構成比率を評価されることとなる。逆に述べる と 2つのグループのカテゴリ構成比率の差ができるだけ大きくなるように中間カテゴリの 併合方法を探索するのである。 戸 ! 子 ノ ー ド (1)白支配的 親ノード ¥ ド 灰色はし、ずれかのノードへ 子 ノ ー ド (2)黒支配的 (2)枝別れのストッピングルール 現行の CPAでは分割履歴回数を表す分割レベル数に達していず、かっ分割されたすべて の子集団の成員数があらかじめ設定された基準値(最少成員数基準と呼ぶ)以上であるな ら、その親ノードの分割が必ず実行される。 ID 3、 C4. 5では分割前のエントロピー と分割後のエントロピーとの差分の分割後のエントロピーに対する比(利得比と呼ばれる) が一定の値以上であることを分割実行条件に加えている。分割後のエントロピーは常に分 割前のエントロピーより小さな値になるので、こういったストッピングルールを設定する ことにより分割前後の判別基準変数の値の構成比率にあまり変化のない分割を一般的に阻 止することが期待できる。 CPAの開発途上の初期パージョンではある基準によるストッピングルールが存在してい たが、リリース時には撤廃した。その理由は、利得比基準であれオリジナルな基準で、あれ、 理論的に根拠がある具体的な数値を設定することが難しし、からである。(最少成員数基準 も同じく理論的根拠を持つ具体的な値の設定が難しいがその意味は明確である)枝別れの ストッピングルールは計算時間の節約には役立つ。機能付加も簡単である。しかし同等の ことはツリー生成完了後の「枝刈り」で可能であるのでストッピングルールを付加するつ もりはない。しかし、利得比そのものについては計算結果を情報として付加していきたい。 (3)エントロピー基準以外のツリー生成方法 カテゴリデータを扱えるツリー生成法に CHAIDがある。まず CHAIDとCPAとの 違いについて論じる。 1 4 1 ‑
CHAIDはカイ 2乗検定統計量基準によるツリー生成法である。 CHAIDも C P Aも ともにツり一分割形式の判別問題を扱う。 CHAIDとC P Aの違いは前者が統計学の分 野から生まれ後者がマシンラーニングという AIの一分野から生まれた 1D 3を考え方の ベースにしている、その土壌の違いである。 CHAIDは親集団を属性変数の各カテゴリ による子集団に分割することから出発し、判別基準変数の分布(カテゴリ構成比率)が統 計的に差がない子集団同士を逐次併合していき各属性変数によるベストの子集団分割形を 生成する。そして属性変数間で最少のカイ 2乗有意確率を持つ属性分割を採用する。(属 性のカテゴリ数により有意確率値を修正しながら)したがって、生成される子集団の数は 判別基準変数の分布(カテゴリ構成比率)が異なると判断され併合を免れた子集団が幾つ 残るかに依存し、判別基準カテゴリ数とは無縁である。 それに対し、 C P Aは質問を行うことにより対象をあらかじめ想定されたいずれかの判定 カテゴリに常に見分けようとする。したがって生成される子集団の数は判別基準カテゴリ 数に等しい。(もしも質問の答えのバリエーションの方が判別基準カテゴリ数よりも小さ い場合は質問の答えのバリエーション数となる) 以上のように CHAIDは判別基準変数の分布の違いを明確に表現するツリー生成が得意 であり、 C P Aは対象を明確に判定するツリー生成が得意である。このように CHAID とC P Aは出来上がったツりーの性格が異なる。 C P Aに CHAIDエンジンを付加する つもりはない。 現在検討中のツリー生成法は G A (遺伝的アルゴ、リズム)を一部利用したツリー生成法で ある。 C P A (CHAID等も同じく)はツり一生成を逐次に行うので、生成されたツリ ーが考えられるすべての組み合わせの中で最適としづ保証がない。元々、属性変数の数だ け次元を持つ多次元クロス集計表の中から意味のある部分クロス集計の抽出を逐次的解法 で得ようとしているのが C P Aや CHAIDであるが、総当たり的解法を計算時間でセー ブしてくれるのが G Aである。 14階層全体のツりーを一度に G Aで探索することは困難 であるが、最初の 4階層は G Aを用い 5階層以降は従来の逐次探索といった分析ストラテ ィジは十分可能であると考えている。 ( 4 ) ツリー全体の効率指標の作成と枝刈り 生成されたツリー全体の判別効率を評価するにはツり一生成前の全体集団のエントロピー とツリー生成後の全ターミナルノードのエントロピーから計算される利得および利得比、 またツリーの大きさ(枝の数)で調整した利得比等が考えられる。このようなツリーの効 率性評価指標を開発し C P Aに付加していきたい。 また、ツリー生成後、ツリーの大きさを縮ノトしでも判別効率がほとんど落ちないと判断さ れる場合は枝刈りを実行しツリーを簡素化させる機能の付加を行う予定である。 (5) 複数判別基準による顧客判別(柔軟性を拡張する) 現実の顧客に対する評価は、融資リスクといったマイナス面のみならず貸付残高といった プラス面の 2つの軸で、評価する場合が多い。現行の C P Aでは分割レベルの途中で判別基 準を変化させる機能があるが、その変化させるレベノレはあらかじめ固定されている。この 点に改良を加え、 2つの判別基準をどのレベルでも同時に評価しながら利得が大きい方の ‑ 1 4 2
基準により分割してし、く機能の付加を考えている。 大 ~ ¥ 1 I (ノ¥イリスク& I ¥戸ーリターン ハイリスク& ハイリターン リ ス ク / ローリスク& ノ¥イリターン ローリスク& ローリターン リターン 〉 大 3 . 使い勝手の側面の改良 使い勝手の面での改良点としては以下を考えている。 (1)対話的なツリー生成 (1)対話的なツリー生成 対話処理は通常は自動で行う校別れ属性選択を手動で行えるようにする機能である。 分割属性選択をサポートするための参考情報を見ながら解析者の判断を優先させることが できる。完全自動の場合はトップと 2位の分割属性候補の差が非常に小さい場合でも必ず トップの属性候補が選択される。しかし、そのように差が小さい場合はオベレーションレ ベルで顧客情報を入手しやすい項目や信頼性の高い項目のほうを第 2位の属性候補でAあっ ても選択する方が良い場合が考えられる。 4 . おわりに CPAシステムはりリース後 10以上の SASユーザサイトでさまざまな分析テーマに使 用されているロ利用者の方からは改良点についての示唆をいただいており、今後もユーザ からの要望に応えていき進化させていく所存である。 ‑143‑
参考文献 r C4.5ProgramsForMachineLearningJ ( Q u i n l a n1 9 9 3 ), MorganKaufmann. (邦訳) r A Iによるデータ解析 J (古川康一監訳 1 9 9 5 ) トッパン r A Model Free Approach f o rA n a l y s i so fComplex Contingency Data i n Survey .XVII R e s e a r c h J (Perreault&Barksdale 1 9 8 0 )i nJournalo fMarketingResearchVol 5 (November1 9 8 0 )503・1 r SA Sによる顧客セグメンテーションシステム P r o c e e d i n g so fSUGI‑J'94299‑306 ‑144 r C PAJ の開発 J (谷岡 1 9 9 4 )i n
日本 S A Sユーザー会 (SUG I‑J) 法人融資の信用リスク管理と接権ポートフォリオの最適化 中林三平 代表取締役 株式会社金融エンジニアリング・グループ C r e d i tRiskManagementthroughLoanP o r t f o l i oOptimization SampeiNakabayashi P r e s i d e n t F i n a n c i a lEngineeringGroup, I n c . 要旨 法人に対する融資の審査は、従来は個別企業審査という色合いが濃かった。しかし、不十分な情報 をもとに、不確実な将来にわたっての債権状態を管理していくためには、債権全体のポートフォリオ のリスクとリターンをコントロールしていく立場が必要とされる。これは、個別審査から、セグメン ト審査へとしづ流れとしてとらえることが可能である。本論文では、債権ポートフォリオという概念 を構築するための基本的な考え方の枠組みを示す。発表時には、若干の数値事例を用いた説明を行う。 信用リスク、ポートフォリオ、最適化、 SAS/OR キーワード: 1 問題の定義 取り上げる問題を、以下のように簡略化する。実際の応用に関しては、いくつかの前提条件の変更 などが必要と考えられるが、基本的な問題の構造としては、十分であろう。 a 総額でM という金額を T期間にわたり企業に対して融資する状況を考える b 融資対象企業に対して、融資選別を行い、特定のリターンレベノレを確保した上でリスクを最小 化したい。 c このとき、どのような企業に、平均いくらの金額をどのような金利で融資するべきか 2 基本的なコンセプト 以上のような問題を考えるときの最大の問題は、融資期間が通常は長期にわたることである。した がって、融資審査時に入手可能な情報のみに依存しては将来的な経営状況の変動などを十分に予測す るのは困難である。したがって、個別企業の状態を予測することを通じて審査を行うのではなく、企 業を適切なリスク・セグメントに分類し、そのセグメントが持つリスク・プロファイノレをもとに審査 を行うことにより、適正レベノレのリスクコントロールが可能となる。したがって、審査という行為の 目標は、倒産するであろう企業を予測するのではなく、一定率の倒産が発生しうることを前提とした υ 戸川 A U τ 14 唱
うえで、リターンを安定的に確保することとなる。このとき、セグメント別の融資条件(期間、金利 など) ・上限(またはセグメント内平均)金額などがコントロール可能な量であり、全体としての債 権ポートフォリオの状態を管理・把握することが可能となる。 3 リスク・セグメントの定義 一般に企業をセグメントイじする場合にはある程度客観評価が可能ないくつかの企業属性により分類 軸を定めることが可能であり、実際の審査ノウハウの一部として継承されてもいる。例えば、 営業年数 x企業規模 x業種・業態 x業績推移 のようなものである。 以上の分類軸に沿ってセグメントセノレを定義することは可能である。上記の 4軸をベースとして、 " ‑ ' 6のカテゴリーに分割されるとすれば、約 1000のセグメントが存在しうることに 各軸が平均 5 なる。このセグメントセノレに対して、例えば、帝国データパンク等のデータを利用することにより、 こJ算定することが可能 定義された各セルごとの倒産確率(測定期間は例えば 1年間)を「時系列的 l である。倒産確率の時系列的な変動パターンが算定可能であれば、その変動パターンの類似性をキー として、セノレを統合し、現実的にマネージャブルな数のリスク・セグメントとして企業群を分類する ことも可能である。時系列的な変動を基準としてグループ化するというのは、 「業界不況」といわれ るような特定の業種・業態に倒産が集中する事象を表現するためのものであり、他に有効なセグメン ト統合の指標があればそれを利用すればよい。 4 リターンの定義 以上のようにリスク・セグメントを定義した上で、各セグメントに属する「平均的な J企業への融 資のリスク・リターンを定義していく。まず、リターンは次のように定義できる。とりあえず各セグ メントに適用される金利は一定(r)としよう(この前提は後に解除される)。実際の融資条件に対 応して収入流列を計算することになるが、簡単化のために以下の議論では、 T年間の融資に関して、 毎年期末に固定金利の利払い、 T期末に元本の一括返済とし、う想定を行う。 kというリスク・セ・グメントに属する iという企業に m円を T年間融資した場合の収入は次のよう になる。(倒産しない場合の累積利息収入である)。 GINCi=m*r*T (1) 企業 iの属するリスクセグメント kは期待倒産率 Dk、倒産率の分散 Var (Dk ) を持っとする (倒産率は年間倒産率で測定されているとする) 0 iが倒産することにより発生するロスは(簡単化 のため回収を考えずに)元本金額 mで、あるとする。また、倒産時以降の金利収入が途絶えることによ り、期待収入のロスも発生する。 Dkが融資実行後の経過年数にかかわりなく一定であるとすると、 倒産によるロスは次のように表現される。 LOSSi=元本ロス+期待収入ロス (2) 元本ロス i=m (3) *(1‑Dk) T 一1 4 6
期待収入ロス i=m*r*Dk+m*r* (l‑Dk) *Dk+・・・ =m*r*Dk* [1+ (l‑Dk) + (l‑Dk) 2十 (l‑Dk) (T‑l)J 二 m*r*Dk*Tdk .......... (4) (ただし、 Tdkは[・]内の数式を集約したもの) 明らかに Tdkはデュアレーションを示す数値として解釈される。 倒産による元本および期待収入ロスを考慮した収入および年間利回りは次のようになる。 NINCi=GINCi‑LOSSi (累積純収入) =m*r*T‑m* ((l‑Dk) T+r*Dk*Tdk)) NRETi=NINCi/ (m*T) : (年間利回り) = r ‑ ((l‑Dk) T+r*Dk*Tdk)) / T 5 ... (5) ... (6) リスクの定義 仮に金利が一定の利回りを獲得できるようにセグメントごとに設定できるとすれば、セグメントご との倒産確率の大小はリスクではない。むしろ、上記の収入 (NINC) の変動可能性がリスクの指 標となる。 NINCの定義式から明らかなように、 (Tを所与とすれば) D k (倒産確率)および m (融資金額)がリスクを規定する要因である。このうち、 m は政策的にコントロール可能な量であり、 D kは確率変数である。 m も所与(つまり、特定のリスクセグメントには貸出上限または平均が決まっている)としたとき、 (固定金利での融資を前提とする限り) GINCiは決定量であり分散はぜロとなり、 LOSSiの 分散が全体のリスクを規定する。 V ar (L0SS i ) =V ar[m*(( 1‑D k) T+ r*D k*T dk) ] < m2*Va r (Dk) * T (7) (2次項以下を切り捨て) 上不等式の右辺はリスクを大きめに評価する近似値であり、実務上は十分な精度を持つものとして 考えてよいであろう。 D k自体かなり小さな値であり、企業の生存確率を表現する D k2以上の項か ら発生する分散は極めて小さなものになる。 6 同一セグメント内での融資の最適化 上記のリスク定義(つまりロスの分散)にしたがって、単一のリスクセグメントに関する融資条件 の最適化を考えてみる。 制約条件なしでのリスク最小化という観点に立っと、 トリビアルな解 (m=0) においてリスクが 最小化される。つまり貸さない限り貸倒は発生しないとしづ、無意味ではあるが正しい解となる。 次に全体の融資予算枠を消化しなければならないとする。つまり、 M*の残高が融資されることを 制約条件として付加する。 (n=M*/m件の融資が発生する)。この場合のリスク最小解もかなり トリビアルで、あり、 nを可能な限り最大化し、 m を可能な限り最小化したものとなる。 唱'ム ヴ1 4
( 8) Minimize n*m2 *Var (Dk) {n、 m} Sub.to n*m=M* n<=Nk (セグメント kに属する融資希望企業数) これは現実的な解釈としては、融資を可能な限り小口分散することによりリスクを低減させるとい うアクションに該当する。しかし、現実的には取扱件数を極大化することは収益ロスをもたらす。そ の大きな原因は事務処理などに起因する固定費の存在である。これをある程度織り込んだ最適化問題 は次のように定式化される。 M in im ize n*m 2*V ar (Dk) (9) {n、m} Sub.to n*m<ニ M* n<=Nk NINC‑n*FIX>=Target 上式で fTarge tJ として示された期待利益(または制約条件の最終式の左辺を M * Tで除す ることにより期待利回りとすることも可能)の水準をイタレイティプに変化させることにより最適な nとmの組み合わせが算定される。 nが整数となる保証はないため近似解となるが、適宜整数に丸め ることで実務的な問題は発生しないであろう。具体的な適用に関しては、ここで導入した F 1X ( 固 定費)をどのように測定すべきかという課題が発生するが、現実的にはあまり神経質に厳密性を追求 することはないであろう。 7 多セグメントに対する融資の最適化 前節における仮定と同様に Tは所与であり、全セグメントに共通であるとする。また、倒産確率に ついては fx x業界不況」などと呼ばれるようにセグメント聞において共変動が観察されるものとす る。最適化は、前節と同様に一定の融資枠内で、一定の期待利回りをあげるという制約条件のもとで リスクを最小イヒすることであり、状態変数は各リスクセグメントごとの n (nk) および m (mk) である。 最適化問題として定式化すると次のように表現される。 Minimize n、*d iag (m) *C 0 v (D) *m (10) {n、 m} Sub. t0 n 、 *m<=M n<=N e、* (NINC‑n、*F 1X) >=T arge t ただし、 n,m,N 1N C、FIXは(縦)ベクトル、 eは単位ベクトル、 d iag (・) は対角化オペレータであるとする。 ‑148
上式は単純な 2次計画法ではないが、一般的な非線形計画問題であり、 SAS/ORのN L Pプロ シージャや IMLからの N L P関数を用いることにより解を求めることは可能である。しかし、この 段階では、各セグメント聞の D kに大きな格差がある場合などには、非常に単純なコーナー・ソリュ ーションとなる可能性が高い(特に、特定セグメントへの集中などであり、リスクの低いセグメント に対して、最低金額で最大企業数をはりつけていくことになる)。これを避けるためには、金額 m の レンジや nのレンジを制約条件として導入すれば良いのだが、実際にはそのレンジを知ることもこの 問題を解く目的の一つである。 8 リスク・プレミアムの導入 もっとスマートに問題を定式化していくためには、各リスク・セグメントごとに適用金利を変化さ せていくことになる。この金利格差がリスク・プレミアムである。 各リスク・セグメント聞の期待リターンは NRETk(貸し倒れリスク調整誤の期待年平均利回り) で計算できる。 rとNRETkの差異がリスクの平均値を表現する。しかし、リスクの根源は N R E T kが分散を持つことから発生しており、ここで示される「平均値としてのリターン格差」のみから プレミアムを設定することはできない。 この問題を解決するための理論的に「正ししリアプローチが存在するかどうかは疑問がある。意識 的に収益率の高いセグメントを形成したり、収益率の低いセグメントを形成することにより、競争優 位に立つとしづ戦略もありうるだろう。特に、法人融資市場は、 O T Cの世界であり、情報的に不完 全な市場である。均衡の存在を仮定しての理論的な解よりは、実務的な戦略の方が有効な場として考 えるべきであろう。 しかし、具体的に問題を定式化するためには、いくつかの方法を考えることができる。事例として、 やや保守的な立場であるが、一種の VaRに近い立場のものを考えてみる。各セグメント kに対応す るNRETkの平均値と分散(または標準偏差)は推定されている。したがって、特定のリスク・レ ベルに対応する(例えば ‑ 1シグマ・レベルや 9 5 %安全水準)の NRETk*は計算可能である。 同時に、 「法人融資部門全体としての期待収益率 ( R ) J も政策与件として基本的に設定可能で、あ ろう(特定のリスク・レベノレに対応する数値として)。このとき、すべての kに関して、 R=NRETk*+PRE恥1k (1 1) となるような量 (PREMk) がリスク・プレミアムとして利用可能なものの候補である。つまり一 定のリスク・トレランスを前提とした時に、全セグメントからのリスク調整後の期待収益率が一定と なるような貸付金利をリスク・プレミアム調整後の金利として採用することになる。このような戦略 が営業的に正しし、かどうか(競争に勝てる金利となるかどうか)は本論文の対象範囲外である。 以上のように、リスク・プレミアムを設定したとする。この場合には、 (5)式で rとして示され たものが r k (=R+PREMk) に切り替わることになる。この変更により、基本的には倒産確率 の水準の高低による実質利回り格差および倒産確率の分散の大小がある程度までは調整された形で、 リスク・セグメントごとの収益性が定義されるため、 (10) 式の最適化問題はより純粋に収益性の 変動を最少化することになる。 最適化問題としての(10) 式自体は変更がない。ただし、 ‑149‑ (l 0) 式の制約条件の中にあらわれ
る (5) 式で定義される NINCkという項の計算にあたって、 rの代わりに r kを利用することに なる。 9 今後の課題 1) mの解釈について ここまでの議論においては、 m という量の解釈をあいまいなままにして、上限値もしくは平均値と いう表現を行ってきた。本来は、この解釈は「平均値」であるべきである。しかし、経験的にはある 程度まで貸付金額と事故率の聞に類似企業においても相関性が認められる場合が多い(正の相聞があ る場合が多いと思うが、より多くの事例を分析しなければ明確なことは言えなし、)。その場合には、 平均値を目安として貸付単価のコントローノレを行うことはリスクを高める方向に動く。したがって、 上限値という表現を併用している。 2) 期間ミックスへの対応 本論文を通じて、融資期間 Tは所与のものとして一定値であると想定している。しかし、本来はこ れも変量である(部分的にはコントローノレ可能な量である)。経験的には、短期貸付のほうが倒産リ スクは少ないといえるであろう。 このような場合には、全体リスクをコントローノレするのは、倒産リスク(の分散)と貸付単価だけ ではなく、融資期聞を含むリスク最少化という形での最適化を行うことが望ましい。しかし、期間と いう問題に本格的に対応するためには、金利の変動状況と商品形態(固定金利、変動金利)を含めた 形でのより大きな(市場リスクを勘案した)リスク・コントローノレを考えていくべきである。この方 向への展開はまだ着手していない。 3) より複雑な商品への対応 ここで想定した、金利払いと元本一括返済とし、う単純化された商品から、元利均等払いや元本均等 払いへの拡張は比較的容易である。また、この信用リスク・コントローノレという限られた枠の中だけ で考えると、金利体系を変動金利に切り替えてもそれほど大きな考え方の変更はない。しかし、固定 と変動のミックスなどを検討するということになると、前に述べたように市場リスクと信用リスクを 統合して評価していくことになり、一挙に問題は複雑化する。 4) 融資後の期間経過と倒産確率 ここの定式化では、各リスク・セグメントの倒産確率は「マクロ的」に定義されるものとしてあつ かった。しかし、これは必ずしも実態とは整合しない。例えば、融資実行後の期間経過にしたがって、 企業の倒産確率は変動する。これは、 (5)式などで定義した期待収益の動向に影響を与える。また、 融資企業に的を絞った「ミクロ」な倒産確率とマクロな倒産確率との整合性についても考えてし、かな ければならない。この点については、まだはっきりとした考え方は固まっていない。 (参考文献) 西国真二: iALM手法の新展開」、日本経済新聞社、 1995 唱'ム Fhu nU
日本 S A Sユーザー会 (SUG I‑J) 商品先物相場のテクニカル分析における SASシステムとの調和 0鈴 木 二 郎 黒川│ 厚 高松聡美 横瀬明仁 商品ファンド室 フジフューチャーズ株式会社 T e c h n i c a lAna l y s i so fC o m m o d i t i e sF u t u r e sM a r k e tHarmonyw i t hSASS y s t e m ATSUSHIKUROKAWA OJIROSUZUKI SATOMITAKAMATSU AKIHITOYOKOSE O .,L T D . COl¥品10DITYPOOLSOFFICE/FUJIFUTURESC 要旨 テクニカル分析とは主としてチャートにより市場の動きを研究するもので、 その目的は将来の価格の方向性を予測することにある。その価格分析に必 要不可欠なデータ解析を SASシステムで行い、将来の価格動向を予測す るとともに、テクニカル分析手法を考案する上での投資理論を構築し、プ ログラム売買へ応用する。 キーワード: SAS/INSIGHT SAS/ETS テクニカル分析(テクニカル・アナリスト) ファンダメンタルズ分析(ファンダメンタル・アナリスト) 相関分析 多変量データ解析(重回帰分析) 視覚分析(分散分析・回帰分析) プログラム売買手法構築 句EA 句EA Fhu
商品先物相場のテクニカル分析における SASシステムとの調和 投資・運用資産の増加 ψ マーケット規模の拡大 ψ リスクに対するヘッジ・ニーズ ψ 投資対象の多様化と分散化 ψ データ収集・加工による情報分析 ψ SASシステムにおける統計解析 。高度な統計解析機能 (SAS 江NSIGHT , SAS/ETS) 視覚解析(分散分析,回帰分析) ,相関分析 三次元回転プロット・最適予測モデルの選択 ψ SAS分析結果に基づく投資理論・テクニカル手法の構築 ψ プログラム売買への応用 ψ 変数最適化 ψ 投資・運用開始 'EA ηL RU
商品先物相場の統計的特性と均衡 。統計的特性 先物価格の動向を統括的に特徴づけることは出来ないが、ヘッジ・ポジションや、デ リパティブなど新取引手法の導入といった実務への応用においては、今や必要不可欠 な要素であると言っても過言ではない。 。マーケットにおける均衡 標準的な先物価格決定モデルは、競争均衡の考え方に基づいている。 ロング・ポジションの合計=ショート・ポジションの合計 の時、先物価格及び多様なマーケット参加者のポジションは均衡状態を形成している。 ている。すなわち、あらゆるマーケットの需要と供給を同時に決定しているという考 え方である。競争均衡の概念は単純かもしれないが、この競争均衡の考え方に、依然 解決されていない問題がある。 それは、 「考え方が現実を、どの程度説明しているのカミ J r 現実をいかにモデル化し ていくのカミ」といった問題である。 , .商品先物相場の需給関係 均衡先物価格とは、需要と供給が一致するような先物価格である 図1 先物に対する総需要がゼ口の場合の均衡 先 物 D α ( f o ) 持 す る D β ( f o ) 霊 図 1では 2人の市場参加者 α ・βのみで形成される競争的な先物市場において、いかに均衡 状態至るかが示されている。 一1 5 3一
競争均衡の考え方によれば、まずある先物価格あが提示される。その先物価格品に対し て 、 αは需要 Dα(fo) を示す。あが極端に低ければ、 Dα(あ)正となり、ロング・ポジション をとることになるだろう。反対に、島が極端に高ければ、 D α ( f o )は負となりショート・ポジ ションをとることになるだろう。 2人の参加者の需要量の合計は D( 的= Da(fo)+D β ( f o ) である。 D(fo)=Oの時、らは均衡先物価格である。均衡先物価格は、この場合最大 lつしか存在し ない。 αのとるロング・ポジションは、 βのとるショート・ポジションによって相殺され る。マーケット参加者が需要関数 Dl、D2、D3. ・ ・Dnをもっ n人の一般的なケースでは、総 あ)+D2( 的+・・・・・・ D n ( f o )がゼロとなるのは、 f oが均衡先物価格の場合のみで 需要 D(fo)=Dl( ある。 , . } ム 唱E Fhu 4・
SASを使った統計理論 l く平均一分散型需要〉 我々の関 I~\ 事は、先物契約に苅するマーケット参加者の需要を求めることであ る。需要に関する理論は、 「到用の最大佑」という考え方に基づいている。 .マーケット参加者は効用関数 U をもっている。 ・それに基づ、いて不確実な損益 xごとに効用(値) U (x)を当てはめている。 (x)は損益xの場合のマーケット参加者の「幸福度」を表わす指数である 0 .効用 U .マーケット参加者は、常に効用を極力最大化するように行動するものと仮定されて いる。 *確率変数xのリスクの一般的指標は分散であり、 Var(x)で表す。 これは xの平均値からの偏差の 2乗の期待値である。 x Y ] つまり、 Var(x)= E[(x‑ 一般に効用関数は U(x)= E(x)‑r 'V a r ( x ) で定義される平均分散型関数 U である ( r> の これは富に関する効用の簡単なモデルである。 A 平 均 選 好 :Var(x)が一定ならば、平均王が高いほど U(x)は高い B 分散回避:平均 Zが一定ならば、分散 Var(x)が低いほど U(x)は高い *分散リスクの尺度であり、分散回避の考え方はリスク拒否のー形態である。すなわち、 非常に単純だとしてもさまざまな目的に利用されている。 *平均一分散型効用関数に使用されている係数 rは、リスク拒否係数として知られてい る。逆数 1 /rは、この効用関数のリスク・トレランス(許容度)である。 *平均一分散型効用の考え方は、一見荒っぽいように思われるが、先物ポジションの最 適化問題に対して明瞭で、かっ時には、妥当な解答を与えてくれる。 Vム RU RU
先物価格 f 。の時、マーケット参加者の先物契約に 対する需要叫ん)は、次の最大化問題の解である M α 似x i 加 m ,収 i これは、 e, fl, f 。を所与として可能な最大効用 V(y)= U[e+y( t l‑ 1 0 ) ]を生み出すような t o )で、あることを意味している。 先物ポジション yが D( シ﹂ る l レra‑‑J l/lE/ e‑e すぼる らあ と 此パりなで ︑ん ら一ん え丸一一 J 与 ハ rh九一 t 川 J が 沖 ︐ハ ンむ yfr++ け x 一X )J ヨ=== J)JV ポ る あ xの分散を計算するために、次の規則を利用する。 v'wが確率変数で、あり、 kが定数ならば V a r ( v+w)= V a r ( v )+Var(w)+2COV(v, w) )= v a r ( v ) V a r ( v+k である。 COV( k v, w)= k. COV( v, w)一 一 一 一 一 一 門 である w=kvの場合は、 * 1の関数式は以下のように変形される。 v a r ( k v )= ev a r ( v ) 最後の規則は、以下のとおりである。 COV(v+k, w)= COV(v, w) つまり、 x= e+y ( t lーん)ならば Va 巾 )=Var(e)+yVar( t l‑ 1 0 )+2y'COV(e,1ーん) 2 I J J =V a r ( e )+yVar( t +2y'COV(e, 2 である 0 ( t 1 0 ) ] =e+y( l1 0 )‑r[均ベか yVar( t わ 2yCOV(e,/ J ] ・. .V (y)= U[e+y l‑ 2 1‑ +By‑Ay2 一一一一 =C ② ただし C=e‑ r ' v a r ( e ) B=九 一1 0‑2r'COV(e,1 1 ) A= rVar( t l ) 156‑
C+By‑A y2は単純な 2次式であり、この関数をプロッ卜すると以下の図になる。 】 ( 2次関数の最大値 V( y )= C+By‑Ay2 y( 先物ポジション) V ' ( y )= B‑2Ay *最大値は先物ポジションタで示してある。 ' ( タ)がゼロになるような点で最大値となる。 *初等微積分によると、一次導関数 V V( y )= C+By‑Ay2 の二次関数の導関数は、 V ' ( x )= B‑2Ayである。 よって、 V ' ( y )= 0となるのは、 y= B/2Aである ..需要量の解は以下のようになる よ ー ん ‑2rCOV(e,九 ) D( t o )=タ= (ごの式では、 ' V a r (λ ) v a r ( λ ) Oと仮定されているが、常にこの仮定を用いる) 戸 上記の③式に示された需要量D( t o )は 2つの部分に分解することができる D (ん )=p+q 1.純粋投機需要: p= ( 1 !o)/[2r'Va引)] 1‑ *これは先物価格の予想される変動幅が大きければ増加し、リスク拒否度 及び先物の分散が大きくなれば減少する。 2 . 純粋ヘッジ需要:q= ‑COV(e, λ)/Var(λ ) *これは eと九が正の相関関係にあればマイナスとなり、反対に負の相関 関数にあればプラスとなる。 Y ﹄品 nI RU
く平均一分散型均衡〉 今、先物の全マーケット参加者れからゆが平均分散用関叡に基づいて行動レて いると考える。 、その財産をどとするならば、所与の先物価格 マーケット参加者 iのリスク拒否度が r 1 。に対して iは④式で表わされる D j (ん)をもっ。 f e 1 1ー ん Co v t , 1 1 ) ' 叫ん)=一一一一¥ J Var( f 1 ) 'J '/ 2 r iV a r( f τ * =1 / r 1+1 / r 2+ …+ 1 / r mは市場のリスク・トレランス(許容度)を表わし、各々のマー ケット参加者のリスク・トレランスの合一副直である ( τ はギリシャ文字のタウ) 1 ̲2 e=e‑ +e ‑+ ・ +e はマーケット参加者全体の財産である。 v, W, xを確率変数とすると、共分散の加算 COV(w , v )+COV(X, v )は COV(w+x, v )と変 形される。 つまり、 m ωV(e¥/1)+COV(e2+λ ) + ・ +COV(e , 1 1 ) m + ・+e , 1 1 ) =COV(e1+e2 f 1 ) =COV(e, である。 価格 f 。の場合には、総需要量は D( f o )= D1( f O )+D2( ん)+…+Dm( f o ) 五 (‑ 1 0 ) τc OV か,/ 1) J Var( f 1 ) 2 V a r( f 血 ‑ = となる。 均衡先物価格 f 。 は 、 D( f o )= 0満たされなければならない。したがって⑤式を解くと、 2COV(e , 九 ) s¥ 1 0=/ 1一 τ 一一一一一一也) *価格バイアスん となる。 ‑ λ =‑2COV(e,λ ) / τ は、正負どちらの値も考えられる *バイアス f 。一九は先物精算価格九が財産の合計 eと負の相関関係にある時のみ正の 値を示す v ( x, y ) o r r ( x, y )= *xとyの相関は c S d e v ( : χ : )XSdev(y) ( 注) S d e v ( x )、又は S d e v ( y )のどちらかが 0の場合、上記の式からは相関を 求めることは出来ないが、その場合は 0とする。 c o v ( x, y )=v a r ( x )なので c o r r ( x, x )=1となる。相関が 1とは最も高い場合であり、 xとyの関係は完全正相関と呼ぶ。同様に c o r r ( x, ‑ x )=ー 1であり、完全負相関と 呼ぶ。 ‑158‑
同品別相関行列)
(90年 '
"
'
‑
'
9
5年 週 間 )
ヰ主幹拙泣鴇鮮制帯端出鮮掘調端時出i
z
y
f
r
鵠:糊事捕時
昨調主草川葉掘調帯無謀 査
開!
FFjg
彊目選団法盤U
j
羽
目f
l
証明土盟主亙盛口3
E
臼霊王国E E
覇王議
:
f
日掛臨忠 事翌日日時晴晴蒋翠覗糊i鵠 !?ij!1噛 川 時
.
7
9
8
õ.ãõ4 ro~訂 "11-:4
γす1百ITl o:ïõ5lT寸7浦町で正瑚 1-0.商T下'õJ\l~~i ぉ n 同
i担盛仁註設
o
"
l
弱 寸
羽「町一2".1型主主主訂
0
.
6
1
0
3
' -0 爾「でτ訂01 下京司百三日E百戸口灯 'ì--:-o.mn可~9'S7
住主蹴o.ãj~守閣寸主流1m戸背lト市計ι内町百劉主強虫歯並~!
.
.
.
→当品→苅謝で訂誌干トτ
訂 耐 寸 滞5
1
ぞ諸行計7
a
a
寸潟市す羽~hiõ品→当日→ヰ召←持品ぶぉι4品.
.
~ニ芸品:' ~::;:.寸,,~--;.-;"
同一川口一
日間関甘-Õ:花吉町一可iITO訂-~河田一万:65î百「すづ碕許可づ前j
m 百一日行苛で在 iffif"百万百r
'o.碕「寸:‑;SiT珊1
o
‑:R!:ち「ー百闘で守プ:‑:om‑.
‑
o
T
4
5
z
円 7
瑚「す:a
m1
j
羽田手弓二四!耳鳴凶器叫山叫~鴇R落事務認日!日剛志錦繍ヰ話相昨日寵ピ胃
事再組問臨時間帯護職事臨時謹瞳
盟諸活引恥 F EZRFijjj5;
告可調謂藷藩
J
思
:
寸I
~.5871 -0.l&_ü4二 O羽JLー~豆一
一 在 郊 でo
‑
:
J
;
l
]{印由
嵩韓ド
円
t
耕十訂師同官t
i
ト
J
t
f
泊
計
一1
6
耳諮問観主額三思耳石高4
時碍富市立二隅明野弓
:
品
料i
i
l
i
凹 4
問問問
阿
x
i
'
i
1
布「了
顕一日
百
H 寸ーャE
I
P斗
薬事再開軒器購事守川護課曙曙曙曙翠害時
説
;
詩主
品
品
誠
捕
弘
;
主
説
議
説
蒜
諒
鵠
;
説
詰
鴇
繍
諜
h
訂
下
で
百
目ぢ悶
調 F
冊目架円薄日議鴇軒摂南日察事諒!:主調羽詰事諒E
h
m
i
:
:
問 日 明 翠 軒J
J
諮問者詐璃課曙曙語辞穣蒋語審議調関λ 議 時 間
o:94i6寸:
‑o 藷 炉 開 門 ( 時 晴 晴 謀 者 蘇 腕1 叫 諜 時 期 諜 時
3
玉頭主盟団刊耳目亜日~阻ヨ]QEl 距 コE百
否認百犯し同町.o:1o93弓上認事現F額四笹
本
籍
晴
j
問料器開哨梨砕鴇オ海諸詳:古川議:プ鴇曙識は諸問
弓嘉日
o
.
m
r
亙
‑0
‑0
‑0
寸才的訂寸プ珂許可ゴ4 新寸五百「寸万百「可1符E下苛立町で反取許可可百F百~BÕm可:s窃一司〓「で配布で正司ナ可:百6ï訂ー有ï:ì円在167'31司 Æ67IT.宮古
0:9町
寸 百回ア正
︒寸一川
r汗蕊下百
3刊目指審議?弔問蒲弔用禁結審議晴晴晴晴晴晴子高
市議開出議補璃護
‑6
開
審
諸
問
調
専
問
報系軒踊冊藷閉
1 ;
;
j
j
苛史 告針「清諸紅打一喋
γ
寸
一
?
当
宰
3
認
芸
軒
議
持
畿
!
片
ヰ
欝
諜
鴇
;
わ
行
持
措
E
日
糊
5
3
j
語
鵠
j
ι
jJ
うA
i
i
:
E
;
叫
」
1
イ
(
4
諜
で
;
芸
叫
議
5
磐
ι
弘
L
B
弘r
7
E
穣一叩晴購刃胃描再手晴手臨
j措晴輔晴議j詰1i鰐嗣躍
ミ
ι誤時審麟f
叩叩議掛博曜j札札~
3
T
'
i
'
i
I
で
耳 軒 料R
j
!
?
何事;蒋曙i
日間帯七評議!?語耐暗躍議司再
記罫鍵翠嘩嘩謹謹話題担直翠謹嘩識調嘩自筆
'
I
1
i
:
i
r
0
.
9
1
4
穂町T f碕E
I
T
I
T 寸 3訂
国弔問晴間帯雨羽岡下議事耕輔
半1
;
す茸掛ぜ品同議Hオ掛士i鵠トt器計士請す五掛介十日掛~~äH!寸コ戸口討す fffiμ守株寸宕員同端サ端行出掛土器計.布告
議
軒
高
山守護措偶蹄
雨百
羽将議丹親再悪4 1
諮問d
d
嬬 日 誌E 軒 藷F
E
語h 調子E
需主議戸高i
二部羽詐璃用軒駅議問軒相親羽事官器三J 鴇 同 課 捕 に:TEE
昨日罫毛
悪m--:~
で正
主謀弔富府警「PR薬用組嘉昭市?「務員14.;~再認羽事幕時臨調弓鞠弓臨時鞠子翠;弘前
で
百7
で苛在し
i梢昨し前昨ト…行
叶
J
i叶ãt-:f.一示柑淵畔町一詰制桁肘町
同吋
TH
吋r
4
〓
哨叩
f制町一寸制梢守淵…罰叶柿吋一ト附哨叶一桁淵俳問
耐
J
吋1
1
淵俳嗣
晴
ド同
揃揃一一-満端桁一一…郊澗
il~
一iド市哨口印揃
r
一…
吋吋市"0:
27刊4トト“附晴叩6::7
町町町町示
町
町
町
町
r
‑
」
1;
町
r
‑
吋
町
r
町
‑
町
m
"
i
¥
+
f
‑
」
‑
i
‑
"
宥
f
i
知
静
哨一尚
r訂一…
3詣t酢俳制…吋
肘吋同仁肘巾吋
i刊揃玩桁1白f.ID\h'~2-õih"ili;t-:-F3íftr-:iii~2tCð~60iì o:jfri1H-:-~t~了官
:~t~:õ当日寸ðj羽市街片方向目指け'ðm-O-:-5~計言語長
一
鴨 帯 用 冊 目 来 月 嘉 手 認 可 開 同 期 可 叩 │ 調 羽 弓 軍 事 親 子 蕗 鴇 鴇1
問 調 羽2
一
一
別背
鴻
︒一日一白一日
府
軍I
一
万7
π
'
97iIO:
︒τ01
o
r
r
哩E 百「
I
l
i
U
づ
「τ
四百
--õ.ï回一同 ~~~fz1~f-ä~~Hrv-ðffir-t.gw,内7百日付同町内一一「先制töíir:+'町村器材対日iH協同J4
で
百‑
:
r
e
9
で在百1
日一日1
7
1で百倍i
6戸 冊 nlô 爾 rõ.花ア寸::1 1 伺マ百:-mr--廿可羽i一寸 .ñ訂す:Ki お n-:前~j下可-:r侃…四百官ー-õ.88:mrlf]ffil
下回"7f可ÚÓ\J'7-寸itf-:"ÓH3r討議日t 占的誠一台何?でõ.~ Q.ã何j-=-"lj ü対話ト掛紛寸清i 寸米'l'T:-o.'一村部叶歳十τ
f
叫
O
.
寸 3訂ifO
‑
百
万1
4
古一百十
て而羽戸ïf.TIã許可~臼 181
0
.,
5
1
6
10
.
1
4
1
2
1
百 百11τ15
訂"0:4市寸才師寸万8
5
10
.
1
3
5
1
10
.
6
1
3
1
10
.
4
6
9
s
l0
.
5
i
6
許可.,8
6
1
10
.
1
3
1
3
10
仁一面型竺物の本日関・ファクター分析 τ 〉 円︒︒│ く扇香と商口明訪の月顧責収益率二変動率) 《月間投資収益率》 ( 7 8 年 何年) 《月間変動率》 NY為替ド~/円 ( 7 3 年 何年) 東京金 ( 7 9 年 何年) 東京白金 A V l RA G E 陽組確率 A V E R A G I 陽線信串 A V l RA G I 陽線確率 ( 9 2 年 ‑95 年) ( 7 7 年 ‑95 年) ( 7 2 年 ‑95 年) 東京トウモV J V A V !R A G i 働組確ヨド 米l 司産大笠 A V E R A G E 陽線確率 東京ゴム A V l RA G E 陽線確傘 N Y 為替ド J f /門 東京金 東京白金 東京トウ叩コシ A V E R A G E A V E 臥G E l 月 2 . 3 9 5 6 . 5 2 4 . 4 1 5 2 . 1 7 6 . 0 1 7 0 . 5 9 5 . 2 3 6 6 . 6 4 . 8 7 5 2 . 6 3 5 . 6 5 6 2 . 5 1 月 4 . 0 5 A V E R A G E 9 . 2 5 2 月 2 . 7 4 3 9 . 1 3 4 . 9 3 4 7 . 8 3 4 . 8 9 4 7 . 0 6 2 . 2 5 6 6 . 6 3 . 8 5 2 . 6 3 4 . 3 1 4 5 . 8 3 2 月 4 . 8 3月 3 . 3 6 4 7 . 8 3 3 . 9 8 3 9 . 1 3 6 . 3 4 6 4 . 7 1 3 . 4 3 3 3 . 3 3 . 5 6 5 . 9 5 41 .6 7 3 4 . 7 8 2 . 8 4 3 0 . 4 3 3 . 4 1 .1 8 41 4 . 3 3 3 . 3 1 4 2 . 1 1 4 . 6 1 5 0 5 2 . 1 7 3 . 8 8 6 0 . 8 7 5 8 . 8 2 2 . 6 5 . 5 1 4 7 . 3 7 6 . 3 5 0 3 9 . 1 3 3 . 5 6 4 3 . 4 8 4 . 7 4 . 4 8 3 5 . 2 9 4 . 9 8 5 . 9 7 4 2 . 1 1 6 . 3 2 4 5 . 8 3 4 7 .幻 3 . 9 1 4 7 . 8 3 4 . 7 3 4 7 . 0 6 4 . 7 5 0 7 . 8 6 .5 8 31 4 . 0 4 4 5 . 8 3 5 6 . 5 2 5 . 1 5 6 0 . 8 7 7 . 5 5 8 . 8 2 4 . 3 5 5 0 4 . 9 7 5 2 . 6 3 5 . 1 41 .6 7 9 月 1 .9 5 2 . 2 8 2 . 3 8 2 . 5 3 2 . 2 3 2 . 2 8 3月 4 月 5 月 4 . 7 7 4 月 。 。 6 8 . 4 2 4 3 . 4 8 5 . 4 2 5 6 . 5 2 7 . 1 1 41 .1 8 2 . 6 1 2 5 4 . 3 2 2 6 . 3 2 6 . 2 1 3 3 . 3 3 9 月 4 . 1 1 9 . 9 3 1 0月 2 . 7 4 4 7 .幻 3 . 7 9 3 9 . 1 3 5 . 1 8 4 7 . 0 6 7 5 4 . 1 8 6 3 . 1 6 5 . 8 8 4 5 . 8 3 1 0月 4 . 3 5 7 . 1 6 1 1月 2 . 4 4 5 2 . 1 7 4 . 1 7 4 7 . 8 3 4 . 2 5 41 .1 8 1 0 0 4 . 8 9 4 2 . 1 1 4 . 8 7 5 0 1 1月 4 8 . 1 2 1 2月 2 . 2 6 4 7 . 8 3 4. 42 5 2 . 1 7 6 . 2 9 2 9 . 4 1 1 .5 4 2 . 5 9 8 . 0 3 7 5 4 . 2 4 4 7 . 3 7 6 . 1 2 6 6 . 6 7 1 2月 3 . 6 7 . 5 9 年間m 2 . 4 7 4 7 . 1 4 . 2 4 8 . 1 9 5 . 4 1 4 8 . 5 3 3 . 8 9 51 .3 8 4 . 7 9 4 7 . 3 7 5 . 4 5 4 8 . 2 6 年間m 4 . 2 1 7 . 7 9 1 0 . 3 8 5 月 6 月 7 月 8 月 7 5 A V E R A G E 米国産大旦 東京ゴム A V E R A G E 1 0 . 7 8 7 . 8 1 A V E R A G E 7 . 7 5 7 . 8 3 9 . 5 4 5 . 2 2 7 . 1 1 9 . 6 9 1 4 . 4 6 6 . 9 9 7 . 7 9 . 7 3 4 . 1 6 7 . 9 1 5 . 9 2 8 . 7 9 9 . 6 2 7 . 4 7 9 . 4 4 . 1 2 7 . 0 6 8 . 3 9 8 . 2 7 1 0 . 3 4 1 0 . 5 7 6 月 4 . 4 9 6 . 2 6 8 . 1 1 8 . 6 6 1 1 . 9 3 1 0 . 9 8 7 月 3 . 9 6 7 . 6 2 8 . 3 7 1 0 1 4 . 8 2 9 . 9 6 8 月 4 . 1 3 8 . 8 1 1 2 . 0 1 7 . 5 3 1 0 . 3 6 1 0 . 2 6 1 3 . 7 6 7 . 1 2 8 . 7 4 1 0 . 7 5 1 0 . 1 9 6 . 0 3 7 . 8 2 1 0 . 7 6 9 . 6 4 5 . 3 5 9 . 7 2 9 . 5 2 1 0 . 5 5 9 . 6 8 . 7 9 1 0 . 0 1 7 . 6 8 9 . 3 8 1 0 . 1 6 1 0 . 3 3
ルC
‑
IG
a
.
.
O
‑
‑
‑
‑
"‑
‑nEFr‑c寸pfl
正規~
い応答変数の分布:
│リンク関数:
│
CJ
但 D
ロ
無変換
1
2
1
.
6
5
2 +
房i
一
1
│
パ
モデル式
6
.
0
鈎7 C
̲
V
E
N +
p
0
.
3
9
1
0C
̲
T
P
川
一 一 宮 で1
まああ要約←一一一一一一一一一‑
l
韓議錨2 1
4
E
:
;
g
j
│器震調盤済み寄与率
F一一一一一一
変動因
モデル
一一一一一ーす敵奇祈裏一一
t
i
i
t
引
1
←一一一一一一一←
l 平均平方 1 F銃計量 1P値 (
F
)1
2
1 1
2
8
4
4
2
6
0
.
7
16
4
2
2
1
3
0
.
3
7
1 2
3
1
6
.
4
6
9
8
1 0
.
0
0
0
11
2
9
918
2
8
9
41
.0
7
91 2
7
7
2
.
3
7
8
21
平方和
│自由度│
慎差
全空白← J
:
3
u
̲
1
̲
L
̲
!
:
坦
坦
l
̲
&
1̲̲̲l ←一一一」一一一
F一一一ー
ぽ泊
'
屯
、
1
4
1
∞
時
∞ m∞
P
̲
C
̲
T
G
̲
2
,.
動
川川:戸叩
ψ
ぜ
川:~:♂.
1
傘
"
'
一A│
Ill111L
.
.
レ
直量雌州川一
定計はしU
‑ l i !一
一
擁統E M日
行i
﹂
↑
mmoo
用差諮問一
‑1・・
.
∞
ロ 1
4
∞1
6
∞m∞
PCT
G3
一標一
ベ
.
、
:
電
¢g
1
"
,
:
‑.
:
1
{昼食.山
‑vIPu‑qt
T
G
↑問団問問一
c
u
I
n k ‑ nし
∞
R2
一推口
1
:
5
3
3
2
1
一度Ill‑
"
'I
1臼3
2
一ーーー﹂
∞
町二 i
J
一
v
m
m一印円一
一
ト4
一
'
川
出
σ3
匝一一一一一一一
パヲヲ二予夜定値
「一変薮一一自由度一一躍殖
脚 蹟 喜 一‑ f純計量 下 値 (
I
l
‑
‑
‑
‑
:
‑
yr
:
;
;
ヲ
'
.
7
τ
「雨明度Pi
一 一 一 下 一 一3
6刀 58‑‑20-:05(~; 悶g-O.CJ6TI
i
C
"
"S
;
‑
',
1
‑
9
:O
i
7
9 ‑
o:
2j1
0
4p391 Q
.
Q
Q
Q
]
Q.~;;~~
JS
U
o
II
K
1
0
.
3
4
乃
0
.
0
1
6
8
2
0
.
6
5
4
5 0
.
01
0
.
6
5
2
2
u
一
CY
E
N 1
C
̲
T
P
T i
ト4
1P値 (
F
)
119
1
2
6
7
5
.
9
0
5
19
1
2
6
7
5
.
9
ο
51 3
2
9
.
2
0
3
21 0
.
0
0
0
1
上 旦竺4り引 1024ω9.幻L.
.
.
l
竺♂ωI ̲0.0∞
!
自由度│
変動因
l
nT
タイフ
積定一一一一一
平方和
│ 平均平<
1
5 1F統計量
V
I
F
0
3
.
5
8
8
9
3
.
5
8
8
9
c 1 8 0 0 句 TEFunu‑‑nu 1 面 1 2 0 密 度 1 初 cv 聞 ‑HON a ・ 2 1 3 . 1 3 3 6iI j . 1 l Q Q % 最大値 7 5 % ω 5 0 % メジアン 2 5 %0 1 小値 0 %. . i I ! 囲 ω‑01 モード 1 2 0 0 1 4 ( 回 ::~! 1 日x l 1 虻旭 PCT G1 1 9 3 3 " . 0 償却 1 8 8 5 . 0 倒防 1 8 1 4 . 0 0 1 7 1 6 . 1 2 1 2 . 0 仮泊 1 0 9 7 . 1 0 61.似削 1 0 5 6 . 0 側 ∞ ∞ ∞ ぞード 1 4 1 2 . 8 9 7 4
民 . 傘 " ・ C ̲ TG I l .D.1 ‑・ C ̲ TGO.lIの予m ' ' " , . ∞rlH5 ,.H 品 M判1 1 19M . u .l馴時 Cl区 制 車 京 コ ー ン 院 . ' 0 0 0 0 ,I :i ? 似 , . , , . 却 。 A P I I II 9 6 . u .1抽 B 噌Eよ η o n o
c ︼ マl nし nυnKM刊 0 . ( 閥均 密 0 . 0 0 0 2 度 O .償却 1 l E 2 2I . r ' l ; .I 布 ‑HmA│ ∞ ∞ i 嘉 手 日 1 1 3 13大 値 5 0 % メジアン 0 %. . 小値 範囲 モード R2 O O > J イ c 4 ・ 7 V : , 2 ・ ・1 ・ ・ ・ 1 叫 T 42 ・I~'タ 'i:" C O よ'・・ ; ' 1 .. ~. : . . . : ; R‑ 2 0 0 0 I 預言 1 6(XX) PCTαR 三副 1A2160.4: 2 0 4 . 0 0 3 0 1 2 7 4 0 . 2 1 7 6 2 6 2 . 2 3 0 . 3 9 5 5 4 4 1 7 8 1 2 3 3 1 0 3 . 2 8 5 8 n‑二モヲヲコ干ル1 血 1 8 6. 0 0 0 0]‑‑99.0 % 1 5 3 1 0 . 9 7 . 5 % 0I 9 5 .0 % 1 4 6 3 5 .0 1 3 9 3 5 . 0 0 0 0I 9 0 . 0 % 1 2 卿.∞0 0I 1 0 . 0 % 6 6 0 0 . 00 1 5 . 0 % 1 3 7 5 . 0 0I 2 . 5 % . 0 % 1 2 5 6 0 . 0 0 0 0I 1 ∞∞ ∞ ∞ ∞ ∞ . 00 1 8引 0 1 8 2 4 0 .は削 1 7 9 4 0 .は削 1 7 1∞.は削 1 2 8 4 0 .侃問。 1 2 5 0 0 .卿 0 1 2 3 0 0 .制lOO 1 2 1 0 0 . ∞ 。o
!フユーチャーズの価格変動の予測│ ファンダメンタル・アナリストとテクニカル・アナリストの 2つに大きく分類出来る くファンダメンタル・アナリスト〉 ファンダメンタルズ(経済の基礎的条件)に関するデータ分析により、 フューチャーズ価格の動向を予測しようとする ファンダメンタルズ分析は、「需給関係に基づいた相互作用の影響が自由市場における価 格を決める」という大前提に基づいているが、短期の予測にはかなりの限界がある。なぜ ならフューチャーズ・マーケットにおける日々の価格変動には、ファンダメンタル以外の 要因にかなり影響を受けているからである。 。ファンダメンタルズ以外の要因 1 国際政治動向・・・これは、予想、可能なものと不可能なものがある。政治に、いつどん なことが起こるか、文その結果がどうなるのか、それで正しく予 測することは、かなり困難である。 2 CONFIDENCE (コンフィデンス)・・・知性的なものとまったく正反対のもので、 フューチャーズ・トレーダー達が自分の力量や信念などに確信を 持って行うもので、これは常に価格変動に何らかの影響を及ぼし ている。 「Point】 ファンダメンタル・アナリストが必要とするデータの多くは、それが最も 必要な瞬間には入手不可能であり、かりに入手出来たとしても、それはす でにマーケットに織り込まれていることが多いのである。 ‑165‑
│商品先物取引における相場の変動要因│ e t c . !議離犠夢 。異常気象 。国際政治情勢 1.中東問題 1.エルニーニョ・ラニーニャ 2 . 欧州統合問題 2 . 干ばつ 3 . 民族・人種問題 4 . 中国・ロシアの政局 3 . 穀物インフレ(豊作・不作) 4 . 大洪水 5 . 熱波 問題 e t c . 1 6 6一
くテクニカル・アナリスト〉 繰り返し起こる短期的なパターンとトレンドに焦点を合わせ、ファン ダメンタルズを無視した単純な方法により、これらの困難を克服しよ うとする テクニカル分析は、種々のチャートの組み合わせ、計量経済モデルを組み込んだプ ログラム・システム、文は取組高・出来高・建玉(未決済残高)等のヒストリカル・ データを数学的公式により処理するプログラム・システムである。 「Point】 テクニカル分析は、価格変動という波動を分析・研究するものである。 言い換えれば、テクニカル・アナリストはサーファーのようなものであ る。すなわちサーファーは、なぜ波があのうように動くのかについて 理解するのではなく、波が起きた瞬間にすぐに反応出来るように、波の 頂点あるいはその直後をうまく捕らえ、少しでも長く波に乗り、また方向 が変わる前に波から降りるために波の動きを分析・研究するのである。 テクニカル分析初期の積極的な提唱者 チャールズ・ダウ ( C h a rI e sD o w ) ・ ‑ ‑ . . ‑ . . . .. . . . . . . .‑ . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . .‑ ‑ ‑ ‑ ‑ ‑ ‑ . . ‑ ‑ ‑ . . . . . . ‑̲ . . ‑̲ . . ‑. . . . . . ̲ ̲ . . . .‑ ‑ ‑ ‑ ‑ 、 くチャールズ・夕、ウ主張の概略〉 「マーケットは、商品取引員が貴金属取引の状況について知っていること すべて、証券会社が金融市場について知っていることすべて、あるいは情 報を十分に与えられている投資家が自分の専門分野のビジネスについてだ けでなく、他の分野のビジネスについても知っていることをすべて反映し ている。また、マーケットは 1つの鉄道しか持っていない鉄道会社の役員 では知りえないような交通機関の全般的状況も知っているだろうし、農場 経営者や農務省でさえ知りえないような状況についてさえよりよく知って いる。実際、マーケットは国内外の金融マーケットに関するすべての知識 に冷血な裁断を下しているのである」 ワt P0 7ム
<テクニカル分析の哲学と論理> テクニカル分析の前提は、以下の通り 3つある 1 マーケットの動きはすべてを織り込む これこそ、テクニカル分析の要というべきである。このことが完全に理解され、 受け入れられない限り、これから述べることはまったく意味をなさない。 J'テクニカル・アナリストは、商品先物の価格形成に影響を与えるものは、 l i フアンダメンタル要因であれ、政治的要因であれ、心理的要因であれ、 ψ‑ .価格形成に実際に反映されていると信じている 』一一一一一一ー一 一一ーーーー‑̲..̲....‑ ー一一一一一一一一一一一一一一一一一一一一一一一一一ー一一一ーーーーー一一一一一一 , ( よって、商品先物の価格変動を分析・研究することがすべてという l ことになる 一一一ー一一一一一一一一一一一一一一一一一一一一一一ー一一一一一戸 、 大この定義は、やや強引と思われるかもしれないが、その真の意味するところを熟考 すれば異論は、少ないであろう。 テクニカル・アナリストが言いたいのは、 「商品先物の価格変動は、需要と供給の変化 を反映したものである」と言うことに尽きる。 マーケット変動の力学 ( 2 ) D S 図2 価 格 囚:需要超過部分 回:供給超過部分 D S 需要/供給量 例えば、需要が供給を上回れば商品先物価格は上昇し供給が需要を上回れば商品先物価格は 下落する。これは、ファンダメンタル予測の基本であるが、テクニカル・アナリストはこの 関係を逆にして次の結論を導くのである。 ‑168‑
‑どんな理由にせよ、商品先物価格の上昇は供給を上回る需要と強気のファンダ
メンタルを示すものであり、逆に商品先物価格の下落は弱気のフアンダメン
タルを示す。テクニカル分析の中にフアンダメンタルにかかわるコメントが
よく出てくる。一見不思議に思えるかもしれないが、そうではない。すなわ
ち、テクニカル・アナリストは間接的にファンダメンタルを研究しているの
である。
「マーケットはすべてを織り込む」という大前提の背後にある論理は、マー
ケットで経験を積めば積むほど納得せざるをえないものとなるのである。
2 歴史は繰り返す
テクニカル分析及びマーケット全般の動向は、人間心理の研究がチャート
上に現われるチャート・パターンに通じているということである。
マーケットの強気・弱気の心理をチャートは反映しており、チャート・パ
ターンの研究は、人間心理の研究に基づくものである。
「人間心理はかわらない・・・」とすれば「歴史は繰り返す」という前提
は、将来を予測する鍵で、過去を研究することにある。
すなわち「将来は過去の繰り返しにすぎない」ということである。
エリオット波動分析 (US$/YEN)
(WEEKLY)
17o.00~_NY~ ,.ドルf門週足
a 剖1~ /!1 1
6
0
.
1
5
ー
fl
J
J1T
E
C
.
剖I
C
A
LA
N
A
L
Y
S
I
S
.
o
i
.1''''''.:f..~~!jIo8"叫."弘
1
.
.
,
.
1
(
.
・
曾 豊 島 貝 崎 合λ
,
'ノシ'イ",..プ /2/;;: よ守阿 !i:;O:~
,..出相肘同→師"
J
i
!9
月f
l
>
4/
1
8陶 5
5
.
1‑'
守一司「
B
j
.l'lI.刊 t
41l1:醐肝肘.....3.
1 屋i.'fJ1 .11姐.,人.!'!iわれ f;.ð..., tミユ,.付将こII~< (...!¥で,.売ら,..
EJ6
0
.
3
5 ('~O 112)
ウ.
0,-~ì
cc
(
5
5
‑
‑
7
2
)
,
(
56‑72)
N==N
G
乞互豆舟
i
l
l
i
i
l
i告 2
士子雲τ
72.)
(200 ‑257)
、
、
¥ 、5
目へ
:
:
F
.
つD
J9l.¥立合?
169‑
ゴ
‑
:
!
'
J
J
さ
亙
"
合
ー
,
(50‑12)
3 商品先物価格の動きは、トレンドを形成する トレンドの概念は、テクニカル手法において欠くことのできないものである。 マーケットは、 トレンドを形成するという前提をうけいれないのであれば、これ 以上先を予測する意味はない。 商品先物価格の動きをチャートで追う目的は、トレンド形成をなるべく早い段階 で確認し、そのトレンドの中で取引するためにある。本質的に、テクニカル分析 で用いられる手法は、トレンド追随型であり、その意図するところは、 トレンド を確認して追随することにある。(チャート参照) 「商品先物価格の動きは、トレンドを形成する」という前提からさらに以下の ことが推論される。 「運動中のトレンドは反転するより、継続する可能性のほうが高い」 (*この推論は、ニュートンの運動第一法則の応用である。) u すなわち、 ; rトレンドは反転するまで同じ方向に継続する J: ということである。 ム 4E 円 U ηI
WHAT削 ECHNICALANALYS 問 l テクニカル分析は、価格の動きをグラフィック表示したもので、また「現在のマーケ ット・プライスは、その特定の時点、でのマーケット参加者の認識を集約したもの」とい う仮定のもとチャートは、その認識の度合いやかかった時間によって変化するのである。 重要な経済指標発表前に様々な憶測が飛び交ってマーケットが反応し動いた後、実際 の発表時には、まったく逆の動きをすることも少なくない。「噂で買って、事実で売る」 という格言もそこから生まれたのである。テクニカル分析は、ただマーケット・プライ スを紙の上にプロットするだけではなく、プライスを数学的に加工しマーケット心理を 表現するのである。 近年の、目覚ましいコンビューター技術の発達によって、様々なスタディが加速度的 に開発されるようになり、パターン構造や、数学的分析によって、需給の不均衡な状態 を証明する心理学的な変化を明らかにする事が可能となり、トレーデインク事への感情を ②プレイクには、どんな意味がある 排除しながら「①レベルはどうやって決めるか J r かJ r ③この相場はどこまで続くのか J r ④b i d l o f f e rが突然マーケットに現れるのはな ぜか J r ⑤ストップ・ロスをどこに置いたらいいのか」という疑問などを解決すること が出来るのである。 テクニカル分析を短期間で理解する事は困難であると思われるが、一度修得すれば、 マーケット・コンディションを把握し、トレーデイングから高収益を上げ、多角的なマ ネー・マネージメントを実現することが可能となるのである。 東京トウモロコシと米国産大豆の 比価を最適化したシステム売買 USER hlka STUDY mov̲8Vg STUDY spread COEF level USER buy USER sell USER square USER square2 T買ADE trade TRADE open̲p1 TRADE trad̲pl TRADE clos̲pl TRADE trade2 TRADE open̲p12 T買ADE trad̲p12 TRADE clos̲p12 USER proflt 」型~ TeleTrac Verslon 2.5M 共同通信社 テレトラック last/last2 Mov̲avg(hlka.I3) Spread(hlka.mov̲8vg) 0.03 spread>leve1 spread<ーlevel sPread[1 ]>O&spread<O spread[11<O&spread>O Trade(sell• square2.buy.square) Open̲PL(trade.last.0.0) Trad̲PL(trade.last.0.0) Clos̲PL(trade.last.0.0) Trade(buy.square.sell.square2) .5t 2.0.0) Open̲PL(trade2. 18 Trad̲PL(trade2.last2.0.0) Clos̲PL(trade2.last2.0.0) clos̲pl (clos ̲p12 2) ・ ・ ヴ t ム ー Tム
日本 S A Sユーザー会 (SUG I‑J) FREOプ口、ンジャ・ AGREEオプションの紹介 ‑適用場面と出力の見方‑ 0小 田 英 世 東京大学医学部疫学・生物統計学教室 I n t r o d u c t i o nt oAGREEo p t i o ni nFREQprocedure , 日 E i s e iOd Departmento fEpidemiologyandB i o s t a t i s t i c s, F a c u l t yo fMedicine, U n i v e r s i t yo fTokyo. 要旨 FREQプロシジャの AGREEオプシヨンの適用場面と出力の見方について解説しま吹ー具体的には、 McNemar 検定、 Bowker の対称性検定、 Cochran の Q 検定、 κ( カツノ~)係数について説明します。 キーワード: AGREEオプション、 McNemar検定、対称性検定、 Q検定、 κ係数、信頼性 1 はじめに リリース 6 . 1 0から FREQプロシジャ・ TABLEステートメントに AGREEオプションが追加され、一 a g r e e m e n t )に関する統計手法が容易に実行可能となりました。それらの手法の適用場面を述べ、仮想 致( データを用いた実行例を通して出力の見方について解説します。 2 McNemar検定 2 . 1 適用場面 McNemar検定は、反応変数が 2値の対応のある 2標本データに対して適用できまマ九帰無仮説は f2つ の非対角セルに入る確率が等しし、J です。 例:反応、の有無 (2値反応)を調べる 2つの薬剤に関するクロスオーバー試験。 2薬剤の効果は同じである J 帰無仮説:r t ヴ ハ ペU ‑i
2.2 実行例 100人の対象者にプラセボ(偽薬)と実薬を投与したときの反応 (2値)を観察したとき得られる仮想 データに対して McN巴mar検定を適用します。プラセボに対する反応と実薬に対する反応の 2つの標本が、 対象者というキーで対応、づけられていると考えます。 実薬 プラセボ 反応なし 反応あり 反応なし 1 5 20 35 反応あり 5 60 6 5 20 80 100 e a o p & o c r n w o 可 ム o + L M n ︐ . n+LM C ホ er 刊 sqt moc =・ b o aen tc a a e .︐ dlet ロ& r w ︾ σb 1 1 60 ‑D‑l 10 5 pumua 0 1 20 4ム 可 ム o0 15 re/h input placebo treat wt 也也; cards; O+LMW DA r data mcnemar; rtr ︐ . aao men プログラム run; アウトプット PLACEBO 1 百EAT Frequencyl 1 1 Total 0 1 ー一一ーーーーーー+一一一一ーーーー+一一一一ーーーー+ o1 15 1 20 1 35 ーーー一一ーーーー+ー一一一一一一ー+ーー一一一一一ー+ 11 51 60 1 65 一ーーーーーーーー+ーーーーー一一一+ー ーーーーーー+ Total 20 80 100 STATISTICS FORTABLE OF PLACEBO BYTREAT McNemar's Test Statistic =9.000 DF = 1 Prob = 0.003 3 Bowkerの対称性の検定 3 . 1 適用場面 Bowk巴rの対称性の検定は反応変数が 3値以上のカテゴリ一変数の、対応のある 2標本データに対して適 用できます。帰無仮説は「非対角セルに入る確率が対称、である」てサ二反応変数が 2{ 直の場合は McN巴mむ 検定に帰着します。 3値以上)を用いた 2薬剤に関するクロスオーバー試験。 例:順序尺度 ( ‑ 1 7 4一
帰無仮説:i2つの薬剤の効果は同じで、ある j 3 . 2 実行例 100人の対象者にプラセボと実薬を投与したときの反応 (3値:ー,+,++)を観察したときに得られる仮 想データに対して、対称性の検定を適用します。 実薬 + ) ( + + ) 反応(ー) ( プラセボ ( ー ) 1 5 1 4 6 35 ( + ) ( + + ) 3 30 8 41 2 2 20 24 20 46 34 100 hM run; アウトプット PLACEBO TREAT Frequencyl 1 1 0 1 2 1 Total 一一ーーーーーーー+ー一一一ーーーー+ーーー一一一一一+一一一ーーーーー+ o1 ー 6 1 35 一一+ーーーーーーー+ 一一一一一一+ーーーーーー一一+ 3I 30 I 1I 8 I ー ー ー + ー ー ー ー ー + 一 一 一 ー ー ー + ー ー ー ー ー 一一+ 15 1 14 1 41 2I 2I 20 I 一ー+ーーーーーーー+ 一一一ーーー+ーーーーーーーー+ 21 ー一一 Total 20 46 34 24 100 STATISTICS FORTABLE OF PLACEBO BY TREAT Test of Symmetry Statistic = 12.718 DF =3 175‑ Prob = 0.005 + l M 2 1 2 2 2 20 p & 1 1 30 1 2 8 20 2 n e c r e d ・ ' 0 1 14 0 2 6 10 3 vu* ム qunv 可 bo = ・ P& aec tco aan ・ ' ・ 41 ム t P&ew e q esrt regDh flag ︐ . ︑ . c a レe︐ O+ w r 仇 出W 仇W W +し︾ + l M a e r h ν + l M 可印 P& . ︐ ・0 皿 I ta el ・ 4 vd+レ s su ・ 4 a 呼 E a t‑‑c o0 15 0 n v d rtw ︐ . tao eer mro mtn プログラム
. ,. 'ヨ 4 Cochranの Q 検定 4 . 1 適用場面 AGREEステートメントで実行可能な Cochranの Q検定は、反i ぷ変数が 2値の対応のある 1 1 1標本 (m2 :3 ) データに対して適用できます。帰無仮説は「各標本の周辺確率が均一である Jです。 2標本 ( 1 1 1二 2 )の場合 巴m ar検定に帰着します。また、 3値以上のカテゴリーデータに対する Q検定は CATMODプロ には McN シジャで実行可能です。 4 . 2 実行例 8人の患者に対し、 4人の評価者が症状の有無を評価したときに得られる仮想データに対して、 Cochran の Q検定を適用します。 各評価者が 1と評価する確率は等しいJ 帰然仮説:i 評価者 患者 1 234 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 0 5 0 0 1 0 6 0 0 1 1 7 0 0 0 0 8 。 1 0 1 1 1 3 2 A噌 ︒ r14 a r e ・' +LU+LM an re *c qur re ep to an r *w n40 rr e o tn C* ゐ input raterl‑rater4 也司; output; q do patient=l to 8 ; 4la14J/ p A r ca υ L ot data c q ; ︐ . =1c aro ten at ‑dae re q r esgo r ea プログラム run; end; cards; o0 0 0 o0 0 0 o0 0 0 o0 0 0 o0 1 0 o0 1 1 o0 0 0 1 0 1 1 アウトプット Cochrむ l'5 Q,for RA TERl by RA TER2 by RA TER3 by RATER4 Statistic = 6.000 DF = 3 ‑ 1 7 6一 Prob = 0.112
5 κ 係数の計算 5 . 1 適用場面 κ係数は、同一の対象者に対して 2回評価を行った場合の信頼性(再現性)を調べる場合に用いられま す 。 κ係数は信頼性の尺度で、あり、完全に評価が一致したときに最大値・ 1をとり、偶然と同程度の一致し か見られないときには 0をとります。 5 . 2 実行例 1 0 0人の対象者に対して、同じ評価者が 2回評価を行ったとき得られる仮想データに対して、 κ係数を計 算します。 1回目 1 2回目 1 2 3 1 5 5 3 2 3 6 1 8 8 3 2 3 2 9 3 4 4 5 2 2 3 3 2 4 5 1 0 0 プログラム FIRST SECOND Frequencyl 1 1 2 1 3 1 Total + ーーー一一一一ーー+一一一一一ーーー+一一…一ーーーー+ー ー 11 1 51 51 2 1 6 1 3 1 23 +‑‑‑‑‑‑‑‑+ ーーーーー一一一ー+ーーーーーーーー+ーーーーーー 1 81 8 1 32 ーー一一ーーーーー+ー一一ーー一一一+一一一一一一一一+一一一一一一一一+ 3 1 21 9 1 34 1 45 一一ーーーーーーー+ー一一ーーーーー+ーーーーーーー +‑‑‑‑‑‑‑‑+ Tota ユ 23 32 45 100 STATISTICS FORTABLE OF FIRSTBY SECOND + u TABLE OF FIRSTBY SECOND 0 アウトプット D4 r u n ; n e c r e ︾ n w ‑s ・ 40 ム D O D4cn p anr ae ksl D 3 3 34 =ホ 23 8 32 9 448w 22 1 8 31 2 qAe 21 6 atc cun + し a r n .︐ 13 3 d‑lt 司 D 12 5 esrt reEh flag ︐ / ・ ユ cae Dtw r D4 ︐ . W + L W m w mw pb .d n o e S + L W s D44ム D4. ‑ r aE ‑ユ a t s︐ 司 瓦 u ・ 4 am4U c t a ・ 4ユ ・ 1 11 5 ヴ t ヴ ‑ At
Test o f Symmetry Statistic = 0.350 Prob = 0.950 DF = 3 KappaCoefficients ASE 95% Confidence Bounds Statistic Value Simple Kappa 0.486 0.073 0.344 0.628 WeightedKappa 0.553 0.070 0.416 0.689 Sample Size = 100 6 周辺に 0 が含まれる場合の対応 AGREEオプションは行と列の数が一致していないと無効となりま吹=しかし、行・列いずれかの周辺 係数を求めたい場合があるので、そのようなときは、全てのセノレに無視で きるよ 度数が Oとなる場合にも κ うな小さな数を足すなどの対処が必要となります。 ︒ ︒ ‑sAuo anr p P cn ae ・ 可 晶 + L U n e c r o u p o n w ksl =申 o a+uc 4laew qAe AU t as ro n ・ ' 企 +U ee sg rh t r P r flago be /i ca o+uw m r つ0 0 0 ハ u m w m w ιqM 4ム 司 quqMqU 司 ︐h .d ι 司 44 司 '‑qu Eunonu ι 司 fA EuponU 444444 44 同 ︒ ‑ d t‑‑wc 123 n c e s ' + u ・ S8 r‑ a 1e 手ム 4 ム ︐ .p 企・ P 企+・' atts ‑Euw ・ 4 P =r anta a プログラム 参考文献 同 Agresti, A .( 1 9 9 0 ), Cat句 o r i c a lDataA n a l y s i s , NewY o r k :JohnWileyandSo 同 I n c . [ 2 JF l e i s s, J . L .( 1 9 8 1 ), S t a t i s t i c a lMethodsf o rR a t e sandP r o p o r t i o n s ,SecondEdition,NewYork: John WileyandSons, I n c . 同 SASjSTATSoftware: ChangeandEnha附 ‑178一
PROCMIXED入門 岸本淳司 (SAS/ 慶慮義塾大学/東京大学) AnI n t r o d u n c t i o nt oPROCMIXED J u n j iK i s h i m o t o SASI n s t i t u t eJapan/KeioU n i v .SFC/U n i v .o fTokyo e ‑ m a i la d d r e s s : j p n j a k @ j p n . s a s . c o m A b s t r a c t PROCMIXEDは、固定効果とランダム効果とを同時に持つモデルで、ある「混合モデ、ル」 を扱うプロシジャである。その狙いは、相関をもった測定値について自然なモデリングを行う ことである。従来からの線形モデルのためのプロシジャ PROCGLMと比較しながら、指定 方法の入門的紹介を行う。 キーワード: PROCMIXED,混合モデ、ル,変量効果,分散成分,反復測定 1 混合モデルとは何か? 1 .1 固 定 効 果 と ラ ン ダ ム 効 果 固定効果(母数効果)とランダム効果(変量効果)とを同時に持つモデ、ルを総称して混合モデ ノレと呼ぶ。 PROCMIXEDは混合モデ、ルの推定を行うプロシジャである。固定効果とランダム効 果とは、次のような意味である。 固定効果:実際その実験でとられた水準のみに推論の輿味があるような要因。 ランダム効果:実験で、設定された水準が、無限母集団からランダムにとられたものと想定できる 要因。個々の水準値よりも全体的な散らばりの情報(分散成分)に興味がある。統計的推論 は、実際に設定された各水準ではなく、想定された母集団について行われる。 固定効果とランダム効果とは厳密に区別できるものではなく、解析者が推論するときの関心に よって仮定されることがある。 ‑179
1 .2 例 ある種のガンについて、化学療法と放射線療法とを比較したいとする。特に子供について興味 があった。 5つの施設が実験に協力してくれることになった。各施設ごとに大人 1 0人と子供 1 0人 とが選択された。処置 2ヶ月後、腫蕩縮小の程度が測定された。この実験中の各要因の中で: ‑処理(化学療法か放射線療法か)は固定効果である。なぜなら、この 2つの処理を比較した いので、あって、その他の治療法一般について推論したいわけで、はなし、からである。 ‑年齢(子供か大人か)も固定効果である。 ・施設は、固定効果とも考えられるし、ランダム効果であるとも考えられる。もし研究者の関 心が実験に参加した 5つの病院のみの変動にあるなら、固定効果が想定される。もし施設の 母集団を想定して、 5つの病院はそこからサンプリングしたと考え、結論を母集団について 下したいのなら、ランダム効果として扱うべきである。 ・患者はランダム効果である。実験に参加した患者は、同種のガン患者の母集団からのサンプ ルであると想定される。 1 .3 GLMモデル PROCGLMは固定効果のみの線形モデノレを当てはめる。モデルは次のように表される。 y 二 Xβ+ε ここで、 y は、観測されたデータベクトノレである。 X は、既知の計画行列である。 グは、未知の固定効果ノぐラメタのベクトルである。 ε は、観測されないランダム誤差のベクトルである。 2の正規分布をすると想定される。す このモデルでは εの各要素は無相関で、平均ゼ、ロ・分散 σ なわち、 二 O 4 内 ︐ tEBESEt‑‑15t F / σ っ ︐︐︐︐ aaEaEEEEEEE'・ ・ ︑︑︑ aEE E σ o っ r [ ε ] =σ2r Uα ︑ ︑0 σ E [ ε ] σ2rとは、 εの各要素の分散が等しい(同じ記号σ2で表されている)ことと、無相関(対角要 [ y ]=xβ だが、分散は 素がゼロ)を表現している。 yの期待値は E 叩 r [ y ]=σ2r となり、測定値聞の独立が仮定される。 PROCGLMではランダム効果を含む検定も実行できるが、当てはめているのはすべて固定効 果のモデルで、ある。 ‑180
1 .4 混 合 (MIXED)モデル PROCMIXEDが扱う混合モデ、ルで、は、 PROCGLMが扱うモデルを次のように拡張している。 y=xβ+Zγ+c ただし、 y は、観測されたデータベクトノレである。 X は、既知の計画行列である。 β は、固定効果に対する未知パラメタである。 Z は、既知の計画行列である。 γl 土 、 ランダム効果についての未知パラメタである。 E は、観測されないランダム誤差のベクトノレである。 γ を導入したことである。 γは、固定効果のパラメ 第一の拡張点は、ランダム効果を表す項 Z タ βとは異なり、ある分布をすると想定される。その分布の平均はゼロで、ある分散共分散行列 G を持っと特定する。分散共分散行列 G には、構造のバリエーションを何種類か指定すること ができる。 。 E [ γ l v a r [ γ l G ( ; ; ; ; ) l ? ? ? ? ? I ? ? ? I 第二の拡張点は、誤差ベクトノレ E の分散共分散行列 R にも構造のバリエーションを指定するこ とができるようにしたことである。この拡張により、誤差に相聞があるモデル(反復測定)の指 定ができる。 F γ シ﹂ し だ た る す と る ¥111111/ ﹀ ????吃 ????関 ????鮒 ????ま u α r [ c ] R/11111¥ と 。 E [ c ] ト ︼ このとき y の分散共分散行列 V は次のように表される。 V=ZGZ'+R すなわち、 G と R の構造をいろいろ指定することによって、 y の共分散行列に対するさまざまな 、 y の期待値をモデリングするが、混合モデ、ル モデリングができるようになる。固定効果 Xβ は ではそれに併せて誤差の非等分散性や相聞についてのモデリングを可能にする。 固定効果モデルで、は、パラメタ β と σ2 だけを推定すればよかったが、混合効果モデルでは、 γ, G, R についても推定しなければならない。そのためには最小三乗法は適切な方法で、はなく、 γ と E とは正規分布していると仮定して、尤度に基いた推定法が採用される。その 1つは、最尤法 L (ML;MaximumL i k e l i h o o d )であり、もう 1つは制約っき最尤法 (REML;R E s t r i c t e dMaximum L i k e l i h o o d )である。 PROCMIXEDでは、 REMLがデフォルトの推定法である。 1 8 1
1 .5 PROC恥lI XEDの基本文法 PROCMIXEDでは、当てはめるモデルの骨格部分を次のように指定する。 P R O CM I X E Dくオプション〉; C L A S S分類変数群; M O D E L従属変数=固定効果群く/オプション〉; R A M D O M ランダム効果群く/オプション〉; R E P E A T E D反復効果群く/オプション〉; R U N ; 各ステートメントの意味を概説する。 CLASS:分類変数を指定する。 PROCGLMの CLASSステートメントと同じである。 MODEL:等号の左辺に従属変数を、右辺に独立変数(固定効果または共変量)のリストを指定 する。従属変数は連続変数でなければならない。 RANDOM:ランダム効果 γ についての指定を行う。ランダム効果に対する計画行列 Z を指定 し、オプションで γ の分散共分散行列 G の構造を指定する。実用的に用いられる構造は、 TYPE=VC (分散成分;デフォルト)か TYPE=UN (無構成)のどちらかである。 REPEATED:誤差 E の分散共分散行列 R の構造を指定する。これにより、反復測定の効果が 指定される。反復効果の分散構造にはさまざまなパターンが用いられる。 REPEATEDス テートメントで効果を指定する場合は、分類変数でなければならない。 PROCGLMの RANDOMステートメントは、平均平方の期待値の構造を出力させるためのも のであった。 PROCMIXEDの RANDOMステートメントはそれとは意味が全く異なる。 PROCMIXEDでは、次のステートメントも有用である。 LSMEANS:固定効果について、一般化最小二乗平均を計算する。リリース 6 . 1 0から最小二乗 平均についての多重比較の機能が追加された。 CONTRAST:固定効果またはランダム効果についてのユーザー指定の仮説を検定する。 ESTIMATE:固定効果またはランダム効果の線形結合を推定する。 MAKE:PROCMIXEDが作る数表を SASデータセットに変換する。 PROCGLMにはこのよ うな機能はないため、たとえばパラメタ推定値や多重比較の結果をデータセットに出力する 医 EDに同様の仕事をさせると、 MAKEステートメントでデー ことはできない。 PROCM タセット出力ができるようになる。 ‑182‑
2 ランダム効果を含む例 2.1 身長の例題 次に示すデータには、 4つの家族 18人について性別と身長(インチ単位)が記録されている。 data heigh 七s ; inpu 七 f出 n i1y gender $ height @@; cards; 1 F 67 1 F 66 1 F 64 1 M 71 1 M 72 2 F 63 2 F 63 2 F 67 2 M 69 2 M 68 2 M 70 3 F 63 3 M 64 4 F 67 4 F 66 4 M 67 4 M 67 4 M 69 2.2 固定効果モデル 家族の効果と性別の効果とから身長を説明する固定効果モデ、ル y ニ Xβ+e を当てはめてみよう。 PROCGLMでは、次のようになる。 proc glm data=heights; c1ass gender fami1y; mode1 height = gender f出 ni1y; r u n ; DF 1 3 Source GENDER FAMILY Type III SS 57.4568182 33.9345960 Mean Square 57.4568182 11.3115320 F Value 19.07 3.75 Pr >F 0.0008 0.0385 PROCMIXEDでも、全く同じように指定できる。 proc mixed da 七a=heigh 七s ; c1ass gender fami1y; mode1 height = gender fam工1y; run; Tests o f FixedEffects F85 円 n u ﹀円 Uqo unu ︒ r︒ p o・o rA7'ku 円U7' T ム‑ T ム Ququ T ム 4ム 市ム e p v e h U 4ム 4ム hu F&ququ hu ム r I 4ム qo w u 円 eRY crμ7﹂ V 4 h υ Tム uNM DEA qu ur 固定効果の検定出力の部分を比較すると、全く同じ結論であることがわかる。 PROCMIXEDで は尤度に基づいて検定を行うため、平方和は表示されない。 ‑183‑
2 . 3 混合効果モデル 固定効果モデルでは、測定値の独立が仮定されている。身長のデータでは、同一家族内の身長 には相聞があることが想定できる。このような同一クラスター内の相聞を表現するために、家族 をランダム効果として扱う方法がある。この場合、データ中の 4家族は大きな母集団からランダム にサンプリングされたと仮定される。 混合モデル y=Xβ+zγ +E 1 1 nununununU l nununununununU 1 nunu‑‑1i 1 1 E ‑ 1 1ム 1 1ム 1 1ム 1 1 0 1 1 1 1 E ‑ 1 1ム 1 nununununununununununununu‑‑ 1 1ム Eム l z= nununununununununununU Eム 司 l l 1inununununununununununununU Eム 司 1 1 l 1 1 nununununU1ム 1ょ 1ム ‑Eム 噌 Xニ 1inunU1ム 1ム 1inununu 1inu‑‑1inununU l nununu‑‑ 1inununu‑‑1i l l 1 l 1 1 1 1J/ ゐ つ β1 ︑ ︑3μ β は、切片と性別とを表す固定ノぞラメタである。 測定値の期待値は、固定効果で規定される。 E (日jk)=μ +s i γ は家族を表し、 γ j=N(O , σ~) の分布をするランダ、ム効果パラメタである。 γ 二 E (γlγ2γ3γ4 ) ' は 、 ランダム誤差を表す。 f ¥1jノ ﹄ i 唱 a o F E2 ‑184 1l X は、固定効果である性別に対応する計画行列である。切片項も含まれる。 Z は、ランダム効果である家族に対応する計画行列である。切片項は含まれない。 ︐r 0 63 64 67 66 67 67 1 72 63 63 67 69 68 7 66 64 7 ︑ ︑ ρQ0d の各項は、次のように設定される。 yは 、 1 8人の身長観測値のベクトルで、ある。
変量ベクトル γ は多変量正規分布をし、その平均は Oで、分散は次のようになる。 /σ~ 0 0 0 ¥ η I 0σ~ 0 0 G=σご L二 │ γ o γ I 0 0σ~ 0 ¥ 0 0 I I I 0σ~ } 誤差ベクトル εも多変量正規分布し、その分散構造は固定効果モデルとかわらない。 / σ ; 0¥ R=σ;11 8= I σ ε │ ¥ 0 σ; J 測定値の分散は、 V=ZGZ'+R であるが、対角成分に注目すれば、測定値の分散成分はランダム効果の分散と誤差分散の和で表 される。 叩 r ( Y ) 二 σ 3 + σ ? 2. 4 PROCMIXEDの指定と出力 PROCMIXEDでは、 MODELステートメントには固定効果のみを指定し、ランダム効果は RANDOMステートメントで指定する。 sr 司 +U ・' a u hyd gb 寸ム n 工 ‑le M 叩g =ヂl‑=. ︐ avu +ur+U 寸 ム a e 司且・工 d dσbm 1a n ・ 司 deem‑ e g b 司且 xm ‑工 5 1 4 0 mse d a dn C 寸ム o a ocmr r p run; REML推定法による分散パラメタの推定値は、次のように出力される。 Covari叩 C巴 Par回 目 巴 rEstimat巴s ( R E M L ) Cov Parm FAMILY R巴sidual Ratio 0.81863290 1.00000000 七 巴 Estima 2.53458987 3.09612512 S七d Error 3.12568569 1.25232525 Z Pr > [ Z [ 0.81 0.4174 2.47 0.0134 Estimate" の列には、家族による分散成分の推定値と誤差分散の推定値とが示されている。各 成分はそれぞれ次のように推定される。 &~ 3 7 2.53458987 二 3.09612512 Ratio" の列には、各成分の誤差分散 σ ?との比が表示されている。 Std Error" の列には、 2 次微分行列の逆行列によって求められた近似標準誤差が示されている。分散成分推定値を対応す "統計量が得られ、標準正規分布から計算した両側 p f 直が る近似標準誤差で割ることにより Z Pr>I Z I "の列に表示される。この検定は標本数が少ないときは正確ではない。 ‑185‑
‑ ‑ ランダム効果 γの共分散行列 G は 、 000 日 ・ ‑EE‑‑‑‑‑zEZS EE︐ ︑︑︑ ・ ︐︐︐︐︐ 0ω ¥1211111111﹄tF/ I2 . 5 3 4 0 0 ~_ I 0 2 . 5 3 4 0 3 44= I G=δご 4=2 .5 T • I 0 0 2 . 5 3 4 バ せ 0 向 ︐G ¥ 0 0 誤差ベクトル εの共分散行列 R は 、 I3 . 0 9 6 I a=53I18=3.096I18=│ 3 . 0 9 6 ρ0 ο η ¥ 0 と推定される。 測定値 y の分散共分散行列 V は 、 市 =ZGZ'+員二 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 5.63 2.53 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 2.53 5.63 5.63 2.53 2.53 5.63 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 2.53 2.53 2.53 2.53 2.53 5.63 と推定される。 すなわち、測定値 Yの分散成分は、 市 ( Y ) 二 3 3 + 6 7 5 . 6 3 = 2 . 5 3+3 . 1 0 と分解される。 . 5 3の相聞があるが、家族が異なると相関はゼ、ロというそ また、同一家族内については共分散 2 デ、ルになっている。 固定効果である性別についての検定は、次のように出力される。 T e s t so fF i x e dE f f e c t s S o u r c e G E N D E R N D F D D F T y p巴 I I IF P r>F 1 1 3 1 8 . 2 9 0 . 0 0 0 9 固定効果モデルによる F値 =1 9 . 0 7とは僅かに異なっている。 ‑186
3 反復測定の解析 3.1 降圧剤の比較のデータ 次に示すのは、 2種類の降圧剤を投与したときの血圧変化パターンを比較した仮想データであ B2種類の降圧剤にランダムに割り当てられた。また 1人の被験者 る。全部で 8人の被験者が、 A, について投与前・ 1時間後・ 2時間後・ 3時間後の 4時点で血圧が測定された。 血圧の経時的変化 降圧剤 A B 被験者 投与前 1 119 2 120 113 1 0 6 116 1 2 1 1 5 110 1 3 4 1 2 3 1 2 6 1 1 6 115 1 2 1 1 1 8 123 124 1h 2h 3h 5 1 2 5 1 1 8 107 105 6 133 120 114 107 7 1 2 5 110 107 103 8 1 2 6 1 1 8 115 110 次の 2種類の効果を区別する。 被験者間要因 (Between‑Subjecte f f e c t s ) :一人の被験者に対しては同じ値をとる要因。今の例では、 2種類の降圧剤 (DRUG)。 f f e c t s ) :同一被験者に対して複数の水準をとる要因。今の例では、 被験者内要因 (WithinSubjecte 4時点の時間 (TIME)。 】 1変量アプローチ用 ( f o r U N I )と多変量アプローチ用 (forMUL)の 2種類のデータセットを作成 する。 dataforUNICkeep=drug subj time b p ) forMULCkeep=drug subj t1‑t4); array bpt{*} t1‑t4; u b j 也; input drug $ s do time=l to 4 ; input bp也; bpt{time} = b p ; output forUNI; e n d ; output forMUL; cards; A 11 1 91 1 31 0 61 1 6 A2 1 2 01 1 51 1 01 1 2 A3 1 2 31 2 61 1 61 1 5 A4 1 2 11 1 81 2 31 2 4 B5 1 2 51 1 81 0 71 0 5 B6 1 3 31 2 01 1 41 0 7 B7 1 2 51 1 01 0 71 0 3 B8 1 2 61 1 81 1 51 1 0 ‑187
1変量アプローチ用データセット(f orUNI) OBS DRUG SUBJ TIME BP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 9 20 21 22 23 24 25 26 27 28 29 30 31 32 A A A A A A A A A A A A A A A A 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 119 113 106 116 120 115 110 112 123 126 116 115 121 118 123 124 125 118 107 105 133 120 114 107 125 110 107 103 126 118 115 110 B B B B B B B B B B B B B B B B 多変量アプローチ用データセット(f orMUL) OBS T1 T2 T3 T4 DRUG SUBJ 1 2 3 4 5 6 7 8 119 120 123 121 125 133 125 126 113 115 126 118 118 120 110 118 106 110 116 123 107 114 107 115 116 112 115 124 105 107 103 110 A A A A 1 2 3 4 5 6 7 8 ‑ 1 8 8一 B B B B
3 . 2 分割実験モデルによる 1変量分散分析 経時的データの分析は、古典的には、被験者を 1次単位、ある時点での被験者を 2次単位とした分割実験 型分散分析で解析される。分割実験型の解析を PROCGLMで行うには、 1変量アプローチ用に整形され たデータセット ( f o r U N I )を用いる。また、被験者問要因 (DRUG)の検定には、 TESTステートメントで誤 差項を正しく指定しなければならない。 分割実験型の 1変量分散分析は、次のプログラムで実施される。 /牢 U nivariate ANOVA Using a Split‑Plot Model 牢 / proc glmdata=forUN1; class drug subj time; model bp = drug subj(drug) tユmetユme牢drug; test h=drug e=subj(drug); run; Source DF Type 1 SS Mean Squむ e F Value Pr > F DRUG SUBJ(DRUG) TIME DRUG牢TIME 1 6 3 3 36.125000 325.875000 797.000000 291.375000 36.125000 54.312500 265.666667 97.125000 3.07 4.62 22.60 8.26 0.0966 0.0052 0.0001 0.0011 Source DF Type II1 SS Mean Squむ e F Value Pr > F DRUG SUBJ(DRUG) TIME DRUG牢TIME 1 6 3 3 36.125000 325.875000 797.000000 291.375000 36.125000 54.312500 265.666667 97.125000 3.07 4.62 22.60 8.26 0.0966 0.0052 0.0001 0.0011 Tests of Hypotheses using the Type 111 MS for SUBJ(DRUG) as 回 error term Source DF Type 111 SS Mean Square F Value Pr > F DRUG 1 36.1250000 36.1250000 0.67 0.4459 分割実験型 1変量アプローチでは、被験者内要因とそれにかかわる効果(ここでは TIMEとTIME ホDRUG の交互作用)の検定には、時点問での誤差の相関が一定であるとしづ仮定が必要であり、それを満たさない 場合はリベラルな ( p値が過小な)検定になる。この仮定を検証する方法は次に紹介する。 3 . 3 REPEATEDステートメントを使った反復測定の解析 PROCGLMでは、 REPEATEDステートメントを使って反復測定の解析を実行することもできる。こ れにより多変量型のアプローチが可能になる。多変量アプローチとは、今の例でいうと 1人の被験者につき 血圧を 4回測定しているので、その 4回の測定値をそれぞれ別の従属変数とみなす解析法である。 4回の測 定誤差の聞には自然な相関関係、が想定されていて、特別な相関構造は仮定しない。 REPEATEDステートメントを使った PROCGLMのプログラムは次のようになる。 / 牢 Multivariate Repeated Measures Analysis 牢/ proc glm data=forMUL; class drug; model t1‑t4 = drug / nouni; repeated time / printe; run; ‑ 1 8 9 ‑ ‑
多変量アプローチの指定には、次のような特徴がある。 ・入力データには、多変量アプローチ用に整形されたもの (forMUL)を用いる 0 • MODELステートメントの左辺に複数回の測定値を指定する。 ・個々の測定値についての検定に興味がないときには、 MODELステートメントに NOUNIオプショ ンを指定する 0 ・ REPEATEDステートメントで反復測定であることを指定し、また複数回の測定 (TI‑T4)をまとめ た被験者内要因の名称を指定する。 ・個々の応答 TI‑T7聞の偏相関係数を計算し、また 1変量アプローチが有効であるための球面性の仮 説を検定するため、 PRINTEオプションを指定する。 PROCGLMで多変量アプローチを扱うときには、次の事項に注意する。 ・ある被験者の複数回の測定について 1個で、も欠測があった場合、その被験者についてのデータ全体が 解析から削除されてしまう。 ・被験者内反復測定効果 (TIME)は、分類変数として扱われる。 ・被験者問要因と被験者内要因との聞の交互作用は、自動的にモデ、ルに追加される。 PRINTEオプションの効果によって、 4つの応答聞の偏相関係数と球面性 ( S p h e r i c i t y )の検定の結果が表 示される。 General Linear Models Procedure Repeated Measures Analysis o f Vari回 目 Partial Correlation Coefficients fromthe Error SS&CP Matrix IProb > [ r [ DF = 6 T1 T2 T3 T4 T1 1.000000 0.638306 0.496055 0.166382 0.0001 0.1229 0.2575 0.7214 T2 0.638306 1.000000 0.560376 0.244757 0.1229 0.0001 0.1907 0.5968 T3 0.496055 0.560376 1.000000 0.798081 0.2575 0.1907 0.0001 0.0315 T4 0.166382 0.244757 0.798081 1.000000 0.7214 0.5968 0.0315 0.0001 測定時間の間隔が大きくなるほど相関係数が小さくなっているので、 TIMEの主効果と TIMEホDRUG の交互作用についての 1変量分散分析の F検定は有効で、ないことが示唆される。 Test for Spherici 七y : Mauchly's Criterion = 0.302765 Chisquare Approximation = 5.6421038 with 5 d f Prob >Chisquare = 0.3426 球面性 ( S p h e r i c i t y )の検定とは、被験者内分散共分散行列がタイプ H共分散構造 (Huynh‑F e l d t条件とも 呼ばれる)をしていることを調べるものである。この条件は、どのような直交対比を選んで、も独立で等分散で あるということと等価である。この検定が有意であれば、 1変量アプローチによる TIMEと TIME*DRUG の効果の検定は適切で、ないことが示唆される。今の例では、有意にはなっていない。 一190一
3. 4 多変量検定 多変量検定として、次の 4つが有名である。 • Wilksのラムダ • P i l l a iのトレース • H o t e l l i n g ‑ L a w l e yのトレース • Royの最大根 TIMEの効果について、これらの多変量検定の結果が次のように出力される。 Manova Test Criteria む l dExact F Sta 七i stics for 七he Hypothesis o f no T1ME Effect H = Type 111 SS&CP Matrix for T1ME E = Error SS&CP Matrix S=l Statistic Wilks' Lambda Pillai's Trace Hotelling‑Lawley Trace Roy's Greatest Roo七 M=0.5 N=l Value F 0.07735391 0.92264609 11.92759538 11 .92759538 15.9035 15.9035 15.9035 15.9035 Num DF 3 3 3 3 Den DF Pr > F 4 4 4 4 0.0109 0.0109 0.0109 0.0109 TIMEDRUGの効果についても同様に多変量検定が実施される。 本 Manova Test Cri七eria and Exact F Statistics for the Hypothesis of no T1ME*DRUG Effect H = Type 111 SS&CP Matrix for T1ME*DRUG E = Error SS&CP Matrix S=l Statistic Wilks' Lambda Pillai' s Trace Hotelling‑Lawley Trace Roy's Greatest Root M=0.5 N=l Value F 0.13341306 0.86658694 6.49551834 6.49551834 8.6607 8.6607 8.6607 8.6607 Num DF 3 3 3 3 Den DF Pr > F 4 4 4 4 0.0318 0.0318 0.0318 0.0318 これらの多変量検定には次の特徴がある: ・ Huynh‑Feldt条件を必要としない。 ・被験者内分散共分散行列に構造制約はない(無構成である)。 .分散共分散行列はモーメント法により推定される。 ・ 4つの各検定法で、 p値が異なることがある。通常、 Wilksのラムダが最も広く用いられている。 • Huynh‑Feldt条件が成立しているときの被験者内効果の検定については、 1変量検定の方が検出力が 高い。 ‑191
3 . 5 自由度を調整した 1変量検定 REPEATEDステートメントを使った指定形式で、も、分割実験型の 1変量検定の結果が報告される。被 験者問要因である DRUGについては、次のように出力される。 General Linear Models Procedure Repeated Measures Analysis o f Variance Tests o f Hypotheses for Between Subjects Effects Source DF Type 111 SS Mean Squ訂 e F Value Pr > F DRUG 1 36.1250 36.1250 0.67 0.4459 Error 6 325.8750 54.3125 TESTステートメントで誤差項を指定しなくても正しい検定が実施される。被験者問要因の検定には、 球面性の仮定は必要ない。 いままでに説明したように、分割実験型の 1変量検定は H‑F条件が満たされないときリベラルな ( p値 が過小な)検定にる。一方多変量検定は保守的な ( p値が過大になる)検定である。 1変量検定と多変量検定 との妥協的方法として、 1変量 F検定の自由度を調整する方法がある。 TIMEと TIME*DRUGについての 1変量 F統計量は、球面性の仮定が成立しないときで、あっても近似的に F分布する。そのような F値を得る ため、 F統計量の分母子の自由度を小さめに調整する方法が 2種類ある。 1つは Greenhouse ‑G巴i s s巴r(G‑G) の調整であり、もう lつが Huynh‑Feldt(H‑F) の調整である。 PROCGLMで REPEATEDステートメントを使って反復測定の解析を行うと、被験者内効果の TIME と TIME*DRUGとについて、この 2種類の自由度を調整した l変量 F検定も出力される。 Genera ユ LinearModeユsProcedure Repeated Measures Anaユ ysis o f Variance Univariate Tests o f Hypotheses for Within Subject Effects Source: T1ME n u SO So T ム ハU マf T ム ハU T ム ハU eo 中よ n u p & ・ q u Y7 ふ hu p qu Mean Square 265.66666667 F Value 22.60 Pr > F 0.0001 Adj Pr > F G‑G H ‑F 0.0001 0.0001 Mean Square 97.12500000 ユue F Va 8.26 Pr > F 0.0011 Adj Pr > F G‑G H ‑F 0.0037 0.0011 キD RUG Source: T1ME n u cdnu qdnu T ムハ U マf ム ハU T Tム 民 ︾ equ p&. ム vd4 円 Jh T9 ふ hu p q u Source: Error(T1ME) 訂叫 e4 u 民 U4 qq u S6 G M 4ム M U 4ム my 円U cdnu s o 円4 T ム ハU T ム ハU Tム Fhu eFO 円・4 v d 4ム P&. T1 h U 4ム F8 Greenhouse‑Geisser Epsiユon = 0.7496 .4209 Huynh‑Feユdt Epsiユon = 1 このデータでは H‑F修正のための Eが 1を超えているので、実際には H‑F修正は実施されない。 ‑192一
3 . 6 PROCMIXEDによる反復測定の指定 PROCMIXEDを用いると、反復測定の解析がより柔軟に行える。特に、 ・欠測値があっても解析が行える。 ・被験者内分散共分散行列について、さまざまな構造を指定することができる。 という点に特徴がある。 PROCMIXEDによる反復測定の解析は、次のように行う 0 .入力データは、 1変量アプローチ型で用意する。 ・すべての固定効果(被験者間効果も被験者内効果も含む)を MODELステートメント中に指定する。 ・被験者内分散共分散行列を REPEATEDステートメントで指定する。 被験者内分散共分散行列に複合対称型 (CompoundSymmetry)構造を指定した例を次に示す。 / ホ PROC MIXED ホ/ proc mixed data=forUNI; class drug subj time; model bp = drug time drugホtime; repeated time / type=cs subject=subj R ; run; PROCMIXEDの REPEATEDステートメント中には、反復変数を指定するか、または反復変数を指 定しないこともできる。指定する場合には、分類変数 (CLASSステートメントで指定した変数)でなけれ ばならない。 PROCGLMの REPEATEDステートメントでは、応答変数をまとめた名称を必ず指定しな ければならなかった。 反復効果を指定するのは、欠測オブザベーションに対処するためである。たとえば被験者 1と被験者 2に ついて、次のように欠測パターンがあったとしよう。 & i‑ハhUつ 計一日日 ω ‑rL h一 一白 ︑ノっ 一一 一一山一直 浪可 々f 欠詐 l変量アプローチ用のデータセットでは、上のデータは次のように表現されている。 OBS SUBJ TIME BP 1 2 3 4 5 6 1 1 1 2 2 2 1 2 4 1 3 4 119 113 116 120 110 112 同一被験者の反応を上から1 ) 慣に対応させると、被験者 1の 1時間後の観測値と被験者 2の 2時間後の観測 値とが対応してしまう。そこで、反復変数の TIMEによって正しい対応、を保持するのである。もし反復変 数が連続変数であればこのような対応はとれない。そのため REPEATEDステートメントで反復変数を指 定する場合は分類変数でなければならないのである。 以下の場合には、 REPEATEDステートメントに反復変数を指定しなくてもよい。 ‑データがバランスしている場合 ・欠測オブ ザベーションに対して、オブ、ザベーションは削除しないで目的変数を欠測値として表現した 場合 ・欠測オブザベーションが、各被験者についての記録の最後の方のみに現れる場合 よ 41 nHU nd
11tI114gF/ σ 21 ・ 9 444+ σ ( σ 21 9‑ σ dA+4 J 可 σ ) 21 +44 9‑ σ 9 ・可A σ ヮ 可 +444 2 σ ( 一 一 民 ︑¥ /Isflit‑‑ ︑ REPEATEDステートメントでは、オプションで誤差ベクトル E の共分散行列 v a r (E : )=Rの構造を指定 する。 TYFE=CSの指定により、各被験者の被験者内分散共分散行列は次のような複合対物型 (Compound Symmetry)に制約される。 R オプションの指定により、最初め被験者に対応する分散共分散行列 R1が表示される。 また、 SUBJ=オプションの指定により被験者が区別される。この効果により全体の誤差の分散共分散行 列Rは 、 4X4の個人ごとの分散共分散行列R;を 8人分ブ、ロック対角形式に並べたものになる。 〈R;) 3 . 7 PROCMIXEDによる反復測定の出力 PROCMIXEDで求めた血圧データ反復測定の結果は以下のようになる(一部)。 R Matrix for SUBJ 1 Row CDL1 CDL2 CDL3 CDL4 1 2 3 4 22.39583333 10.63888889 10.63888889 10.63888889 10.63888889 22.39583333 10.63888889 10.63888889 10.63888889 10.63888889 22.39583333 10.63888889 10.63888889 10.63888889 10.63888889 22.39583333 R オプションの効果により、最初の被験者に対応する誤差の分散共分散行列 R1 が表示される。 Covariance Parameter Estimates (REML) Cov Parm ー ム sa ﹃ l‑au V ﹄ 干ムロ日目 ‑ l u 円 u d r‑‑ MS Ratio Estimate Std Error 0.90490254 1.00000000 10.63888889 11.75694444 7.90032028 3.91898148 Z Pr > I Z I 1.35 3.00 続いて分散成分のパラメタが表示される。この例では、 n38aτ qORU o o d生 oodAτ oodAτ oon日 oocu 噌Eム噌Eム 6ni ︿ nu‑‑ 一 一 一 一 ︿ 9省司ム今 σ σ であるから、行列民の対角要素は、 a i+a2=10.639+11.757=22.396 と推定される。 各分散ノ〈ラメタの検定は Wald検定であるから、 I J、標本のときは信頼できない。 ‑194一 0.1781 0.0027
Model Fitting 1nformatユon for BP Descriptユon Value 32.0000 Observatユons Variance Estimate 11.7569 Standard Deviation Estimate 3.4288 ‑73.7640 REML Log Likelユhood Akaike's 1nformation Criterion ‑75.7640 ‑76.9420 Schwarz's Bayesi回 Criterion ‑2 REML Log Likelihood 147.5279 Null Model LRT Chi‑Square 6.2845 Null Model LRT DF 1.0000 Null Model LRT P‑Value 0.0122 次に、モデ ルの当てはめ全体の情報が表示される。 AIC基準を使えば、さまざまな分散構造の当てはまり を比較することができる。また、対数尤度がレポートされているので、 2つの分散構造が階層型であれば尤 度比検定を実行することもできる。たとえば、 Huynh‑Feldt構造の検定を行うには、無構成 (TYPE=UN) とHF構造 (TYPE=HF) とで別々に PROCMIXEDを実行し、求められた 2つの尤度を比較する。 最後の 3行は、現在仮定されている分散構造と PROCGLMで仮定されている分散構造 R=σ2r とを σ 2 r ) よりも複合対称型構造の方がよいこと 比較した尤度比検定の結果である。今の例では、単純な構造 ( が示唆される (p=O.0122)。 Tests o f Fixed Effects Source DRUG TIME DRUG喰 TIME NDF 1 3 3 DDF Type 111 F Pr > F 4459 0.67 0. 22.60 0.0001 8.26 0.0011 6 1 8 1 8 最後に、固定効果の検定が表示される。ここではデータがバランスしていて、かつ複合対称、型の分散構 造を指定しているので、 PROCGLMによる反復測定の解析結果と一致している。 3 . 8 成長曲線モデル 被験者内要因である TIMEを連続変数として扱いたいときもある。このようなモデ、ルを成長曲線モデル I によって傾きが異なるとい としづ。次に示したのは、時間による血圧の変化は直線を仮定しているが降圧斉J うモデルで、さらに個人内分散共分散行列には 1階の自己相関構造 (ARl)を仮定したときの PROCMIXED の例である。 / 喰 Growth Curve Model 喰/ proc mixed data=forUN1; class drug subj; model bp = drug time drug喰 time; ; repeated Itype=ar(l) subject=subj R run; 反復効果の変数 (TIME)は CLASSステートメントに指定されていないので、連続変数として扱われる。 この場合、 REPEATEDステートメントには反復効果の変数を指定してはいけない。 上のコードによる出力の一部を示す。 1 9 5 ‑
ー が パ ボ ︐ιF R Ma 七r ixfor SUBJ 1 Row COL1 COL2 COL3 COL4 1 2 3 4 23.03467816 .73405952 11 5.97742898 3.04495279 11.73405952 23.03467816 11 .73405952 5.97742898 5.97742898 11.73405952 23.03467816 11.73405952 3.04495279 5.97742898 11 .73405952 23.03467816 R オプションの効果により、最初の被験者の誤差分散構造が出力される。今回は AR1の構造を仮定した ので、時期の差が大きくなるほど相関が小さくなる様子がモデリングされている。 共分散パラメタの推定結果は、次のように表示される。 Covariance Parameter Es七imates (REML) 七 工O Ra Es七ima 七e S七d Error 0.02211485 1.00000000 0.50940844 23.03467816 0.15985723 7.60652246 CovParm D1AG AR(1) Residual Z Pr > I Z I 3.19 3.03 0.0014 0.0025 AR(1)構造では、誤差の構造は次の形式を仮定する。 Ut= PUtー 1+et 9hM9hM9hM9 σ σσσ 2ρρ'ρ σσσσ 2222 q J V AYAY ppd' η ﹁ U ︒ 9hM9hM9hM9 σ σσσ R 一 一 /Fill‑3¥ ゆえに、 p3σ2 ¥ ρ2σ2 ρσ2 I I 2I I σ となる。ここでは p = 0.50940844 ( ; 2 = 23.03457816 と推定された。 固定効果については、次のように出力される。 Tes七s of Fixed Effec七s Source DDF Type 111 F Pr > F FD 7.04 0.0379 31 .79 0.0001 13.86 0.0012 門JL 円JL 門︐L 4 門 4ム 4ム 4ム DRUG TIME TIMEキDRUG NDF 闘定効果の検定が有効であるためには、指定した誤差構造が適切である必要がある。 AR(1)の誤差構造 が正しいとすると、降圧剤による傾きの差は p=0.0012で有意と判定される。ー 固定効果はタイプ I I I仮説で表されるが、時間に関して多項式をあてはめた場合などでタイプ I仮説を表 示させたい場合にはも t y p巴=1" というオプションが用意されている。 196‑
4 おわりに代えて(文献紹介) 混合モデルは発展途上の方法論であり、また数学的にも難解であるため、良い入門的教科書は未だに存 在しない。一つ言えるのは、混合モデ〉レはコンピュータによる計算を前提として実用化された方法論である ので、古い教科書は役に立たないということである。 .L i t t e l l,GeorgeA .M i l l i k e n,W a l t e rW.S t r o u p,andR u s s e l lD.羽l o 1 f i n g e r らの共著 この夏、 RamanC によりブレークスルーとなる本が出版される予定である。内容は次のようなものになると予告されている。 D i s c o v e rt h el a t e s tc a p a b i l i t i e sa v a i l a b l ef o rmixed‑modela p p l i c a t i o n sf e a t u r i n gt h eMIXEDp r o c e d u r e i nSASjSTATs o f t w a r e .T h i sbooki sac o m p r e h e n s i v e,p r a c t i c a lg凶 d et ot h eu s eo fr n i x e dmodelsf o r d a t aa n a l y s i s .I tattemptst oi n t e g r a t et h et h e o r yu n d e r l y i n gt h emodels, t h es p e c i f i cf o r m so ft h emodels, f o rv a r i ollS a p p r o p r i a t eSASc o d ew i t hi n t e r p r e t a t i o no fr e s u l t s . r sands t a t i s t i c a i n snewt or n i x e dmodelsw i l lf i n dd i s c u s s i o n so fs p e c i f i ca p p l i c a t i o n s, E x p e r i e n c e d凶 e i n c l u d i n gs i m p l erandome f f 巴,c t s ‑ o n l ymodels,s i m p l emixedmodelsw i t has i n g l ef i x e dandrandome f f e c t, s p l i t ‑ p l o tmodels,m u l t i l o c a t i o nmodels,r e p e a t e dm e a s u r e s,a n a l y s i so fc o v a r i a n c e,randomc o e f f i c i e n t s, ands p a t i a lc o r r e l a t i o n .Thebooka l s oi n c l u d e se x t e n s i o nt og e n e r a l i z e dl i n e a rmixedm o d e l s .I na d d i t i o n t ot h eMIXEDp r o c e d u r e, t h eGLIMMIXandNLINMIXmacrosa r ed i s c u s s e da sw e l la ssomea n a l y s i s u s i n gt h eGLM,GENMOD, o rNLINp r o c e d u r e sf o rc o m p a r i s o n . 混合モテ。ルの歴史については、次の本がおもしろい。 S e a r l e, S .R . , C a s e l l a, G .,andMcCulloch, C . E . ( 1 9 9 2 )V a r i a n c eComponents,NewY o r k : John羽l i l e y a n d n c . S o n s,I 本稿の執筆に関しては、次の文献を直接参考にした。 SASI n s t i t u t eI n c . ( 1 9 9 6 )SAS/STATSo β , w a r e :C h a n g e sandEnhancementst h r o u g hR e l e a s e6 . 1 1, Cary , NC:SASI n s t i t u t eI n c . D . ( 1 9 9 5 )I n t r o d u c t i o nt ot h eMIXEDp r o c e d u r eC o u r s eN o t e s, Cary ,NC:SASI n s t i t u t eI n c L a t o u r, D.,Latour, K.,and羽l o 1 f i n g e r, R . D . ( 1 9 9 4 )G e t t i n gS t a r t e d切 t hPROCMIXED, Cary ,NC:SAS L a t o u r, I n s t i t u t eI n c . R .D .[岸本訳]( 1 9 9 3 )AnI n t r o d u c t i o nt oMixedModelingw i t ht h eSASjSTATMIXED W o l f i n g e r, Procedure,日本 SASユーザー会論文集. PROCMIXED自体も休みなく進歩を続けている。マニュアル中の解説もどんどん良くなってきている。 文献を参照するときには、できるだけ新しいものを探すべきである。 ‑197
変数のクラスタリング ー P R O CV A R C L U S再発見‑ 岸本淳司 (SAS/ 慶慮義塾大学/東京大学) C l u s七e r i n gV a r i a b l e s‑U n v e i l i n gPROCVARCLUS J u n j iKishimo七o SASI n s 七i t u 七eJ apan/KeioU n i v .SFC/U n i v .o fTokyo e ‑ m a i la d d r e s s : j p n j a k @ j p n . s a s . c o m Abstract PROCVARCLUSは、多変量型データの変数の方、すなわち相関行列または分散共分散行 列を直接クラスタリングする方法である。そのアルゴ、リズム・出力の解釈・指定方法について 解説する。 キーワード: VARCLUS,クラスター分析,因子分析,相関行列,デンドログラム 1 はじめに 「分類Jは研究の初期において非常に重要な手段である。 SASの PROCCLUSTERに収載さ れているようなクラスター分析の諸手法は、個体聞の距離行列から分類をスタートさせる。多変 量型のデータにおいて、個体聞の距離は通常ユークリッド距離(の二乗)で定義される。すなわ ち、通常のクラスター分析の方法は多変量型データのオブザベーションを分類するために使われ ることが多い。 多変量型のデータが与えられて、変数の方を分類したいときもある。このときは、実際には相 関行列あるいは分散共分散行列から変数をクラスタリングするというのが課題となる。変数のク ラスタリングについて、伝統的には次のような方法が採られている。 ‑相関係数を操作して距離とみなせる数値を作り、そこから通常のクラスター分析を行う。たと えば、相聞が 1のとき距離がゼロで、 1のとき最大の距離になるようにするには、 d= l‑r と変換することが考えられる。ただし、このように計算した距離は、いわゆる距離の公理を みたさない。 ‑199‑
‑因子分析を行い、主観的にクラスタリングを行う。この方法はファジイなクラスタリングな ので現実的な分類がやや難しい。方法論的にもやっかいな問題がある。また、直交解は現実 のデータに合わないことが多い。 PROCVARCLUSは 、 SASに以前から存在する変数のクラスタリングのためのプロシジャであ る。このプロシジャは、相関行列または分散共分散行列を入力データとして、その変数としての 特質を活かしながら直接的なクラスタリングを行う。方法論的には、分割型(最初はデータ全体 が 1つのクラスターで、だんだん分割してし、く方法)に属する。必ずしも階層型ではないが、階 層型の制約を課すことも可能である。明確に分離した分類結果が得られるため、結果の解釈は容 易である。このように良い特性を持つアルゴリズムであるが、多変量解析の教科書や論文に記載 がないため、広く使われているとはいえない。本稿では、この隠れた才能を発掘して紹介する。 2 アルゴリズムの紹介 2 . 1 例題データ アルゴリズムを説明するための例題として、次のような 5変数の人工的データを用いる。 data VCTEST; input X1‑X5; cards; 9 8 9 1 3 。 6 8 9 3 1 2 3 2 6 10 9 8 10 4 分析は相関行列からスタートすることにする。 PROCCORRで相関行列を求めて表示する。 proc corr da 七a=VCTEST nosimple noprob; run; 七i onCoefficien七s / N = 4 Pearson Correla X1 X2 X3 X4 X5 X1 1.00000 0.89765 0.45796 0.49955 0.19260 X2 0.89765 1.00000 0.02268 0.10246 0.06201 X3 0.45796 0.02268 1.00000 0.87782 0.42056 X4 0.49955 0.10246 0.87782 1.00000 0.05384 X5 0.19260 0.06201 0.42056 一0.05384 1 .00000 変数 XI‑X2問、および X3‑X4問の相関がやや大きい。全体的に正の相聞をとることが多 し、一群のデータである。 一200
2 . 2 分割するための基準 まず、データ全体の変数群を 1つのクラスターであると考えよう。ここから、さらにクラスター に分割する価値があるか否かを判断するため、次の基準を導入する。 ・第 2主成分の固有値が、たとえば 1 (相関行列から分析を始めた場合)以上のとき。 クラスターを代表する成分としては、主成分よりも重心成分(すべての変数についての重みが等 しい平均ベクトル)の方が適切かもしれない。重心成分を使うときは固有値は計算しないので、 ・重心成分で分散を説明する寄与率が、たとえば 75%以下のとき。 としづ基準を用いることも考えられる。もちろん第 1主成分の寄与率を用いてもよいが、主成分 を計算するのであれば第 2固有値の基準を用いた方がよいであろう。 PROCVARCLUSでは、ど ちらの基準も利用できるが、デフォルトは前者である。 今のデータを第 2固有値の基準に照らして、分割する価値があるかどうか判定してみよう。 proc princomp data=VCTEST; run; 七rix Eigenvalues of the Correユa七ion Ma PRIN1 PRIN2 PRIN3 PRIN4 PRIN5 Eigenvalue 2.53417 1 .42331 1.04253 0.00000 0.00000 Difference 1.11086 0.38078 1.04253 0.00000 Propor七ユ on 0.506833 0.284662 0.208505 0.000000 0.000000 Cumula 七i ve 0.50683 0.79149 1.00000 1.00000 1.00000 PROCPRINCOMPで、主成分分析を行った結果、第 2主成分の固有値は1.4 2であり、クラス ターに分割するべきであると判定された。第 1主成分の固有値は 2 . 5 3、寄与率は 50.7%であり、 このことからも変数全体を 1クラスターとみなすことはできないことが示唆される。 2 . 3 第 1次割りつけ 全変数群を 2つに分割することを考える。あらかじめ分割すべきクラスター数がわかっていれ ば直接その数に分割することもできるが、クラスター数が不明のときには各クラスターが前節の 基準を満たすように 1つずつクラスター数を増加させてして方式がとられる。 変数の分割方法は、 k‑menasクラスタリング法と類似している方法が用いられる。まず、分割の シードとなる初期クラスター成分を設定する。初期クラスター成分は、原理的にはなんでもよく、 たとえば元データの変数群のうち最初の変数と次の変数とを選んでもよい。しかし、これから作 成する変数クラスターの中心を貫通するような良い初期クラスター成分を選んでおくと収束が速 く、また局所最適に陥る可能性も少ない。 PROCVARCLUSで採用されている初期クラスター成 分の生成法では、 2番目までの主成分に Harris‑Kaiser(1964) のオーソブリク回転としづ斜交回転 法を施す。オーソブリク回転は、 PROCFACTORに method=HK を指定しでも実行させること ができる。 ‑201
proc factor data=VCTEST nfactors=2 rotate=HK; run; Rotation Method: Harris‑Kaiser Factor Structure CCorrelations) X 1 X2 X3 X4 X5 FACTOR1 0.51532 0.08628 0.99706 0.90056 0.38416 FACTOR2 0.96585 0.98115 0.21332 0.28147 0.11490 FactorStructure (因子構造)とは、斜交回転した因子(この場合初期クラスター成分)と各変 数との相関係数である。この値を基準として、各変数がどちらのクラスターに所属するかを割り つけてし、く。因子構造は負の値をとることもあるので、近さを表すには二乗するとよいであろう。 今の例では、変数 X3‑X5までが第 1クラスターに、 XlとX2とが第 2クラスターに割りつけ られる。 2. 4 第 2次割りつけ 初期クラスター成分への割りつけをさらに改良するため、クラスター成分を計算しなおして第 2次割りつけを行う。新しいクラスター成分には、各クラスターに属する変数群の第 1主成分(デ フォノレト)か、あるいは重心成分が用いられる。ここでは一貫して第 1主成分を用いる。新しい クラスター成分への相関係数(の二乗)を基準に、各変数がどちらのクラスターに属するかを判 定しなおす。 proc princomp data=VCTEST n=l out=CLUSTER1(ren四 e=(prin1=CLUS1)); var X3 X4 X5; run; proc princomp data=CLUSTERl n=l out=CLUSTER2(ren出 ne=(prinl=CLUS2)); var Xl X2; run; proc corr data=CLUSTER2 nosimple noprob; var X1‑X5; with CLUSl CLUS2; run; ‑ 2 0 2一
Pearson Correla 七i on Coefficients / N = 4 CLUS1 CLUS2 X1 0.50193 0.97408 X2 0.07103 0.97408 X3 0.99818 0.24672 X4 0.89721 0.30902 X5 0.38972 0.13069 第 1クラスターに所属する変数は X3‑X5で、第 2クラスターに所属する変数は X1 とX2 と判定される。この結果は初期クラスター成分を用いた分類結果と変わらない。ゆえに、 2つの クラスターへの分割過程は収束したとみなされる。 αm法に対比される変数の分類法を、 以上のように、オブザベーションの分類における k‑me NCS(NearestComponentSorting)フェーズと呼ぶ。この後、さらに探索フェーズと呼ばれる過程 を実行することがある。これは、各変数のクラスターの割りつけを変更して、分散説明率が上昇 するかどうかをテストするものである。分散説明率が上昇したときは、その都度クラスター成分 を再計算する。主成分をクラスター成分にした場合、 NCSフェーズを反復すると分散説明率は単 調に増加(正確には非減少)し、しかも高速に収束する。オーソブリク回転による初期クラスター 成分を用いた場合、 NCSフェーズの後に探索フェーズ、を追加しても分類結果がさらに改善される ことはめったにない。したがって、主成分を使うときのデフォルトでは、探索フェーズは実行し ない。一方、重心成分をクラスター成分としたときには、 NCSフェーズ、を反復しても分散説明率 は必ずしも増加しない。したがって、重心成分を使うときのデフォルトでは、 NCSフェーズ、を 1 回だけ実行し、その後探索フェーズを 1 0回反復する。 2 . 5 さらに細かい分割 第 1段階で 2分割したクラスターそれぞ、れについて主成分分析を行った結果を示す。 proc princomp da 七a=VCTEST; /ホクラスター 1 ホ / var X3 X4 X5; run; Eigenvalues o f 七he CorrelatユonMatrix nku J 門 4qu ゐ ‑203‑ p q U 4ム 刀 せ Dュ fference 0.91132 1.03704 o702 1036 +LU4ム 7 1 4ム r540 0630 P A ・ .. 000o r 可ム e217 U298 a540 vqMOo n‑ O 白 e 4 ム 4ム ‑ ﹁ ー σ b r PRIN1 PRIN2 PRIN3 Cumulative 0.65107 0.99838 1.00000
proc princomp data=VCTEST; I 本クラスター 2 本 / var Xl X2; run; Eigenvalues o f the Correlation Matrix nqU75 勺ι75 0 i81 ゐ・ +unO4ム ︒ ハ U ハU r 4 ゐ 民u oqu ハU D Difference 1.79529 P A Eigenvalue 1.89765 0.10235 r PRIN1 PRIN2 Cumulative 0.94882 1.00000 第 1固有値の値を合計すると、1.9 5+1 .9 0=3 . 8 5であり、変数全体で主成分分析した場合の固 有値 2 . 5 3よりも分散説明率がかなり向上していることがわかる。さらに細かくクラスターに分割 する価値があるか否かを判定するために、各変数クラスターについてクラスター分離の基準(第 2固有値が 1以上)を適用してみる。すると、クラスター 1の第 2固有値は1.0 4であり、さらに 分割できることが示唆される。 クラスター 1の変数群について、これまでに紹介したようなオーソブリク回転による初期クラ スター成分設定→ NCSフェーズ〉による変数割りつけで変数群を 2分割する過程を再帰的に実行す る。変数群をクラスターに割りつけるとき、デフォルトでは全変数があらためて各クラスター所 属への候補となる。特に指定をすれば、階層型の制約を与えることができる。すなわち、前の段 階で分割されたクラスターをさらに分割するときには、前の段階のクラスターを構成する変数の みが次の分割の所属候補となる。クラスター分割の過程をデンドログラムで表現したいとき、ま たは計算時間を節約したいときは、階層型の制約をつけるとよい。 変数を 3分割したときのクラスター成分と各変数との相聞について結果だけ示すと、次のよう になる。 Pearson Correlation Coefficients IN = 4 CLUS1 CLUS2 CLUS3 X1 0.49408 0.97408 0.19260 X2 0.06458 0.97408 0.06201 X3 0.96897 0.24672 0.42056 X4 X5 0.96897 0.30902 ‑0.05384 0.18923 0.13069 1.00000 クラスター 1には変数 X3, X4が、クラスター 2には変数 Xl, X2が、クラスター 3には変数 X5が所属する。この状態で分散説明率は 4 . 7 8まで増加する。これ以上の分割はできないので、 3 つの変数クラスターを得た段階で分割過程を終了する。 2 0 4
3 PROCVARCLUSの出力と解釈 3.1 PROCVARCLUSのプログラム 例題データを対象に PROCVARCLUSを実行して、第 2章で説明したアルゴ、リズムがどのよう に表現されているか、また出力をどのように解釈したらよし、かを調べてみよう。 PROCVARCLUS のプログラムは、次のようにオプション指定を最小限にしたものである。 →ム qu p M HV Tム 円 し 一 一 a +u a qM d U 可 ム r u r a v c o r p run; 3.2 データ全体の情報 Oblique Principal Component Cluster Analysis 4 Observations 5 Variables PROPORTION MAXEIGEN 0 1 Cluster summary for 1 cluster(s) Cluster Members Cluster Variation Variation Explained Proportion Explained Second Eigenvalue 1 5 5.00000 2.53417 0.5068 1.4233 Total variation explained =2.534166 Proportion =0.5068 Cluster 1 will be splユt . まず、斜交主成分クラスター分析というタイトルが表示される。これから、クラスター成分とし て重心成分ではなく主成分を用いたことがわかる。次に、データのサイズとクラスター分割の基 準が示される。 PROPORTIONの値は、クラスター成分の分散説明率の基準をあらわす。たとえ 0 . 8 ばクラスター成分がデータ分散の 80%を説明したら分割を止めるときには、 PROPORTION= とオプ、ンョン指定する。主成分を用いたときのデフォルト設定はゼロなので、分散説明率の基準は 用いられない。その下の MAXEIGEN=の値は、分割を止めるときの第 2固有値の基準を示す。主 成分を用いたときのデフォルトは 1なので、第 2固有値が 1以上ならさらに分割することになる。 次に、データ全体をこれから分割するための基礎資料が表示される。現在、全変数がクラスター 1に所属するので、クラスター 1のメンバーは 5である。分析を相関行列からスタートさせるの で、各変数の分散は 1に基準化され、クラスター全体がもっている変動の大きさは 5である。第 1主成分の固有値が 2.53なので、第 1クラスター成分は全体の分散の 51%を説明した。また、第 2固有値の大きさが1.4 2なので、変数全体のクラスターは分割される。 ‑205‑
3 . 3 2分割したクラスターの情報 Obユique Principa ユ Component Cユuster おl a ユysis Cluster s 山n maryfor 2 c ユuster( s ) uster Cユ Members Cluster Variation Variation Expユained Proportion Explained Second Eigenvalue 1 2 3 2 3.00000 2.00000 1 .95322 1 .89765 0.6511 0.9488 1 .0419 0.1024 Total variation explained = 3.850869 Proportion = 0.7702 R‑squared with VAVAVA Cluster qu4 民 U Cluster Own Next 1‑R**2 Variable Cluster Closest Ratio 1 一一一一一ーーー一一一一一一一一一ーーーーーー一一一一一ーーー 一一ーーー 0.9964 0.0609 0.0039 0.8050 0.0955 0.2156 0.1519 0.0171 0.8629 ーーーーーーーー ーーーーー 2一一一一一ーーーー X1 0.9488 0.2519 0.0684 X2 0.9488 0.0050 0.0514 2番目のページには、変数全体を 2つのクラスターに分割したときの資料が示されている。第 1クラスターの第 2固有値は1.04であるから、このクラスターはさらに分割される。 2つのクラ . 8 5であり、データ全体の分散の 77%を説明している。 スターの固有値を合計すると 3 その下方には、変数全体を 2分割したときの各変数についての資料が表示される。 X3‑X5ま でが第 1クラスターに、 X1 と X2とが第 2クラスターに属すると判定された。各変数とクラス ター成分との近さの指標として、相関係数の二乗が用いられる。その変数自身が属しているクラ スターと相関が高く、近接している別のクラスターとは相関が低いのが、クラスターメンバーと して良い変数である。参考のため、 ( 1 ‑R~n)/(l- R ; e x t )の比が表示されている。この値が大き いと、クラスターメンバーとしては適切でないことがわかる。たとえば変数 X5はクラスター 1 のメンバーとしてはふさわしくないことがわかる。 ー 206
3. 4 2分割したクラスター成分の詳しい情報 S七andardizedScoring Coefficien七E Clus七er 1 2 一ーーー一一一ー一一ー一一一一一一ーー一一一一一一一ーー一一一一一一一 0.000000 0.000000 0.511042 0.459347 0.199526 X1 X2 X3 X4 X5 0.513307 0.513307 0.000000 0.000000 0.000000 Clus七e rStruc七ure Cluster 企 VAVAYAVAYA 4ム ハJLqu4 KV 1 2 0.501930 0.071031 0.998179 0.897208 0.389720 0.974075 0.974075 0.246716 0.309017 0.130691 Inter‑Cluster Correlations Cluster 1 2 1 1.00000 0.29410 2 0.29410 1.00000 Cluster 1will be s p l i t . 3ページめには、クラスター成分について詳しい情報が表示される。クラスター成分は、たま たま得られた各クラスターの変数群について別々に主成分分析を行ったものであるから、最下部 に示されているように、クラスター成分間には自然な相関関係が存在する。そのため、各成分の o e f f i c i e n t sと 性質は(因子分析の斜交回転のように)複雑なものになる。 StandardizedScoringC いうのは、元の変数群からクラスター成分を合成変数として計算するときの係数である。この値 は 、 PROCFACTORで SCOREオプションを設定すると再現できる。 ClusterStructureという のは、クラスター成分と各変数との相関係数である。この値を二乗すると、全ページの R2の値が 得られる。変数の分類のみに興味があり、クラスター成分の性質についてあまり興味がないなら、 このページの出力は軽視してさしっかえない。これらの情報は、 PROCVARCLUSステートメン トに SHORTオプションをつけると表示されなくなる。 ‑207‑
3 . 5 3分割したクラスターの情報 Cluster Cluster summary for 3 cluster(s) Cluster Variation Proportion Members Variation Explained Explained Second Eigenvalue 4ム 門 JLqu 2 2.00000 1.87782 0.9389 0.1222 2 2.00000 1.89765 0.9488 0.1024 1.00000 1 1.00000 1.0000 Total variation explained = 4.775466 Proportion = 0.9551 R‑squared with Cluster Cluster Cluster Variable 1‑‑ーーーーーー X3 X4 2‑‑‑ーーーーーーー X1 X2 3‑ーーーー一一ー X5 Cluster X1 X2 X3 X4 X5 Cluster X1 X2 X3 X4 X5 Dwn Cluster Next Closest ーーーーー 0.9389 0.9389 ーーー一一一一ーーー 0.1769 0.0955 ーーーー 0.9488 0.9488 0.0742 0.0675 ーーー一一一一 0.2441 0.0042 ーーーー一一一 1.0000 1‑R**2 Ratio ーーーーー一一一一一ーーー 0.0358 0.0000 Standardized Scoring Coefficients 1 2 0.00000 0.00000 0.51601 0.51601 0.00000 ー一 0.0677 0.0514 3 0.51331 0.51331 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 Cluster Structure 1 2 3 0.49408 0.06458 0.96897 0.96897 0.18923 0.97408 0.97408 0.24672 0.30902 0.13069 Inter‑Cluster Correlations 1 2 Cluster 1 1.00000 0.28676 2 0.28676 1.00000 3 0.18923 0.13069 No cluster meets the criterion for splitting. 0.19260 0.06201 0.42056 0.05384 1.00000 3 0.18923 0.13069 1.00000 3分割したときの情報も 2分割のときと同様に現れる。 3つのクラスターのいずれもさらに分 割する基準を満たしていないので、分割過程はここで終了する。 一208
3 . 6 クラスタリング履歴 Oblique Principal Component Cluster Analysis Number of Clusters Total Variation Explained by Clusters Proportion of Variation Explained by Clusters Minimum Proportion Explained by a Cluster 1 2 3 2.534166 3.850869 4.775466 0.5068 0.7702 0.9551 0.5068 0.6511 0.9389 Minimum R‑squared for a Variable Maximum 1‑Rホホ 2 Ratio for a Variable Number of Clusters Maximum Second Eigenvalue in a Cluster 一一一一ーー一一一一ー一一一一一ーー一一一一一一ーー一一一一一ーーー一一一一一一ーーー一一一一一一一ーーー 1 2 3 1 .423308 1 .041906 0.122180 0.1098 0.1519 0.9389 0.8629 0.0742 最後に、クラスター分割を進めていった履歴が表示される。分割が進むにつれて、各クラスター の固有値の合計、つまり説明される分散が増加してし、く。データ全体の分散は同じであるから、各 クラスターで説明される分散の割合も増加していく。この値で全体的なクラスタリングの良さが 評価できる。うまくクラスタリングできたなら、分散説明率はかなり高く(たとえば 80%以上に) なっているはずである。 次に、各クラスターの中で最もまとまりが悪いクラスターについて、分散説明率・第 2固有値・ 1‑R~n)/(l ‑R~ext) の値の中 そのクラスターに属している各変数との R2のうち最小のもの・ ( で最大のものの 4つの統計量が表示される。これらの値が悪ければ、さらにクラスター分割を進 めることが示唆される。 4 PROCVARCLUSの指定法 4 . 1 重心成分を使ったクラスタリング PROCVARCLUSの指定方法には、さまざまなバリエーションがある。たとえば、デフォルトで はクラスター成分に主成分を用いるが、そのかわりに重心成分を使いたいときには、 CENTROID オプションを設定する。 proc varclus data=VCTEST CENTROID; run; 2 0 9 ‑
Oblique CentroidC o r n p o n e n t Cluster Analysis 4 Observations 5 Variables PROPORTION MAXEIGEN 0.75 0 Cluster s u r n r n a r yfor 1 cluster(s) Cluster M e r n b e r s Cluster Variation Variation Explained Proportion Explained 1 5 5.00000 2.39178 0.4784 Total variation explained = 2.391779 Proportion = 0.4784 Cluster 1will be split. 解析結果の第 1ページを示した。重心成分を使うときは第 2固有値は計算されないので M AX‑ EIGEN=の指定は無効となり、第 1クラスター成分で 7 5 %の分散説明率というのが分割の基準と なる。それ以外は、主成分の場合と同様に計算される。 4 . 2 クラスターの個数を制御する方法 最終的なクラスターの個数は、統計的基準よりも変数について研究者がもっている知識で決定 USTERS=オプ、ンョンを使用 するべきであろう。クラスターの個数を直接制御するには、 MAXCL する。ここで指定された数値までクラスター分割が行われる。 proc varclus data=VCTEST MAXCLUSTERS=4; run; また、 P ROPORTION=または MAXEIGEN=オプションを操作して、間接的に制御することも できる。 4 . 3 計算資源を節約する方法 大規模なデータを分析する場合は、計算時間と使用メモリの両面で制限ができる。あらかじめ INCLUSTERS=とMAXCLUSTERS=のオプション クラスターの個数がわかっている場合は、 M でクラスター数の下限と上限を設定しておくと、計算時間が短くて済む。 proc varclus data=VCTEST MINCLUSTERS=3 MAXCLUSTERS=3; run; 上の指定では、変数全体を一度に 3個のクラスターに分割する。 HIERARCHYオプションを指定して、階層型の制約をつけると計算時間が短くなる。なぜなら、 探索する候補が少なくなるからである。 メモリを節約する方法は特にない。必要なメモリ量は、マニュアルで、は、変数の数をり、クラス ターの数を cとして、 v c+2 0 v+1 5 c . v2+2 であると記載されているが、これは誤りであり、正しくは次のようになる。 4 4 c+8v2+1 6 v c . 1 9 0 v+1 ‑210‑
4. 4 入力データの形式 今回の例では、多変量型のデータを入力形式とした。しかし、 V ARCLUSは相関行列または分 散共分散行列から分析をスタートさせるものであるから、相関行列または分散共分散行列を直接 入力データとすることができる。たとえば、次のようにする。 data VCTEST2(type=corr); input ̲n出 ne̲ $ x1‑x5; ̲type̲ = 'corr'; cards; X1 1.00000 0.89765 0.45796 0.49955 0.19260 X2 0.89765 1.00000 0.02268 0.10246 0.06201 X3 0.45796 0.02268 1.00000 0.87782 0.42056 X4 0.49955 0.10246 0.87782 1.00000 0.05384 X5 0.19260 0.06201 0. 42056 0.05384 1.00000 円 Ti TA nb HV nu ι 一 一 a + u a qM Au U 14 c u v p A c o r run; また、因子分析の結果を入力データとすることもできる。特に斜交回転の結果との比較に役に立 ACTORの OUTSTAT=オプションにより TYPE=FACTORの つ。因子分析の結果は、 PROCF ARCLUSの DATA=オプションで受ける。 データセット形式で出力されるので、これを PROCV proc factor data=VCTEST rotate=PROMAX outstat=LOAD nfact=2; run; proc varclus data=LOAD; run; 4 . 5 デンドログラム出力 VARCLUSの結果は、デンドログラムで表現することもできる。デンドログラムを描くために PROCCLUSTERと同様に) OUTTREE= は、まずデンドログラムを描くのに必要なデータを ( オプションで指定したデータセットに出力させ、それを PROCTREEで受ける。最後まで分類 オプションで指定する。 OUTTREE= オプションを を続けるため、変数の数と同じ数を MAXC= IERARCHYオプションを指定したときと同様、階層型の制約の下で分 指定すると、必然的に H 割が行われる。 V ARCLUSによるデンドログラムの高さは説明された分散の割合を使うのが適切 データセット中の ̲ PROPOR ーという変数を H EIGHTステートメントに指 なので、 OUTTREE= Lを使った方が見やすくなる。なお、リリース 6 . 1 1から 定する。変数の数が多いときには、̲NC GRAPHICSオプションが評価版として使えるようになった。これによりグラフイカルなデ、ンドロ グラムを得=ることができる。 proc varclus data=VCTEST maxc=5 outtree=VCTREE; run; proc tree data=VCTREE horizontal graphics; height ̲PROPOR̲; run; 1ム 噌 内 ︐ b ‑
f U t 1 5 O ﹁ C E f bD D ‑ o ‑ E用川 U H x 3 X 4 X 5 X1 X 2 E e n o y C [l H o ‑ O M﹃ n D o l nV1 f o p o f d 1 0 0 0 . 9 5 0 . 9 0 0 . 8 5 0 . 8 0 0 . 7 5 0 . 7 0 0 . 0 5 0 . 6 0 0 5 5 05 5 おわりに 多変量のデータを整理するとき、まず探索的因子分析が行われることが多い。しかし、探索的 因子分析は技術的に難しい側面が存在する一方、現実のデータのモデ、ルとしては不適切なことが 多く、データ解析の手法としては問題が多いと著者は考えている。変数の整理・要約には、変数を 直接クラスタリングする VARCLUSの方法が明快である。クラスター聞の斜交性も自然に表現さ れる。その後、データに対する知識が進めば、確認、的因子分析、さらには共分散構造分析でデー タの構造を表現するのが適切であろう。 本稿をきっかけとして、 VARCLUSという優れた手法が広く使われることを期待する。 参考文献 [ 1 ]H a r r i s, C.W.andK a i s e r, H . F . ( 1 9 6 4 ),O b l i q u ef a c t o ra n a l y t i cs o l u t i o n sby o r t h o g o n a lt r a n s f o r m a t i o n s, P s y c h o m e t r i k a ,29, 3 4 7 ‑ 3 6 2 . [ 2 ] SASI n s t i t u t eI n c . ( 1 9 8 9 ), SAS/STATU s e内 Guide,V e r s i o n6 ,ForlhEdition, Volume2, Cary , NC:SASI n s t i t u t eI n c . ‑212一
日本 S A Sユーザー会 (SUG I‑J) SMP マシン上のデータベースと SASシステムのチューニングの考慮点 斉藤宏 t 支 柿I 部 テクニカルサポート SASインスティチュートジャパン株式会社 S y s t e mT u n i n go f D a t a b a s e a n dSASs y s t e mo nSMPS y s t e m H i r o s h iS a i t o T e c h n i c alDe p a r t m e n t T e c h n i c a l S u p p o r tS e c t i o n SASI n s t i t u t e J a p nL凶. 要旨 最近のサーバーで利用されるハードウェアは、複数の CPUを持つマルチプロセッサのマシ ンが増加してきている。それに対応するようにデータベースもマルチプロセッサ対応のも のがさかんに発表されている。本論文では、マルチプロセッサのひとつの形態である SMP 也を利用したシステム上でデータベースと SASシステムを利用するときのチューニン グについて紹介する。 キーワード: マルチプロセッサ データベース チューニング 1 . はじめに 最近大容量のデータを効率的にアクセスするためにマルチプロセッサのマシンが利 用されるようになってきている。これに対応するようにデータベースもマルチプロセッサ に対応したものが次々と発表されている。本論文では、マルチプロセッサマシンとして通 常のマシンの延長線上にある SMPマシンを例に取り上げ、データベースと SASシステムを 組み合わせて運用する場合のチューニングの方針を実際の経験を基に述べる。 2 . マルチプロセッサシステム 、 マルチプロセッサシステムの形態にはいくつかの種類がある。次ページの図 lで 代表的な 2つの形態について示し、その特徴を簡単に説明する。 也 S y m m e t r i cM u l t i p r o c e s s i n g 4 円 4tム q3
露関 ‑複数の CPUがメモリとI/ Oを共用 .単一の OSで稼働する ・能力を容易に引き出すことが可能 匿圏 ‑数十から数百のプロセッサと メモリのペアを相互に通信 できるように接続 ・ディスクやメモリを共用しない ことにより、スケーラピリテイ が向上 ‑能力を十分に引き出す プログラムの作成が難しい 図l 3 . SMP マシンと MPP 悌マシンの比較 3 . 1 SMPマシンの利点 ‑高スケーラピリティと低コスト ‑スループット・パフォーマンスが高い ・マルチユーザ環境/トランザクション環境に最適 .自動的な負荷バランス ・システム管理、システムチューニングが容易 ‑アプリケーションを並列処理用に変更する必要は無し .既製のアプリケーションが使用可 3 . 2 SMPシステムの課題 ‑多数の CPUを利用するときのスケーラピリティ向上の割合 .単一の障害によるシステムダウンの可能性 也 M a s s i v eP a r a I J巴1P r o c 巴s s i n g ‑214一
3 . 3 MPPシステムの利点 ‑平行処理が可能な場合において高パフォーマンスを実現 ‑汎用のマイクロプロセッサを利用することによるシステムの小型化 3 . 4 MPPシステムの課題 ‑並行処理用に特化したプログラムが必要 .導入コストが高い ・現在利用可能なシステムの能力を引き出すアプリケーションソフトは少数 .すべての面でパフォーマンスが優れているわけではない ・システムチューニングが難しい 4 . システムチューニングの実際 4 . 1 なぜシステムチューニングが必要か 一般的に、ワークステーションやパーソナルコンピュータの場合、ハードウェアや ソフトウェアを導入してもシステムチューニングはあまり行われていない。システムの運 用をコンピュータが専門でない一般ユーザーが行うため仕方のないことだと思われる。し かし、システムチューニングを行うことによってシステムのパフォーマンスを劇的に向上 させることがある。ベンダーが定義するデフォルトのシステム設定の方針は、どのような 使い方でも大幅なパフォーマンスの低下がないような設定になっている。ある程度、利用 方法の決まった利用を行うシステムについては、個別にシステムチューニングを行うこと によって今まで隠れていたシステムの能力をフルに引き出すことが可能となる。特にデー タベースシステムを利用したシステムの場合、データベースのパフォーマンスの向上がシ ステム全体のパフォーマンスの向上につながるとともに、データベース以外のアプリケー ションにも良い影響を与える。また、パフォーマンスの向上によって現在のシステムの寿 命が伸びるなどの効果が期待できる。 4 . 2 システムチューニンク・を行ったシステムの構成 .ハードウエア構成 ∞ HP9 oT500 8CPU (SMPシステム) Memory 1GB D i s k 180GB ディスクアレイ利用可能 .ソフトウェア構成 田 ‑UX9 . 0 4 (田‑UX 1 0 . 0 ) INFORMIXV7.1UD1 12 ) (INFORM医 V7. SASSystem6 . 0 9TS042 ( 6 . 11T S 0 2 0 ) 一2 1 5 ‑ (内は OSパージョンアップ後)
4 . 3 システムチューニングの目標 ・データベースの全件検索の検索速度の向上 .SMPシステムでのリソースの利用効率の最大化 .頻繁に利用される処理での実行速度の向上 ・システムのボトルネックの把握 4 . 4 システムチューニング時の考慮点 4. 4 . 1 ハードウェア、システムソフトウェア ( 1 ) データベースのディスク、 S ASデータセット保存用およびSASWORKのディスクの 配置方法。 ディスクアクセス時のアクセスパスの分散化やディスクの役割によってディスクア レイを利用するかどうかの決定を行う。ディスクのアクセスパスでのボトルネックの発生 は、データペースの検索においては致命的なパフォーマンスの悪化を招く。 ASデータセット保存用および このシステムでは、データベース用のディスクと S SASWORKのディスクは、ハードウェア上のアクセスパスで競合しないように配置した。 また、データベース用のディスクは、複数のアクセスパスが存在していることを利用し て、マスターとなる基本的な情報を蓄積したテープル、その時々のデータの動きを蓄積し たテーブルといったテープルの性格に応じてグループ分けを行なった。同時にアクセスさ れる可能性のあるテーブルは、できる限り異なるアクセスパスでアクセスされるようにし た。しかし、ディスクの容量の問題からデータベースのテンポラリテープルのディスクス ペースと S ASシステムの利用するディスクスペースは、どうしてもアクセスパス上で分け ることカ曹できなかった。 ( 2 ) ディスクアレイの設定 ディスクアレイがR A I D c f b、戸、 5注5 およびIndependentMode 注6 をサポートしてい た。どのレベルを利用するかによってディスクのアクセスのスピードが向上したり、ディ スクの故障が発生しても処理を続行できるなどデータの保全性が向上したりする。しか し、その反面、余分なディスク容量が必要になるという問題点もある。一般的には、デー タベースなどのデータの保全性を重視する部分には、 RAID1 または R AID5,データの読 み出し速度を重視する部分には、 R AIDO、R A I D l または、 Independent Modeを利用す る 。 R AIDl は、データの保全性、読み出し速度ともに良い。しかし、データの容量に対 して 2倍のディスク容量が、必要になるところが欠点である。 也ストライプピング 出ミラーディスク 也ストライプピング+エラー訂正データの保存 在五個々のディスクをそのまま利用する形態 2 1 6
このシステムでは、データベースのディスクには、データの保全性を重視して RAID5を利用した。また、テンポラリデータベースと SASデータセットおよびSASWORK の デ ィ ス ク に は 、 デ ー タ の 保 全 性 よ り デ ー タ の 読 み 書 き の 速 度 を 重 視 し て RAIDOと I n d e p e n d e n t ~ode を利用した。さらに、システムディスクには、ハードウェアの構成上デ ィスクアレイを利用できなかったので RAID1を利用することにした。 ( 3 ) J j Oバッファのサイズ HP ・UXのデフォ j レトは、メモリの総量の 10%で す 。 こ こ の サ イ ズ がSASデータ セットの読み書きのパフォーマンスを決定する。サーバーのような大きなメモリを持つシ ステムでは、デフォ jレトのサイズより小さいJj Oバッフアのサイズで十分なことが多い。 このシステムでは、デフォルトのまま使用することにした。 ( 4 ) ディスクブロックのサイズ HP ・u xのデフォ jレトは、 8KBです。ここのサイズがSASデータセットの読み書きの パフォーマンスを決定するという点で重要である。 このシステムでは、最初は、デフォ jレトのサイズで利用したが、大きな SASデータ セットの作成が多いことを考慮して 64KBのディスクブロックのサイズを利用することに した。 ( 5 ) 共有メモリのサイズ INFOR~IX は、 DS A:白によってデータベースの並列検索をサポートしている。この とき各々の検索しているタスク同士や SASシステムとのデータの交換で共有メモリを利用 する。また、データの集言十やソートなどのバッファとしてもイ吏われるためデータベースの パフォーマンスに非常に重要である。 このシステムでは、データ検索時に SASシステムが同時に実行される。また単独 での SASシ ス テ ム の 実 行 も 頻 繁 に 行 わ れ る こ と を 考 慮 し て メ モ リ 全 体 の 6割 に あ た る 600~B を割り当てている。 4 . 4. 2 INFOR~IX ( 1 ) テーブルパーティショニング 一つのテープ jレを複数のテーブ jレパーティションに分けることによってテープルの 管理が楽になるだけでなく、並列処理の性能が向上する。パーティショニングの方法に は、ラウンドロビン方式、ハッシュド方式、表現方式などがある。また、パーティション の数によっても並列処理の処理効率に影響が出る。通常は、 CPUの数に合わせてパーテイ 住7 D y n a m i cS c a l a b l e A r c h i t c c t u r e 唱 E4 ー ヴ n J ω
ションを作成することが一般的である。 このシステムでは、大きなテープルに対して、 4. 4 . 1 (1)でのテープルの性格で分類 してラウンドロビン方式と表現方式を利用しています。アプリケーションの性格から表現 形式でのパーティションは、 12分割すると処理上都合がよいことがわった。 12分割で テストしたところ CPUの数に合わせた 8分割の場合とほとんど実行効率が変わらないこと がわかった。その結果からパーティショニングを使用するテープルはすべて 12分割とし た 。 ( 2 ) 仮想プロセッサの数 仮想プロセッサが実際のデータベースの並列検索を行う。この数が、少なすぎると システムのリソースに遊びができてしまい有効な検索ができないばかりか検索時間が長く なってしまう。これに対して、多すぎると、プロセッサ同士での各種リソースの奪い合い が起きて実行待ちが多くなり検索時間が長くなる。最適な数の選択が重要となる。一般的 には、 CPUの数に合わせる場合が多い。 このシステムでは、テープルを 12分割していることから、仮想プロセッサの数を テープルの分割数と同じ 12とした。 ( 3 ) インデックスの利用 システムの形態や利用する検索のタイプ、検索するデータ量によってインデックス の利用の有無を決定する。うまくインデックスを利用するとパフォーマンスを大幅に向上 することができる反面、誤った利用を行うとパフォーマンスを大幅に悪化させる原因にも なる。一般的に、全件検索に近い検索を行う場合には、インデックスの使用を避ける。ト ランザクション処理のような、小さな量のデータを高速でアクセスする必要がある場合に は、インデックスは有効である。インデックスは、思った以上にデータベースのデータ領 域を圧迫することがあるので注意が必要である。 このシステムでは、全件検索が処理の大部分を占めることと、ディスクの残り容量 の問題からインデックスは利用していない。 ( 4 ) テンポラリデータベース領域 テンポラリデータベース領域は、データベースのデータに対して集計処理やソー ト、結合などの処理を行うときに、共有メモリに入り切らない部分をテンポラリデータベ ース領域に一時的なテープルとして作成する。このテープルのデータの読み書きが大規模 データのデータベース処理のパフォーマンスに大きな影響を与える。しかし、システム設 計時には、通常のテープルの領域の容量ばかりに注意が集中してテンポラリデータベース 領域のディスク容量やアクセスパスまで注意が行き届かないことがあるので十分な注意が ‑ 2 1 8
必要である。 このシステムでは、ディスク容量の関係からアクセスパスがSASデータセットや SASWOWKを作成するディスクと競合してボトルネックの原因となってしまった。 ( 5 ) SASシステム等のアプリケーションとのインタフェースバッファのサイズ このパッファを利用して SASシステムとのデータの交換をする重要な部分。データ ベースが並列処理で検索したデータを SASシステムが受けるための受け口となる。デフォ j レトは、 20KB。 このシステムでは、デフォルトの 20KBを使用した。 4. 4. 3 SASシステム ( 1 ) ディスクI/ O用のバッフアサイズ データベースが並列処理を行い大量のデータを一気に渡してくるので、ディスクへ のSASデータセットの書き込みがボトルネックになる可能性が非常に高くなる。パッフア サイズが大きいほど書き込みの効率は良くなるが、ディスクの利用効率が悪くなる。デフ ォルトは、 8KBだが、ディスクのブロックサイズと同じにするほうが効率が良くなる。 このシステムでは、ディスクのブロックサイズを 64KBにしたことから 64KBをイ史用 している。 4 . 5 システムチューニングの実際 システムチューニングは、実際に典型的な処理を実行した時のシステムの動きを記 録し、解析して次のシステムのパヲメータを決定して、またテストを行うというプロセス を繰り返す。そのとき重要になるものは、典型的な処理の選択、処理実行時のシステムの 動きの中で記録すべきデータの選択と記録に使用するツールの選択である。この 3つを注 意深く選択しないとテストによって記録されたデータが実際の処理の場合とかけはなれて しまって意味をなさなくなる。 4 . 5 . 1 典型的な処理の選択 実際の処理で行われる処理のなかで、多く現われる検索パターンを表わす処理をいくつか 選択する。システムチューニングを行うときには、条件を同じにするために必ず閉じ処理 でテストを千子う必要がある。 このシステムのチューニングで使用した処理は、次の通りである 0 ・時系列で並んでいるデータの中の約 1/3のデータを選択しコードごとに集計する 0 ・集計したデータを、マスターと突き合わせて結合する。 ‑結合されたデータを SASデータセットにして保存する。 2 1 9 ‑
このプログラムを SASシステムの SQLパススルーを利用して実行した。 4 . 5 . 2 記録すべきデータの選択 システムチューニングで必要なデータは、多方面にわたる。テストの目的やシステ ムのどの部分に注目しているかによって必要となるデータの項目は、変化する。一般的に は 、 CPUの利用率、ディスクの利用率などを利用する。 このシステムのチューニングで利用した項目は、おおよそ以下の通り 0 .データベース全体としての CPUの利用率 ・データベース全体としてのディスクの利用率 ・データベースの検索プロセス個々の CPUの利用率 ・データベースの検索プロセス個々のディスクの利用率 .SASシステムの CPUの利用率 .SASシステムのディスクの利用率 .SASシステムのディスクの 1 / 0レート 'SASシステムの実行待ちの原因 ・ディスク個々の 1 / 0レート ・ディスクのアクセスパスごとのディスクインタフェースの利用率 0レート ・ディスクのアクセスパスごとのディスクインタフェースの1/ .共有メモリの利用状況 など。 4 . 5 . 3 記録に使用するツー J レの選択 ツールの選択で最も重要なことは、記録をとっているツールが、チューニングで必 要となるデータの取得に悪影響を及ぼしてはいけないことである。いくら、使いやすいイ ンタフェースを持っていたり、見やすい表示を行ったりするツールでも、システムに負荷 をかけるようなツールでは利用できない。 このシステムのチューニングに際して、システムのパフォーマンスを見るツール や、データベースのパフォーマンスを見るツールがあったが、リアルタイムでかつグラフ イカ jレに表示するツールは、システムにかなり大きな負荷をかけているため利用しなかっ た。結局、刺用したツー jレは、システムパフォーマンス監視ツールの内、システムに組み 込まれているシステムパフォーマンスデータ収集用のシステムと HPのG l a n c e P l a s と言う パ フ ォ ー マ ン ス 管 理 ソ フ ト ウ ェ ア で フ ァ イ jレに必要な項目のデータを保存する機能、 UNIXのコマンドの出力をファイルに出力するものを利用した。すべてのツールは、一定 時間の間隔でデータを取得する機能を持っていたので、最も時間間隔が最も広いツールに 合わせて 5秒間隔でデータを取得することにした。 一220‑
システムチューニングのデータを得た後、そのデータを基に現在のシステムのボト ルネックを推定する作業を行う。ボトルネックが発見されたら、現在のシステム構成の中 でボトルネックを回避する方法を探す。これを、満足できるパフォーマンスを得ることが できるまで、または、システムの制約でパフォーマンスの向上が見込めないと判断される まで行う。 何度かチューニングを行った後、最終的にこのシステムでのテストで得られた情報 の概略は、以下の通りである。 .SASシステムからの S A Sデータセットの出力はボトルネックにはなっていない。 SASシ KB、 S A Sシステムの出力パッフアサ ステムからの出力は、ディスクのブロックサイズを 8 KBとしたときでディスクのI10能力の 80%程 度 。 デ ィ ス ク の ブ ロ ッ ク サ イ ズ を イズを 8 64KB、S A Sシステムの出力バッフアサイズを 6 4 K Bに拡張したときにはディスクの 1/0能力 の1 0数%程度まで減少した。 ・データベースの検索実行時には、ほほCPU、ディスクとも能力いっぱいまで利用してい る 。 ‑テンポラリデータベース領域への読み書きでボトルネックが発生している。その理由 は、同じディスクのアクセスパスを利用しているためディスクインタフェースの能力以上 / 0が発生してしまった。 のディスク 1 ASシステムのデータセット ・テンポラリテータベース領域からのデータの読み出し時に S の書き出しと競合している。 これらの情報からボトルネックを回避する方法を探すためにいくつかのテストを行なった が、現在のシステム構成ではこのボトルネックは解消されないと言う結論となり、将来の システム拡張への課題となった。 5 . SMPマシンの能力を十分に生かす指針 今回のシステムチューニングを通して、 SMPマシン上でパラレルデータペースと S A Sシステムを動かす場合のシステム設計上の指針を考えると以下のようになる。 5 . 1 データのアクセスパス データベーステーブ jレの領域、テンポラリデータベース領域、 SASデータセットお の領域は、各々別のアクセスパスを利用してアクセスするようにディスク よびSASWOEK の配置を行うとディスク 1 / 0がボトルネックになることを防ぐことができる。また、一つ のデータのアクセスパスにつなげられる限度までディスクをつないだ場合、ディスクのイ ンタフェースのデータ転送速度が、ボト jレネックになるので避けたほうが無難である。 ‑ 2 2 1一
52 CPUの数と並列検索を行うプロセスの数 CPUの数とデータベースのテープルをテープルパーティショニングによって分割し た数を同じにして、並列検索をするプロセスの数をCPUの数にあわせるのが理想的であ る。しかし、データの性格やデータベースの管理を考慮に入れると、 CPUの数と同じにな ることはまれである。この場合には、並列検索をするプロセスの数は、データベースのパ ーテイショニングによる分割数にあわせると良い。 SASシステムの処理で負荷のかかる処理をデータベースの検索と同時に行う必要が ある場合には、一つのCPUをSASシステム用にその他のCPUをデータベース検索用になる ように並列検索をするプロセスの数をCPUの数‑ 1とすることも考えられる。またデータベ ースの仕組で、利用するリソースの最大値を制限できれば、 90%程度に制限するのが良 1 1 )。 5 . 3 共有メモリの量 データベースで利用する共有メモリは、検索データが大量でかつ複雑な検索処理を 行う場合には、多くとったほど検索時間の短縮につながる。しかし、共有メモリは、デー タベースでの処理以外の処理では利用できないため、 SASシステムを含めた一般の処理で 必要とするメモリ量を圧迫する。共有メモリの量は、一般の処理で要求される量とディス クの 1 / 0バッファ、システムソフトが利用する量を見積り、その残りの量を割り当てると いう方針が良い。 6 . まとめ パフォーマンスチューニングは、メインフレームのシステムでは、かなり一般的な こととして行われていた。しかし、オープンシステムやダウンサイジングの流れの中でシ ステムを専門としない人が運用することが多くなり、それにしたがってチューニングをし ない傾向が、多くなってきている。しかし、チューニングを行うことで、現在あるシステ ムが少しでも早くなって、待ち時間が減ればさらに良い利用環境になるのと考えられる。 今回、紹介したチューニングの例の大部分は、通常のシステムにも応用できる。私自身、 今回のチューニングでは、メインフレームでのシステムチューニングのときの経験をさま ざまな面で利用することができた。本論文がきっかけとなって、システムのチューニング について少しでも考えてくれる人が増えてくれることを願っている。 7 . 謝辞 本論文の作成にあたって、 日本ヒューレット・パッカード株式会社の諸沢雅子氏 には、 SMP、ディスクアレイなどの技術資料の提供の他、パフォーマンスチューニグで は、データを記録するためのツールの選定やデータの取得方法で無理をお願いした。ま 一2 2 2 ‑
た、インフォミックス株式会社の南定秀氏には、 INFORMIXの技術資料を快く提供してい ただいた。実際のパフォーマンスチューニングでは、前出の諸沢氏や、同じく日本ヒュー レット・パッカード株式会社の有本希氏、インフォミックス株式会社の松村三生氏、津島 浩樹氏の協力があって成功したと考えている。 8 . 参考文献 H P 9 ∞OTクラス・コーポレートピジネスサーバー ProductBriefOct.'95 HPハイ・アベイラピリテイ・ディスク・アレイ PRODUCTBRIEFMAR.' 9 5 HPG l a n c e P l u sa n dG l a n c e P l u sPakリソース/パフォーマンス管理ソフトウェア TECHNICALDATS E P .' 9 5 テクニカルブリーフ INFORMIX‑OnlineDynamicS e r v e rパージョン 7 . 1UNIX 版 *一般に記載されている企業名あるいは製品名は各社の商標または登録商標です。 ‑223‑
[ l 同 川 川 … 例 一 一 一 手 利 柵 リ 明 僻 用 騨 率 │ . 回INFOR 100 90 QO r つ nununU 正U % 50 40 30 20 l c │ 物 理 D間 叩 3 5 0 .IN 肌 M I X 瞳 SAS 3 0 0 2 5 0 o200 5 E1 5 0 C 1 0 0 5 0 。 ‑224‑
日本 S A Sユーザー会 (SUG I‑J) メ イ ン フ レ ー ム 版 SASシ ス テ ム の 有 効 活 用 前田幸一 セールス&マーケティング本部マーケティング部コンサルティング・セクション 株式会社 SASインスティチュートジャパン Usingt h eSASSystemi nt h eMainframeEnvironment K o i c h iMaeda S a l e sandMarketingD i v i s i o n,MarketingDepartment,C o n s u l t i n gS e c t i o n SASI n s t i t u t eJapanL t d . 要旨 本論文では、メインフレーム版 SASシステムをより有効に活用していただくため、便利なサブ・ウイ ンドウやファイル管理機能を提供するプロシジャなど、 SASシステムが標準で提供しているいくつかの 機能を紹介する。また、クライアント・サーバ・システムやデータウェアハウスを構築する際の、 Windows 版 SASシステムをクライアントとした利用例も併せて紹介する。 キーワード: MAINFRAME,DATAWAREHOUSE,CSS,WINDOWS,BASE,CONNECT,REMOTE 1 . はじめに オープン・システム、ダウンサイジングの影響、 UNIXや PCの性能向上と低価格化、 X ウインドウシ G r a p h i c a lUserI n t e r f a c e ) 環境の普及などにより、メインフレームの ステム、 Windowsなどの GUI ( C S S ) 領域は次第に脅かされていた。しかし、並列技術の導入によって、クライアント・サーバ・システム ( 時代の中核ノ、ードウェア、エンタープライズ・サーバとして再び見直されてきている。 また、データ・ウェア・ハウス (DWH) の構築を考えた場合、企業の基幹システムとしてこれまでメ インフレーム上に貯えられてきたデータや、日々のビジネスで発生しオンライン・トランザクション処 OLTP)、一括ノ〈ッチ処理などで追加されていくデータを、いかに利用できるか、いかに DWHに蓄 理 ( 積できるかの仕組みを作り上げることも不可欠である。 メインフレーム版 SASシステムでは、他のプラットフォームの SASシステムでは提供されていない、 メインフレーム環境でのみサポートされるいくつかの機能を提供している。以降の章では、それら機能 の概要と使用法、およびメインフレームを CSSのサーバマシンとしたときのクライアント ( Windows 版 SASシステム)からの利用例について説明する。 尚、ここで紹介するメインフレーム版 SASシステムの諸機能は、パージョン 6から提供されるもので ある。 ‑225‑
2 . メ イ ン フ レ ー ム 版 S A Sシ ス テ ム 特 有 の 機 能 ここでは他のプラットフォームの S ASシステムでは提供されていない、メインフレーム版 SASシステ ム特有の機能(サブ・ウインドウ、プロシジャ)を紹介する。中にはシステム管理者向けの機能もあるが、 大半はエンドユーザ、からも利用できるものである。 2 . 1 サプ・ウインドウ SASシステムは、ラインモード、ディスプレイ・マネージャ・モード、非対話モード、およびパッチ モードの 4種類の実行モードをサポートしている。中でもディスプレイ・マネージャ・モードでは、 S AS システムが提供する統合化操作環境である「デ、イスプレイ・マネージャ・システム ( D M S ) J のもと、 対話形式で処理を実行することができる。この環境下では、 S ASシステム独自のウインドウシステムが 用意され、プログラムの編集・実行 ( PROGRAME D I T O R )、結果の検証 ( L O G )、結果の出力 (OUTPUT) を行うための基本ウインドウが S ASシステムの起動から終了まで存在する。また、必要に応じて開くこ とのできる補助ウインドウも用意されている。ここでは、ファイル管理を助けるための補助ウインドウ を紹介する。 ① FN 泊四ウインドウ 現在割り振られているライブラリ参照名、ファイル参照名、その他アロケーションされているすべ てのオペレーティングシステム・データセット名を表示し、表示された DD名でし、くつかの処理を行う ことができる。 ・起動コマンド FN 泊四:セッション中に割り当てられたすべての DD名を表示する FN 品1EDD名:指定した DD名を表示する FN 品 i l E A *:ワイルドカード指定 ( Aで始まる DD名を表示)した DD名を表示する ・実行可能な機能 B:順次編成データセットの内容を表示する C:連結された区分データセットのメンパリストを表示する E:順次編成データセットの内容を編集する F:割り当てられた DD名を解放する 1:順次編成データセットまたは区分編成データセットのメンバの内容を PROGRAMEDITORウイ ンドウに読み込む M:区分編成データセットのメンパリストを表示する (MEMLISTウインドウ) X:データセット情報を表示する ( D S I N F Oウインドウ) %:%INCLUDEステートメントを SASシステム (PROGRAMEDITOR) に対して実行する (SUBMITする) ‑226一
[ディスプレイ 2 .1 .1 :FN 品 I Eウインドウ I コ マ 。 悶S T A T l l iD I m m m m m m m mm D J X i O J ' ! E D A T AS E T附 官 3礼鈎S . αM"I G岡 部 捌 ) S O C .鈎S60 8 . S 必 C .T R A N S L I B S D 1 .D E l ' お . 倒T L ( I あ1 7 M l おR ) G F 創T O J3D .S 60 8 .K 胤J L F制T L I B G F 創T1 J3D .S 60 8 .凹O C I D .F O N T L I B Y S 9 6 1 1 9 .T O l l 3 4 5 .R A O O O .JPN](ct'!.R I S 陀T L O S 0 1 2 6 0 6 2 I S 陀 江1 S Y S 9 6 1 1 9 .T O l l 3 4 5 .R A O O O .J 刊K 飢 R 0 1 2 6鵬 I S 陀T L 2 S Y S 9 6 1 1 9 .T O l l 3 4 5 .R A O O O .J 刊K 飢 R 0 1 2 6Q 6 4 +s y s m I T+ + I S P L I S T + 仏B I S P 3限印LR 0 1 2 6 0 6 5 I S P L S T 1 JPN](飢 R 0 1 2 6附 I S P L S T 2 I S P M L I B roJFI G ‑C T R A 応 一Dl四郎 同日 mmmmmmmmmm 同日間日間同日間四 I S P P L I B I S P S L I B S H R 阻E S H RK E E S H Rt 也E E E S H RK S H RK E E N E WD E L 悶W D E L 悶W D E L 間D D E L E E S H RK N 四 D 乱 N E WD E L S H RK E E S H RK E E S H RK E E S H RK E E S H RK E E S H RK E E S H RK E E S H RK E E S H R S H R ② D8INFOウインドウ カタログ式オベレーティングシステム・データセットのレコード編成、スペース配置などのデータ セット属性や作成日付などの情報を表示する。 ‑起動コマンド D8INFODD名・指定した DD名の説明を表示する D8INFO' 0 8データセット名, .指定した 08データセット名の説明を表示する [ディスプレイ 2 .1 .2:D8INFOウインドウ I ∞ 悶 S8 2 1 。 調 必 問 F B 8 0 3 1 2 0 1 0 2 α E A T I C ND A T E : E X P I R A T I C ND A T E : A L L C 氾A T E DT R A C K S : ∞ A L LA T E DE X T E N T S : l E E DT R A C K S : l E E DE X T E ! I π S : 凋仏苫 D F . V I C ET Y P E : O R 包阻i'A T I a ' J : 隠∞R DF O R M A T : RDL 町 T H : B L 閃 KS I Z E : 1 S T以 mπTRACKS: 創D以 m πTRACKS: a u z 1 3 13 コ マ 叩L l l ' IES E 紅A L : M P N A G 問 問TC l A S S : S T O R A G EC L 必S : D A T AC 凶S S : 9 6 / 0 4 / 2 5 帽 、E副 K紳 ③ MEMLI8Tウインドウ 単一の区分編成データセット、または連結された区分編成データセットのメンパリストを表示し、 表示されたメンバ名でいくつかの処理を行うことができる。 ‑227一
‑起動コマンド MEMLISTDD名:指定した DD名のメンパリストを表示する MEMLIST'OSデータセット名, .指定した OSデータセットのメンパリストを表示する MEMLISTDD名(メンバ名) :指定した DD名、メンバ名のリストを表示する MEMLIST'OSデータセット名(メンバ名) ':指定した OSデータセット名、メンバ名のリストを 表示する MEMLISTDD名 (a女 ) :指定した DD名 、 ワイルドカード指定したメンバ名のリストを表示する ‑実行可能な機能 B:メンバの内容を表示する C: リネームをキャンセルするか、または削除コマンドを取り消す D:メンバを削除する E:メンバの内容を編集する 1:メンバの内容を PROGRAMEDITORウインドウに読み込む R:メンバをリネームする S:メンバを選択する ( Bと同じ) V: リネームあるいは削除のコマンドを確認する %:%INCLUDEステートメン卜を SASシステム (PROGRAMEDITOR) に対して実行する (SUBMITする) [デ ィスプレイ 2 .1 .3: MEMLISTウインドウ] T4 ω2 日 目的∞刷出 ぬ m3 3U m5l h N5 1ml 272 111 2引m 2 1 肉︑以 巾 出閉山 山阿山町 w m m u m 関山間 mmm4m1121mmmω3加制m m 2 m出町7 m w m mm n n Mmωω w 開閉山 国 湖 沼 却 溺 泣 沼 沼 却 泊 渇 湖 沼 A泊 J 泊却却湖湖沼 同 出 白川出 ぽ似 W 仮眠 四郎 附明暗 n m曲目ω n m m叫幻おおお伺叫制的日目ωおお銭お内u ω 幻幻おおお銭リ H山 m間 四おおおは忽明白 ω w m w M m w m w M出おおWWWM w w 幻 附お E お幻 M A X G H I 問N O O l 1班J N 0 0 2 = S l . K i IO O l ̲S l l G 1 0 0 2 ̲S l l G 1 0 0 3 S l l G 1 0 0 4 S l 路1 0 0 5 uwwwwおお節WWw 町w w w ww 町w w w K P 灯F 一日町 ω 1 M S I N F O 阻悦農協器E EBW併 比W 例 W E υAυ句 ム ハ U n U広υ A U︽υ 内υ n υ n u M川 ︽ ハU 'よ ︽υハUハυ4anunυ u M刊UAHVAHvnuvAHVAHVArhAHVAげvnuv ハHVAHVAHVA川VAHVAHVAHVA川vnHVAHVAHV ∞ A GR A A P P L 0 1 A 町O 以E G 側V O A T A O B 2 O B 2 2 O B 2 3 G R A P H 1 C M四一おお一笥%おお祖国一%一気一幻一%一 m 出 一 気 お 一 % 一 旬 一 一 お 一 気 旭 国 一 N A M E ︐ ︐ ︒ wmmmmmmmmmωmmmmωmmmm m コマン n 円0 0 1 0 oJPNK明 oJP叩 岱 oJP限 引 oJP惚町1 oJPNK町1 oJP問(CI'I oJP問(c肘 oJP限 引 oJP限町1 oJP限町1 oJ P N J 泊Y 2 oJPNKCI'I oJl判也Y oJ J P 問 〈 日 明 附KCl1 oJP限CI'I 。 lJmm 。K 3問( C 刷 。Jl弔問 J 附 C I ' I 初百Z 0 0 0 1 3 0 0 0 1 4 0 0 0 1 5 0 0 0 1 6 2 . 2 プロシジャ ASシステムでは、そのプラットフォーム特有のプロシジャをいくつか提供してい メインフレーム版 S る。ここでは、ファイル管理やシステム運用を助けるためのプロシジャを紹介する。また、各プロシジ ヤには以下に説明するオプションやステートメン卜の他にも指定できるものもあるが、ここではよく使 われると恩われるものだけとする。 ①P DSプロシジャ 区分編成データセットのメンバリストの一覧表示、およびメンバの削除、 リネームを行う。 ‑書式 PROCPDSDDNAME='OSファイノレ名'またはファイル参照名くオプション>; DELETEメンノ〈名・ 1く…メンノく名 ‑n>; ‑ 2 2 8 ‑
CHANGE旧メンバ名・ 1 二新メンバ名・ 1く.旧メンバ名 ‑ n =新メンバ名 ‑ n > ; 1 = 他のメンバ名 ‑ 1<…メンバ名 ‑ n = 他のメンバ名 ‑ n > ; EXCHANGEメンバ名 ‑ ‑機能 〔オプション〕 NOLIST:メンバ名と別名の一覧表示を行わない KILL:指定した区分編成データセットのすべてのメンバを削除する 〔ステートメント〕 DELETE:指定したメンバを削除する CHANGE:旧メンバ名を新メンバ名にリネームする EXCHANGE:メンバ名と他のメンバ名を入れ替える ※各ステートメントではそれぞれのメンバ名の指定に SASシステムの拡張指定 ( a b c : ) が可能 .プログラミング例 PDSプロシジャによるメンバの削除とリネーム FILENAMEPDS'.SUGLSRCLIB'; PROCPDSDDNAME=PDS;RUN; PROCPDSDDNAME=PDS; DELETEDB22DB23; CHANGEDB2=ACCDB2; RUN; [アウトプット 2 . 2 . 1・PDSプロシジャによるメンバの削除とリネーム 1 1 2 3 F I L E N A M EP D S' . S U G I . S R C L I B ' : P R O CP D SD D N A M E = P D S : R U N : S A SP R O CP D SV E R S I O N6 . 0 8 0 2 / 1 7 / 9 4 D S N A M E = J P N K O M . S U GI .S R C L I B V O L = S E R ニS A S 8 2 1 M E M B E R S( A L I A S E S ) A C C O R A A P P L O l A U T O E X E CC N V D A T A D B 2 D B 2 2 D B 2 3 G R A P H l 1 M S1 N F O K P R T F L E F T M A X C H1 M O N O O l M O N 0 0 2 S U G1 0 0 1 S U G I 0 0 2 S U G I 0 0 3 S U G I 0 0 4 S U G I 0 0 5 S U G I 0 0 6 S U G I 0 0 7 S U G I 0 0 8 S U G I 0 0 9 S U G I 0 1 0 S U R Y O T R A C K SU S E D U N U S E D T O T A L E X T E N T S 1 3 .2 0 . 8 1 4 . 0 3 D I R E C T O R YB L K S B L O C K SU S E D 3 0 5 N O T E :P R O C E D U R EP D Sは 0 . 0 2C P U 秒と 3 9 7 6 K を使用しました. 4 5 6 7 P R O CP D SD D N A M E = P D S : D E L E T ED B 2 2D B 2 3 : R E N A M ED B 2 = A C C D B 2 : R U N : S A SP R O CP D SV E R S I O N6 . 0 8 0 2 / 1 7 / 9 4 ニS E R = S A S 8 2 1 D S N A M E = J P N K O M . S U G I . S R C L I B V O L M E M B E R S( A L I A S E S ) ハ U内 ﹂ FanU N X Uハ U 1111VI P‑punK M M m H H U H H U llnbnb 2 2 9一 ntnU 唱 In‑‑ 門n HH H v n H V n ﹁tlEl Aunnupu nkHUHu pupanb 1 3 . 2 O .8 1 4 . 0 l 唱 nE nUu ハ nunv AHIl‑‑ Tlnunu AunHUHU nunbnb n M u ntnu nunu nUEl uvuNPU V H H u U N川ハH nUMmnb T R A C K SU S E D U N U S E D T O T A L nu EL 守I VA 唱lnU ﹁F ﹄ハH Vハ H V nunus‑‑ T I E M N川n h u H H u n H V H H U AHMmnb A C C D B 2 A C C O R A A P P L O l K P R T F L E F T M A X C H I U G I 0 0 6 S U G I 0 0 4 S U G I 0 0 5 S
[アウトプット 2
.
2
.
1
:PDSプロシジャによるメンバの削除とリネーム] (続き)
E
X
T
E
N
T
S
3
D
I
R
E
C
T
O
R
YB
L
K
S
B
L
O
C
K
SU
S
E
D
3
0
5
.
0
4C
P
U秒と 3
9
7
6
K を使用しました.
N
O
T
E
:P
R
O
C
E
D
U
R
EP
D
Sは 0
② PDSCOPYプロシジャ
区分編成データセット全体、または指定したメンバをコピー(デ、イスクからデ、イスク、デ、イスクか
らテープ、テープからテープ、テープからデ ィスク)する。最適ブロックサイズの異なるテ パイス問
でライブラリをコピーする場合、ライブラリを再ブロック化することができる。
e
‑書式
PROCPDSCOPYINDDプ OSファイノレ名'またはファイノレ参照名
OUTDD='OSファイル名'またはファイル参照名〈オプション>;
SELECTメンバ名・ 1<…メンバ名 ‑
n
>
;
EXCLUDEメンバ名・ 1<…メンバ名・ n>;
‑機能
〔オプション〕
ALIASMATCHニBOTHI
EITHERI
NAME:メンバと別名を突き合わせる方法を指定する
BLKSIZE=ブロックサイズ:出力デ パイスを再ブロック化するときに最大ブロックサイズを指定す
る
INTAPE:INDD=で指定したライブラリがテープ(順次編成フォーマット) の時に指定する
NOALIASI
NOA:各メンバの別名のコピーを防止する
NOREPLACEI
NOR:OUTDD=で指定したライブラリ内に存在しないメンバのみをコピーする
OUTTAPE:OUTDD=で指定したライブラリがテープのときに指定する
T
S
S
) ユーザと
SHAREINPUTI
SHAREIN:INDDニで指定したライブラリを他のジョブや TSO (
共有するときに指定する
〔ステートメント〕
SELECT:指定したメンバをコピーする
EXCLUDE:指定したメンバ以外をコピーする
a
b
c
:
) が可能
※各ステートメントではそれぞれのメンバ名の指定に SASシステムの拡張指定 (
.プログラミング例:PDSCOPYプロシジャによるメンバのコピー
FILENAMEOLD'.SUGI
.SRCLIB'DISPニSHR;
FILENAMENEW'.SUG
I
.SRCLIB2'DISPニOLD;
PROCPDSCOPYINDD=OLDOUTDD=NEWALIASMATCH=BOTHSHAREINPUT;
SELECTS
U
G
I
:
;
RUN;
[アウトプット 2
.
2
.
2:PDSCOPYプロシジャによるメンバのコピー]
一2
3
0
‑
1
︑
F
ト﹂ nu
p占 =
4
E
E
n
J
ι
n
J
‑
n
x
u
noqu
U
H
p占A
A
u
n
t
u
p占 =
=nk
nkF
ヒ
S
I
Z
E
M川
﹄
='L
'Lnu
nUHV
UV
nL
nDnD
'L'L
nunu
nknk
︑
︑
nu
nu
nunu
HUHU
川
T
R
A
C
K
S
P‑qu
川
MmMm
nunu
vhνR
Mm
川 M剛川
nrnr
id‑u
一一一一
FEFE
MmMm
A
u
n
‑
A
UN MN
p‑nb
n
H
u
n
H
U
TI
T‑HU
H
H
U
R
V
E
R
V
E
T
E
'
MNHU
‑‑nU
M
E
M
B
E
R
Tl
HU
R
μ
E
・
﹄
川.︐
'=
︐
.
‑MN
E
﹁
nk
A
u
n
H
H
H
nb
Hn
Tl
nu
nD
Hn
一
一
nU
Tl
A
u
n
.
︐
.
︐ Hm
nknun‑
HnlTA
戸
︑n
u
ut‑
‑一一一
E
p
'
p
''
A
nbnb
TIE‑
n
凶
nunUFE
MH
'nJ‑nHU
nDRunHM
Il‑‑Tl
﹁LHu
lu
n
nunu
nknk
nbnbnu
E
1101nu
nunu=
HUHUnu
p‑nbnu
n
υ 凶"vanu
'LFEPSHU
n‑
日u
nUNn
nu
﹂L
quTE
EE
MmMmnunU
AUTAP‑﹁
E
MHNH'L
FEFEnUFE‑‑
﹁LnURVUN
l
la‑‑nkHU
﹁n r n k
FEF
︐FD
l
咽 nJtdA
S
A
SP
R
O
CP
D
S
C
O
P
YV
E
R
S
I
O
N6
.
0
8 0
2
/
1
7
/
9
4
[アウトプット 2 . 2 . 2:PD8COPYプロシジャによるメンバのコピー 1(続き) A L I A S S U G I O O l S U G I 0 0 2 S U G I 0 0 3 S U G I 0 0 4 S U G I 0 0 5 S U G I 0 0 6 S U G I 0 0 7 S U G I 0 0 8 S U G I 0 0 9 S U G I 0 1 0 0 . 0 0 . 0 O .2 1 .0 0 . 0 0 . 2 0 . 6 0 . 8 0 . 1 0 . 3 5 6 0 4 0 0 7 2 8 0 4 0 5 6 0 5 6 0 8 4 8 0 2 3 8 4 0 3 2 9 6 0 4 8 0 0 9 8 4 0 nunu nu‑VT た し ま し 用 f古 L を v n 凋斗 Fhu ‑ ‑ ' 戸 ﹂ 秒 Hu nr pu 斗品 l 勺 nu nU ︑ p a l 唱l 唱lnU hua斗 凋斗唱 ︑ E: nu nu nu nupa E ﹁ IL E nunb‑A ﹁ ﹁ EHUT‑nk quuNnUHU nHU H H U H H UI 〒E n u Fト﹂ nbTλU MRHNXU ハ U ﹁ Enk ‑ATAr nkvA T ︐﹁ E ﹁ Tl nU MN ③ 80URCEプロシジャ ソースライブラリデータセットの内容を 8A8ログに出力する。また、 8A8システム、ユーティリ ティなど、のプログラムの入力を作成するためにライブラリのディレクトリのみを処理する。 ・書式 PROC80URCE<オプション>; 8ELECTメンバ名・ 1<…メンノ〈名 ‑ n > ; EXCLUDEメンノ〈名・ 1<...メンノく名 ‑ n > ; ‑機能 〔オプション〕 DIRDDニ.区分編成データセットディレクトリのアンロードされた形式を出力するファイル参照名 または 08データセット名を指定する INDD=:入力する区分編成データセットのファイル参照名または 08データセット名を指定する NODATA:メンバのソースレコードを出力しない NOPRINT:メンバ名とレコード件数のリストを出力しない N08UMMARY:メンバサマリー情報を出力しない PRINT:ライブラリ全体を出力する 〔ステートメント〕 8ELECT:指定したメンバを処理する EXCLUDE:指定した以外のメンバを処理する a b c : )、および 2 ※各ステートメントではそれぞれのメンバ名の指定に 8A8システムの拡張指定 ( つの名前をハイフンで連結することでメンバを範囲で指定することも可能 .プログラミング例 :80URCEプロシジャによる選択したメンバのソースレコードの出力 PROC80URCEINDD='.8UGI .8RCLIB'PRINT; 8ELECT8UGI001; RUN: [アウトプット 2 . 2 . 3:80URCEプロシジャによる選択したメンバのソースレコードの出力] 1 2 3 P R O CS O U R C EI N D D = '. S U GI .S R C L I B 'P R I N T ; S E L E C TS U G 1 0 0 1 ; R U N ; S U G I O O l F I L E N A M EP D S' . S U G I . S R C L I B ' ; P R O CP D SD D N A M E = P D S ; R U N ; P R O CP D SD D N A M E = P D S ; ‑231‑
[アワトプット 2
.
2
.
3:SOURCEプロシジャによる選択したメンバのソースレコードの出力] (続き)
D
E
L
E
T
ED
B
2
2D
B
2
3
;
R
E
N
A
M
ED
B
2
=
A
C
C
D
B
2
;
R
U
N
;
7‑R
E
C
O
R
D
S
N
O
T
E
:I
N
D
D
=
S
Y
S
0
0
0
3
0D
A
T
AS
E
TI
S:
D
S
N
A
M
E
=
J
P
N
K
O
M
.
S
U
G
I
.
S
R
C
L
I
B,
U
N
I
T
=
3
3
8
0t{Ê
,V
O
L
U
M
E
=
S
A
S
8
2
1
,D
I
S
P
=
S
H
R
,B
L
K
S
I
Z
E
=
3
1
2
0,
L
R
E
e
L
;
a
o
:
ðFM~FB~"- ‑
̲
.
, ‑• ̲
. ̲
.
.
.
.
,
2
4
M
E
M
B
E
R
SD
E
F
I
N
E
DI
NS
O
U
R
C
EL
I
B
R
A
R
Y
.
A
L
I
A
S
E
SD
E
F
I
N
E
DI
NS
O
U
R
C
EL
I
B
R
A
R
Y
1
M
E
M
B
E
R
SS
E
L
E
C
T
E
D
.
7
R
E
C
O
R
D
SR
E
A
DF
R
O
MS
O
U
R
C
EL
I
B
R
A
R
Y
.
.
0
5C
P
U秒と 3
9
5
5
K を使用しました.
N
O
T
E
:P
R
O
C
E
D
U
R
ES
O
U
R
C
Eは 0
o
.プログラミング例:PDSCOPYプロシジャによるディレクトリレコードの生成
FILENAMEIN'
.
S
U
G
I
.SRCLIB'DISP=SHR;
FILENAMEOUT'&TEMP';
PROCSOURCEINDDニINNODATANOPRINTDIRDD=OUT;RUN;
DATATEST;
INFILEOUT;
FILEPRINTHEADER=H;
INPUTMEMBER¥8
.TTRP
I
B
3
.INDPIB1
.@
;
DATALEN=2MOD(
IND
,
3
2
)
;
I
FのATALEN=30)
THENDO;
.MODP
IB1
.BLANKP
I
B
2
.CREATEPD4.CHANGEDPD4.
INPUTVERPIB1
HHPK1
.M MPK
1
.S
IZEP
I
B
2
.INITP
I
B
2
.MODLP
I
B
2
.USERID¥8
.
:
JCREATE=DATEJUL(CREATE);JCHANGE=DATEJUL(CHANGED);
PUT@4MEMBER¥8
.@15JCREATEYYMMDD8.@25JCHANGEYYMMDD8.
@35HH2
.':'MM2
.@44USERID;
END;
RETURN;
脅
H:
PUT@4'NAME'@15'CREATED'@25'CHANGED'@35'
T
I
M
E
'@44'
I
D
'
;
PUT;
RETURN;
RUN;
[アワトプット 2
.
2.
4
・ PDSCOPYプロシジャによるディレクトリレコードの生成(出力結果)]
S
A
S システム
N
A
M
E
C
R
E
A
T
E
D C
H
A
N
G
E
D T
I
M
E
I
D
A
C
C
D
B
2
A
C
C
O
R
A
A
P
P
L
0
1
A
U
T
O
E
X
E
C
C
N
V
D
A
T
A
G
R
A
P
H
1
l
M
S
RI
N
F
O
K
P
R
T
F
M
L
E
F
T
A
X
C
H
I
M
O
N
0
0
1
9
5
‑
0
3
‑
2
3 9
5
‑
0
3
‑
2
3 9:
3
7
9
6
‑
0
4
‑
2
5 9
6
‑
0
4
‑
2
5 6:
4
3
9
3
‑
0
4
‑
2
2 9
3
‑
0
4
‑
2
2 2
1:
2
7
9
5
‑
0
6
‑
0
1 9
5
‑
0
6
‑
0
1 2
2:
4
3
9
5
‑
0
3
‑
3
0 9
5
‑
0
3
‑
3
0 2:
3
5
9
5
‑
0
9
‑
2
7 9
5
‑
0
9
‑
2
7 3:
1
2
9
6
‑
0
4
‑
2
8 9
6
‑
0
4
‑
2
8 1:
4
0
9
5
‑
0
5
‑
2
4 9
5
‑
0
5
‑
2
4 5:
2
6
9
2
‑
0
5
‑
1
4 9
2
‑
0
5
‑
1
4 2:
4
6
9
4
‑
0
5
‑
0
9 9
4
‑
0
5
‑
0
9 2:
2
7
9
2
‑
0
9
‑
1
8 9
2
‑
0
9
‑
1
8 2:
1
3
9
6
‑
0
4
‑
2
5 9
6
‑
0
4
‑
2
5 6:
4
2
J
P
N
K
O
M
J
P
N
K
O
M
J
P
N
K
B
S
J
P
N
K
O
M
J
P
N
K
O
M
J
P
N
N
K
KO
M
J
P
N
K
O
M
J
P
N
H
K
O
M
J
P
N
H
A
Y
2
J
P
N
K
HO
M
J
P
N
H
A
Y
J
P
N
K
O
M
‑232‑
[アウトプット 2 . 2. 4: PDSCOPYプロシジャによるディレクトリレコードの生成(出力結果)](続き) M O N 0 0 2 S U GI 0 0 1 S U G I 0 0 2 S U G I 0 0 3 S U G I 0 0 4 S U G I 0 0 5 S U G I 0 0 6 S U G I 0 0 7 S U G I 0 0 8 S U G I 0 0 9 S U G I 0 1 0 S U R Y O 6 ‑ 0 4 ‑ 2 8 1: 9 6 ‑ 0 4 ‑ 2 5 9 4 0 J P N K O M 0 9 6 ‑ 0 4 ‑ 2 8 9 6 ‑ 0 4 ‑ 2 8 1・4 0: 3 2 9 5 ‑ 0 8 ‑ 0 3 9 5 ‑ 0 8 ‑ 0 3 2 4 0 9 6 ‑ 0 4 ‑ 2 8 9 6 ‑ 0 4 ‑ 2 8 1: 2 ‑ 0 5 ‑ 1 4 2:4 9 2 ‑ 0 5 ‑ 1 2 9 4 0 6 ‑ 0 4 ‑ 2 8 1: 9 6 ‑ 0 4 ‑ 2 8 9 4 0 9 6 ‑ 0 4 ‑ 2 8 9 6 ‑ 0 4 ‑ 2 8 1: 4 1 9 6 ‑ 0 4 ‑ 2 8 9 6 ‑ 0 4 ‑ 2 8 1: 4 0 9 6 ‑ 0 4 ‑ 2 8 9 6 ‑ 0 4 ‑ 2 8 1: J P N K O M J P N K O M J P N K O M J P N H A Y 2 J P N K O M J P N K O M J P N K O M J P N K O M 3. ク ラ イ ア ン ト ・ サ ー バ ・ シ ス テ ム の 中 核 と し て CSSが進展している米国においても、基幹系データの約 7割は現在でもメインフレーム上にあると言 V i r t u a lS t o r a g eA c c e s sMethod)、 われている。また、データ管理形式もフラットファイル、 VSAM ( DB2や 1MSなどの DBMS ( D a t a B a s eManagementS y s t e m ) データとし、ったように多種多様である。 それらのこれまでの基幹システムで貯えられてきたデータや日々のビジネスで発生するデータをし、かに して利用できるか、 DWHに蓄積していくか、その仕組みを作り上げてし、く方法が問題となってくる。 SASシステムでは SAS/ACCESSソフトウェアによって様々な DBMSにアクセスするためのエンジン と呼ばれるインタフェースが用意され、フラットファイルや VSAM とともに、 SAS独自のデータセッ トと同様の方法でアクセスすることが可能である。つまり、ユーザはデータの所在を意識することなく プログラムを作成することができる。また、 SAS/CONNECT ソフトウェアが提供するリモート実行の 機能を利用して、クライアント環境からサーバ環境にアプリケーションの実行を指示することも可能で、 ある。 ここでは、メインフレーム上に保管された定型の処理(プログラム) をクライアント側から実行させ る方法について紹介する。 区分編成データセット ( SAS.SRCLIB) に日次で処理するプログラムが MONOOl, MON002...SUN005 といったように、プログラム名の先頭に曜日を持った形式で保管されており、これらのプログラムは、 基幹データを取り出し、加工して部門サーバ上の DWHにロードする処理を行うものとする(今回はこ れらのプログラムについては説明しなし、)。 この処理を行うには、部門サーバ上の SASシステムより以下のプログラムを実行すればよい。先に紹 介した SOURCEプロシジャを利用して区分編成データセットからメンパリストを作成し、条件に合っ たプログラム(この場合は実行日の曜日とプログラム名の先頭の曜日が同じもの)を実行する。 .プログラミング例 /*メインフレーム版 SASシステムとの接続*/ OPTIONSREMOTE=xxxCOMAMIDニx x x ; S1GNON'スクリプトファイノν ; /*以下の処理をメインフレーム版 SASシステムで実行するり /*リモー卜実行の開始 RSUBM1T; 戸曜日コード変換フォーマットの作成*/ PROCFORMAT; VALUEYOUB11 プS UN'2='MON'3 = ' T U E '4='WED' 5='THU6 = ' F R 1 '7 = ' S A T ' ; RUN; /合実行日の曜日をマクロ変数 ( KEY) にセット*/ DATA̲NULL̲; CALLSYMPUT ( ' K E Y ', PUT (WEEKDAY (TODAY 0) , YOUBI . ) ); ‑233‑
RUN; 戸プログラムライブラリのメンパリストの作成り FILENAMEPDS' . S A S . S R C L I B 'DISP=SHR; FILENAMETMP' & T M P ' ; PROCSOURCEINDDニPDSNODATANOPRINTDIRDD=SASPARM; RUN; 戸メンパリストより当日実行するプログラム IDを取得し、 %INCステートメントを生成句 DATA̲NULL̲; INFILESASPARM; FILETMP; INPUTPGMID$ 8 . ; I FSUBSTR(pGMID, 1, 4)="&KEY"THENPUT'%INCP D S ( ' P G M I D ' ) ; ' ; RUN; 戸プログラムの実行り %INCTMP; FILENAMEPDSCLEAR; FILENAMETMPCLEAR; ENDRSUBMIT; もちろん上記のプログラムはメインフレーム環境で実行することも可能であるが、部門サーバマシン の OSが持つタイマー機能を利用することによって、人手を介することなく基幹データから情報系サー バのデータを作成することができるようになる。 4. キ3オつりにこ ここまで、メインフレーム版 SASシステム特有のサブ・ワインドワやプロシジャについて説明してき た。これらの機能をいろいろなかたちで利用することによって、より簡単にメインフレーム上での作業 (アプリケーションの実行やシステムの運用)を行うことができる。また、 SAS システムの持つ強力な データ加工能力とデータアクセス機能を組み合わせ、これまでのアプリケーション資産やデータ資産を 有効に活用することで、 CSSの構築や DWHへの基幹データの蓄積をより効果的に行うことが可能とな るだろう。 参考文献 .MVS版 SASシステム使用の手引き .SAST e c h n i c a lR e p o r tJ・ 1 1 5 ; メインフレーム版 SASシステムパージョン 6使用の手引き .G e t t i n gS t a r t e dw i t ht h eSASSystemi nt h eMVSEnvironment 注)本論文中に記載した会社名、製品名は、それぞれ各社の登録商標、または商標です。 ‑234‑
日本 S A Sユーザー会 (SUG I‑J) SAS/EISソフトウェア NEWOBJECTの有効利用 岡田雅一 株式会社 SASインスティチュートジャパン セールス&マーケティング本部 マーケティング部 Customizationo fSASIEISnewo b j e c t s MasakazuOkada SASI n s t i t u t eJapanL t d . S a l e sandMarketingD i v i s i o n M a r k e t i n gDepartment 要旨 SAS/EISソフトウェアを使用するこによって、簡易に意思決定支援をサポートするア プリケーションの構築が可能だが、実際細かな点でカスタマイズの要望が出てくると考 えられる。そこで、 SAS/EISソフトウェアのリリース 6 . 1 1から追加された EISオブジ ェクトを、有効利用する方法(拡張性)について紹介する。 キーワード: RAD(RapidApplicationDevelopment), SASIEISソフトウェア, SAS/AFソフトウェア 1 . はじめに 近年、企業内の基幹系システムに貯えられている様々なデータを有効に利用するため に、基幹系システムとは別に情報系システムを構築し、戦略的な経営を計ろうとう動き が活発化している。その例として、 DataWarehouseの構築へという動きがあるが、た とえ DataWarehouseを構築したとしても、データをあらゆる角度から検証し、より詳 細な情報へと掘り下げて行くといった、データのビジュアル化が必要になる。 SAS/EIS ソフトウェアは、マウス操作だけで簡単にスライス&ダイス、 ドリルダウンといった先 程の機能をもっアプリケーションの作成が可能だ。そして、 SASシステムリリース 6 . 1 1 から追加された EISオブジェクトは、従来のオブジェクトとは異なりクラス化されてい るため、その拡張性が向上している。 一2 3 5 ‑
2 . SAS/EISソフトウェア NEWOBJECT SASシステムリリース 6 . 1 1から追加された E I Sオブ、ジェクトを以下に示す。 .3Dビジネスグラフ ‑多次元ビューワ ・組織チャート ‑グラフの表示(ホットスポット付き) ・カタログエントリの表示(ホットスポット付き) ・外部ファイルの表示(ホットスポット付き) ‑グループ化パーチャート女 ・比較レポート* ‑拡張レポート* ・グラフイ寸きレポート* . 1 0では評価版、リリース 6 . 1 1から正式サポートとなった EISオブ、ジェクト。本文中では *リリース 6 従来の EISオブジェクトとする。 3 . EISオブジェクトの情報の受け渡し 1 ) パラメータリスト 従来の E I Sオブジェクトにおいて、実行時に画面中のどこかをリターンキーもしくは マウスで選択すると、何が選択されたか、選択時のオブジェクトの属性等の情報が格納 I Sオブpジェクト設定画 されたリストが生成される。これがパラメータリストである。 E 面で[メソッド]ボタンを選択すると[表示の初期化]および[選択アクション]が設 C L ( S c r e e nC o n t r o lL a n g u a g e )エントリの先頭に以下のよ 定できる。ここで登録する S うに記述をすると、オブ会ジェクト選択時の情報が入ったリスト IDを入手できる。 % e i s ; % e i s e n t r yp a r m l i s tr t c8 ; 2 ) インフォメーションリスト ターゲットアプリケーションをサポートしている新しい E I Sオブジェクトにおいて、 ホットスポット(隠しボタン)を設定し、実行時そのホットスポットが選択されたり、 組織チャート"オブ、ジェクト実行時にあるノードが選択された際、何が選択されたの か、選択時のオブジェクトの属性等を格納したリストが生成される。これがインフォメ ーションリストで、次に実行する(ターゲット)アプリケーションの SCLエントリに 以下のようにの記述をすると、選択時の情報が入ったリスト IDを入手できる。 i n f o l i s t=g e t n i t e m l (e n v l i s t (L ' ),I N F O L I S T ',1 ,1 ,0 ) ; 3 ) インスタンス変数 新しい E I Sオブジェクトはクラス化されているため、オブ、ジェクト自身の属性情報が インスタンス変数に格納されている。オブジェクト IDを得ることで、情報の取得が可 能となる。 ‑236‑
4 ) メソッドの提供およびイベントハンドリング機能 新しの EISオブジェクトは、メソッドが提供されたことによって制御が可能となった。 . 1 1より SAS/AFソフトウェアにコンポジットオブ、ジェクトという これは、リリース 6 機能拡張が計られたためである。さらに、イベントハンドリングとうオフ守ジェクト聞の コミュニケーションを計る機能も追加され、新しいオブジェクトにも利用されている。 4 . NEWオブジェクトの有効利用 インフォメーションリストの活用 組織チャート"オブジェクトを実行し、任意のノードを選択するとその WHERE条 件でデータが抽出され、 SAS/INSIGHTソフトウェアが実行されるサンプル。 以下のプログラムを記述した SCLエントリを、 SAS/AFアプリケーション実行"オ ブ、ジェクトに登録する。また、通常の 組織チャート"オブジェクトを設定する。次に [カスタマイズ]から[ターゲット]、 [グローパル実行アプリケーション]を選択し、 先程指定した、 EISオブジェクトを指定する。 l e n g t hd s n a m e$1 7v a r n a m e$8l e v e lc m d $2 0 0f m t $1 2 : c o n t r o la s i s : infolist=g巴t n i t e m l( e n v li s t( 'L'), ' INFOLIST ' , 1,1,0 ):く=インフオメーションリストの I Dを取得 i fl i s t l e n ( i n f o l i s t ) く= 0 t h e nr e t u r n : W H E R E ',1, 1 , 0 ): く= W h e r e条件の格納されているリスト I Dの取得 wherelist =getniteml(infolist,' i fl i s t l e n ( w h e r e l i s t ) く= 0 t h e nr e t u r n : くニ組織チャートオブジェクトにて、使用しているデータセットを指定 d s n a m e=' d a t a .c a r s a l e s ' i fd s n a m e = ', t h e nr e t u r n : 1 N1 T : 勾 a い auw ふE Au Kn 仁 ふ 内 o u ucu ‑‑ou︐ AU r nvou w 本m2u w Ln VE‑‑o& ︒u ' A U ︑ g: ︑内 ﹄ ﹃勾 内 ︑'‑一‑一 FO'H 内n u ︐ Auw"'AU 円U ﹁ p o o u H u n H ふE ﹄ ﹄ 内 門U ﹁ 笥U +L O U ' A U C ︑ l' E 1 0u 'VA o u M問 内U ・ paC nud ‑‑m T E E f t Hn l ・ 勾 +L J GAU Aum川 勾 a‑' ‑ ‑︐︑ u n H ・ ' nu‑‑ ふE U+L ・11 im i n u E u ふ ﹄川 Au‑‑nH m川 免MVE CCU +L o u v t ‑ ‑ m川 c u tnu'AU HunH cuou ‑ ‑ l •• ‑237一 川 a n d ; r c =c l o s e (d s i d) ; m 巴 )‑ 白匂勾 ﹄ ﹄ ︑ ︒ m ' 内 ふ = 内 ーー ︑ r ︑ 気 一 ﹄ ︐ ︑ 一 一 ‑ ︻勾 ︾ し ︒ s u b m i t : 品w h c l a ue n d s u b m i t : )巴 (‑ ・ m川 n H U 笥 V E nH2UE' VEUV' 1 1 1 H 2 u UV‑1‑ι' ﹄ ・ ︐ ︐d + L 1 l '))lu ︐PI‑‑11cunν 3J u・ a u ' ' ' A u r︑ t Il ' ・ .︐﹁ +L+Lm 巴 Aucucur︑ t・ Ttuv U 笥H ︑3Jou︐ L ふ 1nn‑IlllmVIe nH' Ll' ふ swal‑‑sU B'''auounHlunrt U 気1 1 1 t U V E ‑ ‑ 1lVIVErt'm 川 ρν==ρuou u 笥 n H ・ 1 1 rhHhHve‑‑r │) L euuwwhHll ふ ;haaf;t'tk a u Huuv JWIl‑‑mCAuu rL U uoum川・1 nuou 1 U B ' t l enhHhHtesνnu‑‑1ll mewwi‑‑ ふ LAUMNG' Uft 免 M E t ‑ o u ‑ ‑ E ‑ A H ﹂H H M い Hm t E n H ふ L 凶胃 w "・ E n H m 川 ふEf 1 1 popoou u uふ v t 笥a EnHU‑‑ 町 m L A U ‑ ‑﹄L n n H 6 手l ' IMn Ii+L f r=u H U ︐ . n HnU4E a ‑ G B E E ‑ u 気‑ E 1 ou'ι+LOUMVBlιT ﹄ ' ' nv=m LC U ふ 'hH =4ta‑‑=mhH auwH i'ene 手l w =u=srvt PO a 手l I l a e m手l AUIil‑‑lev‑‑‑手l ;﹄ l ・c ︒ oucum川 ふL +LO‑‑ .︐免 MCUVEm川 ふ LEap+lLD EEVlHU HunH cuau m c s︐ t n u " ,1 1f m t1 1 ')),
2
) メソッドのカスタマイズ
3D ビジネス"オブジェクトを実行するとグラフのタイトルにその日の日付を表示す
るサンプノレ。
以下のプログラムを記述した SCLエントリを作成する。
3Dビジネスグラフ"オブ
ジェクトの設定の際、 [詳細設定]の[メソッド]を選択し̲
F
I
L
L
̲メソッドをオーバラ
イドする。
r
一
'
'
﹄
ounu
is‑
︐
.JB
+
I
lt
品
﹄
n
M
UT V
E
・
・
d
一
o
︑
eft(date));
1
1 l
︑
llfJ
口
nv&Lnu
nvHUOLv
qGRUFFO
i(
匂
︑n
・
川
dtp
m川OUO
mc
u
n
w
H
vz 一
vz'cu
e
A
w
nMU''ou
︐
. NJ 一
n
u
r
lS
I
'
・1
+LVYElcu
VEqGOU‑aa
ducunHU
toT
FO&L
F
ト'
﹄
e
n
d
m
e
t
h
o
d
;
﹄
・
・
'
2l'TtE'eAwqG
・
'
・ hu&L‑‑
Jnu'OUOLV‑1‑
hu‑‑du︑J
口
JONJJ
︑
︐
.' ・ l
4EEnu
‑Je
く=
W
h
e
r
e条件の情報が入ったリスト I
Dの取得
e 一
t'bv
﹄
﹄
一
﹄
︑
﹄
‑
一
﹄
v
命︑
v
z
L
n
H
c
﹄
一
一
・
﹄
﹄
︑ ︑
・
︑
﹄
︐
V
E
︐︑︐
J
・
q
G
︐ ︑︐
︐
J
VE4EEnu
・‑ d n u ‑ ‑ ・
O
L
V
L
n
u・'Jnuv
1
1 ・'
目︑︐ J
﹄口︑︐ Jnu JJnunu
‑EEMu‑‑
︑
e r ' ' L︐
ne&L
m川 qa‑‑'anu'OLvuvou
ls
avfvit's‑' ・
n
e
+L'+Lhu
工LLDm&L
・l ‑ c u
OLVVAm川 q
G
O
L
V
&
E nHqGeAM
Ilerg'e'm
LnunHnMUP?Eanuanu
・
2
t
qa‑‑ES'anu‑‑nu
+Lr'nwAulT
=a+L'TlhHSl
l l v a 工L+L 一 11
a 一
nvslecse 一
b
O
L
V・
n
u
O
L
V 一
T
} g
Ileus‑'
;ovleTJ
一; T l
nMua'
・tit‑‑eQ'Enu'nHou
eott ・
l 一 orrh s
pcr
‑uc 一
﹂
口 f︑J
日
oaJ
口f︑
口 &Lm
n
H
‑
m川
・11nH・'louour︑
命ψ
志
q
G
m
川O
L
V
m川 O
L
v
v
a
&
L
T
I
l
‑
nHOLvm
川O
L
V
'
f﹄ ‑
T﹄ m川
n+La+L+Lnne
nu0
・TIr‑‑‑le+L+L
n
H
v ・
n
H
O
L
V・
'lnHP?EnH&EL
'
a
︐
&Lwzon'
nt 十 ﹄ 十 ﹄ 十 ﹄
ef
cef
=&L'
V
命︑
回 ERSanuREO‑nunre‑‑
VE=nH=nHOU2ugbOLv
T
E
'
au‑‑'anuouanuouanuuv ニ
Iljnu‑‑'eAw‑‑leAwanuOLveQ&L
teelv‑‑‑‑
・l : A u m T i l l ‑ ‑ h H・III‑‑+I
&LFEDa‑‑十
﹄ la
十Tl&L‑‑
TlLHrau‑‑azInur‑‑'o
hHAts‑C+LG ・
‑aAUPAU
&Lnueo
+L
gbElm川
nHHu‑‑eAW
e‑A
t
I
B
M
N川
‑238‑
o
b
j
e
c
t
i
d)
;
く=オブジェクト I
Dを取得
o
b
j
e
c
t
i
d)
;
m&L‑E' 一 H M I l l
qanU T
nHFλuti‑‑
品
rgFem
・'・:'
SI'Jnujnu‑ft J J J
‑‑E''anuanu'
︑
︐
︑
︑
W A U ‑ ‑︐
'︐
s
・
l
・‑ ; l l
'
一 lthu‑‑NJIll
‑
+
I +L
'Ti‑‑e
slecs?lSS4Im
‑‑gbe‑‑SIr‑‑lla
e‑‑
﹂一 J i d ‑ ‑ ‑ n
‑+Ll!
s'hu'nE ・
I・
一 orsrh rrS11
. ︐ u ‑ n d d ・‑'‑
r
l nurl nu&E
OLV‑1‑anu
︑Ill‑rl l
︑ ・ ・ 11
n
H
・1l︐
nH
・1lour‑
︐
︑
︑
mem
er‑‑+Lmllrifle
︑
e m e ‑ ‑ m s e︐
mcalt‑‑
&Lqa&L&LnHOL7EE&LOLVm川O U & L
nu‑Ir‑‑‑le+L11l+Leti‑‑
︐
.
le ・
l+I + L + L
n u n s ‑ n + L h H・
今
ι+L+L+Lnom+L ・
I・
‑
efh︑our‑︑ 十 ﹄ +
﹄ & L f h︑
I﹄a e 十
︐
命v
︑
w
邑JGREe‑qnenw邑 e =
q
一一一 g e n ・
=n=nEE4l‑
'
‑
I
l
l
・ 0
L
v
a
n
u
OLVanuOLVanuOLVjnu=ou&E ‑
‑‑‑IS‑‑SAus=msll+LSO
t‑‑eel‑‑a
・l a ‑ ‑ h H
・
1﹄ J
口 mlapi‑‑﹄Hil‑‑﹄nHIlaV&L El&L
+Loa‑t&LIt‑‑EJnu‑‑e
・
'hHVEqG‑EEqap?EVEnu︐
nHqGm 川
ecJ
口
hu‑‑&LZIC&LG
口J
口
・‑ιJ
+
Il L e n
σSl﹄m川
O
L
V
n
H2
1
e n円
11nu
̲NAVIGATE̲メ ソ ッ ド を 以 下 の プ ロ グ ラ ム で オ ー バ ラ イ ド す る 。
さらに、
;
t
i
t
l
e 2)
s
e
t 1i
n
e
•
一
一
Jn
uou'il
F
a
nu&EE
'hHqGqa
口C
&LJ
o
u
lLm
E
E
L
•.
※̲FILL̲メソッドは、オブ、ジェクト実行時インスタンス変数を初期設定するメソッドである。
多次元ビューワ"オブジェクト実行時に、タイトルにドリルダウンの状況を表示する
サンプル。
多次元ピ、ューワ"オブジ
以下のプログラムを記述した SCLエントリを作成する。
ェクトの設定の際、 [詳細設定]の[メソッド]を選択し̲
DRILLDOWN̲
メソッドを
オーバライドする。
内 a v t 内 ﹄ ・︐ q a ‑)I ﹄ ﹄ 内 ‑ A u n H O L V ・ ‑ H u q u n v v t a u ( 0 0 05 51 • .POSTINIT nvg 内 ‑‑Auti TaEnuaEB E E E E n H a M同+﹂ G Ile Tim n H v ︑ nu い ﹄ EE‑‑i 一 ttt 内 tnMinu‑‑'F+l 00+﹂+﹂︐︐ .. ''OLvau一4'・nJι σhugbil‑‑AUAU ''AUAuaU4EEBB‑Il ‑‑・1ι・14﹂U F+lp+l凶"凶".︐ea''' I 1 1 1 一 て J﹄l 一 一 一 auau+L+﹂一手lp+lp+l ed‑quρ vau'&LIl‑‑tl 一一σ6σ6‑auauauau 一一essss rt︑rt︑''Au‑‑一‑ FUPU‑tl' mm''hHfh︑fJL ee‑‑‑'nnn +L+﹂ee'一mmm 回目'・tlm川 m川 F+lauouau nnaa'Il+﹂+﹂+﹂ +﹂+﹂rrn4ei';l;l a b U51511nuponHnHnH JJ'l'' eaea ︐.︐nHnH'' ︑︐J︑︐J41﹄n J ι ' A U A U ・ J ・ J ︑ : l ・1 . ︐ L u h u r ︑ J 4 l nノ﹄ mmOOZE‑J・lJ nHnH22q''huinu 12'''Eoo mm auau '' i d1 ) : i d 2) : し OLvauau ==rtrlrlrlsss 門 AUAUAulU auounHnHnHnH‑一二一一‑‑ m川 m川 ouauaM a u ‑ A U uaueAwed‑ququ一‑一nu 免 nHnH515151EnH 唱lqLliz‑‑1111111111+﹂ iJiJ'Illi‑‑Ileeee LnutnueaqaeaqGCψCψobm山 nvnupupupupu‑‑ A 寸U n H a u 239‑ v v a u u v +L n u q a 一‑・' OLV&L l m ・ anv ︑ 内 noil rt & E ‑‑sv &L UTIl‑‑ nH'uv' HU︑1Jau・'= U j'' ︑ )Il‑‑ m P‑‑nH U l l s e ' 唱I m 1111LHqua l‑‑+LI‑‑n FEal‑‑‑&LEI‑ ‑AUVEVE‑equIll ‑AuqGVE‑‑l'' r4︑UVAu‑‑11Au nHft︑auft︑・・1l emvIlrt︑lie ‑'ou‑‑Impul‑‑E &L&L&Laum川 OLV&L eAw‑‑lnu&E au‑‑E・1ES ‑‑lQuea‑‑4&L&L&L llm=+L・I ・‑ f 4 ︑ qGabau&E & E nunHm川 W60Lv=AU +L=a=Een en+L=1le 'lmS11+LS =qap+1・Etea‑‑‑ ; ﹄ niBIlluv+L'lE ‑Au‑‑ nvnH 免 u・・ 1AUOUPU‑'l 日 Aunu nHEnH au&L G U ﹄ t i t l e 2) : s e tI i n e 3 ) 外部からのオブジェクト制御 l ボ、タンを押すことによって、 グラフとレポートの表示を切り替えるサンプル。 グラフィックメニューピルダー"オブジェクトに、新しい EISオブジェクトが貼り付 けれるようになり、外部からオブジェクトに対し制御が可能となった。 グラフィクメ ニューピルダー"オブ、ジェクトで使用するため、制御用のサブクラスを作る必要がある。 前準備として「プッシュボタン j のサブクラスを作成する。インスタンス変数には、 f 1g,o b j l i d,objlnm,o b j 2 i d,obj2nmを追加し、次のようにカスタム属性設定ウインドウ 3D ビジネスグラフ"オブジェクトのオブジェクト名を登録 を作成する。画面には、 o b j l n m )と 多次元ビューワ"オブ ジェクトのオブジェクト名を登 する入力フィールド ( 録する入力フィールド ( o b j 2 n m )を設け、 SCLには、終了時に入力値をインスタンス変数 に設定する記述をする。作成したカスタム属性ウインドウをサブクラスに登録する。そ し て 、 以 下 の プ ロ グ ラ ム を 記 述 し た SCL エ ン ト リ 作 成 し た 後 、 サ ブ ク ラ ス の ̲POSTINIT̲,̲SELECT̲メソッドをオーノ〈ライドしサブクラスを完成させ、最後に SASHELP.EIS.GRAPH.RESOURCEに、このサブクラスを登録する。 3D ビジネスグラフ"オブ、ジェクトと 多次元ビューワ"オ 前準備が終了したら、 ブ、ジェクトを同じテーブル名、同じ階層を指定し作成する。次に、 グラフィックメニ ューピルダー"オブジェクトにおいて、 2つのオブジェクトを重ねるように貼り込み、 お互いのオブpジェクトに DRILL,NAVIGATEイベントをハンドリングするよう、各オ ブ、ジェクト属性を設定する。そして、登録したサブクラスを画面の空いている場所に貼 り込み、オブジェクト名を指定して終了する。 P
﹄ ﹁ r﹄ P 0uauou n し H︐t︑︐t︑︐t︑︐t︑︐t︑︐t︑nH +L+L+L+LAUAUAUAUAUAU+L ‑ I l ‑ E '' l n H n H n H n H n H n H O u nHnHnH4laouououauauauqu +L+L+LSSS;Russ・‑ 巴巴巴=nt.︐41=; pogbgbIlla‑‑二日1ltit‑‑=AU gb111411gbAUιIlli‑‑gb一O ' 一 ‑ ‑ 一 ‑ 一 I l a a a ‑ ‑ a a a ‑ ‑ ︐ TいH 1Au︐十﹄nununu︐十﹄・・0unununu︐十﹄.︐11+L ON64lntJUSJUBE ‑hHIltAUAU干﹄nIlnsm u TB十ヒ+﹄‑all‑‑eee nuenH ELme E E ︑u ll へ ' 司 表 ‑JJUJU . ︐ o u ・ ' o u ‑l・ 1 ︑ tJ'Enu ︑tJ'inu ・4EEnJι . ︐ 内 d' d 作 に・ u ‑ E J ・ ・ E J ')l')l 1lLULU RT00 ・21 t hd‑Il 一一一‑ ou'+LOM'+L' AU一巴AU一巴一 ;lous‑‑eSFT '''hd 一 m川 m川 m川 白 M コ ‑‑一nH・1l'nH・Il'ou R T R T R T Uい け uhHS I‑‑}ιIl一‑'一一・一 eee''一・'一 f︑ sss・'RT干﹄ 一一一nu''tit‑‑1l﹄nH Jun44le Intem 守 ︑ ︑ ︑ r tr tr t 1AutAucutAutAuquou nnnn‑l・一・l・l一 目 'グラフへ' g ' fI g, ,fI グラフィックメニューピルダー"オブ、ジェクトで、 E I Sアプリケーション"オブ ジェクトを貼り込むと、そのオブ、ジェクト属性設定画面からオブジェクト名を知ること ができる。後はサブクラスを作成し、その SCLエントリ内からオブジェクト名をもと に̲ GET̲ WIDGET̲メソッドで I Dを取得し、情報を取り出すことが可能になる。オブ A S / A Fアプリケーションと連携で機能拡張も計れ、 ジェクトの属性情報が得られれば、 S オブジェクトに対してメソッドを発行することで、外部からの制御も可能となる。 ※ クラスの定義、メソッドのオーバライド、 NEWオブ、ジェクトのメソッド、インスタンス変数の詳細 については、省略させていただく。 5 . おわりに S A S / E I Sソフトウェアは、今後も新しいオブジェクトが次々と追加されるであろう。 . 1 1でも評価版オブジェクトが提供されているし、さらにリモートオブ 現に、リリース 6 ジェクト機能や多次元データベースのサポートといった機能拡張も予定されている。し I SオブFジェクトが 1 0 0 %ユーザのニーズに応えることは不可能であり、である かし、 E からこそ拡張性の要求は高まってくるであろう。リリース 6 . 1 1より新しい設計での E I S オブジェクトが追加されたことによって、拡張性は増したが、 S A S / A Fソフトウェアに よるサブクラスの作成やメソッドのオーバライドといった、オブジェクト指向型フ。ログ ラミングが必須である。まだサブクラスの作成方法をご存知ないユーザの方々には、是 非覚えていただきたい。また、詳細については、参考文献に記述したマニュアルを参照 されることを望む。 参考文献 SAS/EISS o f t w a r eREFERENCEV e r s i o n6,SecondE d i t i o n 品 FS o f t w a r eFrameエントリ使用法およびリファレンス V e r s i o n6, F i r s tE d i t i o n SAS i r s tE d i t i o n ExtendingSASIEISS o f t w a r eC a p a b i l i t i e sV e r s i o n6,F SAST e c h n i c a lReportP‑253 O b s e r v a t i o n sVo1 .5・No.2, F i r s tQuarter1996 SUGIJ‑'94論文集 iSAS/EISソフトウェアにおけるカスタマイズ」 羽 田 野 実 著 2 4 0
日本 SASユーザー会 CSUGI‑J) I M Pc a l c u l a t o r による 2項分布 1群データ推定値の 信頼区間計算 川本均 野口病院事務長 Exact confidence interval for binomial distribution with IMP calculator Hitoshi Kawamoto Chief Administrative Officer Noguchi Thyroid Clinic & Hospital Foundation Beppu, Oita, Japan 874 IMPの解析メニューでは表示されない、 2項分布データの推定値 Pの信頼区間を、 IMP calculator の F分布関数を用いて簡単に計算する方法を示す。 Pの値やサンプノレ数に 依存せず、繰り返し計算や数値表も不要である。 キーワード:J M Pソフトウエア、正確な信頼区間、 2項分布 あるなしデータで得られる割合 ( P ) の信頼区間を計算する IMPtable の作成方法を 示す。ユーザはこのテープノレを起動して、サンプル数と「あり」のデータ数を入力する C l o p p e r&Pearson 1 9 3 4 ; 柏木力 だけで良い。得られる信頼区間は、正確な信頼区間 ( 1 9 7 9 ; 竹内啓・藤野手口建 1 9 8 1,Armitage&Berry 1 9 9 4,武藤 1 9 9 5 ) であり、計算式も これら文献に解説されている。 作成法 Column数 5、Row数 1以上のテーブルを作成し、各 Columnを次のように設定する Columnの内容 Name Type Measure Source サンプル数を入力 N Numeric Continuous NoFormula 「あり」のデータ数を入力 F r q Numeric Continuous NoFormula 割合(%)が計算される P c t Numeric Continuous Formula 下側信頼隈界(%)が計算される P c t l o Numeric Continuous Formula 上側信頼限界(%)が計算される P c t h i Numeric Continuous Formula ‑241‑
割合(%)を算出する C o l u m nP c t の計算式は o l u m nP c t l o の計算式は 下側信頼限界(%)を算出する C i f F r q= 0 0, 100 日; = i f F r q N 100・2・F r q 、 2・( N ‑ F r q +1 ) I o t h e r w i s e 2・( N ‑ F r q + 1 )・FQ u a n t ¥0 . 9 7 5,一一一一一一一 DF,c e n t e r e da t0J + 2・ F r q 2・ F r q ' 上側信頼限界(%)を算出する C o l u m nP c t h i の計算式は 1叫~) i f F r q 0 100, i f F r q= N = I 、 2・( F r q +1 ) 1 0 0・ 2・( F r 伊1 )・FQ u a n t ¥0 . 9 7 5,一一一一一 DF,則t e問 da t0} , 、 ~ 2・( N ‑ F r q ) 2・( F r q +1 ) 2・( F n 伊 1 )・FQ u a n t ¥0 . 9 7 5,一一一一一 、 2・ ( N ‑ F r q ) • 、 DFc e n t e a t0 J + 2( N ‑ F r q ) , 削 . o t h e r w i s e ・ を登録する(方法は後述)。このテーブルの C o l u m n sN にサンプル数を、 C o l u m nF r qに 242‑
「あり J の数をそれぞれ入力すると 9 5 九信頼区間が自動的に表示される。更に、 9 0 首信 . 0 5を o .1に 、 FQuant 関数の引き数 0 . 9 7 5 頼区間を求めるには、平方根の中の数値 0 を 0 . 9 5 にそれぞれ変更すれば良い。 計算精度 この方法と Rohlf & Sokal ( 1 9 8 1 ) の数値表の全ての値、 & Pちサンプル数 Nは 5から 1 0 0 0までの 11組で各々 9 5 札9 9 弘信頼区間の上限・下限の 1 ,1 4 8個の数値を比較した。 この中で、 Rohlf&Sokal の明らかな計算ミス、印刷ミスを除いて、誤差の絶対値が 0 . 0 6 目 以上の数値は 3 4個で、最大誤差は 0 . 1 3 切であった。なお、計算には、1M Pfor Windows .1 .4 , 日本語 Windows3 . 1,DellOptiPlexX M 5 9 0を使用した。現在これらの version3 誤差の原因を究明中であるが、誤差は実用的に許容範囲内であると考える。 広すぎる信頼区間 この方法で得られる信頼区間はサンプノレ数が小さい時には広すぎる(竹内啓・藤野和 建 1 9 8 1,Armitage& Berry 1 9 9 4 ) ので、何らかの検定に応用する際には注意を要する。 これは、計算方法ではなく、観測値が離散的であることに起因する。つまり、本当の確 率が Pである時、期待観測値前後の一連の観測値の起象確率の和がちょうど 9切にはな れないために、危険率 5 弘の検定では実質的な危険率はもっと小さくなっている。詳し くは、竹内啓・藤野和建 ( 1 9 81)または Armitage &Berry ( 1 9 9 4 ) を参考にされたい。 計算式の登録法 NewColumnDialog または別の方法で作成した ColumnPctlo をタ*プルクリックま たは ColumnPctlo を選択して Column メニューから Columninformation 等の方法で、 NewColumn Dialog と同じ画面を出す。 Data s o u r c e : No Formula を Formula に変更 して O K をクリックする。すでに式が登録されていれば画面左下に式の窓があらわれる ので、そこをクリックする。 現れた Calculator Window で、条件式を初めて登録するには、下の長方形の中央部 にある未入力の正方形をクリックしてから、数字の 0を入力し、 Enter または Return キーを叩く。 Functionbrowser 内の Conditions をクリックすると右端の枠内にIf が表示されるのでIfをクリックする。条件を増やすために、[八]をクリックする。 Functionbrowser 内の Probability をクリックすると、右端の枠内に FQuantile が 現れるのでそれをクリックすれば良い。詳細は、1M P マニュアル ( S A SInstitute,1 9 9 5 ; 1 9 9 4 ;1 9 8 9 )の Calculator 1を参考にされたい。 謝辞:農林水産省東北農業試験場宮井俊一氏、九州大学医学部公衆衛生徳永章二氏に は貴重なコメントをいただきました。ここに深謝致します。 ‑ 2 4 3 ‑
引 用 文 献 (A‑Z7 ン1 ) 慎) A r m it a g eP&B e r r yG1 9 9 5S t a t i s t i c a lm e t h o d si nm e d ic a lr e s e a r c h3 r de d .p p .1 2 1 ‑ 1 2 5 . B l a c k w e l lS c i e n c eL t d .,O x f o r d . C l o p p e rC ]&P e a r s o nE S1 9 3 4T h eu s eo fc o n f i d e n c eo rf i d u c i a l1 i m it si l l u s t r a t e d i nt h ec a s eo fb i n o m i a l . B i o m e t r i k a2 6 :4 0 4 ‑ 4 1 3 . R o h l fF J&S o k a lR R1 9 8 1T a b l e2 3C o n f i d e n c el i m i t sf o rp e r c e n t a g e s .I n :S t a t i s t i c a l t a b l e s2 n de d .p p .1 5 6 ‑ 1 6 2F r e e m a n&C o m p a n yS a nF r a n c i s c o . S A SI n s t it u t eI n c .1 9 8 9C h a p t e r5C a l c u l a t o rF u n c t i o n s .I n :川 Pu s e r ' sg u i d ev e r s i o n 2p p . 1 1 7 ‑ 1 6 0 .S A SI n s t i t u t eI n c .C a r y,N C . S A SI n s t it u t eI n c .1 9 9 4C h a p t e r5C a l c u l a t o rF u n c t i o n s .I n :川 Pu s e r ' sg u i d ev e r s i o n 3p p . 1 2 7 ‑ 1 7 1 .S A SI n s t i t u t eI n c .C a r y,N C . S A SI n s t it u t eI n c .1 9 9 5C h a p t e r5C a l c u l a t o rF u n c t i o n s .I n :川 Pu s e r ' sg u i d ev e r s i o n 3 . 1p p . 1 3 1 ‑ 1 7 6 .S A SI n s t i t u t eI n c .C a r y,N C . 柏木力 1 9 7 9統 計 ラ イ ブ ラ リ ー 医 学 統 計 解 析 p p .5 2 ‑ 5 8,7 7 ‑ 7 9 朝倉書!苫. 9 8 1U P応用数学選書 2 2項分布とポアソン分布 p p . 1 5 8 ‑ 1 5 9東 京 大 竹内啓・藤野和建 1 学出版会. 9 9 5 母集団比率の区間推定 I n : 統計解析ノ¥ンドブック p p .1 7 0 ‑ 1 71.朝倉 武藤虞介 1 書庇 ‑244‑
日本 S A Sユーザー会 (SUG I‑J) ロジスティックモデルによる乳幼児期のア卜ピー性疾患 発症とその栄養法との関連について 0高 橋 幸 一 早 津 宏 紀 富 田 守 白鷹増男木本 森永字L 業(株)研究所 宮原英夫本木本 事吋七里大(医)医用情報学 本本木北里大(医療衛生) ハ リt "リ テ ー シ ョ ン R e l a t i o n s h i po ft h ei n c i d e n c eo fa t o p i cd i s e a s ei ni n f a n t sand c h i l d r e nw i t ht h e i rn u t r i t i o ni ni n f a n c y . KouichiTakahashi,H i r o t o s h iHayasawa,MamoruTomita . (MorinagaMilkI n d u s t r yC o .,LTD.) MasuoS h i r a t a k a,HideoMiyahara(K i t a s a t oU n i v e r s i t y・ ) 要旨 日本全国の乳幼児 1万 人 の 母 親 を 対 象 と し て 実 施 し た ア 卜 ピ ー 性 疾 患 発 症 に 関 する調査データに基づいて、生後 3ヶ月までの栄養法(母乳、人工、混合栄養) とアトピー性疾患発症との関連について検討を行った。 キーワード: SAS/STAT, L o g i s t i cプロシジャ、アトピー性疾患、栄養法 1 . はじめに アトピー性疾患発症のリスクファクターに関する検討には、カイ自乗検定や Mante1‑Haensze1の方法をはじめとして、多変量解析数量化 E類 法 1)や重回帰分 析を用いた報告がなされてきた。しかし、多変量解析においては、 林の数量化 理 論 (1, 2類)では,得られた各因子の有意性検定ができない" 2) ことや 重 回帰分析では目的変数が正規分布しているという前提"があり、その適応は慎重 でなければならない。 ロジスティック解析の利点としては、①説明変数の分布型にかかわらず、 2値 変数も、連続値をとる変数(間隔尺度)も名義尺度変数も使える。②説明変数の 回帰係数の指数をとると、その因子の独立した影響力(オッズ比)を知ることが できる。③目的とする事象の起こる確率を各症例について計算できる。④回帰式 245‑
から患者のリスクスコアが計算でき、境界値を定めて判別分析と同様に扱える。 ロジスティック解析は、比例ハザードモデルと異なり検定対象の症例数は常に 一定であることが重要で、欠損値のあるデータを取り扱う場合には有効症例の減 。 少に注意が必要である 2) 乳幼児期のアトピー性疾患の発症は、家族歴などの遺伝因子と環境因子によっ て大きく影響を受けていることが知られている幻。 乳幼児のアトピー性疾患発症と家族のアトピー性疾患既往歴との関係につい て全国調査した結果、アトピー性皮膚炎発症のリスクファクターとして、家族歴、 児の年齢、食物アレルギ一、卵の摂取開始時期の 4項目が示唆された 4)。この 事から、環境因子としての食生活(乳幼児期の栄養)がアトピー性皮膚炎をはじ めとするアトピー性疾患発症に大きく影響していると考え、乳児の生後 3 ヶ月迄 o g i s t i cプロシ の栄養法とアトピー性疾患発症との関連について、 SAS/STAT;L ジャを用いて解析を行ったので報告する。 2 . 目的 19 9 3年 7月に日本全国の乳幼児 1 0,0 0 0人 (1歳児 5 ,0 0 0人、 2歳児 5 ,0 0 0 人)の母親を対象として実施したアンケート調査データに基づいて、生後 3 ヶ月 までの児の栄養法とアトピー性疾患発症(アトピー性皮膚炎 ;AD、気管支哨息; B A、アレルギー性鼻炎; AR) との関連を検討した。 3 . 方法 解析対象は、アンケート調査の有効回答数である、 4 ,6 1 0人 (1歳児は 2 ,7 1 4 人、 2歳児は1, 8 9 6人)とし、生後 3 ヶ月までの栄養法により母乳栄養 (BF) 群、人工栄養 (FF)群、混合栄養 (MF)群の 3群に層別した。統計解析には、 SASシステムの SAS/STA 丁 、 L o g i s t i cプロシジャ他を用いた。 4 . 結果 BF群、 FF群と M F群のアトピー性疾患発症率は、それぞれ、 2 3 .5 弘2 2 .2 % と 21.脳であり、 3群聞に有意差は認められなかった。しかしながら、疾患別発 、 BF群、 FF群と M F群のそれぞれ、 1 7 . 0 % "1 4 .仰と 1 3 .側、 症率をみると A Dは B Aは 、 4 . 4 %、 8 . 5 %と 5 .2 %、 A Rは 、 4 .側、 6 . 5 %と 5 . 8 %であった。 BF群の A Dは 、 M F群より有意に高かった ( P < O . 01)。また、 BF群の B A発症率は、 FF 群より有意に低かった ( P < O . 01 ) (図. 1) 。 2 4 6一
BREAST‑MILK ** . 0 1 * * : Pく0 MlXED FORMULA ハリ ハリ 1 0 . 0 5 . 0 1 5 . 0 2 0 . 0 INCIDENCE(%) 図. 1 A t o p i cD i s e a s ei nr e l a t i o nt on u t r i t i o ni ni n f a n c y . Chochran‑Mantel‑Haentel Test (FREQプロシジャの CMH統計量)により年齢 (1歳、 2歳)と家族歴の有無を調整した F F群の B Aと A R発症の相対危険度 は、いずれも B F群に対して高かった。 2 . 2(95%信頼区 間は、1.5 ‑ 3 .2 )であり、 A R発症のそれは、1.5(9 5%信頼区間は、1.0 ‑ 2 .3 ) B F群に対する F F群の B A発症の調整済みオッズ比は、 で あ っ た ( 表. 2) 。 表. 2 A d j u s t e doddsr a t i oc o n t r o l l e dbya g ea n df a m i l yh i s t o r y . m π R I T I O N A T O P I CD I S E A S E O D D SR A T I O ( 9 5 % C .1 . )十 B R O N C H I A LAST日~A 2 .2( 1 .5 ‑ 3 .2 ) A L L E R G I C日U N I T I S 1 .5( 1 .0 ‑ 2 .3 ) B R E A S T‑ M I L K M I X E D F O R M U L A 十: L 口 胃 E I l .AND U P P E l t 95¥ 6 CONFIDEl I C E1 N rE l t ¥ l A L S . ‑247‑
ロジスティック解析による、 l歳児、 FF群の B A発症の相対危険度は、 2 .8 で 、 9 5 %信頼区間は、 2.4‑3.4で あ っ た ( 表 .3) 。同様に l歳児、 FF群 の A R発症の相対危険度は、 2 .4で 、 9 5 %信頼区間は、 2.0‑3.0で あ っ た ( 表.4 ) 。 これらの結果から、乳児期の栄養法はアトピー性疾患発症に何らかの影響を及 ぼしていることが示唆された。 表. 3 R e l a t i v er i s ko ft h eo n s e to fB r o n c h i a la s t h m a . S S E Oddsratio(95% C . 1 . ) A G E o .5379 0 . 1 3 4 0 1 .7 (1 .3 ‑ 2 .2) FAM1LYHISTORY 1 .0284 0 . 1 6 6 2 肌汀R 1TION 0.3537 0 . 0 9 7 7 1 .4( 1 .2 ‑ 1 .7) WORKOF MOTHER 0.0515 0 . 1 4 9 9 1 .7 (1 .2 ‑ 2 .2) FOOD ALLERGY 0.6575 0 . 1 4 4 1 1 .9 (1 .5 ‑ 2 .6) VAR1ABLE 表.4 R e l a t i v er i s ko ft h eo n s e to fa l l e r g i cr h i n i t i s . β S E 明C .1 .) Odds ratio ( 9 5 AGE FAM1LYH1STORY 0.5989 1 .2 2 1 7 0 . 1 3 1 9 0 . 1 7 3 9 1 .8 (1 .4 ‑ 2 .4) mπR1TION 0.2068 0 . 0 9 7 0 1 .2 (1.0 ‑1.5) WORKOFMOTHER 0 . 3 3 5 1 0 . 1 4 3 0 1 .4( 1 .0 ‑ 1 .9) FOODRESTR1CT10NS 0.6289 0 . 1 3 4 1 1 .9 (1 .4 ‑ 2 .4) VAR1ABLE 3 .4 (2 .4 ‑ 4 .8) 参考文献 1)小屋二六他, ( 19 9 0 ) :0歳アレルギー患児の研究,アレルギ‑, 3 9 ( 4 ),3 9 1 ‑ 4 0 1 1 9 9 5 ) : 医 者 の た め の ロ ジ ス チ ッ ク ・ C0 X 回 帰 入 門 , 日 本 医 学 2)高橋善弥太, ( 館 , 1 7 ‑ 1 8,3 5 3) 高 橋 幸 一 他 , ( 19 9 5 ) :SA Sシ ス テ ム に よ る 乳 児 期 の ア ト ピ ー 性 疾 患 発 症 予 S U G J ‑ j9 5 ) 論文集, 2 7 5 ‑ 2 7 8 測について,第 14回 日 本 SASユーザ一会 ( 4) M . K o r p p iandK . J u n t u n e n,e ta. l( 1 9 8 9 ),A t o p yi nC h i l d r e nw i t handw i t h o u ta F a m i l yH i s t o r yo fA t o p y . A c t aP a e d i a t r .S c a n d ., 7 8 : 8 9 6 ‑ 9 0 1 ‑248‑
日本 S A Sユーザー会 (SUG I‑J) 運動機能と喫煙の多変量解析による検討 0豊 島 裕 子 島津美子 宮本功 日本たばこ産業東京健康管理センター Multiple Analysis o ft h e Relation between Smoking a n dA b iI i t y o fE x e r c i s e . Hiroko Toshima, Shimadu Yoshiko, Miyamoto I s a o Tokyo H e aI t hC a r eC e n t e r .J a p a n Tobacco I n c . 要旨 喫 煙 の 生 体 に 対 す る 影 響 を 検 討 す る 目 的 で 、 1日 あ た り の 喫 煙 本 数 、 喫 煙 年 数 、 主喫たばこニコチン用量と、工)~コーメ -9 ーで測定した最大酸素摂取量、及び肥満度、血中 総コレステロール、中性脂肪の関係を多変量解析で分析した。 Nha ‑的 ワ︑ 同 ロ キ 最大酸素摂取量、喫煙、高脂血症、 R EGプロシジャ 喫 煙 の 生 体 に 及 ぼ す 影 響 を 検 討 す る 目 的 で 、 喫 煙 歴 の 各 因 子 (1日 あ た り の 喫 煙 本数=以下喫煙本数、喫煙年数、主喫た[まこコチン用量=以下ニコチン用量) と、エルコー 9ー で 測 定 し た 運 動 能 力 ( 最 大 酸 素 摂 取 量 、 最 大 運 動 能 力 ) 及 び 健 康 診 断 で 測 定 し メ‑ た各種検査項目(肥満度、総コレステロール、中性脂肪)を多変量解析で分析し、喫煙とこ れらの関係を検討した。 2 .方 法 2.1対象 ‑249‑
非 喫 煙 健 常 男 性 20人 ( 3 4 .1: : t6 .3歳)、喫煙健常男性8 1人 ( 3 9 .1: : t7 .3歳)。 2.2方 法 喫煙歴の問診、血中指質・肥満度の測定後、キヤツ卜 7 イ社製工 J~コーサイザー EC-1600 で、 最 大 酸 素 摂 取 量 (MOU)と 最 大 運 動 能 力 ( P W C )を 測 定 し た 。 問 診 の 結 果 、 上 記 検 査 結 果に関して、 SAS.Release 6.10で 統 計 処 理 を 行 っ た 。 喫 煙 群 ・ 非 喫 煙 群 聞 の 比 較 は paired t‑testで 、 多 変 量 解 析 は 総 当 た り 法 に よ る 重 回 帰 分 析 で 行 い 、 重 回 帰 式 の 当 て は ま り の 評 価 は MaIlowsの Cp統計量で、行った。 <解析プログラム例> PROC REG MODEL MOU =TCHO TG STOUT AGE / STB VIF SELECTIONニRSQUARE ADJRSQ C P ; RUN: PROC TTEST: CLASS SMOKING; VAR MOU PWC TG TCHO STOUT AGE; RUN; 3 .結 果 3 .1非喫煙群と喫煙群の比較(図1) 総コレステローJ~ は喫煙群で、有意に低下していた (pく 0.05) 。その他の項目では、喫煙群 と非喫煙群の聞に有意な差を認めなかった。 3.2単回帰分析(図 2 ) 最大酸素摂取量と相聞を認めたのは、総コレステロー JHpくO .005)、 肥 満 度 ( pくO .0 1 )、年 齢( pく0.05)で あ っ た 。 ま た 、 最 大 運 動 能 力 と 相 聞 を 認 め た の は 年 齢 ( pく0.05)、 喫 煙 期 間 ( pく0.05)、 総コレステロール ( pく0.05)であった。 ‑250‑
3 .3重回帰分析(表1) 最 大 酸 素 摂 取 量 と 最 大 運 動 能 力 を 目 的 変 数 と し た 重 回 帰 式 を 表 1に 示 す 。 有 意 で あったのは総コレス刊ー)~ .肥満度・年齢・中性脂肪を説明変数とした式であった ( R‑ square=0.1923)。さらに、有意であった説明変数は、総コレステロール ( p = O .0231)と肥満 度 (p=O.0339) であった。説明変数の重さは総コレス刊一)~・肥満度・年齢・中性脂肪の j[聞であった。 喫煙の各因子を説明変数とした重回帰式はいずれも有意ではなかった。 図 3に、最大酸素摂取量と総コレス刊ール、肥満度の関係を示した。右手前が低く、 左奥が高い関係が確認できる。 4 .結論 4 .1 群間比較および単・重回帰分析より喫煙と最大酸素摂取量の聞に統計学的に有 意な関係を認めなかった。 4 .2 単回帰分析・重回帰分析の結果より、最大酸素摂取量と関係が深いのは総コレステ ロールと肥満度であった。 最大酸素摂取量は有酸素運動の指標であり、それは主として循環系の酸素輸送 能力によって規定されている。さらに、この循環系の機能は左室の心拍出機能と Lコレステロールは動脈硬化巣 末 梢 の 酸 素 利 用 に よ っ て 決 ま る 1) 。また、血液中の過剰し D 形成の発端となり、総コレステロール 160mg/dl以上で冠動脈硬化の発症率が増加し、 220 mg/dlを越すと直線的に増加する事は知られている 2) 。従って、血中の余剰コレステロ ールが冠動脈に硬化をもたらす事により、心拍出量の低下を来たし、このために最 大酸素摂取量を低下させたものと考えた。 また、酸素消費とエネルギー出力が比例する事は知られている 1) 。 従 っ て 最 大 酸 素 摂取量の大きな個体はエネルギー出力も大きく、余剰なエネルギーがたまりにくいため肥 満しにくいのではないかと考えた。さらに、肥満によってもたらされた高コレス刊一 ← 2 5 1
)~血症が上記の幼ニf ムで最大酸素摂取量を低下させる悪循環が存在するのではない かと考えられた。 4 .3 昨年の本学会でも報告したが、喫煙群において、総コレステロールが非喫煙群に比して 有意に低かった。コレステロール食投与ウサギにおいて、喫煙がコレステロール代謝に影響を与え ている報告もあり 3) 、たばこ煙中ニコチンのコレステロール代謝への関与が示唆された。 5 .文 献 1)道場信孝:臨床対.ーツ心臓学,前田知矢 宇佐美暢久編集,朝倉書庖.5,1989. 2) コレステロー)~と動脈硬化の平行関係。 3 )慶 ) ' 1章子,浅野牧茂ら;コレステロール負荷ウサギの交感神経ならびに副腎機能におよぼす たばこ煙吸入の影響.動脈硬化 9;769‑774,1991. 図1 非喫煙群と喫煙群の最大酸素摂取量 (p=0.6187) 非喫煙群と喫煙群の総コレス刊ール (p=0.0485) 2 1 0 3 2 . 6 2 0 5 3 2 . 4 3 2 . 2 2 0 0 3 2 1 9 5 3 1 . 6 31 .6 1 9 0 31 .4 1 6 5 3 1 . 2 3 1 1 6 0 非喫煙群 喫煙群 非喫煙野 ‑252 喫煙群
図 3 最大酸素摂取量と総コレス?トjレ・肥満度 HMM川 U O 4 ~ J B 2 ) 3 4 0ー 総川 7 ルと最大酸素摂取量 図2 . ‑ . ' 0 0 1 1 n . M 守~早こ γT . ‑ y γ, I I 1 1 ¥ 0 110110110 I I I 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1ω110 1 1 1 I I I1 ! 0 1 1 0 1 1 1 1 1 1 ! 日 。 ~O~I ~t; 1 ~~ ,~H': i~・0I!261・ rrwo 年齢と最大酸素摂取量 肥満度と最大酸素摂取量 ' 0 0 1 1 1 1 ¥ 0 1 1 ) . l O 1 1 l ' " ‑ 1 1 . . g ω . . 1 0 ‑ ¥ 0 ¥ 0 3 r r ︐ a ︑ ︐ ︐ 3 E ea ・‑oR 2 • e EM 3 s ・ ‑253一 1 0 ) 0 1 1 ' 0 l .白 ~!~f~H~~.I~ml ~・1 川 "..tt/'l nf i 川 s ・ i l ︑ ︐ ・ I I O U 1 0 I t l 1 0
重回帰分析 表1 目的変数 重回帰式 1 直、()内は 左端の pは重回帰式の p 各回帰係数の pf 直 最大酷素摂取量 Y=49.319‑0.050総コレステロールー0.126肥満度一 0.173年齢 p = 0 . 0 0 0 9( pニ0 . 0 2 3 1 ) ニ0 . 0 3 3 9 ) ( p = 0 . 0 5 6 7 ) ( p 偏回帰係数 標準偏回帰 分 係 散 数拡大 R‑scuare Mallowsの Op統計量 係数 総コレステロール 肥満度 年齢 41 0コチン用量 喫煙期間 最大酸素摂取量 Yニ36.085‑0.191喫煙期間一 0.038喫煙本数 +0. 49 9 0 ) pニ0. pニ0 ( p = 0 . 8 3 5 7 ) . 3 1 9 3 ( p = 0 . 0 9 3 6 ) ( 喫煙本数 ニコチン用量 lM印Al 最大運動能力 Y=246.066ー 1 .124年齢一0 . 1 9 9総コレステロール + 0 . 1 1 0肥満度 p = 0 . 0 3 4 1 ) ( p = O . O O O l) ( p = 0 . 7 4 8 ) O. 0 8 9 ( p= 年齢 総コレステロール 肥満度 最大運動能力 Y=185.698ー1 . 3 0 5喫煙期間 +8. 490ニコチン用量一0 . 1 5 3喫煙本書 喫煙期間 p = 0 . 1 0 9 ( p = 0 . 0 3 0 ) ( p = 0 . 0 9 0 ) ( p = 0 . 6 0 8 ) コチン用量 喫煙本数 ‑0.2325 ‑ 0 . 2 1 5 6 ‑ 0 . 1 8 8 1 1 . 0 8 9 3 1 . 0 7 7 8 1 . 0 2 2 9 0 . 1 8 6 2 3 . 6 6 3 ‑ 0 . 1 9 0 . 0 4 4 3 4 0 . 0 2 3 3 1 . 0 0 9 8 1 . 0 0 2 3 1 . 0 0 8 6 一0.223 ‑ 0 . 1 6 8 1 0 . 0 3 4 3 1 . 0 2 2 9 1 . 0 8 9 3 0 . 0 3 4 2 0 . 0 8 7 7 3 一0.243 1 . 0 0 9 8 1 . 0 0 8 6 1 . 0 0 2 4 0 . 0 7 5 2 4 一0.0758 0 . 0 9 ‑ 0 . 0 5 6
日本 S A Sユーザー会 (SUG I‑J) M U L T T E S T j C A検定の P E R M =オプションについて 0新 城 博 子 西次男 クインタイルズ・アジア・インク 生物統計部 O n the permutation option i n the Cochran‑Armitage test of MULTTEST procedure Hiroko Shinjo and Tsugio N i s h i Biostatistics d e p t . Q u i n t il e s Asia I n c 要旨:二値反応の用量反応関係を調べるために、 C o c h r a n ‑ A r m i t a g e 検定が用いられる。 C o c h r a n ‑ A r m i t a g e検定は M U L T T E S Tプロシジャで利用でき、正確な確率を求めるためには、 P E R M =オプション が使われる。しかし、オプションの指定の仕方によっては、一部で正確な確率を計算しながら最終的 には正規近似を用いることになる。この近似の実用上の限界を調べるとともに、このオプションの解 説を行う。 キーワード:M U L T T E S Tプロシジャ、 C o c h r a n ‑ A r m i t a g e検定、 P e r m u t a t i o n =オプション 1.序文 医薬品の開発のステップとして、用量反応関係を調べる臨床試験は多くの場合に欠かせない重要なも のである。また、薬理試験や毒性試験においても、用量反応関係を調べることは必須の要件と言える。 反応が有効/無効や有害事象発現の有無などのような二値の場合には、 C o c h r a n ‑ A r m i t a g e検定が使 われることが多い。この目的のために、 S A Sのプロシジャには M U LT T E S Tが用意されている。 M U L T T E S T は多くの機能を持っており、その中の一つが C o c h r a n ‑ A r m i t a g e検定である。 次のような例題を考えてみよう。 計 L群 。 M群 H群 3 9 9 6 5 8 7 ; ! t 4 2 0 2 4 C o c h r a n ‑ A r m i t a g e検定を実行するためには次のようにコーデイングが行われる。 d a t aw o r k i n p u tg r pr e sc n t@@; c a r d s ; 109 110 206 211 305 313 r u n . Fhu nL EU
p r o cm u l t t e s td a t a = w o r k c l a s sg r p t e s tc a (r e s /u p p e r t a il e d) c o n t r a s t '1 i n e a r '‑ 1 01 f r e qc n t r u n, ここでは g r pが増加するにつれて r e s = 1の発現率が糟加するという片側対立仮説に対する検定を考え )として考えている。上記のコーデイングでは正規近 る。ここで、 L:M:Hの対比を(ー 1:0 :1 . 0 1 9 5となる。上記のような例題ではサンプルサイズも小さ 似を行うことになり、その結果 p値は 0 く、かつ発現率も小さい。このような場合には、周辺度数を固定した正確な結果と食い違うことが指 ﹃ ︒ ︑ν E 摘されている(浜田、吉田)。正確な計算を行うためには上記の t e s t文を次のように書き換えればよ t e s tc a (r e s /u p p e r t a il e dp e r m u t a t i o n = 4) . 0 4 3 5となり、正規近似に比べると 2倍以上になる。 その結果得られる p値は 0 p e r m u t a t i o n =オプションで、効果の有無や発現の有無の二値反応の合計の小さい方の数以上の値(上 の例では発現の合計の 4以上)を指定することにより、プロシジャは正確な p値を計算してくれる。 サンプルサイズが小さいときは、正確な p値を求めることは容易である。しかしながら、用量設定の 側近辺となると、と ための後期第 E祖臨床試験では、症例数は数百例となることもあり、有効率も 5 きとしてコンビュータのリソース不足のために、正確な p値の計算は実行不可能となることがある。 p e r m =オプションを指定しても、それが二値反応の合計の小さい方の数よりも小さいと、 S A Sは自動 的に最適な連続性の修正を行ってしまう。この連続性の修正はオプションで指定する値によっても変 化する。そこで、次のような疑問に答える必要がある。 Q:perm=オプションで選択された連続性の修正はどのようにして決められているのか? Q:p erm=オプションで指定する値はどの程度であれば実用上差し支えないか? 以上の 2つの疑問がこの論文をまとめるきっかけとなった。まず、最初の答えを示し、次に 2番目の 疑問に答えるためにいくつかの状況を設定して調べた結果を示す。 2. perm=オプションとは? p e r m =オプションで、二値反応の合計の小さい方の数以上の値を指定した場合には、 S A Sは p e r m u t a t i o nに基づく正確な p値を計算する。しかし、指定した値の方が小さいと、 SASはあるとこ ろまでは正確な計算を行うが、それらの結果を用いて最適な連続修正の係数を求め、その係数を用い た正規近似を行う。この最適化は W e s t f a1 1a n dLi n( 1 9 8 8 )が述べており、 S A Sは彼らが述べたとおり をプログラムで実現しているようである。先に示した例題を用いて説明する。試みに p e r m = 2と指定 し、次のようなコーディングを行う。 ‑256一
p r o cm u l t t e s td a t a = w o r ko u t p e r m = o u t c l a s sg r p t e s tc a (r e s/ u p p e r t a il e dp e r m = 2 ) c o n t r a s t '1 i n e a r '‑ 1 01 f r e qc n t r u n p r o cp r i n td a t a = o u t r u n 出力される結果は次のようになる。 T e s tf o rd i s c r e t ev a r i a b l e s : E x a c tp e r m u t a t i o nd i s t r i b u t i o nu s e d : E x a c tp e r m u t a t i o nd i s t r i b u t i o nu s e d : Z ‑ s c o r ea p p r o x i m a t i o nu s e d : C o n t i n u i t yc o r r e c t i o n( 1i n e a r ) : T a iI sf o rd i s c r e t et e s t s : S t r a t aa d j u s t m e n t ? C o c h r a n ‑ A r m i t a g et r e n d T o t a l s く= 2 T o t a l s> =S a m p l eS i z e‑2 E l s e w h e r e 0 . 5 6 2 3 1 U p p e r ‑ t ai1 e d N o M U L T T E S TC O E F F I C I E N T S C l a s s 2 3 C l a s s 2 1 .0 0 7 . 0 0 1 4 . 2 9 3 3 . 0 0 8 . 0 0 3 7 . 5 0 。 T e s t 1 i n e a r M U L T T E S TT A B L E S S t a t i s t i c C o u n t N P e r c e n t V a r i a b l e R E S 0 . 0 0 9 . 0 0 0 . 0 0 R a w ̲ p 0 . 0 4 4 9 T e s t 1 i n e a r O B S 2 3 4 5 6 7 8 9 T E S T 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r 1 i n e a r N A M E R E S R E S R E S R E S R E S R E S R E S R E S R E S T R E N D ‑ 4 一3 ‑ 2 。 2 3 4 T A I L P 0 . 9 9 7 9 1 0.98654 O .9 4 0 7 4 0 . 8 1 8 4 3 0.60172 O .3 4 6 8 7 0.14792 0 . 0 4 4 8 5 0.00942 最終的に S A Sは 0 . 5 6 2 3 1という連続性の修正係数を用いる正規近似を行って、 p値を求めている。で は 、 S A S内部ではどのようにして連続性の修正係数を求めているのか。 S A Sは二値反応の合計の小さ い方の数が perm=で、指定した値と閉じか小さいすべての分割表を扱う。この例題の場合には、次の 2 つの分割表を扱っている。もしも、男J Iの対比を指定すれば、それらの対比についても同梯に、二値反 2 5 7
応の合計の小さい方の数が p e r m =で指定した値と閉じか小さいすべての分割表を考える。 M群 百 十 8 2 3 2 4 し群 M群 H群 7 8 寸 7 H群 lTP‑nLSA ‑盲ロ︐ 4nLnL し群 一般に、群の数を G 、第 g群の症例数を N g、発現例数を R gとしよう。全体の症例数 N=LN gと全体 gとから、全体の発現率 Pr=R/Nが求められる。発現率 P rでの各群の期待発現例 の発現例数 R=LR gとすると、 TREND=LC gxR g、T R E N Dの期 数が Eg=PrxNgとして求められる。各群の対比係数を C T R E N D )= LC gxE gとなる。一方、分散の方は、 VAR=Pr( 1ー P r )xLN g ( C gー C a ) 2として求 待値は E( gxN g / Nである。 Zは g = lから Gまでの和である。 める。ここに Ca=LC 正規近似により片側の p値を求めるための検定統計量 Zは次式により求められる。 Z= (T R E N D̲E( TR E N D ) ̲c o)/VAR1/2 ここに C Oは連続性の修正係数である。 Zから上側 p値 P ̲ C Oを P R O B N O R M ( ‑ Z )によって求める。ここで、 E( T R E N D )と V A R は、発現の合計が異なる分割表では異なる値を取る。この例題では発現の合計が 1 のときは E ( T R E N D ) = ー0 . 0 4 1 6 7、V A R = 0 . 6 7 7 1 6であり、発現の合計が 2のときは E ( T R E N D ) = ‑ 0 . 0 8 3 3 3、 V A R = 1 . 2 9 5 4 3である。連続性の修正係数 C Oは、発現の合計に無関係に共通の値である。対比の係数 1 = ー1 、C 2 = 0、C 3 = 1である。 はC 判り易いように、連続性の修正係数を少しずつ変えて、どのように最適化が行われているかを見ょう。 C Oの値は Oについてと、最適に近いところでは 0 . 0 2刻みで、動かしている。このようにして求めら ̲ C Oの値は表 1に示されている。また、この表 1にはそれぞれの T R E N Dに対応する正確な れた Zと P P値 ( T A1 L P )も示されている。この p値は p e r m u t a t i o nにより求められた正確な p値である。 W e s t f a1 1 a n dLi nは連続修正をした結果の p値と正確な p値がなるべく近くなるように連続修正の係数を定め ればよいと考えた。 では、近さをどのような基準として実現させるかを見てみよう。通常はすべての取りうる値について 差の二乗和とか重み付き二乗和を最小にする基準(最小二乗法)や尤度の積を最大にする基準(最尤 e s t f a l la n dL i nはそのような基準を採用しなかった。彼らが採用した基準はミニ 法)が使われる。 W e r m =で定められた値 ( K )以下の発現合計 ( 1)を持つすべての分割表 マックス基準だった。すなわち、 p について、計算された正確な p値と(連続性の修正をした)正規近似の p値の差の絶対値に重みを付け Oを求めることになる。ここで説明の便のため た量の最大値が最小となるような連続性の修正係数 C / 2以下とする。 に、観察された発現の合計は N 重みについては彼らは次のような提案をしており、これもそのまま S A Sに取り入れられているようで 1)と正確な確率(TA1 L P )によって、次のように定められる。発現の合計 ある。すなわち、発現の合計 ( A I L Pが関心のある範囲にあれば重みを が多いほど重みは増すということで Wi=2X1とする。また、 T 258
表 1.連続性の修正を変化させたときの正規近似による p値と正確な p値 O B S C O 41EnHV41EnJ﹄41EnHV41EnJ﹄ ‑一一 41E41E41E41E41E41E41EFhv 41EnHV41Enf'‑41EnHV4EEnf'‑ 一一一 41E41E41E41E41E41E41EFhu 41EnHV41Enf'‑41EnHV41Enf‑ ‑一一 4lnU ‑‑‑ 41E41E41E41E41E41E41EFhv 41EnHV41Enf'‑41EnHV41EnJ﹄ 一一‑ 41E41E41E41E41E41E41EFhv 唱l n L 4 l n U 4 ! ? ﹄ 0 . 5 8 0 . 5 8 0 . 5 8 0 . 5 8 0 . 5 8 0 . 5 8 0 . 5 8 0 . 5 8 41E41E41E41E41E41E41EFhu ︐ ﹃ 41EnJ﹄内 一 w 凋 冒FhvFnv n M 一 v nmvnHuvnHunmvnmvnHunmvnM︾ 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 2 0 ηLnL?﹄凋且マ凋且マ凋且マ凋且マ凋且マ ﹃ ︐ ︐ ﹃ ︐ ︐ ﹃ ︐ ︐ 0 . 5 6 0 . 5 6 O .5 6 O .5 6 O .5 6 0 . 5 6 0 . 5 6 0 . 5 6 ηLnLnL凋且マ凋且マ凋且マ凋且マ凋且マ ︐ ﹃ F内VFnv nHuvnHunHV41Enf‑ FnvFnvFnvFnvFnv 9 7 9 8 9 9 1 0 0 1 0 1 1 0 2 1 0 3 1 0 4 ?﹄ηLnL凋且マ凋且マ凋且マ凋且マ凋且マ nHUV 0 . 5 4 0 . 5 4 0 . 5 4 0 . 5 4 0 . 5 4 0 . 5 4 0 . 5 4 0 . 5 4 η L n L n L 凋 且 マ 凋 且 マ 凋 且 マ 凋 且 マ 凋 U守 ︐ ﹃ 冒FhvFnv 0 . 5 2 0 . 5 2 0 . 5 2 0 . 5 2 0 . 5 2 0 . 5 2 0 . 5 2 0 . 5 2 R E N D W J T ηLnLnノ﹄凋且マ凋且マ凋且マ凋且マ凋且マ 41Enf'‑η 一 w 凋 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 W I PC O W E IA B S 1 . 1 6 4 5 8 1 . 0 0 0 0 0 ‑ 0 . 6 2 5 0 0 0 . 0 5 0 6 4 . 2 6 5 8 6 0 . 3 3 3 3 3 1 1 . 6 8 3 9 9 1 . 0 0 0 0 0 ‑ ‑ 0 . 8 0 5 3 9 0 . 8 6 9 5 7 . 0 7 3 2 1 0 . 6 4 1 3 0 0 . 9 5 1 8 2 0 . 3 0 4 3 5 0 . 8 3 0 4 2 0 . 1 0 1 4 5 1 0 . 8 7 7 9 1 0 . 4 7 9 8 1 0 . 1 0 2 7 8 0 . 9 5 3 9 1 O .7 8 9 7 0 0 . 4 7 0 8 2 0 . 1 7 0 5 9 0 . 0 3 3 5 9 0 . 2 4 4 1 9 0 . 2 9 0 3 9 0 . 4 6 1 1 0 0 . 1 8 4 3 7 0 . 3 1 9 4 7 0 . 6 8 1 9 3 0 . 5 3 5 0 2 1 .3 5 7 1 3 1 . 0 0 0 0 0 0 . 6 2 5 0 0 0 . 3 3 3 3 3 1 . 0 0 0 0 0 0 . 8 6 9 5 7 0 . 6 4 1 3 0 0 . 3 0 4 3 5 0 . 1 0 1 4 5 ‑ 1 . 7 9 6 4 9 ‑ 0 . 5 8 1 2 8 O .6 3 3 9 4 ‑ 2 . 1 4 0 8 7 ‑ 1 . 2 6 2 2 6 ‑ 0 . 3 8 3 6 6 0 . 4 9 4 9 4 1 . 3 7 3 5 5 0 . 9 6 3 7 9 0 . 7 1 9 4 7 0 . 2 6 3 0 6 O .9 8 3 8 6 0 . 8 9 6 5 7 0 . 6 4 9 3 8 0 . 3 1 0 3 2 0 . 0 8 4 7 9 0 . 0 7 2 4 2 0 . 1 8 8 9 5 0 . 1 4 0 5 4 0 . 0 6 4 5 7 0 . 1 0 8 0 1 0 . 0 3 2 3 4 0 . 0 2 3 8 8 0 . 3 3 3 1 8 1 . 0 0 0 0 0 0 . 6 2 5 0 0 0 . 3 3 3 3 3 1 . 0 0 0 0 0 0 . 8 6 9 5 7 0 . 6 4 1 3 0 0 . 3 0 4 3 5 0 . 1 0 1 4 5 ‑ 1 . 8 2 0 8 0 ‑ 0 . 6 0 5 5 8 0 . 6 0 9 6 4 ‑ 2 . 1 5 8 4 4 ‑ 1 . 2 7 9 8 4 ‑ 0 . 4 0 1 2 3 0 . 4 7 7 3 7 1 . 3 5 5 9 8 0 . 9 6 5 6 8 O .7 2 7 6 0 0 . 2 7 1 0 5 O .9 8 4 5 5 0 . 8 9 9 7 0 0 . 6 5 5 8 8 0 . 3 1 6 5 5 0 . 0 8 7 5 5 0 . 0 6 8 6 4 0 . 2 0 5 2 1 0 . 1 2 4 5 6 0 . 0 6 1 7 9 0 . 1 2 0 5 1 0 . 0 5 8 3 0 0 . 0 4 8 7 9 0 . 2 7 7 9 3 1 . 0 0 0 0 0 0 . 6 2 5 0 0 0 . 3 3 3 3 3 1 . 0 0 0 0 0 0 . 8 6 9 5 7 0 . 6 4 1 3 0 0 . 3 0 4 3 5 0 . 1 0 1 4 5 ‑ 1 .8 4 5 1 0 ‑ 0 . 6 2 9 8 8 0 . 5 8 5 3 3 ‑ 2 .1 7 6 0 1 ‑ 1 .2 9 7 4 1 ‑ 0 . 4 1 8 8 0 0 . 4 5 9 8 0 1 . 3 3 8 4 0 0 . 9 6 7 4 9 O .7 3 5 6 1 0 . 2 7 9 1 6 O .9 8 5 2 2 0 . 9 0 2 7 5 0 . 6 6 2 3 2 0 . 3 2 2 8 3 0 . 0 9 0 3 8 0 . 0 6 5 0 2 0 . 2 2 1 2 3 0 . 1 0 8 3 4 0 . 0 5 9 1 1 0 . 1 3 2 7 4 0 . 0 8 4 0 8 0 . 0 7 3 9 2 0 . 2 2 1 3 5 1 . 0 0 0 0 0 0 . 6 2 5 0 0 0 . 3 3 3 3 3 1 . 0 0 0 0 0 O .8 6 9 5 7 0 . 6 4 1 3 0 0 . 3 0 4 3 5 0 . 1 0 1 4 5 ‑ 1 .8 6 9 4 1 ‑ 0 . 6 5 4 1 9 0 . 5 6 1 0 3 ‑ 2 . 1 9 3 5 8 ‑ 1 .3 1 4 9 8 ‑ 0 . 4 3 6 3 8 0 . 4 4 2 2 3 1 . 3 2 0 8 3 0 . 9 6 9 2 2 O .7 4 3 5 0 0 . 2 8 7 3 9 0 . 9 8 5 8 7 0 . 9 0 5 7 4 O .6 6 8 7 2 0 . 3 2 9 1 6 0 . 0 9 3 2 8 0 . 0 6 1 5 7 0 . 2 3 7 0 1 0 . 0 9 1 8 8 0 . 0 5 6 5 3 0 . 1 4 4 6 9 0 . 1 0 9 6 7 0 . 0 9 9 2 5 0 . 1 6 3 4 2 T A I L P 一2 5 9 ‑ Z
増すようにするため、通常は Wj=l で、もし 0.001 豆 TAILP 豆 0.2 なら Wj=5 、もし 0.01 豆 TAILP~O. 1 なら W j=10とする。このようにして定められた重みを用いて、次式で求められる WEI̲ABSの最大値を 最小とする C Oを求めることになる。 W E I ̲ A B S = W ixWjx! P ̲ C O‑T A I L P ! A Sの内部でどのようなアルゴリズムが用いられているかは知らない。しかし、 C Oを求めるための S 我々の関心はアルゴリズムにはない。 3. perm=オプションで指定する値は? U L T T E S T C o c h r a n ‑ A r m i t a g e検定に用いたデータ 表 2. M 図N o . 発現例数 1群あたり 言 十 発現率 E x a c tP 例数 L群 。 M群 。 H群 3 3 5 .0 0 首 . o0333 2 5 8 1 3 . 3 3首 0 . 0 5 2 2 6 1 0 2 0 3 3 . 3 3相 2 5 8 5 . 3 3首 [1J 2 0 [2J 2 0 [3J 2 0 [4J 5 0 [5J 5 0 4 6 1 0 2 0 1 3 . 3 3相 . o0329 . o0596 . o0530 [6J 5 0 1 5 1 8 2 4 5 7 3 8 .0 0覧 0 . 0 4 0 2 [7J 1 0 0 4 6 1 0 2 0 6 .6 7首 . o0595 [8J 1 0 0 1 5 1 8 2 4 5 7 唱 1 9 . 0 0 0 . 0 6 2 9 [9J 1 0 0 2 8 3 0 4 0 9 8 3 2 .6 7首 0 . 0 4 1 6 4 結果の p値を正確な p値に近づけるために、 p e r m =のオプションをどう設定すればよいのか、 1群 0例 /50例 /100例の 3パターンで、用量を L 群 /M 群 / H群とした 2x3表のデ あたりの例数を 2 ータを 9通り設定した。 (r 表2 .M U L T T E S TC o c h r a n ‑ A r m i t a g e検定に用いたデータ」参照) 例として、図 N o .[1]の 2x3分割表の例を下に示す。 図N o .[ 1]の分割表 ︑ ︽ ' ﹁ ︐ ︐ ︐ ﹁ H群 計 nHV hJvnhu 3 一行一却 M群 o 一却一却 ﹄ 包 ・ 44 フ O 一却一却 zy Z 現 日発計 L群 上記のデータで、 p e r m u t a t i o nの値を 1から二値反応の合計の少ない方の数まで、すべてを繰り返し 指定し、正確な p値 C E x a c tP )に近づくまでの推移をグラフにした。 (r 図. p e r m u t a ti o n値による p値の推移」参照) 正規近似の連続修正あり ( C O = 0 . 5 )の p値 i まx軸の目盛 p e r m = O上に載せ、 y軸の p値の目盛は 0 . 0 0 1 ‑260‑
。 .056 0 . 0 0 9 [1]20症 例 0 . 0 3 8 。 . ( 忘S 0 . 0 5 4 。 田S 。α謁 。 . 0 5 3 。α34 o.αz 。 . ( 淀 担 0 . 0 3 4 価 0 . ( 回 個 。032 。 活 0 . ( 0 . 0 出 o . α担 。 倒9 0 . 0 3 0 0 . 0 3 1 0 . 0 4 8 0 . 0 2 9 0 . 0 0 0 0 . 0 4 7 0 . 0 2 8 坦 0 . 0 0倒 @ 0 . 0 2 7 012345678 p e r 2 1 0 pe 何n‑ 胃 、 = [4 ]50症 例 0 . 0 回 [6 ]50症 例 [5 ]50症 例 0 . 0 国 0 . ( 焔2 日 0 . 0 0 . 0 4 2 0 . 0 6 1 。.054 。 . 0 4 1 。 . 0 出 0 . 0 0 0 p 。 。 曲 値 。 。 曲 0 . 0 4 0 p 。052 値 0 . 0 甜 0 . 0 6 1 国 8 o . 0 . 0 6 7 田 0 . 0 。 回7 国 0 . 0 o . 倒8 回6 o . 0 . 0 5 5 。048 0 . 0 3 5 0 . 0 5 4 凶7 O . C 0 . 0 3 4 1 0 0 1 2 3 4 5 6 7 8 凶 ' " ' 、 = 20 1 0 E樋野m‑ E 0 . 0 倒 [8]100症 例 0 . 0 白 o . 但 . . 0 . 0 6 1 嗣 0 . 0 o . 倒3 0 . 0 回 0 . 0 曲 p 0 . 0 6 9 1 1 櫨 値 0 . 0 4 1 栂1 0 . ( 0 . 0 4 0 0 . 0 6 7 。 。 曲 0 . 0 甜 0 . 0 田 0 . 0 曲 0回8 日 0 . 0 o . 白8 。α37 0 . ( お7 1 0 凶 ' " ' 、 . E 20 60 0 . 0 4 2 p 。062 0 . 0 6 8 0 . 0 日 50 [9]100症 例 。凶│ 0 . 0 母 p 20 30 40 pe 何n‑ 0 . 0 4 8 0 . 0 0 7 [7]100症 例 。舗 田 0 . 0 20 伺. . o . 0 . < J 5 7 0 . 0 制 { 直 0 . 0 3 3 p 0 . ( 回3 何n‑ pe p [3 ]20症 例 。α">7 p 憧 0 . 0 3 7 [2 ]20症 例 0 . 0 3 6 o 1 0 20 30 40 50 回 ・ E樋野m 図.M U L T T E S TC o c h r a n ‑ A r m it a g e検定 p e r m u t a t i o n値による p値の推移 ( p e r m = Oは正規近似の連続修正あり) ‑261‑ ,, o 1 0 203040 50 6Q 7080割 J100 pe 何n ・
安 J l みで表わした。図を見ると、ここで設定したすべての場合について正規近似の連続修正ありの p 値は、正確な p値 (Exact P )からく 0.0015 しか違わず、さらに perm=10で、正確な p値からく 0.0005 しか違わない充分に近い p値が得られていることが分かる。したがって 3群で直線的な対比を用い る場合は、 p値の精度に対する要求にもよるが、通常は 1群あたりの症例数と全体的な発現率に関 係なく perm=10を指定すれば、正確な p値に近い p値が得られるといえる。 4 . 考察 これまでは正確な p値に近い p値を得るために、どのような perm=の値を指定すればよいかを見てき た。ここで正確であることと正しいということを区別しておく必要がある。 permutationによる p値 は正確である。しかし、その正確な p値が正しいのは、すべての周辺分布が与えられたという条件の 下であることに留意したい。この両周辺固定の条件下では多変量超幾何分布に従う正確な確率計算 (permutati o nに基づく計算)は正しい値を与える。しかし、この条件が成立たない場合には、多変量 超幾何分布に基づく p値はもはや正しいとは言えない。両周辺固定以外に考えられるのは、 G個の周 辺が固定された場合であり、それは G個の独立な二項分布となる(形式的には反応の方の周辺が固定 される 2つの多項分布も考えられる)。 両周辺固定と片周辺固定のいずれが現実のデータに適しているかについては、議論のあるところであ s h e r ' s exact る。この議論は、 2x2分割表の独立性の検定で、連続修正なしの x2検定を使うか、 Fi 2 検定を使うかという議論と同様である。 2x2 分割表の場合には、 2つ test あるいは連続修正の x の独立な二項分布の正規近似から導かれるのが連続修正なしの x2検定であり、超幾何分布から導か i s h e r ' s exacttestである。いずれが適切かという問題に答えるのはなかなか困難である。 れるのが F それは多くの場合に、現実のデータが独立な二項分布から発生しているか、超幾何分布から発生して いるかを知る手段がないからである。 Cochran‑Armitage検定の場合も 2x2分割表の場合と同様の困難がある。すなわち、多くの場合に現 実のデータが独立な G個の二項分布から発生しているか、多変量超幾何分布から発生しているかを知 る手段がない。以上の議論を踏まえた上で正確な p値を求めようとする場合には、 3節で示した perm=10の選択は、一つの目安として使うことができょう。 参考文献 1 . W e s t f a l l, Peter H . and しi n, Y . ( 1 9 8 8 ),E s t i m a t i n g o p t i m a l c o n t i n u i t y c o r r e c t i o n s i n 山n roceedingso ft h eS t a t i s t i c a lComputingS e c t i o n, American S t a t i s t i c a lA s s o c i a t i o n, New time,P orleans, 297‑298 2 浜田、吉田 ( 1 9 9 2 )MULTTESTプロシジャの紹介、 SAS User Group International‑Japan9 2論文集 .357‑370 ‑262‑
日本 S A Sユーザー会 (SUG I‑J) 各種の分割実験および経時測定データの解析 高橋行雄 日本ロシユ(株)・臨床統計解析部 S t a t i s t i c a lAn a l y s i sf o rS p l i t ‑ p l o t sExperimentalDesign andRepeatedMeasures YukioTakahashi MedicalB i o s t a t i s t i c sPDNC,NipponRoche 要旨 リリース 6 . 1 0で MIXEDプロシジャに自由度の調整オプションの追加が行われ、小規模な混 合モデル実験の解析をより適切に行えるようになった。さらに、平均値の差について多重比較 のためのオプションも追加され、きめ細かな解析が簡単に行えるようになった。とはいえ、 MIXEDプロシジャは GLMプロシジャを包含する様々な機能を持っており、ーすしたパラメー タの使い方の違いによる誤用の恐れがある。そこで、ランダム化の手順により様々に変化する 分割実験の型とそれに対応する MIXEDプロシジャの基本的な使い方とを対応ずけた。さらに、 経時測定データについて、分割実験の型と対比させながら標準的と思われる解析事例を示した。 キーワード: MIXEDプロシジャ、経時測定デー夕、分割実験 1 . はじめに SASのリリース 6 . 0 7より MIXEDプロシジャが提供される以前は、各種の分割実験のデータ ) 。しかしながら GLMプロシジャは、 の解析に、 GLMプロシジャを万能的に使用してきた 1 複数の誤差を包含する各種の線形推定量に対しては、高次の誤差しか使わないために、水準聞 の差の検定で、結果が過大評価される場合が頻発するという問題が内在している。これを回避 するためには、 「手計算」による分散の合成、および自由度の計算が必要となり、実用性に問 題がある。 GLMプロシジャの REPEATEDステートメントを用いれば、経時測定データの解析ができる ように思われるかもしれないが、多変量分散分析の流れを汲む手法であるために、欠測値を持 つオブザベーションが自動的に取り除かれてしまうことが問題である。個体間誤差と個体内誤 u y n h ‑ F e l d tなどの自由度の調整をした分散分析を作成してくれるなど良い面も 差を分離し、 H あるが、各種の水準聞の差の検定に個体間誤差と個体内誤差を考慮してくれる訳ではない。細 かな検討を行う場合には、分割実験モデルにて解析する必要が出てくるのであるが、すでに述 ‑263
べたように、この方法は問題の本質的な解決にはならない。 各種の分割実験に対するリリース 6 . 0 7の MIXEDプロシジャの評価 2) を行った結果、複数 の誤差構造を持つ各種の分割実験に対して MIXEDプロシジャは適切な分散分析表の作成、複 数の誤差を含む線形推定量に対しても適切な誤差を合成していることが確認できた。しかしな がら、その検定に際し、誤差の自由度を常に最高次の誤差の自由度としていおり、小規模の実 験データの解析においては、結果が過大評価(有意差が出やすい)されると言った問題が残さ れていた。 経時測定データの解析に対しても MIXEDプロシジャは、 GLMプロシジャ流の多変量分散分 析の流れではなく、固定効果と変量効果をはっきりと区別した混合モデルとなっており、個体 問誤差と個体内誤差を含む線形推定量に対しても適切に誤差を合成していることを確認した 3 )。 しかしながら、分散分析表においても、誤差の自由度に、固定効果の自由度だけを除いただけ の自由度を誤差の自由度に使っており、結果がいつも過大評価(有意差が出やすい)ことが問 題であり、実務に使うことにためらいがあった。 さて、リリース 6 . 0 8、6 . 0 9とマイナーな改良、リリース 6 . 1 0において抜本的な改良がなされ、 ょうやく MIXEDプロシジャを実用的に使えるようになってきたの。とはいえ、 MIXEDプロ シジャは GLM プロシジャを包含する様々な機能を持っており、一寸したパラメータの使い方 の違いにより、全く異なる結果が出てくる。しかも、使っている人は全く気づかないという統 計パッケージの誤用の典型例が頻発する恐れがある。 そこで、典型的ないくつかの事例を通じて、 MIXEDプロシジャの適切な使い方のベースを示 したい。 2 . MIXEDプロシジャの改良 リリース 6 . 1 0における MIXEDプロシジャに対する追加、変更のキーポイントは、次の如く である。 1 ) MODELステートメントにおける次のオプションの追加。 DDFM=RESIDUAL DDFM=CONTAIN DDFM=BETWITHIN DDFM=SATTERTH 特に、 DDFM=SATTERTHの使用により、複数の誤差が関与している線形推定値の誤差の 自由度の調整が行えるようになった。 2 ) LSMEANSステートメントにおける次のオプションの追加。 ADJUST ‑264‑
DIFF SLICE マニュアル的な表記では素気ないが、これらの機能を使うことにより、 MIXEDプロシジャ を実務で使うことが障措われた問題がほとんど解決できる。 MODEL ステートメントにおける DDFM オフションは、 t h e̲ Qenominator. Q e g r e eo f FreedomwithModelの略であり、 MODEL、CONTRAST、ESTIMATE、および LSMEANS ステートメントにおける固定効果に対する検定に影響する。 DDFM=RESIDUALオプションの指定は、 X を固定効果のデザイン行列、 n をオプザベーショ ‑rank( 却とする。従って、 ン数としたときに、各種の検定にたいして誤差の自由度を n RANDOM ス テ ー ト メ ン ト で 指 定 し た 変 量 効 果 の 自 由 度 は 、 誤 差 の 自 由 度 に 含 ま れ 、 REPEATEDステートメントの SUBJECTステートメントで指定する個体の自由度も、同様に 誤差の自由度の自由度に含まれることになる。低次の誤差の自由度がある一定 ( 1 0 0以上)とな . 0 9以前の るような場合には、このオプションでも近似的には差し支えないだろう。リリース 6 MIXEDプロシジャの REPEATEDステートメントでは、このオプションと同じ結果になって いることに注意されたい。 DDFM=CONTAINオプションは、 R必 m O Mステートメントにより生成される変量効果を含 ‑rank(XZ )とする。ただし、ある固定 むデザイン行列を Z としたときに、誤差の自由度を n 効果 A に対する誤差は、それを含む変量効果のうち最小のものが用いられる。リリース 6 . 0 9以 前の MIXEDプロシジャは、このロジックを使用しており、各種の分割実験に対して適切な分 散分析表が作成されていた。ただし、合成した誤差を使用する各種の線形統計量の検定の場合 には、最高次の誤差の自由度を使っており、誤差の自由度が小さい場合には、常に検定の結果 が過大評価されると欠点があった。もちろんリリース 6 . 1 0以後であっても、このオプションを 使えば同じ結果となる。 DDFM=BETWITHINオプションは、 REPEATEDステートメントを使用した場合のディフォ ルトで、 b e t w e e n ‑ w i t h i nの略で、個体間一個体内と言う意味で、様々な検定あるいは推定であ る。固定効果の検定に個体間誤差と個体内誤差を考慮して用いることを指示している。ただし、 各種の平均値の差の推定の自由度については、個体内誤差の自由度のみが用いられていて、小 規模な実験データの解析には問題である。 2 6 5
DDFM=SATTERTHオプションは、合成した誤差分散の自由度の調整に S a t t e r t h w a i tの近似 式を使用している。 CONTRAST 、 ESTIMATE、および LSMEANSステートメントにおける固 定効果に対する検定が、このオプションを使用することにより適切にできるようになった。 ADJUSTオプションは、 LSMEANSステートメントの新しいオプションで、多重性を考慮し た様々な平均値の差にたいして P値の調整を正確に行う。 ADJUST=BON ADJUST=DUNNETT ADJUST=SCHEFFE ADJUST=SIDAK ADJUST=SIMULA TE<( o p t i o n s ) > AD瓜 JST=SMMIGT2 ADJUST=TUKEY DIFFオプションは、平均値の差取り方を指示する。 DIFF=ALL ニC ONTROL( 水準名、... ) DIFF DIFF=CONTROLL DIFF=CONTROLU 例えば、 DIFF=CONTROL( TO')と ADJUST ニ BONなどのようにすれば、投与前値と各時点 との検定にダネットの多重比較のみならずポンフエロニの多重比較も可能となる。もちろん DIFF=CONTROL( TO')と ADJUST=TUKEYと理論的に不合理となる組み合わせは拒否さ れる。 SLICE=fixed‑ e f f e c tオプションを使うことにより、例えば、各群により経時変化のパターンの 違いがあった場合に、各時点毎の F検定が一括して行えるようになる。これまでは、 CONTRAST ステートメントによる気の遠くなるようなコーデイングはしなくて済むようになり、群が 2群 であれば、この検定は 2群聞の差の検定に一致する。ただし、多重性は考慮されないので注意 が必要である。 ‑266‑
3 .各種の分割実験モデル 表 1に示すような 2因子の実験結果が示されているとしよう。このような実験結果を得る分 割実験モデルは数多くある。 表 1 整理された実験データ R B1 B2 B3 B4 R1 R2 1 2 . 3 .7 11 1 3 . 9 1 2 . 7 1 5 . 0 1 3 . 0 1 3. 4 A2 R1 R2 1 5 . 5 1 3 . 9 1 4 . 8 1 3 . 3 1 5 . 2 1 4 . 3 14. 4 1 3 . 6 A3 R1 R2 1 3 . 9 1 4 . 0 1 3 . 3 1 3 . 2 1 4 . 3 1 3 . 5 1 2 . 8 1 2 . 8 A1 1 5 . 0 1 ) 完全ランダム実験 24 回のデータ全てがランダムな順序で行われている。実験計画法の教科書的な場合で ある。実際には、このような例は希である。この場合、 R は単なる整理番号と見なす。 2 ) 測定の繰り返し 因子 A と因子 B の組み合わせによりランダム化が 12回行われ、それぞれのセル内で測 定などが連続して 2回行なわれる。この場合も、 R は単なる整理番号と見なされる。 3 ) 反復実験 繰り返しのない 2因子完全ランダム実験を 2回繰り返す。この場合、 R は反復となる。 反復 R1について、因子 A と因子 B の組み合わせによりランダム化が 12回行われ、次 に、反復 R2について同様にランダム化が 12回行われる。 4 ) 1段分割実験 因子 Aの水準をランダムに選び、その中で因子 B の 4水準についてランダムに実験を 行う。それを 6回繰り返す。この場合に R は、因子 B をくくるブロック因子と見なさ れる。なお、因子 B の方向でランダム化することもできるが、この場合には、因子 B について繰り返しが無くなり因子 B についての検定ができなくなり、実験計画として 良くない例となるので、因子 B の各水準に繰り返しが入るようにすることが望ましい。 また、 R の水準に対応はないことに注意してもらいたい。ブロックの番号として R1、 R2、 、 R6とするほうが望ましいが、説明の都合で割愛した。 5 ) 反復のある 1段分割実験 反復実験と 1段分割実験を組み合わせる。因子 A の水準をランダムに選ぴ、その中で 因子 B について 4回ランダムに実験を行う。因子 Aの 3水準について一当たり済ませ、 反復 R1とする。更にもう 1回繰り返し、反復 R2とする。因子 B を始めにランダム化 することもできる。 ‑267一
6 ) 二方分割実験 因子 A 方向にランダム化を 6回行い、それぞれ 4個のテストピースなどをまとめて作成 し、合計 2 4個テストピースを作成する。次に、因子 B についてランダムに水準を選び、 因子 A のそれぞれの水準で作成されたテストピースを 6個選び、まとめて実験する。因 子 B から初めても解析方法は同じとなる。 7 ) 反復のあるこ方分割実験 反復実験と二方分割実験を組み合わせる。 整理された実験結果の裏には様々なランダム化のプロセスが隠されている。それぞれの実験 モデルに適合した分散分析が必要となる。もしも、この間にミスマッチがあれば、結果が全く 異なってしまう。もちろん MIXED プロシジャの使い方も異なるわけで、これらの様々な実験 モデルに対して、基本的には、 MODELステートメントと RANDOMステートメントで取り上 げる因子によりコントロールする。表 2 に示すように、ほんの僅かの因子の組み合わせの違い により対応する実験モデルが全く異なることに注意をしてもらいたい。 表 2 様々な分割実験に対する変量効果 実験 MODEL RANDOM Rの モデル ステートメント ステートメント 役害1 1 ) 完全ランダム実験 A B AB なし なし 2 ) 測定の繰り返し A B AB 女 なし 3 ) 反復実験 A B AB R 反復 4 )1段分割実験 A B AB 5 ) 反復のある 1段分割実験 A B AB 6 ) 二方分割実験 A B AB 7 ) 反復のある二方分割実験 A B AB 女 女 女 女 R ブロック RA 反復 合 RA RB ブロック RA RB 反復 合 女 女 R*A R 合 合 合 MIXEDプロシジャでの、反復のある 1段分割実験に対するプログラムは次のようになる。この 結果、および他のモデルに対する適応例は、文献 2を参照してもらいたい。 PROC M工XED ; class RA B ; model Y = A B A*B / ddfm=sa七七 erth random R R*A ; ‑268‑
4 . 1群の経時測定データの解析 経時測定データと言っても様々であり、ここではヒトを対象とした医薬品開発の過程で、あ る一定間隔で計測するようなデータを対象とする。最もポピュラーなデータは、表 3に示すよ )。 うな薬剤投与中の臨床検査データの推移である 3 表 3 l群の臨床検査データ 被験者 ID1 ID2 ID3 ID4 ID5 ID6 算術平均 MO 7 0 1 2 5 4 2 8 1 7 4 9 8 81 .7 M1 M2 6 5 8 0 6 3 1 0 7 8 3 . 3 M3 M4 40 9 0 3 1 7 0 6 0 5 6 . 5 7 3 8 5 8 2 . 7 2 0 7 2 40 4 3 . 0 このデータは、ある薬物投与後の血中の GOTを 6名の被験者に対しておおよそ 2カ月ごとに 測定した結果である。被験者 ID2と ID6は、投与後の測定が 1カ月ごとになり、その後は 2カ 月ごととなっている。この結果から、ある薬物の GOTにおよぽす影響があるか否かを検討する としよう。投与前と投与後の平均値の差の t検定を行えば明らかに有意な差となるが、経時的 な算術平均は、この 2例の影響により大きく上下しているので、これからでは判断できそうも ない。欠測値を適切に処理した上で経時的なプロファイルを知りたいような場合に MIXED プ ロシジャが有益である。基本的な使い方について示す。 解析のモデルは、被験者をブロックとする乱塊法と見なして解析する。 Program1 に示すよ うに CLASSステートメントでブロック因子(個体因子 )IDと経時因子 M を指定する。 MODEL ステートメントでは、個体因子以外の因子(この例では、経時因子 M のみ)、自由度の計算の オプション DDFM=BETWITHINを指定している。このオプションは、個体間 個体内と言う 意味で、固定効果の検定に個体間誤差と個体内誤差を識別して用いることを指示している。こ の例では、経時因子 M が固定因子であり、誤差には個体内誤差が用いられる。 REPEATED ステートメントは、通常の使用法ではオプションのみの指定となり、個体因子 ID を SUBJECT= ID と与え、 TYPE=CS と 経 時 因 子 内 の 分 散 共 分 散 構 造 と し て CS : Compound‑Symmetry、分散が一定かつ共分散も一定となるような構造を指定する。他にも多 くの分散共分散構造の指定ができるが、それを特定することは、かなり厄介なので、通常の臨 床試験で対象としているような分野では、標準的には TYPE=CSの使用を薦める。もちろん、 経験的あるいは過去のデータより他の構造が特定できている場合には、もちろん、それを使用 2 6 9
すべきである。 LSMEANSステートメントは、リリース 6 . 1 0より新しい機能が追加され、ここで用いている DIFF お よ び ADJUST オ プ シ ョ ン も 経 時 デ ー タ の 解 析 に 威 力 を 発 揮 す る 。 DIFF= CONTROL(MO') は、投与前 MOを基準として他の全ての時期との差について比較するように 指示し、 ADJUST=DUNNEτ寸は、比較に際して Dunnett タイフ。の多重性の調整を行った P 値も併せて出力するように指示している。主要な出力結果を示すと共に、結果の解釈について 解説する。 / *M I X 0 3* / HM ηa ︐ 回 ︐ ︐ 咽 ︐ .4 q HM ︐ . E4 14nunU U川 ηanjpo au u nHv ''a ・ ' 品nu M Y ・' n D hu'QM 7i+ιe =+ιunnURυnLti4qO0 u D ・ 1 弓ーのLAUAOO弓j q d tMP t・ 'll tiunua ・ hup‑‑0 d t n︐ ona ‑‑i GEAU i LqdAUAFbRu 可 nd 一 一一一一一 +ゐhunununununμ ayiyiyiyiyly‑‑ ︐ 同U ︐ . Programl a 1群の経時変化 ・ ' ︒ 6 5 7 3 1 0 7 8 5 ハHvn ノハ Hv ︐ 6 3 4 0 nrun‑44 9 0 p r o cm i x e dd a t a = d 1 i n f o c l a s s I D M; m o d e l Y=M/d d f m = b e t w i t h i n: r e p e a t e d (s~~~ect=ID t y p e = c s l s m e a n s M /d i f f = c o n t r o l ( ' M O ' ) a d j u s t = d u n n e t t ; Program1 b p r o cm i x e dd a t a = d 1 i n f o c l a s s I D M; m o d e l Y=M/d d f m = c o n t a i n r a n d o m I D ; I s m e a n s M /d i f f = c o n t r o l( ' M O a d j u s t = d u n n e t t; r u n, 注) Program1 a と Program1 b は全く同じ結果となる。 ‑ 2 7 0 ←
Output 1 血e t e rE s t i m a t e s( R E M L ) C o v a r i a n c eP a r a C o vP a r m R a t i o D 1 A G岱 R e s i d u a l E s t i m a t e Z Pr> I Z I S t dE r r o r 5 . 3 9 9 1 4 8 8 8 6 0 8 . 1 0 6 6 6 6 0 7 4 2 8 . 5 7 3 2 1 1 3 6 1 . 0 0 0 0 0 0 0 0 1 1 2 . 6 3 0 0 9 7 6 6 5 1 . 3 7 8 6 6 8 9 4 1 . 4 2 2 . 1 9 0 . 1 5 5 9 0 . 0 2 8 4 T e s t so fF i x e dE f f e c t s N D F D D FT y p e1 1 1F P r>F S o u r c e M 4 1 0 3 . 9 0 0 . 0 3 6 7 L ea s tS q u a r e sM e a n s L ev e l 凶 阻A N MM O MM 1 2 MM MM 3 MM 4 .6 6 6 6 6 6 6 7 81 6 4 . 5 9 9 3 0 1 6 3 6 9 . 4 1 9 2 8 6 9 0 6 3 . 9 3 2 6 3 4 9 7 5 5 . 9 1 9 2 8 6 9 0 S t dE r r o r D D F 1 0 . 9 6 0 0 5 4 4 7 1 2 . 1 8 7 6 7 3 7 1 1 1 .5 9 0 1 2 9 0 8 1 2 .1 8 7 6 7 3 7 1 1 .5 9 0 1 2 9 0 8 1 T I T Pr> I 1 0 1 0 1 0 1 0 1 0 7 . 4 5 5 . 3 0 5 . 9 9 5 . 2 5 4 . 8 2 0 . 0 0 0 1 0 . 0 0 0 3 0 . 0 0 0 1 0 . 0 0 0 4 0 . 0 0 0 7 ea s tS q u a r e sM e a n s D i f f e r e n c e so fL e l1 L ev e l2 L巴v D i f f e r e n c e ハ Uハ Uハ Uハ U HMMMHMHM MMHMHMHM よワ uqJdA2 1 M川MMHMHM HMHMHMHM ‑ 1 7 . 0 6 7 3 6 5 0 3 ‑ 1 2 . 2 4 7 3 7 9 7 7 ‑ 1 7 . 7 3 4 0 3 1 7 0 ‑ 2 5 . 7 4 7 3 7 9 7 7 S t dE r r o r D D F 8 . 1 2 1 5 7 3 8 8 7 . 1 9 3 8 6 2 9 5 8 . 1 2 1 5 7 3 8 8 7 . 1 9 3 8 6 2 9 5 T Pr> I T I A d j u s t m e n t 1 0 ‑ 2 . 1 0 1 0 ‑ 1 .7 0 1 0 ー2 . 1 8 1 0 ‑ 3 . 5 8 0 . 0 6 1 9 D u n n e t t ‑ H s u 0 . 1 1 9 5 D u n n e t t ‑ H s u 0 . 0 5 3 9 D u n n e t t ‑ H s u 0 . 0 0 5 0 D u n n e t t ‑ H s u A d jP 0 . 1 1 5 0 0 . 2 1 0 9 0 . 1 0 1 0 0 . 0 1 0 5 1 ) CovarianceParameterEstimates(REML) の Estimateの欄に、個人間の分散 608.106と 個人内の分散 112.630が示されている。これらの平方根 24.7 と 10.6がそれぞれの SD とな り、個人間の SDに比べて個人内の SDは、約 2/5であることが示されている。 2 ) Testso fFixedE f f e c t sの P値から、時期因子 M が 0.0367と、時期全体の変化が有意な差 となっていることカfわかる。 3 ) LeastSquaresMeansからは、欠測値の影響を取り除くような計算手順(求められた固定 効果についての推定値の線形結合 L s) による平均値 (LSMEAN)が示されている。付随し ている標準誤差は、時期ごとの SE には個体間と個体内の分散が合成されており、個体内の 分散しか考慮しない GLMプロシジャと異なることに注意されたい。 DDFM=B1TW1TH1Nオ プションにより、誤差の自由度が一律に 10となっている。 4 ) Differenceso fLestSquaresMeansには、 DIFF=CONTROL(MO') で指定した結果とし て投与前と各時期の差が出力されている。付随している SEが 、 LeastSquaresMeansの時 期ごとの SEに比べて小さくなっていることに注意してもらいたい。これは、個体聞に比べ ‑271
と小さい個体内の分散のみがこの差に関与しているためである。 A djPの欄が D u n n e t tタイ プの多重性を考慮した P値となっている。 これらの結果を総合すると、被験者数は少ないものの 1カ月目より血圧は下降し始め、 4カ EPEATEDステートメントを使用した 月目で有意な差が検出されたことになる。ここでは、 R 例を示したが、 P r o g r a m1 bに示したように RANDOMステートメントを用いて、全く同じ結 EPEATEDステートメントを用いるのは、この例のように単純な経 果を得ることができる。 R 1 0 0以上)場合に計算のためのメモリーの減少と計算 時測定データの解析で、個体数が多い ( 時間のスピードアップに劇的な効果があるである。後でも示すが、クロスオーバ一法のような EPEATEDステートメントでは、適切な解析モデルが構成できないこともあり、 解析には R RANDOMステートメントによる解析を薦める。 5 . 2群以上の経時測定データの解析 2群以上の経時測定デー夕、各群に共通するような特別な変化プロファイルが観察さていない 場合の解析の基本は、次のように考える。経時測定データの全体を解析の対象とした場合には、 多分に探索的な要素が多くなるので、多重性についての配慮はしつつも厳密な多重性の調整は せずに、検討のレベルによって P値の基準を予め定めておくと良い。 1 ) 原則的には、投与前値と各時点との差または比は取らずに、元の経時測定データのまま解 析する。対数変換が必要ならば行う。なお、差または比に変換した場合には、個体差を除 去したことになるので解析モデルに個体を含めではならない 2 ) 群と経時因子の交互作用の P値を求める。 P値が、ある一定値以下(例えば 0 . 1 0以下)な らば、そのプロファイルの違いを考察する。 3 ) 必要に応じて、それぞれの群内の経時因子の P 値を求める。 P 値が、ある一定値以下(例 . 0 5以下)ならば、その変化の特徴などについて考察する。 えば 0 4 ) 必要に応じて、各時期ごとに群聞の違いについて P値を求める。 P 値が、ある一定値以下 (例えば 0 . 0 1以下)ならば、その差について考察しでも良い。なお、この結果に重点を置 きたいのであるならば、初めから各被験者ごとに投与前値と各時点との差または比に変換 したデータについて解析する。 5 ) 投与前値との各時期との差について特に考察したい場合には、各群ごとに別々に経時デー o n f e r r o n iあるいは D u n n e t tの多重比較などを行う。 タの解析を行い、 B このような解析の考え方に沿って、表 4に示す欠測値を含んだ 2群の場合をについて M IXED プロシジャの新しい機能の有効的な使い方を示す。 ‑272‑
表 4 2群の臨床検査データ 薬剤 被験者 TO D1 R1 R2 50 45 54 実薬 R3 R4 平均 D2 プラセボ T1 62 48 54 5 2 . 8 51 .0 T2 T3 40 45 38 30 48 5 1 59 4 2 . 3 4 7 . 3 40 43 46 44 45 R7 50 45 49 42 R8 R9 67 56 61 60 平均 5 2 . 2 4 52. R5 R6 50 46 63 54 4 5 . 0 5 0 . 8 1群のデータと同じようランダムに欠測値発生しているようではあるが、 Dl群では、投与前 値が低いものに、 D2群では高いものに欠測値が偏って発生している。そのために、単純平均の 比較では Dl群と D2群の間では経時変化プロファイルに差はないように見える。 MIXEDプロ シジャによる解析法を示す。 1群の場合に解説しなかったが、オプションに、 INFOを入れてお くと良い。これにより、出力結果の始めに解析に用いたモデルについてのまとめが示され、後 でモデルの妥当性の検証をチェックするのに必要となる。 MODELステートメントでは、固定効果となる群 D、時期 T、および交互作用 D T、誤差の 女 Program2 経時プロファイルの比較 d a t a D2 ; 本 / M I X 0 5本/ i n p u t D$ I D S @; d o T= ' T i m e ̲ O ', ' T i m e ̲ l ', ' T i m e ̲ 2 ', ' T i m e ̲ 3 ' i n p u t Y @, o u t p u t, e n d, d a t a li n e s, D 1 I D ̲ l 5 0 4 0 4 5 D 1 I D2 45 3 0 3 8 D 1 I D ̲ 3 5 4 4 8 4 8 D 1 I D4 6 2 5 4 5 1 5 9 D2 I D ̲ 5 D 2 I D ̲ 6 D 2 I D ̲ 7 D8 D2 I D 2 I D9 4 3 5 0 4 5 6 7 5 6 4 6 4 4 4 5 4 9 5 0 4 2 6 1 6 0 4 0 4 6 6 3 5 4 ︐ . Fhd ︐ 一一一一 γA 1iTA 凸L nau‑‑i VAnL nutA VACd nL ニ =ρL ρLnL shu 1 ;y l ・ ;+LQM + し γ LU P M n u M ‑ 目 + LYEA +L= 戸 引柚+し QunL =ρ E ‑ ‑ +ALHu‑‑‑ /〆/〆/〆 平 Auuc ‑GS T本 rEA‑‑F nu ‑‑TATA onu =T anu‑ ワμ hunu ・ 同U 抗I Y D 占 u ・ 同 sl抗 回 ・司 ‑ 同u ρ L C d 日 CdρLρLρL EAa ・GP 皿 11nuDL03 cmr11 nL 円 u pγa 四 ワt nノμ q a
自由度の指定のオプションとして小規模の実験データなので DDFMニ SA' I 寸ERTHを指定する。 REPEATEDオプションでは、 1群と同じように被験者を SUBJECT=ID、相関構造も同様 に TYPE=CSとし、時期因子についての相関構造の確認のために、 RCRR=1,5を指定し、 1番 目と 5番目の IDについての相関係数マトリックスの出力を要求している。 a Output 2 百l eM l X E DP r o c e d u r e M o d e lI n f o r m a t i o n V a l u e D e s c r i p t i o n W O 阻. D 2 D a t aS e t Y D e p e n d e n tV a r i a b l e C o m p o u n dS y m m e t r y C o v a r i a n c eS t r u c t u r e I D S u b j e c tE f f e c t r o f il e R e s i d u a lV a r i a n c eM e t h o d P o d e l ‑ B a s e d F i x e dE f f e c t sS EM e t h o d M a t t e r t h w a it e D e g r e e so fF r e e d o mM e t h o d S 阻M L E s t i m a t i o nM e t h o d D i m e n s i o n s ︐ ︒ i D e s c r i p t i o n V a l u e 可 内 J UFbnuqddnτnUFOPO 内 J C o v a r i a n c eP a r a m e t e r s C o l u m n si nX C o l u m n si nZ S u b j e c t s b sP e rS u b j e c t M出 O O b s e r v a t i o n sU s e d O b s e r v a t i o n sN o tU s e d T o t a lO b s e r v a t i o n s R E M LE s t i m a t i o nI t e r a t i o nH i s t o r y I teration Evaluations i i i 唱 唱 唱 可 nL i 内d n宝 nUTinL J O b j e c t i v e C r i t e r i o n 1 2 6 . 5 6 0 9 9 1 7 9 9 9 . 7 3 5 6 9 9 6 2 9 9 . 5 1 8 1 7 3 0 7 9 9 . 4 9 1 4 9 4 2 5 9 9 . 4 9 0 8 8 7 7 6 0 . 0 0 3 6 7 2 2 5 0 . 0 0 0 4 9 0 8 0 0 . 0 0 0 0 1 1 9 9 0 . 0 0 0 0 0 0 0 1 C o n v e r g e n c ec r i t e r i am e t . INFOオプションによって出力されているのが ModelInformation、および Dimensionで ある。 これらをみることにより、 MIXED プロシジャの重要なオプションの詳細が示され ている。 2 ) REMLEstimationI t erationHistoryでは、必ず最尤推定の計算過程が収敬したことを示す Convergencec r i t e r i amet.が出力されていることを確認する。 2 7 4
LSMEANSステートメントでは、交互作用が有意になることを前提に SLICEオプションを 付けておく。 SLICE=Dとした場合には、交互作用 D*Tを D1群内、および D2群内における 時期 T についの F検定を行うように指示している。同様に、 SLICE=Tは、それぞれの時期ご との群間の F検定を指示している。 2群の場合は時期ごとに対応の内場合の t検定を行うことに 相当する。 全旦巴日主 RC o r r e l a t i o nM a t r i xf o rI DI D1 R o w C O L l C O L 2 L 3 C O 1 2 3 1 .0 0 0 0 0 0 0 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 1 .0 0 0 0 0 0 0 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 1 .0 0 0 0 0 0 0 0 RC o r r e l a t i o nM a t r i xf o rI DI D5 R o w C O L 1 C O L 2 L 3 C O C O L 4 2 3 4 1 .0 0 0 0 0 0 0 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 1 .0 0 0 0 0 0 0 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 1 .0 0 0 0 0 0 0 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 0 . 9 0 6 2 2 6 3 0 1 . 0 0 0 0 0 0 0 0 阻M L ) C o v a r i a n c eP a r a m e t e rE s t i m a t e s( C o vP a r m D I A G岱 R e s i d u a l R a t i o E s t i m a t e S t dE r r o r 9 . 6 6 3 9 7 0 5 9 6 8 . 8 2 5 1 7 0 6 4 3 8 . 0 9 2 9 6 5 7 8 1 . 0 0 0 0 0 0 0 0 7 . 1 2 1 8 3 1 5 5 2 . 6 0 2 4 6 1 8 6 ZP r> I Z I 1 . 8 1 2 . 7 4 0 . 0 7 0 8 0 . 0 0 6 2 M o d e lF i t t i n gI n f o r m a t i o nf o rY D e s c r i p t i o n V a l u e O b s e r v a t i o n s 3 0 . 0 0 0 0 V a r i a n c eE s t i m a t e 7 . 1 2 1 8 S t a n d a r dD e v i a t i o nE s t i m a t e 2 . 6 6 8 7 o gLi k e1 i h o o d R E M LL ‑ 6 9 . 9 6 2 1 A ka i k e ' sI n f o r m a t i o nC r i t e r i o n‑ .9 6 2 1 71 S c h w a r z ' sB a y e s i a nC r i t e r i o n ‑ 7 3 . 0 5 3 1 ー2R E M LL o gL i k e l i h o o d 1 3 9 . 9 2 4 2 h i ‑ S q u a r e N u l lM o d e lLRTC 2 7 . 0 7 0 1 F N u l lM o d e l日TD 1 .0 0 0 0 ‑ V a l u e N u l lM o d e lLRTP 0 . 0 0 0 0 3 ) RC o r r e l a t i o nMatrixf o rID̲l、ID2に相関構造(相関係数行列)が出力されている。分 散共分散行列の出力には、 RCORRの代わりに Rニ 1、5と指定する。 4 ) Covariance ParameterEstimates (REML) の DIAGCS、および Residualの 6 8 . 8 2 5と 7 . 1 2 2が個人間と個人内分散となっている。 2 7 5
Q旦盟三2 T e s t so fF i x e dE f f e c t s n u n r n u N D F ー iqund 市 i T ‑ DTD S o u r c e T y p eI I IF P r>F 6 . 9 9 1 5 . 1 1 5 . 1 0 . 5 6 0 . 4 8 0 5 6 . 7 70 . 0 0 4 1 4 . 7 1 0 . 0 1 6 4 L e a s tS q u a r e sM e a n s 5 2 . 7 5 0 0 0 0 0 0 4 4 . 7 3 7 4 7 7 9 6 4 2 . 2 5 0 0 0 0 0 0 4 8 . 4 3 5 5 9 3 9 7 5 2 . 2 0 0 0 0 0 0 0 5 2 . 4 0 0 0 0 0 0 0 5 0 . 5 9 6 2 8 5 1 6 4 9 . 8 4 8 0 8 5 4 2 P A D * TD 1T i m e0 D * TD 1T i m e1 D * TD 1T i m e2 D * TD 1T i m e3 D * TD 2T i m e0 D * TD 2T i m e1 D * TD 2T i m e2 D * TD 2T i m e ̲ 3 S t dE r r o r n u n u 凶 肥A N L e v e l TP r> [T[ A l p h a . 9 4 4 . 3 5 7 3 7 8 8 6 7 4 . 6 2 8 7 4 7 1 9 9 . 9 1 4 . 3 5 7 3 7 8 8 6 7 . 9 4 4 . 4 4 9 6 7 4 2 1 8 . 5 9 3 . 8 9 7 3 5 8 1 4 7 . 9 4 3 . 8 9 7 3 5 8 1 47 . 9 4 4 . 0 5 7 9 6 2 4 29 . 2 3 3 . 9 5 8 3 4 8 4 48 . 4 2 1 2 . 1 1 9 . 6 7 9 . 7 0 1 0 . 8 9 1 3 . 3 9 1 3 . 4 5 1 2 . 4 7 1 2 . 5 9 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 5 0 . 0 5 0 . 0 5 0 . 0 5 0 . 0 5 0 . 0 5 0 . 0 5 0 . 0 5 L o w e r U p p e r 4 2 . 6 8 8 5 3 4 . 4 1 1 9 3 2 . 1 8 8 5 3 8 . 2 9 6 7 4 3 . 2 0 0 7 4 3 . 4 0 0 7 41 .4 5 1 6 4 0 .7 9 9 0 6 2 . 8 1 1 5 5 5 . 0 6 3 0 5 2 . 3 1 1 5 5 8 . 5 7 4 5 61 .1 9 9 3 .3 9 9 3 61 5 9 . 7 4 1 0 5 8 . 8 9 7 2 T e s t so fE f f e c tS l i c e s P A DD 1 DD 2 TT i m e0 TT i m e1 TT i m e2 TT i m e3 qJqJ1よ 1i1i1よ D * T D * T D * T D * T D * T D * T N D F n u n u E f f e c t S l i c e F P r>F 1 5 . 1 1 0 . 9 8 0 . 0 0 0 4 1 5 0 . 9 00 . 4 6 3 4 . 9 2 7 4 7 . 9 4 0 . 0 1 0 9 . 0 3 1 .6 00 . 2 3 7 1 .9 6 0 . 1 9 6 4 8 . 5 1 1 8 . 5 2 0 . 0 6 0 . 8 1 8 1 e s t so fFixedE f f e c t sの NDFは分子 (Numerator) の自由度、 DDFは分母 (Denomi‑ 5 ) T n a t o r ) の自由度である。分母の自由度が整数となっていないのは、この誤差が個人間と個人 内誤差を合成し、かっその自由度を MODELステートメントで DDFM=SA' 町 、ERTHの指定 により S a t t e r t h w e i tの方法によって計算しているためである。 D*T の交互作用の P 値 が 0.0164と有意な差となっているので、 D1群と D2群の経時的なプロファイルに違いがあるこ とが示されている。 eastSquaresMeanには、 6 ) L Modelの解を基に計算された薬剤別時期別の最小二乗平均が 2 . 7 5、4 4 . 7 3、 4 2 . 2 5、48. 4 3 と T2で最 計算されている。 D1群の平均値は投与前から順に 5 2 . 2 0、52. 4 0、5 0 . 5 9、4 9 . 8 4とほぼ一定である。 StdErrorと 小値となっている。 D2群は、 5 DDFには、個人間と個人内誤差を合成した SEと自由度が求められている。 Pr> [ T [は 、 LSMEANがゼロであるかの検定になっている。投与前値との差および比にしたデータの場合 には、意味があるが、 この場合には全く意味がない。 7 ) T e s t so fE f f e c tS l i c e sは、各時期ごとの F検定で、結果としては全ての時期で有意となる 差は見出せないが、薬剤ごとでは、 D1実薬群で p =0.004と有意な差となっているが、 D2群 は p=0. 4634と有意で、はない。 2 7 6
薬剤の群ごとに投与前値と各時点聞の差の検定をしたい場合には、 LSMEANSステートメン トのオプションで DIFF=ALLとし、 MAKEステートメントにより SASデータセットを作成し、 必要な比較のベアを抜き出せばよい。 Program3 投与前との各時点との差の検定 naM ︐ .cd *E J''= B ; 叩; 民d + L VA+L ハU h μ &ELVYEA TAVA‑‑ HMenu ︐ ド ム HU ︽ &L F? ム kup? ム m ‑ ' J F I ‑ ‑ t円 ucd ︐円U A U Auu・Iu 中よ ホ J ' ' J ' ' J ' ' ム P +ム ホ +L=11F / at ‑ ‑ F s c a y‑ =e=hu p? ・ I Tよ→ょ onu ム.︐ n J u 一一一一→よ 気 っ μhuhus huf anu ホ・1 L 十 ylyDD u ' JU ACdOLOLOLOL t円U O L e d e+Lnu x s'laa aA U De ‑m ' K ︐ .m' l o s a cmryim VA p ‑ w n v ny d a t aD I F 下1; s e t D I F 下o , i f s c a n (日間L1 .3 . '' ) =' T i m e0 ' a n d s c a n ( 日間L1, 2 , '' ) =s c a n ( 日間L 2, 2, '' ) t h e no u t p u t; 下1 p r o cp r i n td a t a = D I F i dL E V EL 1; b yL E V E L 1; 叩 1 ) MIXEDプロシジヤの全ての出力は、 MAKEステートメントで取り出すことが出きる。こ こでは、 ' D i f f s ' として各時点聞の全ての差の検定を結果を、 SASデータセット化している。 2 ) DATAステップの SCAN関数を用いて、 LEVEL変数の一部の文字列を抜き出している。 Output3 日間L1 日間L 2 D I F 下 S E D D F T PT 1T i m e ̲ l D * TD 1T i m e ̲ O DホTD DホTD 1T i m e ̲ 2 D * TD 1T i m e3 8 . 0 1 2 5 2 2 0 4 1 0 . 5 0 0 0 0 0 0 0 4 . 3 1 4 4 0 6 0 3 5 . 1 1 0 7 2 . 4 4 9 3 8 0 6 9 1 4 . 9 7 7 7 1 . 8 8 7 0 3 8 8 9 1 5 . 0 3 8 4 2 . 0 9 1 3 5 5 0 1 1 3 . 2 7 5 . 5 6 2 . 0 6 0 . 0 0 5 1 0 . 0 0 0 1 0 . 0 5 6 8 ホTD 2T i m e1 D事TD 2T i m e ̲ O D D事TD 2T i m e2 DホTD 2T i m e3 ‑ 0 . 2 0 0 0 0 0 0 0 1 .6 0 3 7 1 4 8 4 2 . 3 5 1 9 1 4 5 8 4 . 9 7 7 7 1 .6 8 7 8 1 8 8 9 1 5 . 0 6 7 2 2 . 0 3 1 3 5 2 0 5 1 5 . 0 1 9 3 1 .8 2 4 2 4 0 8 2 1 一0 . 1 2 0 . 9 0 7 2 0 . 4 4 2 1 0 . 2 1 6 8 3 ) D1群の T1と T2が pく 0 . 0 1となっている。 2 7 7 ‑ 0 . 7 9 1 .2 9
6 .患者の背景に偏りがある場合 DBTにおいて、患者の背景に偏りがある場合に、経時測定データの統計的な調整が MIXED プロシジャで適切に行えるのか人工的なデータを用いて検討してみよう。 人工データによるによる検証(1) 薬剤 D1と D2を 4週間投与したとき、ある臨床検査データ Y の真の変化が表 5に示すよう であるとしよう。 問一却回 間一却品 山一却品 149 則一羽印 交官円一 問一回関 薬 一DD 表 5 Yの経時変化の期待値 ある患者の背景因子 A の水準により、 Y に影響が出るとしよう。 A1: Yの値が一律プラス 1 0となる A2: Yの値を変化させない A3: Yの値が一律マイナス 1 0となる 因子 A の各水準の症例数が、薬剤問で均等で、あるならば、それを無視しでも薬剤別・時期別の Y の平均値は期待値に等しくなる。たとえアンバランスであったとしても薬剤問で因子 A の水 準の分布が等しければ、各時期ごとの平均値が平行移動するだけで、薬剤聞の変化パターンの 差は保たれている。 薬剤別の因子 A の分布が、表 6に示すようにアンバランスだ、ったとしよう。 布 一 分 一 M一1 2 口D 一 ‑ ‑ 一 同一位一 1 1一 1Id‑‑i‑l!‑ A一 一 一 子一一一 因一一一 ‑J 149主 閉 一J A一2 1 一 l おこ 一一 i JJ 三丸一 PO‑‑ 要一DD 一 D1薬は、 A1水準が 2例となっているので、全体に平均値をプラス 2 . 5増加させることになる。 D2薬の場合は、逆に A3水準が 2例となっているので、マイナス 2 . 5の減少となる。 もしも、患者の背景の違いが、どの時期に対しても均等に影響するのであるならば、 Program 4 に示すように、 MODELステートメントの固定効果に因子 A を追加するだけで、その偏りを 取り除くことが出きる。 ‑278一
rf' Ei 唱 nu 44qJnL A 生 A凡 A A A 凡 A凡 ーょっ臼﹃υ﹃ υ qJunLnLnL nuhuhunu A 住民 F h d F h d F h d F h d Fhda4ndqJ F h d F h d F h d F h d FU44ndqJ ︐ ょ ハ ununvnU nununvnU A 生44qJnL F h υ F h d F h d F h d Fhda4ndnd ハHV ハ U nununvnU A 生44qJnL E4 噌 ︑ ︑ 町 VA ﹄ F h d nUハ Uハ Uハ U PORda444 事・ ワt A凡 事 1 ) VA1i y i MMnU q d nUハ Uハ Uハ U FhdFU44qJ ハ Uハ Uハ Uハ U PORda444 白U / h n v nunvnvnU POFORd44 ハ URd ・ 本 rf' ' n w d VA um eA ・ V '+ ・ ︾ ly ム ︐ ・ nUハ unu‑‑ 晶 F h FhdFhd 引 U 'nU DAonu‑‑1 ょっ血司u Dtau‑AAAA nu‑ hu=+ QU1ょ1it‑‑ょ InhutehuhuhuD Mtyun y iup・ ‑'‑ 1inu‑‑nunu +LTよ D =+L ・ 同U ‑‑AueAu a +L a 0 ' ︐ .ntuinnuyon‑nu‑aVa nOAuUn+Lu1n1iuqnLquJ nUハUυPハUOPハU・ Program4 背景の偏りの除去 p r o cm i x e d data~D1 , c l a s s AD R U GT l M E ; m o d e l Y~ A D R U GT l M ED R U GT l M E/ddfm~satterth ; D type~CS; r e p e a t e d /s u b je c tI l s m e a n s D R U GT I M E; 事 ニ 事 四 Output4 最小二乗平均による偏りの除去 L e a s tS q u a r e sM e a n s L e v e l 阻 D 11 D R U G吋 I D R U GT I M ED 12 I M ED 13 D R U GT 阻 D 14 D R U G吋 I I阻 D 15 D R U GT 肥 D 21 D R U G可 I D R U GT I M ED 22 肥 D 23 D R U G可 I 肥 D 24 D R U G可 I 吋I 阻 D 25 D R U G 事 事 事 本 L S 阻A N 5 0 . 0 0 4 2 0 4 1 2 4 0 . 0 0 4 3 7 7 9 6 3 0 . 0 0 5 3 3 3 3 3 3 0 . 0 0 4 9 3 8 1 2 3 0 . 0 0 5 2 5 7 5 5 5 0 . 0 0 4 5 5 3 4 0 5 0 . 0 0 5 2 2 8 4 9 4 5 . 0 0 4 6 8 7 7 2 4 5 . 0 0 4 1 9 1 6 0 4 5 . 0 0 4 5 7 7 9 2 S t dE r r o r D D F T I TP r> I 0 . 0 0 0 4 4 9 8 62 6 . 71 1 1 1 5 4 0 . 0 0 0 4 4 9 8 62 6 . 7 8 8 9 2 5 0 . 0 0 0 4 4 9 8 62 6 . 7 6 6 6 9 9 0 . 0 0 0 4 4 9 8 62 6 . 7 6 6 6 9 8 0 . 0 0 0 4 4 9 8 62 6 . 7 6 6 6 9 8 0 . 0 0 0 4 4 9 8 62 6 . 71 1 1 1 5 5 0 . 0 0 0 4 4 9 8 62 6 . 71 1 1 1 5 6 0 . 0 0 0 4 4 9 8 62 6 . 71 0 0 0 4 1 0 . 0 0 0 4 4 9 8 62 6 . 71 0 0 0 3 9 0 . 0 0 0 4 4 9 8 62 6 . 71 0 0 0 4 0 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0、4 0、3 0、3 0、3 0と表 5に示した期待値と一致している。 1 ) Dl薬の平均は、 5 2 ) データに小さな誤差を加えているのは、計算不能となるのを避けるためである。 人工データによるによる検証(2) 因子 Bの水準の違いにより時期ごとの効果が変化するようなモデルを考えよう。 Blの場合は、 WO と Wl がプラス 10 、 W2~W4 がプラス 5 となり、 D2 の場合には、逆にマイナスとなると しよう。 P rogram5に示すように、 MODELステートメントで主効果 Bのみならず、時期 TIME との交互作用 B合 TIMEを加えることにより、その偏りを除去できる。 ‑ 2 7 9
現実の問題としてこのような事例を取り扱った経験はないが、患者による経時プロファイル の差が大きい場合に、それらを説明する背景因子の探索に有益と思われる。 表 7 因子 B の効果の変化 WO +10 W1 +10 W2 + 5 W3 + 5 W4 +5 ‑ 1 0 ‑ 1 0 ‑ 5 ‑ 5 ‑ 5 。 B1 B2 B3 。 。 。 。 Program5 交互作用を伴う偏りの除去 FhdFhdAHVFhd qJqJqJワ 臼 ハUFhdAUnU ハURdnUAU 阻肥 Rdanτanτanτ FhdFhdnUFhd qJqJqJワu AUFbnunU F h d a n τ a n τ a n τ GGM F h d a n τ a n τ a n τ FhuFhdAHVFhd 臼 qJqJqJワ nUAUAUAU FORdanτanτ 岱 一 一 ρ L +L hw +LY14 V A ED ・u 4L= a t edpL =ρ m ‑ ‑ P T A ' h u fJ fJ Auu Aus ︐︐ YEA Tよ ホ 阻 nD i 巾 肥 ホ TA FU HU nE h μ ︐ Tly‑‑ Tよ中よ AUAUAUAU FhdFhdanτqJ n u u U Tよ DHADA ホ hunμFU nu au= J u ︐ .‑nu‑nDnnDkhμ +L ‑ 一 血 Y uρLed 白円 1 nunununU FORdanτanτ tiワuqJqJ nDnbnbnD hμhunuhμ ワωワωワ臼ワu V A D A mslum nUAUnuti nUAUAUAU ‑‑ASEEE AιτFhUFOP 0 ・ ' m a dpm ・nuρLQd C CEr‑‑ ﹃ ' n u AUAUAUAU FOFORdanτ d a t aD 1; / ホ M I X 0 8 Bホ/ i n p u t I DD R U G$ B$ @; d oT I肥 = 1t o5; i n p u t Y@ ; Y=Y+0 ̲ 0 0 5+r a n n o r ( 1 9 9 5 0 7 1 5 )ホ0 . 0 0 1; o u t p u t, e n d; c a r d s, 1 0 0D 1 B 1 1 0 1 D 1B 1 2 0 0D 1B 2 3 0 0D 1B 3 r u n, Output5 L e a s tS q u a r e sM e a n s L e v e I D R U G 灯I 肥 D 13 打I 肥 D 14 D R U G 打I 阻 D 15 D R U G 阻 D 21 D R U G打 I 吋I 肥 D 22 D R U G 阻 D 23 D R U G打 I D R U G 打I 阻 D 24 打I 阻 D 25 D R U G 凶 阻A N 3 0 . 0 0 5 1 5 8 1 7 3 0 . 0 0 4 9 7 5 4 0 3 0 . 0 0 5 1 8 7 5 1 5 0 . 0 0 4 3 7 4 9 7 5 0 . 0 0 5 2 2 6 4 2 4 5 . 0 0 4 8 2 0 1 2 4 5 . 0 0 4 1 2 9 3 9 4 5 . 0 0 4 6 8 8 2 4 S t dE r r o r D D F TP r> [ T [ 0 . 0 0 0 4 8 4 0 5 1 7 . 7 6 1 9 8 7 0 . 0 0 0 4 8 4 0 5 1 7 . 7 6 1 9 8 7 0 . 0 0 0 4 8 4 0 5 1 7 . 7 6 1 9 8 7 0 . 0 0 0 4 8 4 0 5 1 7 . 7 1 0 3 3 0 3 0 . 0 0 0 4 8 4 0 5 1 7 . 7 1 0 3 3 0 5 0 . 0 0 0 4 8 4 0 5 1 7 . 7 9 2 9 7 5 0 . 0 0 0 4 8 4 0 5 1 7 . 7 9 2 9 7 3 0 . 0 0 0 4 8 4 0 5 1 7 . 7 9 2 9 7 4 ‑280‑ 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1
7 . 回帰直線のあてはめ 時期ごとの経時変化が、どの患者でも直線的に減少または増加しているとみなせる場合には、 それぞれの患者に切片は異なるが共通の傾きを持つ平行な直諌を当てはめることができる。 MIXEDプロシジャでは、 CLASSステートメントより時期因子 Tを取り除いて計量因子化とす ることにより実現できる。 proc MIXED info class ID; model Y = T / solution ddfm=satterth repeated / subject=ID type=cs ただし、 REPEATEDステートメントを使用した解析は、変量効果が出力されないので P rogram 6 に示すように R必 m O M ステートメントを用いることを薦める。この結果は、 REPEATED ステートメントを使ったときと完全に一致した結果となる。ただし、 R必 m O M ステートメン トの使用は、コンピュータ資源、メモリーおよび CPU時聞をより多く使用するために患者数が 多い場合にはすぐに計算不能となるので、あまり薦められないが、モデルの当てはめを確認す るためには有効で、ある。 也事 F E A 凡 nhυ ハ H U ︐ ︐ VA T‑ 必斗 A ︿ h u ‑ハHV‑nu ヴ too od au U‑ 4ARU ・i 唱 nvハ 品U 出 R u q 3 7 ' R U foO I ふ I M ‑ ‑ ︐ 0 nμVA. ︐ ・ ハ U t y tム ハH u e o n x u n h υ ハ H V +LE 胃 ・I ︒ ・ ヴ =+Lnunu bつ白 1 ょ4AOO 0 ヴtod ・'117つμ40 tTiDAt up‑‑nU Mmnunu 也事 ノJr ' ︐ . ・ 内 戸 ・戸 つμnu ワ臼ワ'凋川守 nona G1 ‑ ‑‑de・ ょ っ 白 つd4Jbnb d 一 一 一一一一 ︐ ‑ 同U +Lnμnμnμnμnμnμ. ndTiyBATE‑TiTiTi ︐ .h‑u‑nuy‑n‑uOaAU1+iL Program6 平行な直線の当てはめ p r o cm i x e dd a t a = d l i n f o c l a s s I D , m o d e l Y=T / s o l u t i o n r a n d o m I D /s o l u t i o n 四 ‑ 2 8 1
Output6 S o l u t i o nf o rF i x e dE f f e c t s P a r a 血e t e r E s t i m a t e 百R C E P T l N T T [ TP r> [ S t dE r r o r D D F 7 9 . 4 8 9 6 3 2 4 0 1 0 . 1 7 8 4 8 4 3 5 ‑ 5 . 8 7 7 7 6 9 4 2 1 . 6 0 4 7 6 5 5 7 5 7 . 8 1 1 3 ‑ 3 . 6 6 0 . 0 0 0 6 0 . 0 0 2 9 S o l u t i o nf o rR a n d o mE f f e c t s E s t i m a t e P a r a m e t e r I DI D1 I DI D2 I DI D ̲ 3 I DI D4 l DI D ̲ 5 I DI D ̲ 6 S EP r e d D D F 8 . 7 9 1 2 5 4 8 1 2 4 . 9 5 0 8 6 1 6 5 ‑ 3 4 . 3 5 2 4 1 0 7 3 3 . 9 0 3 5 2 5 5 2 ‑ 9 . 1 0 2 9 7 6 2 2 2 3 . 3 9 2 2 5 4 5 8 1 0 . 8 8 4 2 3 8 6 7 1 0 . 8 9 9 6 9 0 4 9 1 0 . 8 8 4 2 3 8 6 7 1 0 . 4 6 8 1 5 9 2 1 1 0 . 8 8 4 2 3 8 6 7 1 0 . 8 9 9 6 9 0 4 9 T [ TP r> [ 1 3 ‑ 0 . 8 1 . 2 9 1 3 2 3 . 1 6 l 3 ‑ 1 3 0 . 3 7 . 8 4 1 3 ー0 1 3 2 . 1 5 0 . 4 3 3 8 0 . 0 3 9 4 0 . 0 0 7 6 0 . 7 1 5 2 0 . 4 1 8 1 0 . 0 5 1 3 T e s t so fF i x e dE f f e c t s S o u r c e T N D F D D FT y p e1 1 1F P r>F 1 1 3 1 3 . 4 2 0 . 0 0 2 9 1 ) S o l u t i o nf o rFixedE f f e c t sより平均的な回帰式 y=79. 49・ 5 . 8 8x であることが示されて いる。 2 ) S o l u t i o nf o rRandomE f f e c t sより、 ID̲lの切片が 79. 49・8 . 7 9、ID̲2は 79. 49+24.95、 . .. 、 ID6は 79. 49+23.39であることカf示されている。 3 ) Testso fFixedE f f e c t sの結果、時期 T の P値 0.0029と Program1の 0.0367結果に比べ 一村7 小さくなっている。 それぞれの患者に、異なる切片と傾きを当てはめるモデルも下に示すように考えられる。患 者ごとに異なる直線を当てはめるモデルの妥当性は、全てを固定効果とみなし、 model Y = 工 D T 工D*T ; 交互作用 ID士T が有意で、あることである。この例では p=0.718と有意で、はないので、患者ごと に平行な直線を当てはめるモデルの方が妥当との結論が得られる。 さて、これを変量モデルとした場合の次の MIXEDプロシジャとなるが、その結果の解釈に ついては、今後の検討課題としたい。 proc M工XED info; 工D ; class model Y = / noint random 工D T*工D / solution noint ‑282
8 . クロスオーバー試験の場合 臨床薬理試験などでは、同じ被験者に 2種類以上の薬剤をクロスオーバ一法により投与する ことカ人 しばしば行われる。分割実験の分類で言えば、被験者を反復、薬剤を 1次因子、時期 を 2次因子とする「反復のある l段分割実験」に分類される。これは、ある被験者に、 2種類の 薬剤をランダムに投与し、その中で経時的な測定が行われているとみなせるからである。変量 因子となるのは、被験者、および被験者*薬剤であり、誤差項を入れて 3つの誤差が存在する。 したがって、個人間と個人内誤差の 2つの誤差しか構造的に許されていない REPEATEDステ ートメントによる解析はできないので、 Prgram7 に示すように R必.JDOMステートメントを 用いることになる。なお、投与時期 W の取扱いについては、 6節で示したように、その影響の Program7 クロスオーバ一法による経時変化 / 事 M I X 0 8 A* / d a t a D 1, i n p u t ID $@ ; d o D=1t o2; i n p u t D O S E$ W E E K$@ ; d o T=' T O a ',' T O b ',' T l ' , ' T 2 ',' T 3 ',' T 4 ',' T 5 ',' T 6 ',' T 7 ' .' T 8 i n p u t Y@ o u t p u t, e n d, e n d, O H 1 H 2 H 3 H 4 H 5 H 6 H 8 H, H 7 d a t a li n e s , I D1 D 1 W 1 1 1 2 1 1 9 1 1 3 1 0 5 1 1 4 1 1 0 1 1 5 1 1 4 1 1 0 1 1 1 D 2 W 2 1 2 0 1 2 5 1 0 9 1 0 7 1 1 3 1 1 0 1 1 2 1 0 9 1 1 7 1 2 7 1 0 1 ID2 D 1 W 2 1 1 6 1 1 0 1 1 5 1 1 2 1 0 7 1 1 6 1 1 5 1 2 0 1 1 8 D 2 W 1 1 1 4 1 0 2 1 0 8 9 0 4 1 0 2 1 0 9 1 8 1 1 5 1 2 0 1 1 8 ー 包 1 1 4 1 1 3 1 1 0 1 0 8 1 1 1 1 1 7 1 0 0 1 1 0 1 1 3 1 1 6 1 2 7 1 0 6 1 1 9 1 1 3 1 3 0 1 1 6 1 2 3 1 2 0 1 3 4 1 2 2 1 1 9 1 2 2 1 2 0 1 2 6 1 2 4 1 3 1 1 2 4 1 2 2 1 2 6 1 1 7 1 2 9 1 2 4 1 1 5 1 0 7 1 2 5 1 1 8 1 2 2 1 1 2 1 2 2 1 1 5 1 2 4 1 0 6 1 1 5 1 1 0 1 1 7 1 0 3 1 1 0 1 0 9 1 2 4 1 0 8 1 1 4 1 0 7 1 3 2 1 0 7 1 2 4 1 1 8 1 2 8 1 1 0 1 3 3 1 2 2 1 2 0 1 1 7 1 3 1 1 2 3 1 2 1 1 1 3 1 3 5 1 2 6 VA h + L 4Eb ふ1h ρL aCAM F?A E JU J u い ︼ f/ F"u m .︐ ︑ 円 ・ 同 m a k e 1 2 6 1 1 8 1 2 7 1 1 4 T?E ︐ . ︐ . hETm u ︑ nu ‑ ‑ T ' inO D E u s n μ y i ufA FU ハufA ︑ 円 1iqu n μ・ l nunμハunU場 nu =yinμyiでよ' a ji +L= a UVVA p r o cm i x e d c l a s s m o d e l r a n d o m l s m e a n s 1 2 2 1 2 3 3 3 1 3 2 1 1 2 4 1 3 0 1 2 7 1 2 5 iqLnL1i I D5 D 1 D 2 I D ̲ 6D 1 D 2 i 唱 nLnL i 唱 D 2 ID4 D 1 D 2 ー w刊 宙 刊 宙 刊 宙 刊 w 刊宙刊宙刊宙刊 1 ID3 D /s l i c e = D O S Ed i f f = a l l; o u t = D I F F On o p r i n t; d a t aD I F F 1; s e t D I F F O: i f s c a n ( L E V E L 1, 3, '' ) =s c a n ( L E V E L 2, 3, '' )t h e no u t p u t; p r o cp r i n t d a t a = D I F 下1, r u n, ‑283‑
違いを考慮、してモデルに入れるか否かの検討が必要で、ある。ここでは、簡単のためにモデルよ り除いてある。 降圧斉I J Dの 10mgと 20mをクロスオーバ一法により投与し降圧効果を検討することになり、 6人の被験者に対して血圧を 1時間ごとに 8時間後まで測った。血圧の変化パターンに違いが あるかを検討しよう。固定効果は、平行群間比較の場合と同様に MODEL Y =DOSE T DOSE女 T ; とするが、変量に RANDOM 工D 1.旦土旦旦呈~ ; のように ID 女DOSEが加わる点が異なる。これを除くと、表 2に示した如く、被験者を反復と みなすことになり、同一被験者内での薬剤JD1と D2の投与時期による全体的な血圧レベルの差 を無視される。 分散分析表の固定効果の F検定には、その因子を含む低次の変量(誤差)で検定される。固 定因子 DOSE は、変量 ID 女DOSEで検定され、固定因子 T と T士 DOSE は、誤差 ( I D士T、 ID*TDOSE) で検定される。平均値の点推定には、その因子を含む全ての変量(誤差)の合成 大 分散より MSEが計算される。 Output 7 a C o v a r i a n c eP a r a m e t e rE s t i m a t e s( 阻M L ) C o vP a r m 1 D 1 D * D O S E R e s i d u a l R a t i o E s t i m a t e S t dE r r o r Z I ZP r> I 0 . 2 8 7 1 0 1 6 6 6 1 .0 3 2 5 3 9 1 9 . 8 5 2 0 0 0 0 0 1 0 . 6 0 5 8 8 9 3 4 1 4 . 4 6 0 2 2 2 2 2 1 0 . 6 6 0 8 1 1 0 9 1 . 0 0 0 0 0 0 0 0 2 3 . 8 6 6 1 1 1 1 1 3 . 5 5 7 7 4 9 7 9 0 . 6 2 1 .3 6 6 . 7 1 0 . 5 3 4 6 0 . 1 7 5 0 0 . 0 0 0 1 T e s t so fF i x e dE f f e c t s u tAn〆 ハ同d 唱 n〆 unHvn〆 u anTnuanT ム ハ unu T ハ ununu 1i n〆 und 同F h d nunLnU ••• ••• u 唱tAn〆U FhdnunU ハd 同 nd 同 ム 口 d日 d T D O S E T D O S E吋 N D F D D FT y p e1 1 1F P r>F ︑ 丹 S o u r c e 1 ) 個人間の分散 =6.852、個人女投与量の分散=1 4. 460、R esidual: 個人内分散 =23.866が得 られ、個人内誤差が小さいことが分かる。 2 ) 固定効果 DOSEの検定で、分子の自由度 NDF=l、分母の自由度 DDF=5、より、誤差に ID士 DOSEが使われていることが分かる。 3 ) 投与群*時期の P値が 0.0422であることより、変化パターンに差があることが示されてい る 。 2 8 4一
Putput7b L ea s tS q u a r e sM e a n s L S 阻A N S t dE r r o r D D F 本TD lT O a D O S E D O S E 本 TD 1T O b D O S E本TD 1T l D O S E 本TD lT 2 1 2 1 . 5 0 0 0 0 0 0 0 1 2 3 . 0 0 0 0 0 0 0 0 1 2 0 . 1 6 6 6 6 6 6 7 1 1 3 . 8 3 3 3 3 3 3 3 2 . 7 4 4 0 3 3 9 3 3 0 . 9 2 . 7 4 4 0 3 3 9 3 3 0 . 9 2 . 7 4 4 0 3 3 9 3 3 0 . 9 2 . 7 4 4 0 3 3 9 33 0 . 9 4 4 . 2 8 4 4 . 8 2 4 3 . 7 9 41 .4 8 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 本TD 2T O a D O S E D O S E本TD 2T O b D O S E 本TD 2T l D O S E本TD 2T 2 1 2 2 . 3 3 3 3 3 3 3 3 .6 6 6 6 6 6 6 7 1 21 1 1 0 . 6 6 6 6 6 6 6 7 1 0 9 . 5 0 0 0 0 0 0 0 2 . 7 4 4 0 3 3 9 33 0 . 9 2 . 7 4 4 0 3 3 9 3 3 0 . 9 2 . 7 4 4 0 3 3 9 3 3 0 . 9 2 . 7 4 4 0 3 3 9 3 3 0 . 9 4 4 . 5 8 4 4 . 3 4 4 0 . 3 3 3 9 . 9 0 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 0 . 0 0 0 1 L e v e l TP r> I T I T e s t so fE f f e c tS l i c e s E ff e c t S Ii c e O B S L E V E L l D F N D F D D O S E 本T D O S ED 1 O S ED 2 D O S E市T D 9 9 L E V E L 2 D I F F 9 0 9 0 1D O S E 本TD lT O aD O S E 本TD 2T O a ‑ 0 . 8 3 3 3 3 3 3 3 2D O S E 本TD lT O bD O S E 本TD 2T O b 1 .3 3 3 3 3 3 3 3 O S E事TD 2T l 3D O S E牢TD 1T l D 9 . 5 0 0 0 0 0 0 0 4D O S E本TD lT 2 D O S E本TD 2T 2 4 . 3 3 3 3 3 3 3 3 O S E本TD 2T 3 5D O S E 本TD lT 3 D 2 . 6 6 6 6 6 6 6 7 O S E 本TD 2T 4 本TD 11 4 D 6D O S E 6 . 3 3 3 3 3 3 3 3 O S E 本TD 2T 5 1T 5 D 7D O S E本TD 8 . 8 3 3 3 3 3 3 3 O S E本TD 2T 6 8D O S E本TD 1T 6 D 8 . 5 0 0 0 0 0 0 0 O S E 本TD 2T 7 9D O S E 本TD lT 7 D 2 . 1 6 6 6 6 6 6 7 2T 8 O S E本TD 1 0D O S E本TD lT 8 D 1 .6 6 6 6 6 6 6 7 FP r>F 4 . 1 9 0 . 0 0 0 2 9 . 1 50 . 0 0 0 1 T PT 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 0 . 2 3 3 . 5 7 4 2 7 5 3 72 3 . 7 3 4 4 0 . 3 7 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 2 . 6 6 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 1 .2 1 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 0 . 7 5 3 . 5 7 4 2 7 5 3 72 3 . 7 3 4 4 1 .7 7 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 2 . 4 7 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 2 . 3 8 3 . 5 7 4 2 7 5 3 7 2 3 . 7 3 4 4 0 . 6 1 3 . 5 7 4 2 7 5 3 72 3 . 7 3 4 4 ‑ 0 . 4 7 0 . 8 1 7 6 0 . 7 1 2 4 0 . 0l 38 0 . 2 3 7 3 0 . 4 6 3 0 0 . 0 8 9 2 0 . 0 2 1 0 0 . 0 2 5 8 0 . 5 5 0 1 0 . 6 4 5 3 S E D D F 4 ) 各時期ごとの LSMEANの MSEは 、 3種の誤差が合成され 2 . 7 4 4 となり、自由度は 3 0 . 9 である。 MSE=r((6.85200+14. 46 0 2 + 2 3 . 8 6 6 1 ) / 6 )=2 . 7 4 4となる。自由度は、 d f=( 6 . 8 5 2 0 0 + 1 4. 46 02+23.8661)2/( 6 . 8 5 2 0 02 / 5+1 4. 46022 / 5 + 2 3 . 8 6 6 12 / 9 0 )=35. 4734、となるはずで、あるが、 一致しなし、。原因は不明。なお、マニュアルにも多くの例での検証がまだされていないとの 記述がある。 5 ) D1内の経時変化は Fと4 . 1 9、D2内は Fと9 . 1 5と共に明らかな有意な差となっている。 6 ) 各時期ごとの差の検定より、 D2が D1に比べ早い時期に血圧が下降し、その効果が持続し ていることが、変化パターンの差であることが分かる。時期ごとの薬剤聞の差の SEは 、 MSE= r ( 2 ( 1 4. 46 0 2 + 2 3 . 8 6 6 1 ) / 6 )=3 . 5 7 4 2となる。自由度 d f=( 14 .4602+23.8661)2/( 1 4. 46022 / 5 + 23.86612 / 9 0 )=30.507となるはずであるが、一致しなし、。原因は不明。 ‑285‑
まとめ GLMプロシジャは、誕生当時の SASより提供されていて、何回もの改良が行われた結果、 様々な実験モデルに対して適応性が高く、かつ多くの使用経験を通じて安心して使えるプロシ ジャとなっている。それに対し、 MIXEDプロシジャは、リリース 6 . 0 7(1992) より新たに提供 され SASにとってはごく新しいプロシジャである。 MIXEDプロシジャは、固定効果とランダ ム効果(変量効果)をミックスした混合モデルを取り扱っている。 この問題は、古くより知られている問題である各種の分割実験、あるいは生物を対象とした 試験の統計解析で、ごく日常的な問題であるにも係わらず、その解析方法が煩雑であること、 多くの計算機資源を必要とすることから、一般的な教科書から消えつつあるのが現状である。 そのためにも、混合モデルの重要性を解析手段を示しつつ強調したいのである。 ここで取り上げた経時データの解析も、極めて一般的な問題であるにも係わらず、その取り 扱いに苦労させられてきた問題であった。 MIXEDプロシジャにより、多くの問題が解決される ことは喜ばしいことなのであるが、その誤用を未然に防ぐために、いくつかの典型的な事例に ついて、標準的な解析手順と出力結果の見方を示すことを目的とした。 分割実験において微妙なランダム化のプロセスに対応した変量効果の指定方法についての概 説は、経時データの解析モデルを考えるための手引きとなることをねらっている。ここに含ま れていないモデルに対して MIXEDプロシジャを適応使用しようとした場合のキーポイントは、 ランダムかのプロセス、固定効果と変量効果、それらの交互作用のどれを変量として取り上げ るか、である。 経時データの場合にも、基本的には分割実験のモデルと対比することにより、実験モデルに 対応した混合モデルを適切に構成することが可能で、ある。クロスオーバ一法の場合が、その例 であり、 RANDOM ステートメントでのほんの僅かな因子の指定の有無が、結果を左右する。 MIXEDプロシジャにとっては、解析手法上はどれも正しいのである。したがって、結果が出た からと言っても、多くの可能性のあるモデルの一つを選択しているに過ぎない。 MIXEDプロシジャには、ここに示していない、例えば、時期効果内の相関構造など検討課題 が残されている。機会を改めて、これらの問題について報告したい。 文献 1 ) 高橋行雄、大橋靖雄、芳賀敏郎 ( 1 9 8 9 ) SASによる実験データの解析、東大出版会. 2 ) 高橋行雄 ( 1 9 9 4 ) 各種分割実験モデルに対する MIXEDプロシジャの活用、第 1 3回 SASユーザ会 論文集 ( 1 8 3・2 0 2 ) . 3 ) 高橋行雄 ( 1 9 9 2 ) 欠測値を含む繰り返しデータの解析、応用統計学会シンポジウム予稿集 ( 7 3・7 8 ) . 4 ) SASI n s t i t u t e(1996) SAS/STATS o f t w a r eChangeandEnhancementst h r o u g hR e l e s e6 . 11 . 286
日本 S A Sユーザー会 (SUG I‑J) SASによる C o n t i n u a l Reassessment Methodの応用 石塚直樹 クインタイルズ・アジア・インク 生物統計部 Ana p p l i c a t i o no fC o n t i n u a lR e a s s e s s m e n tMethodu s i n gSASs y s t e m NaokiI s h i z u k a n c . Q u i n t i l e sA s i a,I a c h i d o k i,Chuo‑ku,Tokyo1 0 4 3 ‑ 1 2・1K 要旨 抗がん剤などの第 I相試験デザインとして C o n t i n u a lR e a s s e s s m e n tMethod (CRM)が注目されて 例ずつ用量反応関係について考えを更新し いる。 CRMで、は従来の 3例ずつのコホートに縛られず l ながら、次の患者の用量レベルを害[1付けるベイズ流のアプローチである。概念的には通常人間が 考えていることを、統計的に表現したにすぎない。しかし、計算はやや繁雑であり、特に積分と AS/Il'vfLソフトウェ 確率分布のグラフイカルな表現が重要となる。そのソリューションの一つが S アの QUADステートメント、 SAS/GRAPHソフトウェアの GPLOTプロシジャの利用である。 SAS システムは CRMのモデルの設定から、ベイズ更新、事前分布の計算まで強力なツールで、ある。 キーワード: CRM、MTD、用量反応関係、毒性発現確率、ベイズ、 QUAD、 GPLOT 1 はじめに CRMは 1 9 9 0年に当時 S e a t t l巴にある Washington大学の F r e dH u t c h i n s o nCanc 巴rR e s e a r c hC e n t 巴 r に在籍していた O ' Q u i g l e ye /a l . 1こより発表されたがん等のライフスレ卜ニングな疾患に対する治療法についての新しい第 I 相の試験デザインである。原論文の発表以来、関連する論文が統計家向けの雑誌に先行して登場したが、最 o c i e t yo fC l i n i c a lOncologyにおいても CRMある 近では臨床家向けの雑誌にも登場するようなった。 AmericanS いは CRMを改良したデザインを用いたスタディーが 1 9 9 4年に I 件 、 1 9 9 5年 5件発表されている。統計家から は従来の 3例ずつのコホー卜を用いたデザインを含めて従来の方法に比べて、 CRMは理論的に優位であると 認められている。現時点では、理論的特徴を損なうことなく実際の臨床においてどのように CRMを適用す るかに関心が移ってきている。 本邦でもがん治療学会のガイドラインが、僅カ ではあるが原論文を参考文献として紹介している。しかし、 h 従来から医薬品等の許認可に用いられてきた統計手法とは異なるベイズ流のアプローチを CRMが用いてい ること、原論文の数値例がハイパフリッケ・タンジェント土いう統計家でさえ見慣れない関数を用いたモデ ‑287‑
ルであることが CRM の理解を難しくしている。そこで、ペイジアン(ベイズ流の統計家)ではない人々に向け てその概念を提示する。 2 第 l相試験の問題 次のようながん患者の臨床試験を想定する。 (1)標準的な治療では短期間で死亡するリスクが高い。 ( 2 )提案された新しい療法は、高用量では毒性が高く、通常致命的である。 ( 3 )低用量では薬効がほとんど期待できないか、まったくない。 ( 4 )耐えられる毒性の範囲内で期待される薬効について、用量の範囲の情報がほとんどない。 ( 5 ) ( 4 )とは逆に、既に海外で臨床試験が行われ何等かの情報がある。 般的に新薬の第 I相試験は安全な用量の範囲を見つけるためにヒトに投与される最初の試験であり、通 常健常なボランティアが対象とされる。非常に低い用量から始まり、ゆっくりと安全性を確認しながら漸増 してし、く。しかし、現時点での治療が有効でなく、他のどのような治療法を試みようとしても、その前に患 者が死亡してしまいそうな想定する場面は当てはまらない。 想定する状況で第 I相試験を行う場合、第 H、E相試験で用いるレベルに十分な評価を考えるだけでなく、 第 I相試験に参加する患者にも通常の倫理的配慮、がなされてしかるべきである。すなわち、参加医師が効果 の劣ると考える治療を受ける患者がし、ないようにすることである。新しい治療法がなく死亡率が高い場合に は、目標とする毒性レベノレを最良に推定した用量を投与し、許容できない高い確率で毒性が発現してしまう ような用量を投与すべきではない。 被験者は健常人ではなく患者であるため治療を期待している。既に海外で試験が行われている、あるいは 承認されている場合には、低用量で投与することは毒性だけでなく、有効性も期待できない用量を投与する ことにもなる。また、試験の最終結果である最大耐用量 (MTD)の推定精度が低いと毒性発現確率の高い用量 レベノレが、引き続く第 H相試験でより多数の患者に投与されることになりかねない。逆にもう少し高い用量 レベルが選ばれたかもしれないのに低い用量レベルで 第 H相試験を行うことになり、期待された有効率が得 られないことにもなりかねない。 常識的には、がんに勝ってもクスリに負けてはどうしようもないので、十分低い用量レベルから始めて安 全性が確かめられたら次の患者に増量していくことになろう。その際には、その時点までに組み入れられた 症例の結果を基にして、既に存在する情報から用量反応関係を考えて次の患者に割り付ける用量レベルを決 定すべきである。すなわち、単純に増量するだけでなく危険と考えられれば減量するか、増量をストップし て安全性を確認すべきである。十分な確信が得られるまで、その確認作業を続けることになろう。 用量反応関係、のモデル化に、次の要件を考える。 ( a ) 用量が増えれば、毒性も強くなるという単調増加の関係。 ( b ) 毒性が強くなる用量レベル付近では傾きが急激になり、毒性が弱い用量レベル付近で ある。 以上を満たすモデルを関数として、 2 8 8 は傾きは緩やかで
T o x i c i t y=ψ(sIope, DoseL e v e I ) と表現することができる。例えば、ロジスティック・モデルが考えられる。図 lに概念、図を示す。 τ b x i c i t y D o s eL e v e l 図 l 毒性についての用量反応関係のモデ、ル このモデルに確信がなければ、より傾きの緩やかな範囲から傾きが急な範囲までを想定することになる 左)。一方で、確信が強ければその範囲はさらに狭くなる(図 2中、図 2 右)。既に海外で試験が行われてい ( 図2 る場合や、用法が異なる場合などには想定する用量反応関係の範囲は狭くなるかもしれない。 τ b x 討t y D o a eL e 司l D輔Leoel D咽 eL e 司l 図2 確信が弱いモデルと確信の強いモデ、ルの違いを示す概念図 (シェードの部分が有り得ると考える範囲) 想定している用量反応関係に対して、ある用量レベルで、毒性が観察されると傾きが急な用量反応関係に考 えを改めるであろうし、毒性が観察されなければ傾きが緩やかな用量反応関係であると考えを更新する(図 3 ) 。更新するモデルの傾きは、試験が行われる用量レベルと事前の確信の度合によって異なる。すなわち、 全く問題のないと考えていた用量レベルで、毒性が現れれば、確信が弱い状況では驚いて毒性が強いのではな cあろっ。その反対に、毒性 いかと警戒するであろっし、権{旨が強ければ偶然に希なことが起きたと考える ‑ が現れなければ当たり前と考えてその用量レベル周辺で、の用量反応関係に確信を深めることになろう。 τ b x i c i t y A盟 国 主ed ‑ 一 一 No tO b s e r v e d O凶 erv凶 Dos 巴 L e v e l 図3 観察された反応により用量反応関係を更新する概念図 2 8 9一
3 伝統的なデザイン 従来のデザインでは、一定数の患者(多くの場合3 例)が、開始用量で用量規制毒性のL T )が現れなければ次 の用量に進む。もし現れれば、さらに 3人が同じ用量で続けられる。 6人中 l 人までの毒性なら用量をさらに 上げて次に進む。 2人以上に毒性が現れたらそこで止める。終了した用量が最大耐用量 (MTD)としていた。 当然、許容できる毒性の発現率を事前に設定することは出来ず、目標とする発現率を低く(高く)するのであ れば、 DLT のG r a d eを下げる(上げる)などDLTの規準を変更することで対応し、試験終了後に推奨用量として 選ばれた用量レベルの毒性発現率を事後的に推定するしかない。第 I相試験の問題について、統計的側面と して P i a n t a d o s ieta/.(1993)は投与開始用量は低すぎ、 MTDからかけ離れていると指摘し、Rat a i neta/.(1993) は推奨用量が精確ではなく、推奨用量付近で治療される患者が少ないと指摘している。 直ちにデザイン上の疑問として、 ‑開始用量が MTDからかけ離れているのであれば、低用量と思われる用量レベルで3例に投与する必要があ るのだろうか? 用量レベルの設定を上げる必要はなし、か? ・高用量と思われるところで増量するためには4例以上で安全性を確認する必要はなし、か? 例目に毒性が出現した場合に、すぐ減量するべきではなし、か? ・増量直後の l 等が列挙できる。 ここで r 3例」について考えるため数値例を示す。デザインそのものがある用量レベルより低い用量レベ ルにおける毒性の発現の有無を無視しているため、単純に 3例のうち l 例も毒性の発現がない場合について二 項確率から計算した上側信頼限界を表 lに示す。表 Iから I 例も発現がないことを根拠に増量するのは、信頼 水準 70%としても約 33% 以下であることを確認したにすぎない。一方、毒性発現確率が 40%であっても、 3 例中 l 例も発現しない確率は 21 .6%あり、ストップせず増量することになる(表 2 ) 。 表 1 3例中 1 { f f J Iも発現しない場合の毒性発現確率の上倶J I限界 信頼水準(%) 毒性発現確率(%) 5 3 . 5 8 4 9 0 80 41 . 520 70 3 3 . 0 5 7 表2 ,例中 l 例も出現しない確率 毒性発現確率(%) 確率(%) 20 51 .2 30 3 4 . 3 40 21 .6 5 0 1 2 . 5 さらに、毒性発現確率が 10%の場合について、その用量レベルで必要な例数と試験がストップする確率と ストップしない確率について計算してみる。 3例のうち毒性が発現する人数とその確率を表 3に示す。 表3 毒性発現確率が 10%のときに発現する人数と確率 発現する人数 確率(%) 累積確率(1人以上)% 7 2 .9 2 4 . 3 2 4 . 3 2 2 . 7 2 7 . 0 3 0 . 1 2 7 . 1 。 290‑
31 f J Iのうちいずれかで発現する確率は、 1‑1例も発現しない確率 =1‑(ト 01 .0 ) '=0 . 2 7 1、 27.1%である。したがって、必要な例数は期待的に 3 . 8 1 3 ( = 3 + 0 . 2 7 1x3 )例である。 また、この用量レベルで、試験がストップしない確率は、 最初の 3 例で l 例も出現しない確率 +最初の 3 例中 l 例に出現しかっ追加の 3 伊j 中l 例も発現しない確率 =0 . 7 2 9+0. 243x0 . 7 2 9=0 . 9 0 6 であり、 90.6%である。したがって、試験がこの用量でストップする確率は約 10%である。仮に 10% 程度の 発現率の用量レベルが 3つ連続すると、これら 3つの用量レベルのいずれかで試験がストップする確率は 27.1%になる。すなわち、 MTDより低い用量レベルが何段階もあると、高い確率でMTDより低い用量をどこ かで選んでしまう多重性の問題がある。 4 ベイス流のアプローチ:常識の統計的表現 2章で考えた用量反応関係で、毒性を DLTによる二値応答とする。すなわち、 DLTが発現すればy=1 、発現 しなければy= 0とする。ここで、確信度を表現するためにJ 番目の被験者の傾き ( s l o p e )に確率分布V{ s l o p e,Q) を導入する。確信が強い場合には確率分布の分散は小さくなり、確信が弱い場合には分散は大きくなる。確 4 ' 率分布から信頼区間を表示した用量反応関係の例を図 こ示す。 酬明記 紘一航配 dj100000000 PAM9836 ・S A 3 2 , , 01 0 . 0半ニニ 2 3 4 5 D o s eL e v e l 図4 信頼区間を用いた用量反応関係の例 j ニl 、すなわち一例目の分布に指数分布を用いれば、事前の予想が間違っていても最終的に選ばれる MTD の毒性発現率は最尤法に近いことが知られている。用量反応関係、の更新は、この確率分布をベイズの定理に 従い更新する。 /( s l o p e,QI)・尤度 f ( s l o p e, Q, )= ∞ l f(ゆ 1 ) 尤度 d l l o f この更新された確率分布の分散が十分に川、さくなれば、より確信のあるモデルになる。最も簡単な方法は 例数を増やすことである。効率的に増やすには、最終的に目標とする毒性発現率に対応する用量レベル付近 291‑
の情報を得ることである。更新された確率分布を基にした用量反応関係から、現在の用量レベルの毒性が強 いと考えられるのであれば減量し、毒性が弱し、と考えられるのであれば増量すればよし、。 CRMとは文字ど おり、繰り返し用量反応関係の考えを更新しながら毒性を評価する方法である。 用量反応関係のパラメータに確率分布を導入したので、各用量レベルの毒性発現確率の確率分布が求まる。 ここで、用量反応関係をあらためて、 p=ψ ( s l o p e, DoseL e v e l ) l o p eを関数 ψで変数変換したことになるので、 pの確率密度関数は各 とおけば、 毒性発現確率pは確率変数 s 用量レベノレ毎に f(p)=f ( s l o p e )d . s l o p e j午 となる。 同様に目標とする毒性発現確率(例えば、 33%)が与えられれば、 MID=ψ;~ , ,( s l o p e ) であるので、毒性発現確率pと同様に MTDの確率密度関数は、 f(MTD)=f ( s l o p e )d . sl o p e j刷 TD となる。 a,b fこ示す。図 5 bのL e s sC o n f i d e n tが図 4の信頼区間に 図4に示した用量反応関係から誘導した確率分布を図 5 対応している。試験開始前の事前分布を決定するのに役立つと考えられる。 f t : p ) D田 eL e v e l 一 一 一 1 . / ( M T D ) P吋σT 一 一 V唱 e ‑ ー 一 一 L e 曲 C o n l l d 田l t n l l d c n t C o 2 3 一 一 4 一 一 ー 6 ふレイ¥ . 50 . 60 . 70 . 80 . 9 LO 0 . 0 01 02 0 . 30 . 40 123 4 p MTD 図5 a 誘導された毒性発現確率の確率分布 図5 b 誘導された M百 の 確 率 分 布 j番目の患者に投与する用量レベルは、毒性発現確率pの確率分布から決めることができる。各用量レベル P )を求め、目標、とする毒性確率に最も近い用量レベルを害1付ける。その際、例え の毒性発現確率の期待値E( p> O . 5 ]が大きいのであれば、それより下の用量レベルを割 ば50%というような危険なレベルを越える確率 Pr[ 付ける。あるいは分布は l例ずつ更新できるが、同一用量レベルに 2例以上割付けるオプションもある。実際 l o p eの密度関数;J(s l o p e )から計算できる。 それに加えて図およ には毒性発現確率pの密度関数で、はなく、傾き s り、増量することにより毒性が強い可能性がどの程度あるか? あるいはどの程度安全性が確かめられてい るか視覚的に判断することが可能となる。図 4で縦軸の目標とする毒性発現確率(例えば、 33%)に対応する横 軸の用量レベルを選ぶことは、原論文を始めとして多くの他の論文でも割付けルールとして採用している。 しかし、分布の分散を無視することになるので、極めて危険なルールであり避けるべきである。 試験の終 f ' 土卜分な情報量が得られ確信が得られた時点で止めればよ L、。すなわち、分布の分散が 1 /、さく ‑292‑
なれば止めて良い。その意味では、ストッピング・ルールはフレキシブ/レに設定できる。原論文では例数を
固定してお例終了した結果を基に 26例目に劃付けることになる用量レベルを最終推奨用量としている。また、
同一用量レベルで害IJ付けられる症例が k例に達した時点で終了することも提案されている。
5S
A
Sシステムの利用
CRMの計算を行うためには、 4章のベイズの定理により分布を更新するところで示したように積分を必要
とする。応答に対して共役な分布が存在すれば容易に計算できるが、ほとんど場合に数値計算に頼るしかな
し
、
。
S
A
S
/
恥江ソフトウェアではQUAD
ステートメン卜により数値積分が可能で、ある。
•Q
U
A
D関数のコーディング例
関数の定義
start fO(a);
pdf = exp(‑a)*like(日);
return(
p
d
f
);
finish;
積分領域の定義と数値積分
range = {0 .p }
;
ca11 quad(zO,"fOヘ range);
また、 S
AS/GRAPHソフトウェアの GPLOTプロシジャにより柔軟に分布のグラフイカルな表現が可能で、あ
る。分布形だけを表示したいのであれば積分は必要ない。
・図 5
に用いたコーディング
data work;
slope 0.729; inter = 2.49;
do dose = ‑6 to ‑2;
do theta = 0.001 to 0.999 by 0.001;
a = (10g (
t
h
e
t
a
) 一 log(l‑theta) ‑ inter ) / dose;
1
)
)
)*exp(
‑(
(
日
slope)料 '2)/(2*(slope/2.5)**2));
prior = 1/((slope/2.5)*sqrt(8*日tan(
f
l = ‑ priorl / (theta*(l ‑ theta)*dose);
i
f a >0 then output;
e
n
d
;
e
n
d
;
run,
二
xisl1abe1=(f=centxih
=
3
.0'f
' f=centxh
=
2
.5'(
' f centxi'
p
' f=centx')') v=nonew=3minor=none
major=none 1ength=64pct;
axis2 labe1=(f=centxi h=3.0 '
p
'
) v=(h=2.0 f=centx)
.0 by 0.1 minor=(n 1
) offset (Ocm,Ocm) 1ength=70pct w=3;
order=O to 1
legendl position=(top right inside) va1ue=(h=2.0 f=centx '
1
' '
2
' '
3
' '
4
' '5')
) 1abe1 (
f centx h=2.0 'Dose Leve1');
mode=share across=l shape=symbo1(
4,1
proc gplot;
p10t f*theta=dose
/ legend=legendl vaxis=axisl haxis=axis2;
=
1 c=b1ack w=3;
symbo1l i=sp1in巴 v=none 1
symbo12 i=spline v=none 1=2 c b1ack w=3;
symbo13 i=spline y=none 1=3 c=b1ack w=3;
ニn
one 1
=
4 c=b1ack w=3;
symbo14 i=sp1ine y
symbo15 i=sp1ine v=none 1 5 c=b1ack w=3;
run,
qUlt
;
日
二
二
二
二
二
二
‑293
二
6 おわりに CRMの魅力は毒性だけでなく効果も期待できない低用量で投与される症例数を減らし、試験に参加する 症例のうち MTD付近で投与される割合を高くすることにある。統計的には用量規制毒性 (DLT)の発現率が何 パーセントかという MTDの定量的な解釈を可能にし、しかも MTDの推定精度が高い。また、毒性と有効性 をともに考慮する併用療法における第 I/I!相試験への展開も含めて、今後の研究の進展が期待される。 References .,S t e w a r t, . 1T u r s c h,K .,S t o r e r,B .,Arzoomanian,R .,Alb e r t i,D .,F e i e r a b e n d,C .andW i l d i n g,G .( 1 9 9 5 )P h a s e1t r i a lo f B e r l i n,J ピ , P r o c e e d i n g so ft h eAnnu a lMeetingo ft h eA me r i c a nS o c i e t yo fC l i n i c a l p e n c l o m e d i n eu s i n gan o v e le s c a l a t i o nschem Onc o l o g y,1 4・A1533. S .( 1 9 9 3 ) 刀l ec o n t i n u a lr e a s s e s s m e n tme出 o di nc a n c e rp h a s e1c l i n i c a lt r i a l s :as i m u l a t i o ns t u d y ' .S t a t i s t i c si nM e d i c i n e C h e v r e t, v ol .1 2,1 0 9 3 ‑ 1 1 0 8 F a r i e s,D .( 1 9 9 1 ) . '百l em o d i f i e dc o n t i n u a lr e a s s e s s m e n tm e t h o d sf o rp h a s e 1c a n c e rc l i n i c a lt r i a l s ' . American S t a t i s t i c a l 9 9 1P r o c e e d i n g so[t h eB i o p h a m t a c e l l t i c a /Sectwn,2 6 9 ‑ 2 7 3 A s s o c i a t i o n1 Fa 巾s ,D .( 1 9 9 4 )P r a c t i c a lm o d i f i c a t i o no f白 c o n t i n u a lr e a s s e s s m e n tme 出o df o r仲 間 1c a n c e rc l i n i c a lt r i a l s二J O l ll7la lo[ B i o p h a r m a c e l l t i c a /S t a t i s t i c s, 4 ( 2 ),1 4 7 ‑ 1 6 4 . .N .,Z a h u r a kM.L .a ndP i a n t a d o s iS .( 1 9 9 5 ) Somep r a c t i c a li m p r o v e m e n t si nt h ec o n t i n u a lr e a s s e s s m e n tmethodf o r G∞ 也nan,S S t a t i s t i c si nM e d i c i n ev ol .1 4,1 1 4 9 ‑ 1 1 6 1 p h a s e1s t u d i e s ', .L . ,M idthune,D .,Chen,T .T .,R u b i n s t e i n,L .V .,C h i r s t a i n,M.C .andSimon,R .( 1 9 9 4 ) .< Acomp 訂 i s o no ftwop h a s e1 Kom,E むi a ld e s i g n s . 'S t a t i s t i c si nM e d i c i n ev ol .1 3,1 7 9 9 ・1 8 0 6 . Mick,R .,R a t a i n,M . J .( 19 9 3 ) Model‑GuidedD e t e r m i n a t i o nofMaximumT o l e r a t e dDosei nP h a s e1C l i n i c a lT r i a l s :E v i d e n c ef o r I nc r e a s e dP r e c i s i o n ', J O l l m a /o [ t h eN a t i o n a /CancerJ n s t i t l l t e,Vo. l8 5, N o .3,2 1 7 ‑ 2 2 3 S .( 1 9 9 5 ) Ane x t e n s i o no f出 ec o n t i n u a lr e a s s e s s m e n tm e t h o d su s i n gap r e l i m i n a r yup ‑and‑ do 、 N l 1d e s i g ni nad o s ef i n d i n g M o l l e r, s t u d yi nc a n c e rp a t i e n t s,i no r d e rt oi n v e s t i g a t eag r e a t e rr a n g eo fd o s e s ', S t a t i s t i c si nM e d i c i n evo. l1 4,9 1 1 ‑ 9 2 2 . 1P epe,M.,andF i s h e r ,L .( 1 9 9 0 ) ι C o n t i n u a lR e a s s e s s m e n tM e t h o d :AP r a c t i c a lD e s i g nf o rP h a s eIC l i n i c a lT r i a l si n O ' Q u i g l e y,, C a n c e r ' .B i o m e t r i c s46,3 3‑ 48 O ' Q u i g l e y,1 .a ndC h e v r e t,S .( 1 9 9 1 ) Methodsf o rd o s et i n d i n gs t u d i e si nC a n c e rc l i n i c a lt r i a l s :A r e v i e wandr e s u l t so famonte C訂 1 0s t u d y ' .S t a t i s t i c si nM e d i c i n eVol .1 0,1 6 4 7 ・1 6 6 4 . .( 1 9 9 2 ) .E s t i m a t i n g出 eP r o b a b i l i t yo fT o x i c i t ya t出 eRecommendedDoseF o l l o w i n gaP h a s e1C l i n i c a lT r i a li n O ' Q u i g l e y,1 i o m e t r i c s48,8 5 3 ‑ 8 6 2 C a n c e r ' .B P i a n t a d o s i,S .,S a i j o,N .andTamura,T .( 19 9 2 )B a s i cD e s i g nC o n s i d e r a t i o nf o rC l i n i c a lT r i a l si nOnc o l o gy ' , JapanJOIlI1lα/o[ CancerR e s e a r c h,8 3, 5 4 7 ‑ 5 5 8 R a t a i n,M . J .,Mick, R ., S c h i l s k y, R . L . ,S i e g l e r,M.( 1 9 9 3 )S t a t i s t i c a landE t h i c a lI s s u e si nt h eD e s i g nandC o n d u c to f P h a s e1andI I C l i n i c a lT r i a l sofNewAnt i c a n c e rA g e n t s ' .J O l l m a /o [ t h eハl a t i o n a /Cancer1 n s t i t l l t e,Vol .8 5, No.20,1 6 3 7 ‑ 1 6 4 3 R i n a l d i,D. A ,B u r r i s,H. A . ,D o π,F. A ,N e l s o n,J .,F i e l d s,S . M .,K吐m,1 .G .,E c k a r d t, . l , Lu,P .,Woodwo 口h, J . R .,C o r s o,S.W.and Von Ho t1~ D . D .( 19 9 4 )AP h a s e1e v a l u a t i o no ft h en o v e lt h y m i d y l a l e前 ' 1 l t h a s ei 此Jib i t o r,LY231514,i np a t i e n t sw i t h a d v a n c e ds o l i dt u m o r s ',P r o c e e d i n g so ft h eAnnu a lM e e t i n go f出eA me r i c a nS o c i e t yo fC l i n i c a lOnc o l o g y,1 3 : A 4 3 0 R i n a l d i,D. A ,B u r r i s,H. A ,D o π, F . A .,Woodworth,J . R .,Kuhn,1 .G .,E c k a r d t,J . R .,R o d r i g u e z,G .C o r s o,S.W.,F i e l d s,S.M., L a n g l e y,C,C I むk ,G .,F a r i e s,D .,Lu,P .andVo nHo ! lD.D( 1 9 9 5 )I ni t i a lP h a s e1E v a l u a t i o no f t h eNovelTh" m i d y l a t e S y n t h a s eI n hi b i t o r, LY231514, U s i n g出 eM o d i t i e dC o n t i n u a lR e a s s e s s m e n tMethodf o rDoseE s c a l a t i o n ' .JOIl円 w / o [ C l i n i c a / Onc%gy,Vo. l1 3, N o .1 1,2842品 5 0 R i n a l d i,D .,B u r r i s, H .,D o π,F. A ,E c k a r d t, , . 1F e l d s, S .,L a n g l e y, C .,C l a r k, G .andVonHoff ,D . D .( 1 9 9 5 ) Ap h a s e1e v a l u a t i o no f t i l i z i n g出 巴m o d i f i e dc o n t i 口u a lr e a s s e s s m e n tmethodf o rd o s ee s c a l a t i o n ' .P r o c e e d i n g s LY231514a d m i n i s t e r e de v e r y2 1d a y s,u ' 1t h e .Annu a lM e e t i n go ft h eAm巴r i c a nS o ι i e t yo fC l i n 二 < ia lOnc o l o g y,1 4 : A 1 5 3 9 0 S h e p h e r d,F .,C o r m e i r,Y"B u r k e s,R . , Crump,M.,F e l d,R .andS t r a c k,T .( 1 9 9 5 )ーM o d i f i e dc o n t i n u a lr e a s s e s s m e n tm e t h o d o l o g y i o rwayt oa s s e s st o x i c i t yi nap h a s e1s t u d yo fG巴m c i a t b i n e(GEM)andC i s p l a t i n(CP)f o rn o n ‑ s m a l lc e l l l u n g (mCRM):A s u p巴r c a n c e r(NSCLC).',P r o c e e d i n g so f出巴Annu a lM e e t i n g0 ' 1t h eA me r i c a nS o ι i e t yo f C l i n i c a lOnc o l o g y,1 4 : A I 0 9 0 S i n i b a l d i,V .,E i s e n b e r g e r,M.,Moore‑Cooper,S .,Rowinsky,E .,Donehow 巴r ,R . ,N e l s o n,W.,Simons,J .,Reyno,S .,Goodman,S ., L i n g,T .andC o l v i n,M,( 1 9 9 5 )P h a s e ‑ Is t u d y0 ' 1ap h a r m a c o l o g i c a l l y ‑ d e r i v e d,d a i l yX 5,m o n t h l ys c h e d u l e( S c h )o fs u r a m i n ( S u r )i np a t i e n t s( P t s )w i出 h o r m o n e ‑ r e仕a c t o r yp r o s t a t ec a n c巴r(HRPC ) . ' ,P r o c e e d i n g so f出eAnnu a lM e e t i n go ft h eA me r i c a n o l o g y,1 4 : A1 5 1 6 S o c i e t yo f C l i n i c a lOnc Ze 円 o s,P . H .,F a r i e s,F. A , D o π ,F. A , R i n a l d i,D .,S t o m i o l o,A .M.a ndVonHo汀~ D . D .( 19 9 5 )' P r a c t i c a lu s eo f出 em o d i t i e d c o n t i n u a lr e a s s e s s m e n tmethod(mCRM)f o rd o s ee s c a l a t i o ni nap h a s e1t r i a lw i t hLY231514.',P r o印巴d i n g so f出eAnnu a l Meetingo f t h eA me r i山 nS o c i c t yo f C l i n iじa lOnc o l o g y,1 4 : A1 5 3 3 ‑294‑
日本 S A Sユーザー会 (SUG I‑J) 臨床試験における入力データの信頼性確保について O渡 辺 敏 彦 ¥ 米 田 博本ぺ笠原 芳明ホホホ 科 研 製 薬 株 式 会 社 開 発 1部統計解析グループ本 4 臨床統計グループホホ 株式会社ベルシステム 2 科 研 製 薬 株 式 会 社 開 発 1部データマネージメントグループホホホ Qualityassualancef o rC l i n i c a lDataEntry ToshihikoWatatabe, YshiakiKasahara L t d . KAKENPharmaceuticalC o ., HiroshiYoneda BELLSYSTEM24 I n c . 要旨 入力画面を用いたシングルヱントリー及び読み合わせによるデータ入力とダブ ルヱントリーによるデータ入力を、全く異なる 2系列で実施し、その入力精度を PROC COMPAREを用いて比較した。それとともに、どのような状況でどのようなデ ータ誤りが生じるのかを詳細に調査し、そのメカニズムを探った。 キーワード:データ誤り、 p roc c o m p a r e、読み合わせ、ダブルヱントリー 1.はじめに 医薬品の開発過程において、適正な薬 効評価を行うために、正確な臨床データ を得ることは、科学的にも倫理的にも最 も基本的かっ重要な事であると考えられ る。このために道守すべき根本的な事柄 は GCPC G o o dC l i n i c a lP r a c t i c e :医薬 品の臨床試験の実施に関する基準〉でも 規定されている。 しかし、医療現場における医師や企業 の担当者等、多数の人間が介在する臨床 試験では、試験の計画段階からデータの 収拾、コンビュータへのデータ入力まで、 あらゆるところで間違いを生じる可能性、 言い換えればデータ誤りを生じる可能性 が大きい。これらを改善するためには G CPの道守は当然のことであるが、さら に高度なデータ品質を保証するための手 だてを取ることが今後必要とされるであ ろう。 さて、医薬品開発過程で実施されるヒ トを対象とした臨床試験では、その調査 ‑ ‑ ‑ 3 項目は少ない試験でも 1例当たり 2 o0項目であり、多い試験では数千項目 を超える。 これらの調査項目は治験を依頼した医 師により、調査表に記入された後、製薬 会社により回収され、内容のチェック、 チェック結果の医師へのフィード、パック、 確認、訂正といったサイクルを何回か経 ‑295‑
た後、またはその過程でコンビュータに 登録される。 これらの一連の作業で誤りを少なくす るためには、試験計画書の作成や調査表 の設計の段階から考慮する必要がある。 これらに関しては日本製薬工業協会医薬 品評価委員会臨床評価部会のまとめた論 文しわに詳しく解説されている。一方、 試験計画書が作成された後のデータ収集 段階でのデータ誤りを防止するための方 法論は同じく医薬品評価委員会臨床評価 部会の論文 3) に詳しい。 臨床試験のデータの品質向上と言った 場合、調査表上のデータが正しく記載さ れるレベルとコンビュータ上で表現され たデータが適切かどうか、言い換えれば E l e c t o r i cD a t aP r o c e s s i n g ) 七 イ ED PC が適切に行われたかの 2つに分けて考え ることが出来る。 EDP化についても論 文 3) で一般的な事柄について議論されて おり、そこではダブルエントリーが前提 として細かな注意事項について議論され ている。 R o b i n4) らは C A S Ts t u d yの中でダブル エントリーとシングルエントリーでその 誤り率を調査しており、ダブルエントリ ーが優れていることを示している。 一+読み合わせチェックとダブルエント リーの精度等の比較を行う機会を得た。 これらのデータは科研製薬とベルシステ ム 24の独立した 2系列で入力され、最 終的には SASデータセットに変換し、 P R O CC O M P A R Eにより比較を行い、誤り率 等を算出した。さらに、データ入力を委 託する場合にどのようなことに注意をす る必要があるのか、またデータエントリ ーの過程でどのような問題点が生じるの か調査する目的で、これらを詳細に記録 に残してもらい、どのような状況で間違 いが生じるのかの検討を行った。 2 . 実施方法 先に述べたように、シングルエントリ ー+読み合わせとダブルエントリーによ るEDP化はそれぞれ全く独立に実施さ れ、前者を科研製薬が、後者をベルシス テムが担当した。 また今回の調査に使用したデータはテ スト用に作成した架空のデータではなく、 実際の第血相比較臨床試験のデータを用 、 Lf こ 。 データの概略、人員、手順等について 以下に示す。 2 .1.データ 当社ではこれまでシングルエントリー +読み合わせチェックを何回か行うこと で 、 EDPデータの質の保証を行ってき た。しかし、この方法に関し、どのくら いの精度があるのか、また、ダブルエン トリーと精度及び効率まで考慮、した場合 どちらが良いのか、ダブルエントリーを 行う上でどのような問題点があるのかと L、った検討は一切なされていなかった。 今回、今後のデータの質の保証を行う ための予備調査として(株)ベルシステ ム 24の協力を得て、シングルエントリ データの概略を表l.に示す。 表l.データ概略 1 8例 例数 : 2 7 9項目/例 項目数 : 5 総項目数: 1 2 6,2 2 2項目 項目内訳 2 2 3 項目 数値データ カテゴリーデータ 3 5 6項目 (折プ l トず ‑ ' 1はすべてヨード入力〕 ‑ 2 9 6一
2 . 2 .人員 のものは一連の DM(Data Management) の作業によりチェックされ、必要であれ ばモニタリング担当者を通じ、医師にフ ィードパックされ、修正されるが、その 段階で入力データの修正も行った。 この一連の手順の後、調査表は仮固定 されるが、その段階で入力されたデータ を紙にアウトプットし、 2名ぺアとなり 読み合わせチェックを行った。 通常の手順では、この後何回か、読み 合わせチェックが行われるが、今回は 2 回のみとした。 それぞれの EDPは表 2 . に示す人員 で実施した。 表2 . 人員内訳 作業 シングルエントリー + ダブルエントリー 読み合わせ 担当 科研製薬 4 へ 守 ル シ ス テ ム2 人数 3名 8名 手順の詳細を図 1 . に示す。 2 0代男性 2名 2 0代男性 6名 0代女性 1名 構成 4 0代男性 1名 2 3 0代女性 1名 2 . 3 . 2 .ダブルエントリーによる EDP手 順 2 . 3 .ED P手順 2 . 3 .1.シングルエントリー及び読み合わ せによる EDP手順 読み合わせによる EDPは科研製薬が 通常行っている手順に従い実施したが、 読み合わせ回数等、一部手順を省略した。 また、データ入力は科研製薬のデータ管 理システムである PAS‑P R EA N A L Y S I S S Y S T E M ‑引を使用し、調査表を直接、 入力画面を使用して入力を行った。 PASにおける入力画面はプロトコー ル、調査表に基づき作成されたメタ情報 により、データの型誤り、桁誤り、小数 点の位置誤り等は自動的にチェックされ る。従ってこれらに起因するような単純 な入力ミスは生じ得ない。 初期データ入力はモニタリング担当者 自身による大まかな調査表チェックが終 了した段階で、行った。その後、調査表そ ダブルエントリーは科研製薬がベルシ ステム 24に業務委託をする形態で実施 した。今回の調査の目的はダブルエント リーとシングルエントリー+読み合わせ の精度の違いだけではなく、委託による 問題点の抽出やデータ誤りのメカニズム の究明も目的の 1つであるため、単なる エントリーにとどまらず、問題点抽出の 作業そのものも委託に含めた。 2 .3 .2 .1.委託資料 科研製薬におけるシンク。ルエントリー は担当者も作業手順やデータの内容その ものに関し熟知しているため、標準的な 作業手順書やコード表等のみで実施する ことができるが、データ入力を委託する 場合には詳細な資料が必要であり、今回 は下記のような資料をもとに業務委託し た 。 ‑297‑
lj 投‑ 1圃 静 aEY 号 依 頼 巳亙E J 自動設計~ G記 主2 I___?_~記 ξ2 主 匂己! ζZE 支~ 図L シングルエントリー + 読み合わせの手順 ぐ長 ζZ 主 告己 主 三 孟 行方向に各項目を、列方向に確証例レコ ードを配置し、入力を行方向に行うこと とした。また、列幅を調節して入力中の 症例レコードのみ画面に表示されるよう にした。 ダブルエントリーであるので、サーノ〈ー 上に 2つの入力用ブックファイルを用意 した。 また、入力中の疑問点を記録するため、 E X C E Lの入力用ブックファイル内に入力 シートとは別に質問シートを配置した。 本1E X C E LはM I C R O S O F T 杜の商標です。 2 . 3 . 2 . 3 .作業マニュアルと作業用資料 具体的な作業手順をまとめた作業マニ ュアルを準備した。また、入力作業の開 始時刻と終了時刻及び作業者を記録する ための「入力記録」を作成した。 さらに、実際の作業では作業マニュア . 3 . 2 .1.の委託資料のうちの, ルとは別に 2 5 ),6 )の資料を作業用資料として用いた。 主~ 三護岸 1)調査表コピー C c o n f i d e n t i a lシートを使用) 2 )変数一覧表 3 )カテゴリ一一覧表 4)変数カテゴリ一対応表 5 )薬剤コードテーブル (前治療薬及び併用薬) 6 )調査表入力取扱書 2 . 3 . 2 . 2 .入力環境 2 . 3 . 2 . 4 .入力担当者の研修 2 . 2 .で示した夕、フ守ルエントリー要員 8 名を 2クゃループに分け、 2 . 3 . 2 . 2 .の画面 及び 2 . 3 . 2 . 3 .の資料を用いて 2時間の研 修を実施した。 2 . 3 . 2 . 5 .テスト入力の実施 本番の入力に先立ち、 10症例のテス ト入力を実施し、科研製薬のデータと突 き合わせ、変換プログラム等の修正及び 問題点の抽出を行った。 なお、この 10例のデータは破棄し本 番では入力し直した。 X C E L lを利用した。 入力ツールには E 本 ‑298‑
2 . 3 . 2 . 6 .本番入力 1)作業割り当ては特に決めず、各スタッ フが入力記録を参照し、作業の遅れて いる入力ファイル側から入力する。 2 )入力は原則として l人で行う。 3 )20例/人・日を目標とする。 4 )入力に関して疑問が生じた場合には、 とりあえず自分なりの判断を下し、 「質問シート」に記録した上で作業を進 める。 3 . 結果 フ 科研製薬からベルシステム 24へタ 守 ルエントリー委託後、本番入力までに、 何回かの打ち合わせを設け、ベルシステ ム 24でもスタッフに対し研修を実施し たが、実際の入力にかかった時間は 8日 間であり、その後の突き合わせチェック、 修正の時間を入れても 2週以内で納品さ れた。 この問、科研製薬では調査表の最終確 認を実施しており、特にダブルエントリ ーを導入したことによりそのための時間 が必要になることはなかった。 2 . 3 . 2 . 7 .中間突き合わせチェック 3 .1.質問シートの内容 本番の入力では以下のルールに基づき 作業を実施した。 e 2系統のデータ入力がそれぞれ 60例 を越えたところで 60症例分のデータの ベルシステム 24から科研製薬への問 い合わせはテスト入力時も含め 1 0 2件で、 2系列双方の重複質問も含め延べ 1 4 3件 突き合わせを行い、入力画面の変更、作 . に示す。 であった。その内訳を表 3 業マニュアルの追加、修正を行った。 ここで「判読不能」とは調査表にかか 2 . 3 . 2 . 8 .質問シート れた文字が判読出来ないという意味であ 各スタッフからの質問や中間チェック る。また、 「メモ書き」とは調査表の記 で明らかになった疑問に関しては、まと 載ルールに則らずに記入されたものや、 めて、科研製薬に問い合わせた。 メモが追記されており判断出来ないもの を指す。たとえば、臨床検査で特定の項 2 . 3 . 3 .集計 目に他とは異なる日付がメモとして記載 質問シートをもとに集計をおこない、 されている場合や、測定値に i50以上」 データエントリーを委託した場合にどの とか i25近辺 J il0‑‑12J 等と記 ような問題点が生じるかを検討した。 載されている場合である。 ダブルエントリーによる突き合わせチ これらの記述に関しては本来データマ ェックの結果からエントリー時の状況を ネージメントの段階で確認されているは さかのぼり、どのような原因でデータ誤 ずのものであるので入力取扱書等に記載 りが生じるのかを検討するとともに誤り されるべきであり、委託資料作成上の問 題点として分類することも出来るが、あ 率を計算した。 同様にシングルエントリーとダブルエ る程度知識があれば自明のものや暗黙の ントリーにより作成されたデータを SA 処理方法が決まっているものも多く含ま Sデータセットに変換し、 P R O CC O M P A R E れている。しかし、本来調査表の性質と して判断の余地なく記載されなければな により突き合わせチェックを行い誤り率 を算出した。 らないものであるという考え方もあり、 あえて「調査表記載上の問題点」として 299‑
表3 . 質問シートの内容 t f ! 当 署 長 調 悼 者 ゆ z ' 帽 問 題 伊その他 稼 諒f 査表記訴てヒの掃車点滅撃 襲警夢議輔妻言ぜ資料作成上の問題護響詩鷲 " F ‑ j ';毒事跡確認経 情論議芯;メモ書き詮 薬剤Ijf 36 44 17 16 1 1 .g) 2 5 . 2 ) ( 3 0 . 8 ) ( ( 1 1 .2 ) ( 77 52 ( 3 6 . 4 ) ( 5 3 .8 ) 判断つかず 理解不足で 16 ( 1 1 .2 ) 5 ( 3 . 5 ) 5 ( 3 . 5 ) u i. , . . . . . " 靴鈍 鎧 9 ( 6 .3 ) 9 計 143例 括 弧 内 は % 判読不能 :調査表上に書かれた文字が判読できない メモ書き :イレギュラーなデータに対する医師のコメントが理解出来ない 薬剤テーブル:薬剤テープルに該当薬剤が無い 判断確認 :自己判断で入力した項目に対する確認 判断つかず :どのように入力したら良いか判断できない 理解不足 :マニュアル理解不足による質問 分類した。さらに、 「メモ書き」は調査 表設計上の問題とも大きく関連しており、 これらの情報をフィードバックして適切 に情報が書き込めるような手だてを取る ことが必要であろう。 . 3 . 2 .1 . の5 )薬剤 「薬剤テーブル」は 2 コードテーブルから該当薬剤が探し出せ ない場合であり、判読ミスも多く含まれ る 。 「判断確認」、 「判断つかず」は一義 的に解釈が決まらないような医師の文字 や記載に対して、自己判断したものの確 認と、全く判断がつかなかったものであ る 。 スタッフに十分な研修を行ったため、 担当者の「理解不足」のために出された 質問は 5件と少なかった。 3 . 2 .ダブルエントリーによる突き合わせ チェック結果 ダブルエントリーにより入力されたデ ータを突き合わせた結果検出された、入 . に示す。 力ミスの内訳を表 4 1例あたりのミスは1.2 7 ' "1 2 . 4と個人 差が大きく、入力時間とミス出現率にも 関連性は見られなかった。 月 で 全体としてのミス入力出現率は1.5 あったが、そのうちの約 4割は行誤りで あった。行誤りとは入力項目が前後にず れてしまうことであり、どの項目で生じ 4 たかを詳細に集計したところ、行誤り 7 7 項目のうち約半数が特定の 4項目に集 中していることがわかった。これらの項 目は一連の入力作業のなかで、そのリズ ムを阻害するような位置にある項目であ った。すなわち、同じような臨床検査値 入力の中で、 lつだけ単位を選択してか ら値を入力するといったような構造を持 つ項目、またはその後ろの項目で入力ミ スを生じやすいことがわかった。 従って、このミスの多くは入力画面の 構造を考慮することにより回避出来るも のである。 一方、判断ミス、仕様違反、入力保留 といった入力ミスは資料を適切に整備す ることにより回避出来るミスである。 従って、不可避と考えられるミスはタ イプミスと判断ミスの一部であり、ミス ‑300‑
3 8 4 9 1 1 3 9 4 7 9 2 5 4 1 2 8 1 1 5 6 1 7 7 4 2 9 2 1 0 5 4 5 2 4 5 5 6 7 3 9 4 1 6 8 3 5 計 1 1 3 3 4 2 1 5 3 4 4 1 2 1436116:001190414.371747158813101 9 6 1 9 4 1 6 9 誤り率(項目) 1 .9 0 4/12 6,2 2 2= 0 . 0 1 5 行誤り タイプミス 判読ミス 判断ミス 仕様違反 入力保留 : : : : : : 入力フィールドがずれてしまった 単純な入力ミス 読み間違い 自己判断で入力したが間違いであった マニュアル通りに入力しなかった 判断出来ずに入力しなかった 入力は 1%未満に押さえられる可能性が あることが示唆された。 実際にはシングルエントリ時のミスは ランダムであれば突き合わせ時にかなり の確率で検出されるが、行誤りや判断ミ ス、判読ミスは系列的なミスとなりやす いので 2系列 l ¥ずれにおいても同様なミ スが発生すれば検出されない可能性が高 くなる。これらのミスは出来る限り回避 する必要があろう。 上段の網掛けの部分はダブルエントリ ー委託後に調査表に修正がかかった 13 例や本来委託資料が適切であれば一致し たであろう 26例であり、誤り率を算出 する全体の集計からは除外したが、資料 が不適切であれば発生するという例であ るので別途集計し示した。 最終的な誤り率はシングルエントリー .0 5問、ダブルエントリ +読み合わせで O .0 3 0 %であった。 ーで O シングルエントリー+読み合わせでは 通常の手順では再度読み合わせを行って いるので多少多めに検出されている可能 性もある。しかし、入力洩れ、入力ミス、 訂正洩れ、過入力といった判断を伴わな い単純な間違いがシングルエントリーで 9件に対しダプjレエントリーでは 2 5件 は6 と、ランダムに発生するミスに対しては 3 . 3 .シングルエントリーとダブルエント リーの突き合わせチェック結果 シングルエントリー+読み合わせチェ ックから作成されたデータとダブルエン トリーによりミス入力検出を行い修正を かけたデータを用いて最終突き合わせを . に示す。 行った。その結果を表 5 ‑ 3 0 1
表5 . シングルエントリーとダブルエントリーの突き合わせチェック結果 原因 不一致数 シングノレ ダプル (BELL) 〈科研〉 委託後の調査表の修正や 不適切な資料による不一致 調査表の修正 1 3 :3 3 . 3 o :0 . 0 1 3 :3 3 . 3 4 :1 0 . 3 o :0 . 0 4 :1 0 . 3 資料ミス 説明不足 2 2 :5 6 . 4 o :O .0 2 2 :5 6 . 4 0 . 0 3 9 :1 0 0 3 9 :1 0 0 計 判読ミス 8 :7 . 5 o :0 . 0 8 :21 .1 O .0 3 :7 .9 3 :2 . 8 メモ判読ミス そのイ也 2 :1 .9 o :0 . 0 2 :5 . 3 入力洩れ 1 9 :1 7 .6 1 0 :1 4 .5 9 :2 3 . 7 入力ミス 5 8 :5 4 . 2 4 4 :6 3 . 8 1 4 :3 6 . 8 訂正洩れ 1 1 :1 0 . 3 1 1 :1 5 .9 6 :5 . 6 4 :5 . 8 過入力 1 0 7 :1 0 0 6 9 :1 0 0 3 計 8 :1 0 0 に主;刊 ー ー ー 』 ー 』 ー ー ー ー ー ー ー ー ー ー ー ー ‑ ‑ ‑ ー ー ー ー ー ー ー ー ー ー ー ・ ・ ・ .‑ ‑ ー ー ー ー 』 ー ー ‑‑ ー ー ー 』 ー ‑ ー ト ー ‑‑ ー ー ー 』 ‑ ‑ ー ー ー ‑‑ ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ・ ー ー ー ー ‑ ‑ ‑ ‑ ー ー ー ー ー ー ー 『 ー ー ー ー ー ー ‑‑ ‑ ‑ ・ ー 「 ー ‑ ‑ ー 『 ー ー 。 : 。 : 』 ー ー ー ・ ・ ‑1‑‑ ー ‑‑ ・ ー ー ー 』 ー ‑‑ ー ー ・4 ー 』 ・ . ‑ ー ー ー ・ 8 / 1 2 6 2 2 2I 1 0 7 / 1 2 6 2 2 2 6 9/12 6 2 2 2 3 全入力に対する誤り率 O .0 0 0 8 5 0 . 0 0 0 5 5 0 . 0 0 0 3 0 調査表の修正 :調査表そのものに修正がかかった :取扱書またはコードテーブルそのものが間違っていた 資料ミス 説明不足 :取扱書の説明が不足か不適切であった :調査表コピーの見間違い 判読ミス :医師によるメモ書きの判断ミス メモ判読ミス :単純な入力ミス 入力ミス 訂正洩れ :修正時点で修正し忘れた 過入力 :データが無いのに入力した ダブルエントリーの検出力が明らかに高 い結果となった。 しかし、それに対し委託といった形態 でエントリー業務を依頼する場合には、 説明資料の質、さらにはその前提となる データマネージメントの質が非常に重要 であることが解った。 4 . 考察 当社ではこれまで臨床試験における入 力データの品質の保証は読み合わせチェ ックを何回ゃったかの記録を残すことに より行ってきた。しかし、実際には何度 読み合わせを行ってもデータは完全には ならない。なぜならば、臨床のデータは 複雑であり必ずしも計画したとおりに情 報が得られる訳ではなく、日付の問題、 予想外の値、誤読等不確実な要素が多い。 このようなゆらぎのあるデータをコン ビュータ上に射影する場合に、多くの複 雑なルールが必要になりこれがまたデー タが不完全となる原因となる。 これらの問題がなかったとしても、読 み合わせという方法論そのものの精度は 302
信頼出来るものであろうか? 通常の工業製品であるならば抜き取 り検査を行い、規格を満たしていればそ のロットは製品として認められる。しか し臨床データにこのような規格を設ける ことは不可能であり、抜き取り検査の結 果不合格であったとしても、そのデータ を捨てるわけには~\かない。 このような状況で品質を保証するため の方法論はまだ確立していない。しかし、 lつの考え方として、一定のルールに従 ってデータ入力すればどの程度の質のデ ータが得られるかがわかっていれば、そ のルールを確実に実施したことが証明で きればある程度の質の保証が出来ると考 えられる。 このような考え方で質の保証をするた めにはそのルールにより得られる品質が 安定していることも必要である。 日本で多く用いられているデータの読 み合わせによるチェックはこの条件を十 分に満たしているとは考えられない。 経験上、読み合わせチェックはそれを 実施する人の資質により大きく影響され る。また、その時の状況や当人の体調に も大きく左右される。 実施する人や状況に左右されるような 方法は先の品質を保証するための方法論 としては向かない。 一方、ダブルエントリーによる突き合 わせチェックによる方法は入力する人の 資質に関わらず、誤入力はかなりの確率 で検出される。それは、突き合わせチェ ックによる誤りの検出は単純に確率的な ものであるからである。しかし、これも あくまでも誤りがランダムに出現する場 合である。 誰が入力しても同じ項目で同じような 誤りをおかす可能性があるような、いわ ゆる系列的な誤りが存在する場合にはダ ブルエントリーの精度は低下する。 逆に言えば系列的な誤りさえ防止する ことが出来ればダブルエントリーは理想 的な品質保証の手段になり得るというこ とが言える。 冒頭で述べたようにダブルエントリー を用いたとしても調査表のデータそのも のが揺らいでいる可能性が高い場合には 信頼性は保証出来ない。 しかし、データマネージメントによる 調査表データのチェックが確実に行われ れば、揺らいでいる臨床データも確実に 調査表上に射影されることになる。すな わちデータマネージメントにより調査表 を記入するためのルール及ひ'読むための jレールが確定する。 この段階でダブルエントリーを行えば 一定のデータの品質が得られる可能性が 高くなる。 ダブルエントリーが効果を発揮するた めには、その入力者はなるべく異なる環 境の者であることが望ましい。つまり、 データマネージメントを行っているスタ ッフ同士がデータエントリーを行った場 合良い面も多いが、問題となるのは同じ 環境でその試験に接しているため、同じ ような思いこみにより同じような誤りを 生じる可能性がある、すなわち系列的な 誤りを生じることである。 これはデータエントリーを外注するこ とで回避されるが、逆にこの場合は適切 なマニュアル、 S O Pを作成することが 重要となる。 今回の調査でも入力画面の使いやすさ とマニュアルの出来具合が質を確保する 上で非常に重要であることが示唆されて いる。 このマニュアルは手順を確立すればデ ータマネージメントを実施する課程で作 成可能であろう。 3 0 3
しかし、マニュアルをしっかりと作成 本調査の後、監査部門により全例読み することは質を確保する上で重要である 合わせチェックが実施されたがデータ誤 ことは間違いないが、ダブルエントリー りは検出されなかった。 の本質的な良さは突き合わせチェックで 5 . まとめ でかなりの部分の誤りは検出されるとい うことである。 (1)最終的な突き合わせチェックによ 今回の調査では初期入力での検出され り算出されたシングルエントリー 0 4個であったのに対し、最 た誤りは1, 9 +読み合わせの誤り率は O .0 5 5 %で 終的なシングルエントリー+読み合わせ あったのに対し、ダブルエントリ とのチェックで検出された誤りは 6 ーによる誤り率は 0 4個 . 0 3 0出であった。 (CRF修正による不一致を除く)であ (2)ダブルエントリーにより作成され り、検出された全誤りのうち、実に 97 たデータから検出された全誤りの %の誤りが初期の突き合わせにより検出 うち 9 7 %がダブルエントリーの された計算になる。 突き合わせチェックで検出された。 科研製薬の場合、データマネージメン (3)ダブルエントリーによるデータの トの過程で必ずデータ入力が行われる。 精度を向上させるためには系列的 これは網羅的にデータのチェックを行う な誤りを回避することが重要であ る 。 ために 1項目、 1項目データをエントリ ーすることは有効であるという事に基づ ( 4)そのためには取扱書を充実させる く。従って、データの仮固定段階での外 ことと、入力画面を適切に設計す 注によるダブルエントリーとこのデータ ることが重要である。 との突き合わせ、すなわちトリプルエン (5)取扱書を充実させるためにはデー トリーを実施することにより、少なくと タマネージメントが重要である。 も読み合わせだけよりも、かなりの精度 の良いデータが得られるであろう。 参考文献 1)日本製薬工業協会医薬品評価委員会臨床評価部会;臨床試験プロトコール記載 上の留意事項,薬理と治療, 1 6 :3 3 1~356(988) 2 )日本製薬工業協会医薬品評価委員会臨床評価部会;臨床試験の症例記録用紙作 成上の留意事項,薬理と治療, 19:2423~2472(99 1) 3 )日本製薬工業協会医薬品評価委員会臨床評価部会;臨床試験におけるデータマ ネージメント業務,薬理と治療, 22:2001~2032(1994) 4 ) R o b i nA .R e y n o l d s ‑ H a e r t l e,M S,a n dR u t hM c B r i d eB S :S i n g l eV s .D o u b l e D a t aE n t r yi nC A S T. C o n t r o l l e dC l i n i c a lT r i a l s1 3 : 4 8 7 ‑ 4 9 4 ( 1 9 9 2 ) 5 )渡辺敏彦:P A S ( P r eA n a l y s i sS y s t e r n )による解析以前の作業の効率化について, 日本 SASユーザー会論文集、 4 7‑52(990) ‑304
日本 S A Sユーザー会 (SUG I‑J) 打ち切りのある継時データの SASによる解析 0豊田伊久子太橋靖雄 東京太学医学部健康科学看護学科疫学生物統計学 A n a l y s i so fL o n g i t u d i n a lDatawithA t t r i t i o nUsingSASProcedure IkukoToyoda, Y a s l l OOhぉ h i ,Schoolo fHp .a l t hS c e i e n cp . s ,andNursing、 Universityo fTokyo Departmento fEpidemiology 要旨 継時的研究で得られた連続型反応の傾きの推定の際、打ち切りが別の変数の観測された値に依存してい る場合、 2変数を同時に多変量の反応として:¥1IXEDプロシジャを用いることで、通常の推定方法におけ る偏りが減少する。 キーワード:打ち切り、継時デー夕、 2変量線型変量効果モデ、ル、 MIXEDプ口、ンジャ 1 はじめに 継時的観測を行う疫学研究や臨床研究では、各個人の反応が複数時点測られる。ここでは、連続型の反 応を時間に対して回帰したときの傾きの推定に関心がある場合を考える。 継時データの特徴として個人内の測定値聞に相関があることと途中で打ち切りとなる対象者が含まれる " e c tModel)を用 ことの 2点が挙げられる。相関の考慮としては、近年、線型変量効果モデ、ノレ (RandomE仔 いた解析がしばしばなされている。打ち切りについては、反応変数に依存せず打ち切りが生じている場合 や、説明変数と観測された反応変数にのみ依存して打ち切りが生じている場合には最尤法による解析は理 論的には偏りがない。このとき、線型変量効果モデ、ルに対する最尤法による解析は Mixedプロシ、ジャによ り可能である。しかし、打ち切りが反応変数の観測されていない値に依存している場合には打ち切りを考 慮していない解析方法では偏りが生じ、また、考慮、した場合でもモデルの仮定に依存するところが大きい。 一方、複数の変数の値を継時的に観測している研究では、興味のある反応変数とは別の変数の観測され た値に依存して打ち切りが生じる場合がある。例えば、興味がある効果に関する変数と同時に、副作用に 関する変数が測定され、その値により打ち切りが生じる場合等がある。このとき、興味のある変数と供に、 この変数を反応変数としてモデルに含めることで、打ち切りは反応変数の観測されていない値に依存しな くなり、最尤法による解析は理論的には偏りがなくなる。ここでは、 MIXEDプロシジャを用いた 2変量 ‑305‑
の線型変量効果モデルに対する最尤法による解析を紹介する。解析は、実際のデータとシミュレーション データに対し行った。 2 データ あるビタミン D 誘導体の臨床試験データを紹介する。このビタミン D 誘導体は副甲状腺ホルモンの濃 度(以下 PTH)を減少させる効果が期待されており、プラセボを含めた 4用量の二重盲検平行群間比較試 o gPTHは直線でモ 験が行われた。ここでの解析は、 PTHの減少効果を評価するため、各対象者の反応 l デル化できると仮定し、平均的な傾きを推定することを目的とする。ただし、直線への当てはまりを良く するため対数に変数変換をしている。また、打ち切りが推定結果に及ぼす影響が最も大きいと考えられる 高用量群の推定のみ行う。全群を同時に解析する場合については最後に述べる。 こカルシウム補正値(以下 CAH)を上げる作用があり、 このビタミン D 誘導体は PTHを下げると同時 i 高カルシウム血症を避けるため、プロトコールによりカルシウム補正値 lL5mg/dlを越えた対象者は、投 与が中止され、以後の測定が打ち切りとなる。実際には 4 7人の対象者中、 2 6人が CAHが 1 1 .5 mg/dlを o gPTHの継時変化 越えたため打ち切りとなり、 2人がそれ以外の理由により打ち切りとなった。図 1に l を示す。 l o gPTHの減少が大きい対象者ほど早い時点で打ち切りとなりやすし、傾向が見られる。 図l.logPTHの継時変化 log(PTH)[ l o g ( p g / m l ) J o 1 2 3 4 5 6 7 8 9 10 1 1 1 2 測定時間(週) 3 1変量の線型変量効果モデル 現在、連続型反応変数の継時測定データの解析には線型変量効果モデ、ルが用いられることが多い。 は次の線型変量 i番目の対象者に対し j i回の測定が時間 t i j ( j= 1・ ・ .j i )に行われ、反応変数ベクトル Yi 効果モデルに従うと仮定する。 ワa ls'/ ワa ︑ ︑ ︑01d2nu /Il¥ ll ‑ z o do d ︑ G 一 一 qL ls'/ 可 ム AA ︑ ︑ ︑ 一 一 /Il¥ ls'/ 月y ︑ ︑ ︑/口叫I口l地¥ B 一 一 ・ 噌EA 十H 121121/ 噌E A ‑ 1 L3 fh 卜H1 /fItif‑‑¥ X 一 一 14 ¥12Elftf/ /lilt‑¥ Y 一 一 五‑‑‑日目 ︑ ︑ Yi= XiB+Xisi+Ei、 βi :~ N(O 、 G) 、町~ N(O、 σ21i ) 簡単のため、 1群のみで、集団平均を表す固定効果 B が切片と傾き、個人の集団平均からの偏差を表す変 zも切片と傾き、変量効果の分散共分散行列 G には構造を仮定せず、測定誤差Eiは互いに独立σ21i 量効果β とした場合を示した。興味があるのは固定効果 B、特に傾き B2で、ある。 ‑306‑
3 . 1 最尤法 (ML1) このとき、 Yiの周辺分布は次のようになる。 Yi~N(XiB 、 V i 二 XiGX;+ σ21 i ) 分散 G、σ21こ最尤推定量を代入するとし、固定効果 B の最尤推定量 (ML1とする)は次の式で表される。 B 二 [ かjV71xlhVJ1Y MlXEDプロシジャでLは次のように指定する。 procmixedmethod=remls c o r i n g ; c l a s si ; modely二 t j s ; ; randomi n ttjtype=unsub二 ig ただし、 iは対象者、 tは測定時間、 yは反応の変数名とする。 3 . 2 GLSE、 UWLE 各対象者に対し、 2時点以上のiJl J l 定が行われているとする。このとき、各対象者の切片と傾きの最小 2 二 ( 乗推定値 bi b i dの周辺分布は次のようになる。 i 1、b 二 bi ( X ; X ) ー1 X;Y ( X ; X ) ‑ 1 ) i~ N(B、Ci二 G+σ2 i i 分散 G、σ2に推定値を入れるとして、固定効果 B の推定量は次の式で表される。 B 二[かr1~Ci1b 最尤推定では通常分散 G、σ2を求めるため反復計算を必要とするのに対し、反復計算を必要としない R e i n s e l ( 1 9 8 5 )の方法でこれらを求め、上式に代入した場合の推定量を G L S E ( g e n e r a l i z e dl e a s ts q u a r e s a r r o l l, 1 9 8 8 )。上式より、固定効果 B の推定量は各対象者の切片と傾きの最 e s t i m a t o r )と呼ぶ (WuandC のC 小 2乗推定値 b i1=(G+σ2 ( X ; X ) 一1)‑1を重みとする重み付き平均である。各対象者の重みは i i ( X ; Xi)一1により異なってくる。ここで、打ち切り以外の欠測(途中欠損りがなく、各対象者に対し測定が ( X ; X i )‑lは測定回数にのみ依存する。 等間隔に同じ時間に行われているとすると、 n w e i g h t e dl e a s ts q u a r e s また、 GLSEが重み付き平均であるのに対し、 biを単純平均する推定量を UWLE(u a r r o l l, 1 9 8 8 )。 e s t i m a t o r )と呼ぶ (WuandC 4 打ち切り L i t t l e ( 1 9 9 5 )に従い、打ち切りの仮定と尤度との関漣について述べる。 N人の対象者に対し観測が行われ は観測された , . . . ,N )に対し、 Y c . iは仮想的な完全な反応変数のデー夕、 Yi ているとする。対象者的 =1 部分、 yrni....iは打ち切り以降の観測されていない部分とする。尤度に基づいて解析を行う際には、説明変 数 Xi が与えられたもとでの、反応 Y と変量効果β zと打ち切りの指示変数 Riの同時分布の特定が必要で ある。固定効果のパラメータ B の推測はデータ Yi、凡が与えられたもとでの尤度に基づいて行うことが じ Z ‑307‑
できる(尤度 1 )。また、打ちきりのメカニズムを無視した ( i g n o r e )尤度に基づいて推測を行うことも考え )。 られる(尤度 2 N I I/ p(Yi , Ym i s, i λβ:iIXi, B)dY m i s, i , d . β z 尤度 1 L(BIYR)=∞n s t .x N L(BIY)二 ω n s t .x I I/ p(Yi丸 山 町 Xi.B)dY m i s, i , d s i 尤度 2 次のように同時分布を分解し、 (R j ; Xi, Yc, i, β;)fこより打ち切りを分類する。 ( Y c, i , s i, Rj ; Xi ) (Y", ; jXi, s i ) ( βi I X i ) ( R i I Xi , Yc, i , s i ) 二 表1.打ち切りの分類 ( R ;IXi, Yc, i , s i ) 打ちきりの仮定 尤度 2 1 ( 凡 IXi) MCAR(missingc o m p l e t r ya . tr a n c l o m ) 2 ( 凡 IXi, Yi) MAR(rnissinga t .randαn) 0 0 3 ( 凡 IXi, Yi, Ymis,i ) n o n i g n o r a b l e x 凡 IXi , β i ) 4 ( x n o n i g n o r a b l e、i n f o r m a t i v e 打ち切りに対する仮定は 1 、2、3と 4の順にきつくなってし、く。 CAHは観測された値により次の測定 が行われるか否かが決まるという MARでも特別な場合である。一方、 l o gPTHは 、 2の仮定が成り立っ )に基づく方法が妥当であるかが分かれ、 3や 4の場合には反応変数と か否かにより、通常の尤度(尤度 2 同時に打ち切りについても何らかのモデル化を行う必要が生じてくる。しかし、 2を帰無仮説とし、 3や 4 の仮定を対立仮説とした検定は存在せず ( L a i r d1 9 8 8 )、データに基づいた判断は不可能である。 5 2変量線型変量効果モデル (ML2) l o gPTHの傾きの推定を考えると、 MLlは尤度 2に基づいており、 MARの仮定が成り立っていない場 合には偏りがある。また、 UWLEは測定回数を考慮していないため精度が悪い。そこで、 CAHでは MAR が必ず成り立つことに注目し、 2変量線型変量効果モデ、/レを用い CAHと l o gPTHの同時分布を考えるこ とにより MARの仮定を成り立たせ、最尤法で推定を行う (ML2とする ) 0 2変量線型変量効果モデルは、 i 'Y~AH , Y とし、 I 変量の場合と同じ枠組みでモデル化を行う。 反応を Y = (YiogPTH, MIXEDプロシジャで解析する際には、新たに反応 y( logPTH、CAH)の指示変数として離散量として 1、v 2をつくり(例えば、反応が l o gPTHの時は V二 v1=1、v 2ニ O、CAH 用いる v、連続量として用いる v の時は v=v2 1、v1=0)、次のように指定する。 二 procmixedmethod 二 r emls c o r i n g ; c l a s siv ; modely=vt*vj n o i n t ; ニi ; randomv1t*v1v2t*v2jtypeニ unsub repeatedjtype=simplesub=igroup=v; ‑308一
6 実際のデータでの推定結果 実際に l o gPTHの傾きを推定した結果を表 2に示す。データには、 2回目の測定の後打ち切りとなった 傾きが極端に急な対象者が含まれており、この対象者を解析に含む場合と含まない場合では大きく推定値 が変るので、両方の結果を示す。 .実際のデータでの推定結果 表2 含む場合 解析手法 推定値 SE 含まない場合 σ2 g22 推定値 SE σ2 g22 ML1 0 . 2 7 0 . 0 3 0038 0 . 1 5 ‑ 0 . 2 5 0 . 0 3 0 . 0 2 7 0 . 1 3 ML2 ‑ 0 . 3 4 0 . 0 4 0 . 1 4 ー . 0 8 5 0 0 . 3 0 0 . 0 3 0 . 0 4 4 0 . 1 3 GLSE ‑ 0 . 3 6 0 . 0 9 0371 0 . 1 3 ー 0 . 2 6 0 . 0 3 0 . 0 3 7 0 . 1 3 UWLE ‑ 0 . 3 9 0 . 0 9 0 . 0 3 ‑ 0 . 3 0 」 ー ー ー 傾きが極端に急な対象者を含まない場合の結果より、 ML1、GLSEでは傾きを過小評価していることが 疑われる。含む場合に比べ含まない場合では、どの推定方法でも傾きの推定値が緩やかになっているが、 特に UWLEで変化が大きし、。傾きの変量効果の分散の値も小さくなっているが、特に R e i n s e lの方法では 変化が大きい。 7 シミュレーション 実際のデータてや先ほどの対象者を含めた場合の ML2による解析結果に基づし、てシミュレーションを行っ た。ここで、 CAHと l o gPTHそれぞれの傾きの変量効果の相関はー 0 . 9 8 1、CAHの傾きの変量効果の分散 は0 . 1 4 4 7、測定誤差の分散は 0 . 2 0 1 7である。各時点の打ち切りとなる人数は 500回のシミュレーションの 平均で次のようになる。 o 時点 人数 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 (完全な観測) 計 0 . 1 1 .5 5 . 2 7 . 0 6 . 0 4 . 4 3 . 5 2 . 5 1 .9 1 . 4 1 . 1 0 . 9 1 4 . 5 5 0人 a t e )は推定イi l i1 .9 6標準誤差に真値が含まれな シミュレーションの結果を示す。ここで、 ER(ErrorR かったノ fーセンテージである。 .シミュレーションの結果 表3 l o gPTH 解析手法 推定値 精度 CAH MSEx105 ER g22 推定値 精度 5 MSEx1 0 ER 真値 ‑ 0 . 3 3 5 3 ML1 9 1 ー 0 . 3 0 2 6 O叫 3 2 1 5 . G 0 . 0 7 4 3 0 . 0 5 8 333 . 3 8 9 6 0 0 . 0 8 5 4 0 . 3 8 6 9 6 . 2 ML2 ー 0 . 3 3 5 4 0 . 0 4 5 2 0 3 7 . 5 0 . 0持4 7 03888 0 . 0 5 8 337 6 . 8 GLSE . 0 4 4 2 ー 0 . 3 0 s 3 0 7 9 UWLE . 0 4 8 2 ー 0 . 3 3 5 6 0 3 2 1 3 . 2 0 . 0 8 3 9 0 . 3 9 9 5 0 . 0 5 9 368 1 7 . 2 . 0 5 4 660 0. 43 63 0 4 . 8 5 . 2 V I L 1、GLSEでは傾きの推定に偏りがあり、実際より l o gPTHでは ML2、UWLEでは偏りがないが、 l も緩やかに推定している。また、平均 2乗誤差 (MSE)は ML2が最も小さい。ある値を超えると打ち切り となる CAHでは UWLEでは傾きを実際よりも念、に推定している。 ‑309一
8 全群で解析する場合 l o gPTHを全群同時に解析する際には、群により固定効果も変量効果の分散も異なるとする場合と、変 量効果の分散は同じと仮定する場合が考えられる。変量効果の分散も異なるとする場合、 MlXEDプロシ ジャで次のように指定する。 1変量の場合 procmixedmethod=remls c o r i n g ; c l a s sigunn; modely=gunnt*gunnjnoints ; 凶 t jtype 二 u nsub=igroup=gunng ; randomi 2変量の場合 c o r i n g ; procmixedmethod二 remls c l a s sigunnv ; modely=gunn*vt*gunn*vjnoint; randomvlt*vlv2t*v2jtype=unsub二 igroup二 gunn; repeatedjtype二 simplesub二 igroup=v; 各群の変量効果の分散は閉じと仮定する場合は、 randomステートメントの group=gunnを指定しなけ れば良い。 l o gPTHの解析では、用量が高くなるほど傾きの変量効果の分散は大きい傾向があるため、変 l J J I 定誤差の分散が各群で大きく異なる場 量効果の分散も異なるとした方が望ましいと考えられる。また、 i 合には、全群で解析した場合と各群ごと別々に解析した場合では、推定結果が異なってくるため注意が必 要である。 9 まとめ 傾きの相関が高い 2変数が観測され、一方の変数の値がある値を超えると打ち切りとなる状況では、王 規生の仮定が王しい場合、もう一方の変数の傾きを I変量の線型変量効果モデルを用い最尤法で推定する と偏りが生じるが、 2変量の線型変量効果モデルを用い最尤法で推定することにより偏りが減少すること が確認された。 10 参考文献 L a i r d, N . M . ( 1 9 8 8 ) . M i s s i時 datai nl o n g i t u d i n a ls t u d i e s . S t a t i s t ' i c si nM e d i c i n e7, 3 05 ‑3 1 5 . L i t t l e, R .. J. A . ( 1 9 9 5 ) . M o d e l i n gt h ed r op ‑out mechanism i nr e p e a . t e d ‑ m e a s u r e ss t , u d i e s . Joumal0 1the AmericanS t. at i s t i c a lA s s o c ia . i ' ion9 0 . 1 1 1 2 ‑ 1 1 2 1 R e i n s e l, C.R.(1985).Means q l l a r e de r r o rp r o p e r t i e so fe m p i r i c a lb a y e se s t i m a t o r si nam l l l t i v a r i a t erandom 1theAmericanStatisticalAssociation80, 6 4 2 ‑ 6 5 0 . e f f e c t sg e n e r a ll i n e a rmodel . Joumal0 Wu, M.C.andC a r r o l LR . . J. ( 1 9 8 8 ) . E s t i m a t i o nandc o m p a r i s o no fc h a n g e si nt h ep r e s e n c eo fi n f o r m a t i v e r i g h tc e n s o r i n gbymodelingt h ec e n s o r i n gp r o c e s s . B i o m e t r i c s44, 1 7 5 ‑1 8 8 . ‑310一
日本 S A Sユーザー会 (SUG I‑J) 数量化理論第 I I類マクロ出力の改良 三 島 徳 雄 産業医科大学産業生態科学研究所精神保健学教室 Improvingt h eOutputo fMacroProgramsf o rQ u a n t i f i c a t i o nTheoryType1 1 N o r i oMISHIMA n s t i t u t eo f In d u s t r i a lE c o l o g i c a lS c i e n c e s,UOEH DepartmentofMentalH e a l t h,I 1 ・1 , I s e i g a o k a, Y a h a t a n i s h i ‑ k u,Ki t a k y u s h u8 0 7,Japan 要旨 数量化理論第 1 1類のマクロプログ、ラムに対する種々の改良の試みがなされているが、その 中心は偏相関係数の計算などの統計量の追加が中心である。しかし、一つのプログラムとしてこれら のマクロを見た場合には、その出力の記録性という点においても問題が残っている。例えば、軸を 2 つ以上算出する場合には、カテゴリースコアやレンジの図のスケールが軸ごとに不揃いであり、出力 された図の価値が半減している。その他にも変数のラベルを作成する場合にソートされることを前提 に作成しなくてはならない等、分かりやすい出力を得るために注意しなくてはならない点が多い。こ れらの点を改善する方法を考案したので、偏相関係数の出力に関する独自の方法の提案も含めて説明 を加える。 キーワード: 数量化理論第 1 1類マクロプログラム、出力図、偏相関係数、 p r o cc h a r t 1 .はじめに SASプログラムにおいて林の数量化理論第 1 1類(以下、数量化 1 1類〉を実行する場合はマクロ プログラム 1)によることは既によく知れらているが、マクロによるプログラム作成という制約のため に様々の点で問題が残っている。特に大きな問題として偏相関係数の出力という点がこれまで指摘さ れており、これについては既に有馬の報告 2)等がある。その他にも、サンプルマクロを使う場合には 特殊なフォーマットを作成する必要がある等の、使用上の注意点も残されている。このような問題と は質的にやや異なるが、数量化 1 1類による分析結果の出力という点からみた場合にも改良の余地が多 いと著者は考えている。 以上の点を考慮してサンプルマクロの出力図を見やすくするための改良を行ったので¥その要点を 1類のマクロについては、大規模データセットの処理という観点から既 報告する。ところで、数量化 1 に鈴木がすぐれたマクロプログラムめを提案している。このマクロプログラムを改良することによっ ても同様の結果が得られ、しかも、改良に要する手聞はサンプルマクロを改良する場合よりもはるか に少ない。そこで本報告では、実際のマクロプログラムの改良例は鈴木のマクロについて示す。なお、 r o cc o r rを用いることにより直接数値が得られる方法を考案したので、 偏相関係数の出力についても、 p 句﹃ム 4EA qu
同時に例示する。 2 .マクロプログラムの問題点 以下にあげる問題点は、 SASを手足のように使っているユーザーには強いて変更する必要の無い 部分かもしれない。しかし、 SASの出力を統計の初心者に提示する場合を考慮すると、できる限り 分かりやすい出力を示すことにも大きな意義があると考えられる。ここではそのような観点から問題 点を整理する。 ( 1 )使用した変数の組み合わせの出力が無い 分析結果自体には直接関連はしないが、どのような変数を用いたかという情報は、後で出力を検討 するときには必要な情報である。特に、いろいろな変数の組み合わせで分析を繰り返す場合には、そ れらを区別をする上でも重要である。確かにラベルは出力されるが、異なる変数に同じラベルを使う 場合もあり、実際上は使用した変数の名前を記録しておくことには大きな価値がある。 ( 2 )p r o cc h a r t使用上の問題点 マクロで出力されるカテゴリースコアやレンジの図は、結果を視覚的に把握するためには有用な方 法であるが、複数の軸(マクロでは DIM)を算出した場合の図の横軸の条件設定は c h a r t側にまか されているため、現状では、数量化 I I類の各軸について異なったスケーリングが行われている。この 為、結果を解釈する際に異なる軸を比較しようとする場合は、実際には数値を直接検討する必要が出 てくる。もしここで、図の横軸のスケーリングがすべて同じであれば、出力図を一見するだけで大小 関係が把握できることになる。 また、図の縦軸側の情報は項目 (ITEM)にラベルが設定されている場合、特にオプションが指定 されていなければ、ラベルの文字列によってソートされた順に出力される。この為、説明変数側のラ ベルには、先頭に必ず 1 … , "' 2 …'等のようにソートの為の情報を付加しておく必要がある。これ は、数量化用のデータセットを新たに作成する場合には特別問題にはならないが、既存のデータセッ トから変数を選んで分析を行う場合や変数の組み合わせを度々変えて分析する場合には、非常に煩わ しい作業になる。もし、ラベル作成時にこのような配慮、をしない場合には、 c h a r tによる出力とマク ロ内の他のプロシジャによる項目の出力順が異なる可能性が出てくる。 なお、オリジナルのサンプルマクロにおけるパグであるが、カテゴリースコアの図が正しく出力さ れないという問題もある。 ( 3 )偏相関係数の出力 r o cr e gを用いて計算して オリジナルのサンプルマクロには偏相関係数の出力がないため、有馬は p いるが、この場合は偏相関係数の 2乗が出力されるので、手元で偏相関係数を算出する必要がある。 SASを使用する立場から言えば、最終的な数値が直接得られる方が望ましいのは言うまでもない。 3 .対策 前述の問題に対する対処の方針を中心に、簡単に説明する。 ( 1 )説明変数名の出力 I類のマクロを直接呼び出すのではなく、その前に一定の処理を行った上で 数量化 メインの数量化 I I I類のマクロを呼び出す前処理用のマクロを作成し、その中で p r o cc o n t e n t sを実行して変数名の情 ‑312
報をマクロ変数に取り込むことにした。この情報は後に偏相関係数を計算する場合にも用いられる。 なお、このような処理を行うために一つだけ新たな制約が生じることになる。それは、説明変数の出 力順がマクロを呼び出すときに引数に指定した順序と一致するとは限らないという点である。出力順 は常に分析に使用したデータセットの中の変数の順番に従って決定される。 ( 2 ) p r o cc h a r tの図の改良 まず図の縦軸側の情報であるが、これは前処理のマクロにおいてラベルの先頭に順序を示す数値を 自動的に追加するようにした。但し、既にそのような数値が付加されたラベルの場合は重複すること になるので、このステップはオプション指定によりスキップできるようにした(マクロプログラム例 k i pを参照)。なお、この作業により対象としたデータセットのラベルが変更されるので、これを のs 避けたい場合には一時データセットにデータをコピーした上でこのマクロを使用する必要がある。 横軸のスケーリングについては、カテゴリースコアの場合は算出された全てのスコアをチェックし て最小値と最大値を求め、結果をマクロ変数 ( i t e m i n,i t e m a x ) に代入した後、 p r o cc h a r tの hbarの x i s = & i t e m i n&itemaxを追加することで行っている。また、レンジの場合は、同様に オプションに a して最大値のみを求めてマクロ変数に代入し、 p r o cc h a r tの hbarのオプションに a x i s =&itemaxを 追加することで行っている。これらの部分のみ、鈴木のマクロを変更する必要がある。 ( 3 )偏相関係数の出力 分析対象のオプザベーションについて、説明変数には数値化されたカテゴリースコアを代入し、外 的基準の変数には各カテゴリーごとの平均値を代入して得られるデータセットがあれば、 p r o cc o r r を用いることにより直接偏相関係数を計算することができる。但し、この場合にこのデータセットと 1 )で作成したマクロ変数に説明変数の名前が入力されている必要があり、従来のマクロのみの ともに ( 単純な変更ではこのステップは作成できないので注意されたい。 鈴木のマクロではこのデータセットは「アイテム数量のデータセット ( o u t i t e m ) Jに一致する。そこ u t i t e mを作成するように数量化 1 1類のマクロに で 改良マクロでは、偏相関係数を出力する場合は、 o 1類のマクロが終了した後で、このデータセットを使用して偏相関係数を計算する 指示をし、数量化 1 ようにしている。但し、 p r o cc o r r側の処理上の都合で毎回アイテム数量のデータセットを読み込みな がら説明変数の数だけ繰り返し計算をしている。この為、大量の説明変数を使用したり、オプザベー ション数が多い場合には演算時間がかかると思われるので、デフォールトの指定では偏相関係数を求 めないようにしている。 s h o r tのオプションが y e s以外のときには、偏相関係数を出力するが、この ときオリジナルマクロで言う「サンプル数量のグループごとの次元間相関係数」も出力する。(これ は鈴木のマクロでは出力されない。) オリジナルのサンプルマクロではアイテム数量のデータセットは作成されないので、オリジナルの マクロを改良する場合はマクロ中で新たにこのデータセットを作成する必要があり、その為のステッ プが余分に必要となる。 ( 4 )その他 その他の改良点として前処理マクロに l i n e s i z eを指定する引き数を追加した。 オリジナルのサンプルマクロにおける問題点として、サンプルスコアの計算方法の問題がある。サ ンプルマクロでは p r o cc a n d i s cからの出力をサンプルスコアとして使用している為に、その後のステ ップで標準化されたカテゴリースコアによる合計得点と一致しないという問題点が残る。オリジナル 3 1 3
のマクロを改良する場合には、これに対する対策も必要になる。なお、この点については鈴木のマク ロでは修正されている。 4 .改良プログラムの例 ( 1 )前処理プログラム 以下は鈴木のマクロプログラムを呼び出すための前処理プログラムである。鈴木のマクロは %8U2 で呼び出すが、このマクロは %Q2を使用するようにしている。主な引数に関しては全く同ーのキーワ ードを使用している。(注:weightについてもそのまま引数で渡すようにしているが、前処理プログ ラム側ではこの処理に関連する対応はしていない。) 前処理プログラム %1etmyverno=0.01; % macro q2( data , 1 *入力データセット名 * 1 outside= , 1 *外的基準変数名(数値変数)* 1 ltem , 1 *アイテム変数名(空白区切)* 1 weight = , 1 *ウエイト変数(あれば) * 1 dim =1 , 1 *次元の数 * 1 out = n u l l , 1 *サンプル数量の出カヂサ旬ト * 1 outcate= cate , 1* カテゴリ数量の出カデ -~t7 ト *1 皿= n u l l , outite 1 *アイテム数量の出カヂサセット * 1 maxdec = , 1 *出力時の小数点以下桁数 * 1 vardef = n , 1 *分散計算時の除数 * 1 tit1e = 2 , 1 *%su2が使う title行の番号 * 1 noprint= , 1 *noprintで全ての印刷を抑止* 1 workds = de1ete , 1 *de1eteで一時データ削除 * 1 short = yes , 1 *yesで偏相関、相関なし new* 1 1 s =1 3 2 , 1 *Linesize (文字数/行) new* 1 skip =n o 1 *noでラベルに数字を付加する new* 1 options 1 s = & 1 s ; data̲temp1̲; set&data(obs=1); keep& i t e m ;r u n ; proc contents data=̲temp1̲out=̲temp2̲n o p r i n t ;r u n ; proc s o r t ; byv a r n u m ;r u n ; data n u l l一 ; set̲temp2̲end=1ast; ); c a l l symput( 'n m '[[ 1eft( ̲ n ̲ ),口 組e c a l l symput( '1 b '[[ 1 e f t( ̲ n ̲ ),substr (1 a b e 1, 1 , 4 0 ) ); i f 1ast then c a 1 1s y m p u t ( ' v n ',compress(̲n 一 ) ); r u n ; %if %upcase(&skip) = NO%then% d o ; data& d a t a ; set& d a t a ; 1 a b e 1 %do i = 1 %to & v n ; %if " ' & & 1 b & i " ' = " %1et 1b&i=%str(); %1etw1=&&nm&i; % e n d ; r~1se % 1etw1=&&1b&i; %if &vn く 1 0%then%1etw2=%str(&i & w 1 ) ; r~1se % 1etw2=%str( & i& w 1 ) ; 3 1 4一 " '%then % d o ; 1 *‑ 空白 40文字 * 1
& & r u n & i = " & w 2 " ' I ' o e n d ; r u n ; ' I ' o e n d ; ' I ' oi f' I ' o upcase(&noprint) ‑ = NOPR1NT%then' I ' od o ; ' I ' ol et lmgn=' I ' o ev al((&ls ̲ 7 0 ) /2 ) ; data̲null̲; file print; %str( put//申&lmgn" H a y a s h i 'sTheory of Quantification ( 1 1 ) " ; ) %str( put/ 髄lmgn 8ased on SU2MACRO PROGRAMbyT.Suzuki(1995)勺) ' I ' os tr( put 由&lmgn" M odified byN . Mishima,Version&m yverno";) ' I ' os tr( put/ 由&lmgn TargetVariable: ' I ' o upcase(&outside)";) ' I ' os tr( put/ @&lmgn 1ndependentVariables:") %do i = l' I ' ot o& v n ; ' I ' os t r ( ; put ) %str(@)r~val(&lmgn + 2 6)"肱 r u n & i品 l b & i " ; H H H r~nd; ' I ' os tr( ; ) file l o g ; r u n ; ' I ' o en d ; I ' o upcase(&short) 角 = YES%then制 0 ; %if ' %if %upcase(&out) = ̲NULL ' I ' ot hen%let o u t =̲output̲; ' I ' oi f %upcase(&outitem) = ̲NULL̲%then%let outite 皿= o ite 皿; ' I ' o en d ; %su2( data=&data,outside=&outside, item= %do i = l %to & v n ;品 r u n & i% e n d ;, weight=&weight,dim=&di , 皿 out=&out,outcate=&outcate, outitem=&outitem, 皿axdec=& 皿axdec,vardef=&vardef, title=&title,noprint=&noprint,workds=&workds ) =NOPR1NT%then %do; %if %upcase(&short) ‑ = YES and%upcase(&noprint) 角 %if &dim >1%then % d o ; t itle&title 'SAMPLE GROUPS T A T I S T I C S '; proc sort data=&out out ニー o utput 一 ; by&outside; run; proc corr data= 一output̲noprob nosimple; var ' I ' od oi = l %to &dim; dim&i ' I ' o en d ; by &outside; r u n ; 『時n d ; title&title 'PART1AL CORRELAT10NCOEFF1C1ENT'; %pCOI ・ r; title&title ; 略e n d ; %if %upcase(&workds) = DELETE %then% d o ; proc datasets library = worknolist ; delete̲templ̲̲temp2̲ %if %upcase(&short) ‑ = YES%then% d o ; output̲/キサンプル数量の出カヂサセットキ/ 噌E4 F 同U η3
%if &outitem= oitem
一%then%
d
o
;
oitem
ー
1
*アイテム数量の出カデサセァト *
1
%end;
%end;
Imemtype = data ;
qUlt
%en
d
;
%put N
O
T
E
: 数量化理論第 E類の処理を終了します.
b
i
n
e
n
dq
2
;
%macro p
c
o
r
r
;
o&
v
n
;
%do j
=
l 略t
proc corr data=&outitem out=̲pcr&j.̲n
o
p
r
i
n
t
;
var grp
皿e
an品 n
m
&
j
;
partia1
%do j
j
=
l %to &
v
n
;
%if&jj =
&
j 弘then品 四&
j
j
;
%end;
;
by d
i皿
r
u
n
;
%end;
data̲pcrall̲;
set %do j
=
l %to&
v
n
;
j
"
))
pcr&j.̲(where=(̲n岨 e ="品四&
弘e
n
d
;
1
a
b
e
1 name "ITEM" grpmean="PARTIALCORRELATION";
r
u
n
;
proc s
o
r
t
; by d
i
m
;r
u
n
;
proc print data=̲pcral1̲ 1
a
b
e
1n
o
o
b
s
; by d
i皿;
var ̲n担 e grpmean; format̲n掴 巴 $
i
t
e
m
̲
f
.;
r
u
n
;
proc datasets 1ibrary =workno1ist ;
皿t
ype= data ;
delete̲pcr: Ime
一二
qUlt
r
o
m
e
n
d pcorr;
(
2
)鈴木のマクロプログラムへの追加
以下のプログラムを鈴木のマクロの「カテゴリ数量を印刷」の procchartの直前に挿入する。
挿入プログラム 1
data̲nu1l̲; set&outcate;
=
l %to&
d
i
m
;d
i皿&
i%
e
n
d
;
;
array maxm印 刷 oi
皿a
x imin 0
;
retain i
d
o over maxmin;
皿a
四 i
n
;
i
f imax <maxmin then imax=
i
fi
皿i
n > 皿 axminthen imin=
皿a
x
m
i
n
;
e
n
d
;
m
a
x+ 0
.
0
1
;
1
*0.01は微調整用、省略可能 *
1
i
m
a
xニ i
i
皿i
n= imin̲ 0
.
0
1
;
1
*0.01は微調整用、省略可能 *
1
ca11 s
y
m
p
u
t
(
'ITE
旧x
',i回 目 );
ca11 symput(
'I
T
E
M
I
N
',i
m
i
n
)
;
r
u
n
;
‑
3
1
6
次いで、 p r o cchartの group=itemの次に axis=&itemin&itemaxを加える。さらに、以下のプ ログラムを鈴木のマクロの「アイテム・レンジを印刷」の p r o cc h a r tの直前に挿入する。 挿入プログラム2 d a t a̲ n u l l ̲ ;s e t̲ r a n g e ̲ ; a r r a ym a x m i n% d oi ニ 1% t o& d i皿, r a n g e & i% e n d ; ; r e t a i ni m a x0 ; d oo v e rm a x m i n ; i fi m a x <m a x m i nt h e ni m a x = 皿a x m i n ; e n d ; i 皿a x= i 皿a x+ 0 . 0 1 ; 1 *0.01は微調整用、省略可能 * 1 c a l ls y m p u t ( 'I T E 刷X ',i m a x ) ; r u n ; 次いで、 p r o cchartの group=itemの次に axis=&itemaxを加える。 なお、参考までにサンプルマクロと同じ例題について、カテゴリースコアの図の出力部分を図 1に 示す。 5 .終わりに ここに紹介したマクロては、求めようとする偏相関係数が直接得られるが、対象の変数とオプザベ ーション数が多くなれば演算時間が問題になる。これは現在の p r o cc o r rが毎回データセットから生 のデータを読み込みながら処理をするようになっている為であるが、他のプロシジャと同じように c o v等のマトリックスデータから計算できるようになれば、かなり演算時間が短くなると思われる。 p r o cc o r rについても、マクロ等で使用される場合を考慮すると、中間処理されたデータセットを使用 できるような機能が必要ではなし、かと思われる。 本論文では、著者なりの数量化 I I類のマクロプログラムの改良案を提示した。数量化に対する批判 はいろいろあると思われるが、依然としてしばしば活用される分析方法の一つであることは間違いな い。従って、使いやすいマクロが提供されれば、様々のレベルのユーザーが使用するものと思われる。 その場合のことを考慮すると、できる限り分かりやすく、しかもオリジナルの数量化のプログラムに 近い出力的が得られるような工夫が、マクロプログラムの作成時にも必要ではなし、かと考えられる。 参考文献 1 ) (株) SA Sインスティチュー卜ジャパン:T e c h n i c a lR e p o r t :J ・ 109数 量 化 いI I類サンプルプロ グラム. SAS出版局, 1 9 91 . 2 )有馬目宏:数量化理論 I I類サンプルプログラムの改良とその適用. 日本 SASユーザー会(SUGI‑ J '9 5 )論文集, 403・ 404,1 9 9 5 . 3 )鈴木督久 :SAS杜提供「数量化 2類マクロ」簡易版. N i f t y ‑ S e r v eSASフォーラム・データライ プラリー. 4 )駒 沢 勉 ( 林 知 己 夫 監 修 ) :数量化理論とデータ処理.朝倉書庖, 1 9 8 2 . 唱EA ワs qu
柿 *T est Program f o rSU2 b yT .Suzuki 柿 本 1 4 : 3 2 Friday,March29,1 9 9 6 6 CATEGORYSCORE I T E M CATEGORY l年 齢 ( 1 ) 49 ‑54 ( 2 ) 55 ‑59 2 眼底所見 3 心電図所見 4最大血圧 5最小血圧 6 大動脈速度 7 コレステ ( 1 ) 正常 ( 2 ) 異常 (1)正常 ( 2 ) 異常 ( 1 )1 3 9以下 ( 2 )1 4 0‑ 1 7 0 ( 3 )1 7 1 以上 ( 1 ) 84 以 下 ( 2 ) 85 ‑95 ( 3 )9 6 以上 ( 1 ) 7.4 以下 ( 2 ) 7.5 ‑8.5 ( 3 ) 且 6 以上 ( 1 )1 7 9 以下 ( 2 )1 8 0 ‑210 ( 3 ) 211 以上 DIM1 Mean . . . . 1 [ [ ! 柿 本 輯 神 O .168720 ‑0.416175 神 梓神神柿肺神神*肺 ! ‑0.048783 0.084729 本 l ‑0.276126 0.479587 神柿神林幹場│ 1 0.237172 0.228162 O .570608 紳梓梓梓寧 [ 柿 林 耕 輔 * │ [ [ 神榔輔特棉│ 0.255733 ‑0.291958 ‑0.001689 事 1 .1 23585 0.036142 ‑0.896902 [梓紳特輯神 l │ │ [ ‑ 一 一 一 一 寸 l ‑0.888146 O .133607 O .150667 神神事 [ . . . . . . . .. . . . + 一 一 一 一 一 一 一 一 +ーーーーーーー+一一一一一一一+一一一 ‑ 0 .8 ‑ 0 .6 ‑ 0 .4 ‑ 0 .2 + ー + ー ー 一 一 ー ー +ーーーーーーー+一一一一一一一+一一一 O .2 O .4 O .6 O .8 + ー D I M 1 Mean 柿 *T est Program f o rSU2 b yT .S u z u k !林 車 I T 回 CATEGORY 1年 齢 ( 1 ) 49 ‑ 5 4 ( 2 ) 55 ‑59 2 眼底所見 (1)正常 ( 2 ) 異常 3心電図所見 ( 1 ) 正常 ( 2 ) 異常 4最大血圧 ( 1 )1 3 9以 下 ( 2 )1 4 0‑ 1 7 0 ( 3 )1 7 1以上 5最小血圧 ( 1 ) 84 以 下 ( 2 ) 85 ‑95 ( 3 ) 96 以 上 6大動脈速度 ( 1 ) 7.4 以 下 ( 2 ) 7.5 ‑8.5 ( 3 ) 8.6 以 上 7 コレステ 1 4 :32 F r !day,March29,1996 一一間一一軸向 CATEGORYSCORE DII ! 2 Mean 0.429090 ‑0.745262 ‑0.147801 0.364577 0.062991 ‑ 0 .109405 O .119823 ‑0.057369 ‑0.012056 0.950390 O .325875 ‑ 0 .770509 ‑0.018617 ‑0.525020 0.801492 本‑事 ( 1 )1 7 9 以下 ( 2 )1 8 0 ‑210 ( 3 )2 1 1 以上 0.050513 0.111142 ‑0.335105 ー ー ー ー ー ー + ー ー ー ー ー ー ー + 一 一 ー 一 ー 一 一 一 一 一 十 一 一 一 一 一 一 一 一 + ー ー ー ー ー ー ー + ー ー ー ー ー ー ー + ー ー ー ー ー ー ー + ー ー ー ー ‑ ー + ー 一 一 一 一 一 一 一 + 一 一 一 一 ‑ 0 .8 ‑ 0 .6 ‑ 0 .4 ‑0 . 2 0 0 . 2 o .4 O .6 O .8 ! 2M e叩 D II 図1 .カテゴリースコアの出力例 318‑ 7 一+
日本 S A Sユーザー会 (SUG I‑J) SASjIMLの新機能と時系列解析 田村義保 統計数理研究所 統計データ解析センター NewFunctionsofSAS/IMLandTimeSeriesAnalysis Y o s h i y a s uTamura TheI n s t i t u t eo fS t a t i s t i c a lMathematics S t a t i s t i c a lDataA n a l y s i sC e n t e r 要 旨 SAS/IMLリリース 6.11の新しい関数として、統計数理研究所で 1972年から開発されてき た TIMSAC(TIMe~eries A n a l y s i sandQ o n t r o l ) の一部のプログラムがつけ加えられている。 TIMSAC全体について紹介し、 SAS/IMLにつけ加えられたプログラムの目的及ひ、アルゴ、リズ ムについて説明する。 キーワード: TIMSAC,SAS/IML,時系列解析, AIC 1 はじめに 最初の TIMSAC(TI 盟e~eries 主nalysis andQ o n t r o l ) は赤池と中 } [ I( 1 9 7 2 )によるものであ る。セメントキルンの制御という実際の問題を解決するために開発されたプログラムパッケー ジである。その後、 TIMSAC‑74、TIMSAC‑78、TIMSAC‑84と開発が続いている。実際の問 題の解決を目的に開発された経緯のためではないだろうが、火力発電所の制御、船舶の自動操 舵、生体内フィードパックシステムの解析、金融資産価格変動の解析、地震に関する地下水位 [( 1 9 9 4, 1 9 9 5 )が統計数理研究所 5 0 変化の検出等広い分野で実際に用いられている。赤池と北}1 周年を記念して実際の応用についてまとめている。また、 2, 000サイト以上の国内外の大学、官 公庁、金融機関等に FORTRAN版が配布されている。昨今の計算機のダウンサイジングに関 係してパソコンで動作するパージョンも開発している。 TIMSACについては次節以降で説明している。パソコン版が V i s u a l C++ バ言語で書かれ ているのを除き、 FORTRANで書かれている。このため、ポータピリティは高いが、計算機 indows3.1*1または 初心者には使いにくい状況になっている。パーソナルコンヒ ュータ版を W o WindowsNT*lの下で、動作するようにしたのは、使い易さを考えてのことである。 SAS/IMLに ‑319
移植して頂いたことは、汎用機、ワークステーション、パソコンを問わず、使い易い環境が得 られることになり、統計数理研究所としても喜ばしいことである。 2 TIMSACシリーズ TI i ¥ r ISACシリーズはこれまでに 4回、発表されている。 • o r i g i n a lTIMSAC(TIMSAC7 2 ) • TIMSAC‑74 • TIMSAC‑78 • TIMSAC‑84 TIMSAC‑72は、すでに述べたように、赤池と刑 11 ( 1 9 7 2 )により発表されたものである c その後 のものは赤池(前統計数理研究所長)を中心とし開発され、 ComputerS c i e n c eMonograph(TIMSAC‑ 19 7 6 ), TIMSAC‑78(1979), TIMSAC‑84(1985))として発表されている。特徴としては情 7 4 ( 1 9 7 5, 報量規準を用いた時系列解析プログラムパッケージで、あると言うことができる。 TIMSAC‑72で 吋i c t i o nE r r o 仏 TIMSAC‑74以降では AIC( A k a i k eI n f o r m a t i o nC r i t e r i o n )が は FPE(FinalPr a y e s i a n 情報量規準として用いられている。 TIMSAC‑84のベイズ型モデルでは ABIC(AkaikeB I n f o r m a t i o nC r i t e r i o n )も情報量規準として用いられている。 AR次数の決定等を情報量規準を 用いて行うことにより、主主意性の無い、データに忠実な解析を可能にしている c 2 . 1 TIMSAC‑72 パッケージの構成は次の通りである。 AUTCOR :直接法による自己共分散関数の計算 MULCOR :直接法による相互共分散関数の計算 FFTCOR :FFTによる自己・相互共分散関数の計算 AUSPEC :BT法によるパワースベクトル推定 h在ULSPE :BT法によるクロススベクトル推定 SGLFRE :周波数応答関数の推定(一入力) h在ULFRE :周波数応答関数の推定(多入力) Y u l e ‑Walker法) FPEAUT ・一変量 ARモデ、ルのあてはめ ( :多変量 ARモデルのあてはめ ( Y u l e ‑Walker法) FPEC MULNOS :ノイズ寄与率の計算 DECONV :インパルス応答の計算 RASPEC :有理型スペクトル推定(一変量) h在ULRSP :有理型スベクトル推定(多変量) OPTDES :最適制御系の設計 :最適制御系の、ンミュレーション ¥ 在 OPTSIl WNOISE :白色ガウス雑音の生成 ‑320‑
TIMSAC‑72から SAS/IMLに入っているプログラムはないので詳細は省略するが、次の 3モデ ルが用いられている c A .一変量 A R ( A u t o R e g r e s s i v e )モデル 1EA ) ( x ( 0 5 )= α( l ) x ( 0 5‑ 1 )+ ・ ・ ・ +α (m)x(05‑m)+e (0 5 ) ここで X ( 0 5 )は時系列であり、 ε ( 0 5 )は白色ガウス雑音で、その平均は 0で、分散はσ2で、ある。 B .多変量 AR(Aut o R e g r e s s i v e )モデ、ル M ' " x . ; (o 5 )= ~ ~Aij(m) 町 (05 ‑m)村 山) ( i=1、2, " ' ,k ) ( 2 ) m=lj 1 二 ここで引い)は i 番目の時系列で ( ε 1( 0 5 ), . . . , e, "( 0 5 ) )は k次元の白色ガウス雑音で、その平均は k 次元の 0ベクトルで分散共分散は次式で与えられる。 ( 3 ) R εバj( 1 )= O I, ulJi . j C フィード パックシステム 二つのサブシステムからなる系を考える。 ν ( 0 5 ) =工伽 )x(s‑m) u.(o5) 十 =1 川 M x ( s ) = ~ b(m) y( 0 5‑m)十 υ ( 0 5 ) 川 =1 u . ( o 5 )が白色雑音で無い限り叫0 5 )とx ( . s‑1 )x(s‑2), '. ・, x ( s‑J I l J )の問の相聞は消えない o のような場合、最ノト二乗法により係数日 ( m )を推定することはできないじ . u( s )とv ( s )を相聞が w ない白色雑音と ( s )とT 7 (s )に変換する必要がある。 u .( s ) = 乞c ( I ) . u . ( s‑1 )+ごい) り : Ld(l)v(s‑1 ) l ] ( o 5) ( s ) = 十 1=1 ︑ C4 w z A 十 + 山 ZM S Uυ pu UU L Z M この . u( s )の式を代入して白色雑音によりドライフ守されている y ( s )についての方程式を得ること ができる。 ここで A1 口( 1 ) A r n α( m )‑ ~ c l o ( m‑1 ) (m=2, 3 , ・ ー, M+I) である。ただし C l =c (1 ) ( 1=1 , 2, .・" L ) of o1 ' 1>L ‑321‑ ( 4 )
である。 x ( s )に対する方程式も同様に求めることができる。 2変数の自己回帰モデ、ルを用いるこ ( l )や Amを求めることができる。簡単な計算により α(m)を求めることができる o とにより係数 c FPEとAICの関係について述べておく。すでに述べたように TIMSAC‑72のみ、情報量規準 として FPEを用いている。 AICが発表されたのが 1 9 7 3年であることを考えれば AICを用いて ないことは当然のことである。一変量 ARモデルの場合、両者には次の関係、がある。 nl o gFPE(M)=AIC‑nl o g ( 2 π )‑n‑2 ( 5 ) ここでは Y u l e ‑W a l k e r法の場合の AIC AIC=n l o g ( 2 π σ( M ) 2 )+n+2(M+1 ) ( 6 ) を用いている。 TIMSAC‑78の UNIMARも一変量 ARモテ守ルのあてはめを行っているが、最小 u l e ‑Walker法と最小 二乗法を用いているので、その AICは上式とは異なっている。これは、 Y 二乗法とで、は解析に使用するデータ数が異なっているためである。 TSUNIMARという名前で SAS/IMLに UNIMARが入っているが、最小二乗法を用いているので、 Y u l e ‑Walker法で求め た解析結果とは ARの次数、係数が異なることを覚えておいて欲しい。 最後に、 SAS/IMLには入っていないが、 TIMSAC‑72の成果の一つで、ある、 AR係数を用い x x ( g )( ‑1/2S9壬 1 / 2 )は AR係 たパワースベクトルについて述べておく。ノミワースベクトノレ q 数を用いて、次式で求められる。 q x x ( g )= σ2(M) M ( 7 ) 1 1 ‑L,QM ( m )叫(‑‑i27rgm)12 , =1 η 良く、 FFTをかけただけのものをパワースベクトルとする人がいるが、ピリオドグラムと呼ば れるものを求めているだけであり、推定量としての統計的性質が良くないことを注意しておく。 2 . 2 TIMSAC‑74 ノfッケージの構成は次の通りである。 CANARM 正準相関解析(一変量) AUTARM :ARMAモデ、ルのあてはめ(一変量) COVGEN 与えられたスベクトルに対応する共分散関数の作成 CANOCA 正準相関解析(多変量) MARKOV :ARMAモデルのあてはめ(多変量) PRDCTR :ARMAモデルによる予測 SIMCON :ARMAモデルによる最適制御系の設計、シミュレーション NONST 局所定常 ARモデルのあてはめ(一変量) P羽 TDPLY パーワースベクトルのプロット (PLOT10互換) FRDPLY :周波数応答関数のプロット (PLOTlO互換) THIRMO 三次モーメントの計算 BISPEC パイスベクトルの計算 TIMSAC‑74からは PRDCTRが TSPREDという名前で SAS/IMLの中に入れられている。 ARMA モデ、/レの AR係数、 MA係数を用いて予測をするためのプログラムである。このプログラムの 説明は不必要だと思うので省略するが、 ARMAモデルについては説明しておく。 ‑322‑
A .一変量 ARMA(AutoRegressiveMovingA v e r a g e )モデ、ル I :a(l)x(s‑1 )=e (s )+I :b(j)e(S‑j) X ( S )+ ( 8 ) ここでら X ( S )は時系列であり、 e ( S )は白色ガウス雑音で、平均は 0、分散はσ2で、ある。 B .多変量 ARMA(AutoRegressiveMovingA v e r a g e )モデ、ル X i ( S ) + I :I :Aij(m)xj(s‑m) 作る =1jニ 1 +工 島 (m)e(S‑m) ( i=1, 2, . . ., k ) 日( S ) 同 ( 9 ) =1 ここで、町 ( S )は i番目の時系列であり、 (e1( s )ぃ ・, .ek (S ) )は k次元の白色ガウス雑音である。 ARMAモデルのあてはめ、すなわち AR係数、 MA係数の推定のためには状態空間表現と最 尤法が用いられている。この求めた係数を用いて PRDCTRで予測を行うのである。 2 . 3 TlJ¥.1SAC‑78 ノ4ッケージの構成は次の通りである。 UNIMAR :ARモデルのあてはめ(一変量、最小二乗法) UNIBAR :ARモデルのあてはめ(一変量、ベイズ法) BSUBST 非線形モデ、ルのあてはめ(一変量、ベイズ法) MULMAR :ARモデルのあてはめ(多変量、最小二乗法) MULBAR :ARモデ、ルのあてはめ(多変量、ベイズ法) PERARS 周期的 ARモデルのあてはめ MLOCAR 局所定常 ARモデルのあてはめ(一変量、最小二乗法) BLOCAR 局所定常 ARモデ、/レのあてはめ( 変量、ベイズ法) MLOMAR 局所定常 ARモデルのあてはめ(多変量、最小二乗法) BLOMAR 局所定常 ARモデルのあてはめ(多変量、ベイズ法) NADCON 適応制御系 EXSAR :ARモデルのあてはめ(一変量、最尤法) XSARMA :ARMAモデルのあてはめ(一変量、最尤法) TSSBST : S u b s e tr e g T e s s i o n TSROOT 固有根の計算 TIMSAC‑78からは UNIMAR、MUIMAR、PERARS、MLOCAR、MLOMAR、TSROOTが それぞれ TSUNIMAR、TSMUIMAR 、TSPERARS、TsrvILOCAR、TSMLOMAR、TSROOT という名前で SAS/IMLの中に入れられている。 TSROOTは TIMSAC‑78では ARMAモデル の特性根を求めるためのサフ ルーチン CHROOTの使い方の例として入っている。 ARモデル の場合を考えているが、 SAS/IMLでは ARMAモデルが扱えるようになっている。いくつかの ε プログラムについて詳しく説明してし、く。 ηA qu ο η
2
.
3
.
1 UNI勘1AR
UNIMARは一覧表にも書いたように一変量 ARモデルのあてはめを最小二乗法により行う
ためのプログラムである c 一変量 ARモデ、ル
x
(
s
)二 α(
l
)
x
(
s‑ 1
)+・・・ +
α (m)x(s‑m)+
ε(
s
)
をデータ {
x
(
l
),
.
・ ,
x
(
n
)
}にあてはめることを考える。デザイン行列 Z及びベクトノレ uとαを次
のように定義する。
Z=
J
J
Jf
f
;
;
l
=
[
:
:
)
│
x(m)
x(m‑1
)
) x(m)
x(m+1
x(nー 1
) x(n‑2)
I
/Za
.‑
y
j
j
2を最小にするパラメータを求める c 次の (
n‑m)行 (m+1)列の行列を考える。
で
、 nはデータ数であり、 m はあてはめを考える最大の AR次数である。
x(m)
X =[
Z
j
y
]=
判m +1
)
x(m+2
)
x(m+1
)
x
(
l
)
x
(
2
)
x
(η ‑1
)
x(n‑m) x
(η
)
直交行列 Pを用いて次の (m+1
)行 (m+1
)列の上三角行列 S
Iこ変換する数値計算法を I
‑
I
o
u
s
e
h
o
l
d
e
r変換と言う。
・
・
・
811
8
1
η
, 81m+1
一
一
S
sm
η.
1
S
.
m
.
:
n
t
8m+1m+l
H
O
l
l
s
e
h
o
l
d
e
r変換で、はユークリッドノルムは変化しないので次式がなりたつ
O
刊一一
a
111111111ll﹂
11
+
+
川市
qJQJ
lk
﹁
Illit‑‑‑it‑‑L
﹂
K
k
‑
3
2
4一
Illi‑‑‑l
﹁
‑
‑
α
・
‑h
ん・
G
))
(1 1(1 A
'h
九・
﹁1lill111111L
司
t
E
E
1
1
9
1
1
I
I
I
l
l
i
‑
‑
a﹂
lk
s
:・ 5
‑‑
寸ム
Tム
50
PIlli‑‑il‑‑L
••
n
111111BIll‑‑111﹂
寸
ー
++
z
mn
lm
﹁ itil‑‑liltL
t
s:・ S
一
↑
m
2m
一η
一
一
角
σ
川
一 ‑m
寸IIIllit‑‑lll
﹂
nり
川市
G‑G
﹄
riliti‑‑l'JEE‑‑﹂
寸lIP‑‑111111
﹂
日間
In
s
‑‑s
・
snu
﹁Ill1111111
上三角行列が求まっていると k次 ARモデル伊豆 m)の係数は、次式を解けばよい c
ー
+
宮
+
2m
q︐
u
+
1
‑eυ
﹄
1111111111liJ
z
n
nl
刊叶
﹃
・
・
lη
11Ill‑‑Ill1111
﹂
υ
ε
F
14Il・
l
it‑‑111111
・
)
い
り
m
(( α
G
1EBill1111SEPt﹂
n
00
﹁ iIl11111IL
日
r
a
lη
1
1
e d ‑ ‑・
5
﹁E111111fllt‑h
円
一
一
J
U
V
U
P
G
Z
P
ゐ
つUυ
一
一
α
Z
O
Lは次のように求められる。
AR係数{白川 (
1
),
・
"
, G.m(m)}及びイノベーションc
(
8
)の分散
また、イノベーションの分散も次式で求めることができる。 川 十1 1 2 , ムて~ σ ι 二二一一一一一一一 η 打1 予 . 2 S.;~ ・ 1 可 L . ‑ , ‑ J i = ) . ; + 1 最高次数 m までの ARモデ、/レの中で、最も良いものを選ぶのには、 AICを用いる。 UNIMAR の場合、 AICは次式で与えられる。 'EA m+2(k+1)、 )ハり ( AIC (k )=( n‑m)l o g ( 2 πO : k2 )+ η すでに述べたように、同じ一変量 ARモデノレのあてはめを行っているが、 TI l ' v I S A C ‑72の Yule‑ Walker法と UNIMARの最小二乗法とでは AICが違っている c これは、最小二乗法で、は最初の m 個のデータを用いてないが、 Y u l e ‑W a l k e l法では全てのデータを用いているからである。 l o g の前の係数が違っていることに注意して欲しい。 2 . 3 . 2 MULMAR MULMARは一覧表にも書いたように多変量 ARモデ ルのあてはめを最小二乗法により行う ためのプログラムである。多変量 ARモデ、ル ; . ) ttA tEA ) ( M X ; ( s )= 乞 乞 Aij(m)Xj(s‑m)+ ε市) ( i .=l, 2, . . . , J , ; ) をデータにあてはめることを考える。この場合イノベーションの ( s )の分散共分散行列は対角行列 ではなく最小二乗法で、係数の推定を行うことができない。 MULMARでは瞬時応答 ( i n s t a n t a n e O l l S r e s p o n s e ) モデ、ルの係数の推定を最小二乗法により行っている c X(s)=A(0)X(8)+A(l)X(s‑1 )+ . . .+A(m)X(s‑m)+U(s) ここで、 X(s)= ( X I ( 8 ),・ 勺X k ( S) ) Tで、あり、 U ( S )= ( ' U I ( S ), "、 ・U ,,( S ) ) Tである o A( j )は I . ;x / ' ̲ 行列である。 A ( O )は次のようになっている。 。 A ( O )= 。 ( 0 ) 0 日2 1 ( 0 ) ・ ・ 0 ) . ; 1 日叫ー 1 0 + K 川 乞 M 乞 同 この A ( O )を考えることにより、町 ( 8 )の分散共分散行列は対角行列と考えて良く、一変数ずつ、 次式の係数を最小二乗法で、求めることが可能になっている。 A( j )を用いて、多変量 ARモデ〉レを次のように表すことができる。 X(s)=乞 ( I‑A(O))一 1A(j)X(s .‑j )+( I‑A ( O ) )一 IU(η ) 3 2 5
実際のあてはめを行うためには次の ( n‑m)xk(m+1 )行列 X IX(m)T X= X(m‑l )T . . . I X(m+l ) T X(m)T X(l)T . . . X(2)T X(m+l ) T X(m+2 ) T IX(n‑l)T X(n‑2)T ... X(n‑m)T X(n)T をHouseholder変換により上三角行列に変換すればよい。この後の計算は AICむ含めて、一変 量の場合と同様に行うことができる。 2 . 3 . 3 UNIBAR、MULBAR UNIBAR、MULBARは一覧表にむ書いたように、それぞれ一変量、多変量 ARモデルのあ てはめをベイズ法により求めたものである c ここで、ベイズ法のアイデアの説明を行う。 AIC が対数尤度の推定量であることを用いている。次数 kのモデルの尤度は = 位 什 AIC(k)) 川) のようになる。 k次のモデルが得られる事後確率は ,:f(x[k)π(k) ( k [ x )= エ ( 1 2 ) f ( x [ k )π( k ) で与えられる。ここで、 π( k )c x1 / ( 1+k )は事前確率である。 ARモデルのベイズ推定は事 後確率を重みとして次数の異なるモデルを平均することにより実現される。詳細については A k a i k e ( 1 9 7 8 )を参照して欲しいc ベイズ、モデ ルに対しては情報量規準として AICB 2 : :d(i)2+1) AICB= ( n‑m)l o g品 +2 ( i=l を用いている。ここで、 δ LはKitagawa、 Akaike(1981)で定義されているベイズモデルの場合 ( i )は次のように定義されている。 のイノベーションの推定値である。また、 d l ン(k[x). d ( i )= π( k [ x )は ( 1 2 )で与えられている。 2 . 3. 4 恥1LOCAR、MLOMAR MLOCAR、MLOMARは一覧表にも書いたように、それぞれ局所定常一変量、多変量 ARモ デルのあてはめのためのプログラムである。一変量の場合、モデルは次式の様に表される。 x ( s )=α 1 ( 1) X ( S‑ 1 )+...+ αl(m)x(s‑m)+e 1 ( S ), f o r8 1 ‑ 1く 8 : : = ; S I ( 1 3 ) n個のデータをいくつかのブロックに分け、ブ、ロックごとで、 ARモデルをあてはめようとする のが基本的方針である。連続するブロックで異なる ARモデルをあてはめた方が良いか、二つ b ハ qd nd
のブロックに共通の ARモデ ルをあてはめた方が良し、かを判断するために次の二つの A
ICを比
較している。
AIC1=(
η
1‑m)I
o
g
(
2吋 L。)+向 I
o
g
(
2付 L1)+η1+η2‑m+2
(
m
o+m1+2
)
AIC2= (η1+π2‑m)I
o
g
(
2付 L2)+η1+η2‑m+2
(
m
2+1
)
(
1
4
)
(
1
5)
ここで、 η
1とη
2は各ブロックのデータ長である。 mo、m1、m2はそれぞ、れい (
1
)
γ・
・,
x
(
η
1
)
}、
{
x
(
η
1+1
),'・・ ,
x
(
η1+η2)}、{
x
(
l
),
.
.
.,
x
(η
1
+
η
2
)
}にあてはめた ARモデ〉レの次数である。前
者の方が小さい場合、二つのブロックに異なる ARモデルをあてはめ、後者の方が小さい場合、
二つのブロックをひとまとめにし、共通の ARモデ、ルをあてはめる。多変量の場合も同様で
ある c
2
.
3
.
5 その他
IMSAC‑78では次のようなモデ、ルが用いられている。
ここまで、説明した以外に T
A 一変量 ARMAモデル
2
ン(l)x(s‑l)=e(s)+,
:
I
'
" b(j) (
s‑j
)
(
1
6
)
x
(
s
)=,
:
I
'
" aJ;(.?:(s‑1
)
γ・
・,
x(s‑m))+ε(
s
)
(
1
7
)
x
(
s
)+
E
:
B.一変量非線形 ARモデ、ル
ここで J
;
(
x
(
s‑1
),.
・
・ ,
x(s‑m))は過去 x(s‑l),
.
.・,
x
(
s‑m)に関係した非線形関数である。
C
.周期的 ARモデ、ル
X
(
t
)=A
(
O
)
X
(
t
)+A
(
l
)
X
(
t‑1
)+
.
.
.+A
(
m
)
X
(
t‑m)+'
u
(
t
)
(
1
8
)
ここで J
は周期であり、 X
(
t
)は l次元ベクトルで、ある。
X
(
t
)=(
X
(
p+1
)ゾ・.,
X(
p+l
)f, p=1
(
t‑1
)
また、
u
(
t
)は l
変数の白色雑音である。 A
(
O
)は対角成分とその上の部分が Oの 1x 1
行列である。
2.
4 TIMSAC‑84
ノ号ッケージの構成は次の通りである。
3
2
7
BAYSEA :ベイズ型季節調整 BAYTAP :ベイズ型潮汐データ解析 DECOMP :時系列データの分解 LOCCAR :局所定常 ARモデルのあてはめ TVCAR :時変係数 ARモデルのあてはめ NONSPA 非定常スベクトノレ解析 MULCON 制御と予測のための多変量時系列モデルのあてはめ SNDE :非線形確率微分方程式モデ、ルのあてはめ ADAR : 振l 幅依存 ARモデルのあてはめ EPTREN ポアソン生起率変化の推定 LINLIN 線形自己励起過程 PGRAPH グラフを利用した点過程解析 LINSIM :LINLINで、求めたモデ、ルのシミュレーション SIMBVH : 2変数 Hawkes点過程のシミュレーション PTSPEC 直接 F o u r i e変換による点過程スベクトル TIMSAC‑84カ ミ らl まBAYSEA、DECOMP、TVCARが TSBAYSEA、TSDECOMP、TSTV‑ CARという名前で SASjIMLの中に入れられている c これらについて説明してし、く。 2. 4. 1 BAYSE BAYSEAは ABICの最初の応用の一つであり、季節調整のためのモデ、ルで ある c 経済データ だけではなく、漁獲高のように季節変動するデータや日周期を持つ人の体温データ等も扱うこ Y ( s ) }を次の形に分解するためのプログラムである。 とができる。時系列 { Y ( s )= T ( s )+5 ( s )+l ( s )+TDC(s)+OCF(s) ここで T ( s ) 5 ( s ) l ( s ) TDC(s) OCF(s) t r e n d s e a s o n a l i r r e g u l a r t r a d i n gdaycomponent o u t l i e rc o r r e c t i o nf a c t o r である。 2. 4. 2 DECOMP 状態空間表現を利用した時系列データを複数の成分に分解するためのプログラムである。 Y ( s )=T ( s )+A R ( s )+5 ( s )+TD(s)+R ( s )+W(s) ここで T(s ) t r e n dcomponent A R ( s ) ARp r o c e s s 5 ( s ) : seasonalcomponent TD(s) t r a d i時 e f f e c t R(s ) anyo t h e r ・ ほp l a n e t o r yv a r i a b l e s W(s) o b s e r v a t i o nn o i s e ‑328‑
である。 2 . 4 . 3 TVCAR 状態空間表現を用いて観測時点、ごとに変化することを許した AR係数を求めるためのプログ ラムである。 y ( s )= α ( 1s )ν ( 8‑ 1 )+ ・ ・ ・ +α (m,s )ν(s‑m)+w(s) ぅ ここで y ( s ) , i ' (s ) α s ) ω( o b s e r v a t i o na tt i r n es ‑ il a gARc o e f f i c i e n ta ttimes w h i t en o i s ew i t hvarianceσ2( s ) である。係数 α( i, s )に対して、次の制約を考えている。 , i ' (I ) 2 α( i, l ) α , i ( 1‑2 )+v ] ( I ) α 二 ここで V]( 1 )は白色ガウス雑音である。 3 まとめ TIMSACシリーズで使うことのできるモデルについて簡単に説明してきた o TIMSAC‑78に ついては Kitagawa、A k a i k e ( 1 9 8 1 )がTIMSAC‑84については I s h i g u r o ( 1 9 8 7 )が参考になると思 う。その他、 TIMSACシリーズで使われいる方法の原著論文や全体についてのもう少し詳しい l 叫 1994)を参照して欲しい 説明は TarnU TIMSACシリーズは TIMSAC‑84で、終わったわけではない。現在、 TIMSAC‑96を鋭意開発 [、井出 ( 1 9 9 1) 中である。また、状態空間表現を使った時系列解析手法をまとめたものとして北)1 h による STATSがある。また、北) [ 1( 1 9 9 3 )により時系列解析プログラム集が発表されているここ れは、時系列解析を学ぶための教科書としても役に立っと思う。尾崎他(1 9 8 8 )による放送大学 の教科書も良く書けているが、残念ながら絶版である。著者も近々、入門書を出す予定でいる www が時系列解析の基礎知識集を の形でも公開する予定である。 SASjI i V I LにTIMSACが 寺系列解析の普及及び新理論の展開に貢献して行きたい。 入ったのを一つの契機として、 H 参考文献 [ 1 ] 赤池弘次、中川東一郎:ダイナミツクシステムの統計的解析と制御、サイエンス社、 1 9 7 2 [ 2 ]A k a i l 民 } ‑ 1 . ,A r a l川 a,E .a n c lOzaki,T . :TI l VISAC‑74,A Times e r i e sa n a l y s i sa n c lc o山。l programspackage( 1 )& ( 2 ),Computel'S c i e n c eMonog l 'a phs,No.5&6 .TheI n s t i t u t eo f S t a t i s t i c a lMathematics, Tokyo 1 9 7 5 . 1 9 7 6 王e ,H.,Kitagawa,G. Arahata,E .a n c lT a c l a,F . : TIMSAC‑78 ComputerS c i e n c e [ 3 ]A k a i l Monog l ' aphs, No.11 .TheI n s t i t u t eo fS t a t i s t i c a ll V l a t h e r n a t i c s, Tokyo,1979 ラ .,Ozaki,T .,I s h i g u r o M..Og<' 山, Y . Kitagaw , l < G.,T a r r 山 . aY . ‑I ‑ I . .A r a l 凶 a [ 4 ] Akaike,H E .,Katsura K.a n c lT a r n u r a .Y . TI i VISAC‑8lP a r t 1& Part2 Cornputθ rS c i e n c e l 'a phs, No.2 2& 2 3,TheI l l s t i t u t eo fS t a t i s t i c a lM a t h e r n a t i c s,Tokyo,1 9 8 5 monog c 司 ‑329
[ 5 ] Aka i 1 民 H . :AB a y e s i a nE x t e n s i o nt ot h eMinimumAICprocedureo fA u t o r e g r e s s i v e Biomet i I 北a ,Vo. l6 6,1 9 7 8 ModelF i t t i n g, [ 6 ] Kitagawa,G.andAkaike,H . : OnTIMSAC‑78,A p p l i e dTimeS e r i e sA n a l y s i sI I ,( e d . 9 9 ‑ 5 4 7,AcademicP r e s s NewYork,1 9 8 1 F i n d l yDふ 4 う [ 7 ]I s h i g凹 0, M., TIMSAC‑84:ANewTimeS e r i e sA n a l y s i sandC o n t r o lPackage Proceeding t a t i s t i c a lA s s o c i a t i o n : B u s i n田 sandEconomicS e c t i o n, 3 3 ‑ 4 2,1 9 8 7 o fAmericanS ヲ [ 8 ] 尾崎統他:時系列論、放送大学振興会、東京、 1 9 8 8 s ̲ t a t e ‑ S p a c eA n a l y s i so fIime. s ̲ e r i e swithV a r i o u sChar‑ [ 9 ] 北川源四郎、井出靖子:STATS(. a c t e r s )、科研費報告書、 1 9 9 1 [ 1 0 ] 北川源四郎:時系列解析プログラミング、岩波書居、東京、 1 9 9 3 . :A p p l i c a t i o no fTIMSAC,P r o c e e d i n g so ft h eF i r s tUSjJapanC o n f e r e n c eon [ 1 1 ] Tamura Y o n t i e r so fS t a t i s t i c a ll V I o d e l i n g,( 吋 .Bozdogan,H . ), KluwerAcademicP山 Ub l i s h 悶 s t h eFr ヲ ヲ 251一2 7 1, 1 9 9 4 [ 1 2 ] 赤池弘次、北川 l 源四郎編:時系列解析の実際 I 、朝倉書居、東京、 1 9 9 4 源四郎編:時系列解析の実際 I I、朝倉書居、東京、 1995 [ 1 3 ] 赤池弘次、北川 l ' 1V i s u a lC十十、 W i n d o w s 3 . 1、 WindowsNTは米国 M i c r o s o f t C o r p o r a t i o nの登録商標です ‑330‑
日本 S A Sユーザー会 (SUGI‑J) SASによる用量相関性の解析 0 浜田知久馬 東京大学医学部薬剤疫学教室 豆v aluationfordose‑responserelationships usingSAS C h i k u r n aH a m a d a U n i v e r s i t yo fT o k y o u n k y o ‑ k u,T o k y o,1 1 3 H o n g o7 ‑ 3 ‑ 1,B 要旨 用量相関性について検定する方法としていくつかの統計手法が知られているが,それぞれの手 法が生み出された背景が異なるため,定式化の仕方がまちまちであり,統計学の専門家以外には 各手法の特徴等が明確で、はない.しかしながら対比という概念を導入することにより,槙数の手 法を統一的に説明することが可能になる.本稿では対比と各手法の関連を説明し,標準的な統計 ソフトウエアである SASを用いた場合の各手法の実行法を示す.また用量反応関係の解析法と して著者が薦める方法を示す キーワード: 用量相関性,対比,多重性,即日T E S T,G L M ‑ 3 3 1 ‑
1.はじめに 前臨床の薬効薬理試験・毒性試験,臨床試験の第 H相試験は多群で行われることが多く,試験 の大きな目的の 1つのは,用量反応関係について明らかにすることである.このような試験の解 析方法として, t検定の繰り返し適用によって群聞の違いを調べることが長年行われてきた. これに対し多群のデータについて t検定を繰り返すと第 1種の過誤がかなり増大することが検定 の多重性の問題として認識され,多重性を考慮しなかったため,論文等でコメントがつく例も多 くなってきた.このためある基準群と残りの群の対比較を行う場合は Dunnett,すべての群聞の 対比較を行う場合は Tulωy法というように多重性を考慮した検定が用いられるようになってきて いる.これらの方法を用いることは,プラセボ・新薬・標準薬というように全く異なった種類の 処置法を比較するのであれば適切である.ところが前述の状況では,群はある薬剤の用量を何段 階かに変化させることによって構成されることが多い.このような場合, Dunnett,Tukey法を用 いて群聞の対比較を行うには次のような問題がある. 1. Dunnett,Tukey法で、は,群の聞の順序性についての情報を利用しておらず,このため群の聞 の順序性を考慮した方法に比べて検出力が低い. 2. 群問の対比較の結果,有意差が出たからといって,どのような用量反応関係が存在するのか 明確にできるわけではない. これに対して用量相関性について解析するための方法としていくつかの統計手法が知られてい るが, SASではこれらの手法をどのプロシジャを用いて行えばよし、かがマニュアルを眺めただ けでは明確でない.そこで本稿では SASを用いた用量相関牲の解析についてリピ ューする. 用量 生データ 平均 SD 対照 Omg 925 917 912 912 949 908 908 989 931909 926.0 25.7 低用量 l m g 898 925 908 873 908 9 4 1 893 920 922 9 3 1 9 11 .9 2 0 .1 中用量 3mg 874 876 916 908 873 807 874 919 952 916 891.5 39.8 高用量 1 0 m g 869 919 874 852 830 906 914 898 933 935 893.0 35.4 ‑分散分析 一元配置分散分析と対照群を基準とした Dunnett型と Tukey型の多重比較を適用してみよう. S ASではこのためには GLMプロシジャが利用できる. GLMのプログラム例と解析結果を示す. ‑332‑
data d a t a ; d o group=1 t o4 ; d oi = 1t o1 0 ; i n p u t y@@;output;end;end; c a r d s ; 925 917 912 912 949 908 908 989 9 3 1 909 898 925 908 873 908 9 4 1 893 920 922 9 3 1 871 876916908 873 807 874 919 952 916 869 919 871 852 830 906 914 898 933 935 proc glm ; c l a s sg r o u p ; model y=group; means group /dunnett tukcy ; G巴n巴r a l Linear Mod巴 l sProcedure Dependent Variable: Y Sum o f Squares DF 3 8134.2000000 35065.4000000 3 6 39 43199.6000000 H‑Square C .V . 3 . 4 4 6 2 8 9 o .188293 T y p e 1 S S Source DF 3 8134.2000000 GROUP Type I I IS S Source DF 3 8134.2000000 GROUP G巴n巴r a l Linear Models Proc巴dure Source Model Error CorrectedTotal GROUP Mean Square 2 7 11 .4000000 971.0388889 F Valu巴 2 .7 8 Root MSE 31 .209596 Mean Square 2 7 11 .4000000 Mean Square 2 7 11 .4000000 Y Mean 905.60000 F Value Pr >F 2 .7 8 0.0548 F Value Pr >F 2 .7 8 0.0548 H S D )検定一変数:y TUKEY のスチューデント範囲 ( 臨 界 値 : ス チ ュ ー デ ン ト 化 範 囲 = 3.809 最小有意差 ( M S D ) =37.59 0.05 レベ/レ で有意な比較は, **がで示しています. 平均 同時下側 同時上側 信頼限界 の差 信頼限界 比較 23.49 一2 1 4 .1 0 51 .69 ‑4 4.59 3 3 .0 0 7 0 .5 9 ‑3 3.09 34.50 7 2 .09 2 51.69 ‑ 1 4 .1 0 23.49 ‑4 2 一18.69 1 8 . 9 0 56.49 ‑3 2 1 7 .1 9 57.99 20.40 ‑70.59 4 33.00 4.59 4 56.49 ‑18.90 2 18.69 ‑3 4 36.09 1 .5 0 3 9 .09 3 一72.09 ‑34.50 3 .09 3 一57.99 1 7 .1 9 2 20.40 ‑4 3 39.09 ー 1 .5 0 3 6 .0 9 Pr >F 0.0548 司U 司U nペU
DUNNETT の T 検 定 ー 変 数 : y アルフアニ 0 .05 信 頼 = 0.95 DF= 36 MSE=974.0389 lCAL { : 直 : DUNNETT の T=2.452 CRIT 最小有意差 (MSD)=34.226 0.05 レベル で有意な比較は'料ギで示しています. 同時 下側 信頼 限界 48.33 ‑67.23 ‑ 6 8 .7 3 GROUP 比較 2 4 3 平均 の 差 14.10 ‑33.00 ‑34.50 同時 上側 信頼 限界 20.13 1 .23 ‑0.27 * * * 一元配置分散分析の結果は, F値が 2.78, p値が 0.0548であり,ぎりぎりであるが 5漏水準では u k e yの多重比較で、も有意な対はなく, D u n n e t tの多重比較で、は 1‑ 3群の比較の 有意ではない. T み有意である. さて 2群で比較を行う場合,比較する対は明示的に 1つしか存在しないが,多群の場合,比較 ukeyの多重比較で、対象とする対比 としてはいくつかのケースが考えられる.例えばこの例で、は T 較は次の 6通りである. 平均値の差 平均値の差の 2乗 ト2 群の比較 1 4 .1 1 9 8 . 8 1 ト3 群の比較 3 4 .5 1 1 9 0 .2 5 1‑4群の比較 33.0 1089.00 2‑3群の比較 20.4 4 1 6 .1 6 2‑4群の比較 18.9 3 5 7 .2 1 3‑4群の比較 1 .5 2.25 119.4 3 2 5 3 .6 8 日 不 分散分析で想定する対立仮説は少なくとも 1つの群の母平均は,他の群の母平均と有意に異な るという広い範囲の仮説を想定している.言い換えれば上の 6つの対比較の重みを等しく考えて いることに相当する.このため分散分析では検定統計量として 6種類の平均値の差の 2乗和を計 算する. 2乗することによって,+の方向とーの方向にずれを同様に検出する.逆に言えば, 2 乗することによって群の間の順序関係についての情報は無視される.との例では 2乗和は 3 2 5 3 .6 8となる.通常一元配置分散分析を行う場合,群間分散と群内分散を計算し,その比を F統 計 量 と比較するが,群間分散(この例では 2711 .4 )と平均値の差の 2乗和には,次の関係式が成立す る. 群間分散=平均値の差の 2乗和 Xl群あたりのサンプノレサイズ/(比較の対の総数 X 2) との例では 2 7 11 .4 = 3 5 5 3 .68X10/ ( 6X2 )=3553.68X10/12 となる.平均値の差の 2乗和を比較する対の総数で割ることによって平均化し,更に 2で割るこ とによって,中心からの距離になる(群間分散は各群の平均値が全体の平均値からどの程度離れ ているかを示す指標である) . 1群あたりのサンプ/レサイズをかけるのは群内分散と比較できる ‑334一
ようにするための操作である.群間平方和は 1 0個のデータの平均値から計算されているので,個 別データに比べるとみかけ上バラツキは1O倍小さくなっている. このように分散分析では,平均値の差の 2乗平均に基づいた検定であり,群間の全体的な差を 検出するのに適した方法である. ‑傾向性検定 正規分イf iにしたがうような計量データを対象とした傾向性検定の代表は回帰分析である.回帰 分析を G L Mプロシジャで実行するためのプログラム例と結果は次のようになる. p r o cg l m ; c l a s sg r o u p ; m o d e ly = g r o u p ; c o n t r a s t '1i n e a r 'g r o u p‑ 3‑ 1 13 ; r u n, C o n t r a s t li n e a r D F 1 C o n t r a s tS S 7 1 2 8 . 1 8 0 0 0 0 0 M巴a nS q u a r e 7 1 2 8 . 1 8 0 0 0 0 0 FV a l u e 7 . 3 2 P r >F 0 . 0 1 0 4 白由度 3の群間変動のうち,線形の成分で説明できる平方和を C ONmAST文で抽出する.そのた めに対比の係数として ‑3 一1 1 3を指定する.この対比は直線的に近い変化があるとき,大き な値をとる対比である.自由度 1の対比で説明できる平方和の大きさは 7 1 2 8 . 1 8であり, p値は O . 0 1 0 4で , 5 % 水準で有意となる.分散分析では有意差はないが,if[組的に反応が増加する方向に対 立仮説を限定すれば有意な変化を検出することができる. ‑3 一1 1 3は単純に 6つの対比較の対比の係数を,符号を付けたまま足し併せたものと解釈 することもできるが,この係数の意味について少し詳細に考えてみる. 直線的な変化があるときには,用量が 1段階増量したときの反応の変化(傾き)は等しくなる はずである. 6種類の対比較の平均値の差に基づいて, 1段階当たりの変化を求めることができ る.傾きの自然な推定値としては,これらの値の関数を考えることが妥当である.この関数とし て 6種の傾きの単純な平均値を考えてみてもよいが,離れた用量問で傾きを求めた方が推定精度 が高いと考えられる.そこで傾きを求めるときの分母の 2乗に比例させた重みを導入する.この .9 4となり,このようにして求めた値が,実は傾きの最小 2乗推定値に一 とき重み付き平均は 11 致する. 平均値の差 係数 1 100 1 4 .1 1 ‑ 2群の比較 ‑ 1 ‑ 3群の比較 101 0 3 4 . 5 1 ‑ 4群 の 比 較 一 100 1 3 3 .0 o‑1 10 20.4 2 ‑ 3群の比較 o‑1 0 1 18.9 2 ‑ 4群の比較 3 ‑ 4群の比較 o0 ‑1 1 1 .5 和 1 1 9 . 4 1段階当たりの変化 傾きを群聞の平均値の差に直して考えると, 1 4 .1 1 7 . 2 5 1 1 .0 2 0 . 4 9 . 4 5 ‑ 1 .5 重み 4 9 4 重み×変化 1 4 .1 6 9 . 0 9 9 . 0 2 0 . 4 3 7 . 8 ‑ 1 .5 2 0 2 3 8 . 8 重 み 付 き 平 均 =11 .9 1段階離れた用量の平均値の差は,重みし 2段 階の場合は 2とし、う重みを付けて足し併せたことになる.この足し併せるときの係数を,群ごと 1こ比例することがわかる.このように回帰分析 にまとめると 6 ‑2 2 6となり, ‑3 ‑1 1 3 F h υ η3 ο η
s は,用量の高い群と低い群の差をとった対比較の結果の重み付き平均をとったものである A SのGLMで出力される Contrast SSは,この傾きの推定値 11 .9 4に基づいて次のように計算され る. 平方和=傾きの推定値 2X((‑1 .5)2+(‑O.5) 2十 0 . 52十 1 .52)Xl群当たりのサンプルサイズ =11 .942X5X10=7128.18 各群は中心からそれぞれ, ‑ 1 .5, 一O .5,O .5, 1 .5 単位ずれている. 分散分析と 1m 帰分析の群 l~fJの対比較の関係について述べた.簡単にいうと前者は各群の対比較 の結果の 2乗和,後者は平均である.分散分析では 2来することによって,群の聞の順序関係を 無視している.これに対し回帰分析では平均値の差を求める際に,高い用量の平均から低い用量 の平均を引くという操作によって,群の間の順序関係に関する情報を利用する.どちらの手法も u 複数の対比較の結果を 1つの統計量に要約して,有意性を評価する手法といえる.これに対し T key法などの多重比較法は,最も差が大きかった対比較に基づく方法である. 3 . 用量相関性検定の各手法と対比との関連 用量相関性を検定するための手法は,用量反応関係について単調性が成り立っときに検出力が 高くなるように検定統計量が工夫されている.用量相関性の検定では帰無仮説は 日 。 :μ1‑μ2= ・・・ =μa であり,対立仮説は単調噌加を検定する場合は Ho:μ1;;;μ2壬・・・ ;;;μa となる.ただし 1つの不等号は厳密に成り立つものとする.単調減少を検定する場合は,不等号 はミに置き換わる. 用量相関性について検定するためにいくつかの方法が知られている.例えば回帰分析, Max t,ウィリアムス,ヨンキー,累積カイ 2釆,コクラン・アミテージ,タローン検定等である. これらの方法が生み出されたのにはそれぞれ背景と歴史が存在し,原著では当然のことながら表 記などの統一性はない.またパラメトリックとして提案されたものがノンパラメトリックに拡張 がなされるなどの修正も行われているため,統一的に説明することは一般に困難である. しかし ながら厳密で、はないが,すべての方法を対比との関連において説明することができる.前節にお いて回帰分析の例で示したように,対比とは分散分析において,各群の平均値をある係数を掛け 合わせて,足し併せたものである.群問で平均値に差がないという帰無仮説の下で期待値を 0に するため,対比の係数は足して 0になるように基準化する.例えば 4群の実験で 1‑2群を比較す る操作を表すと,対比の係数は 一1100となる.対照群の平均値については一 1,低用量群は I という係数をかけて足しあわせることを意味している. (1)回帰分析 ( regressionanalysis) 正規分布と等分散を仮定した方法であり,前述のように基本的には用量反応関係について直線 3 ‑ 1 1 3とし寸対比を用いた検定になる.こ 的な成分を抽出して検定を行う. 4群の場合は ‑ のように等間隔の対比に加え,生の用量の間隔に相当した対比を用いる場合もあり,こちらの方 1 1 3となる.対 が回帰分析といった場合には一般的かもしれない.先ほどの例では,ー 7 ‑5 ‑ 比の係数は足して 0になるように基準化しである.また広義には 1次以上の高次の成分について, 多項式回帰を行う場合も回帰分析の範暗に含めることができる. 4群の場合, 2次成分, 3次成 1 ‑ 1 1 ,‑ 1 3 ‑3 1となる.また単回帰分析は Pear 分を抽出する対比の係数はそれぞれ 1 ‑ ρ o q o nd
s o nの相関係数が 0であるかを検定することと等価である. (2)ヨンキー ( Jo n c k h e c r e )検 定 4群の場合で説明する.凹帰分析では可能な 6種類の対比較の平均値の差を足し併せた.いわ ば 6種類の t検定の結果を合成したものといえる.これに対しヨンキー検定では t検定の代わり にウイノレコクソン検定を行い,その結果を合成する.このため変数変換について結果は不変であ り,外れ値に影響を受けにくいノンパラメトリックな検定となる.基本的には順位変換したデー タについて, ‑3 ‑ 1 1 3という対比によって 1次成分を抽出する方法といえる.ただし順位変 s叩 a r a l c r a n k i n g ) ので,実際の計算は異なっている.ノンパ 換は比較する 2群ごとに行う ( ラメットリックな相関係数として S p e a r m a nの相関係数が知られており,この相関係数が有意かど うかということによって,用足;相関性の有無を判断することも考えられる.この検定が正確に全 群を一緒にして順位をつけて, ‑ 3 ‑ 1 1 3としづ対比によって 1次成分を抽出することに対応 e n d a11 の相関係数が 0 であるか検定するのと同 fll~: で、ある. する.ヨンキー検定はK (3)ウィリアムス ( Wi1 1i a m s )検定 ウィリアムス検定の特徴として次の点が上げられる. 1)どの用量から対照群に比べて有意に変化しているかを明らかにできる. 2)対立仮説として用量反応関係に単調性を仮定する. : 3)多重牲を考慮して第 1穐の過誤が制御できる. 4)下降手順であり,用量の高し、群から対照群との比較を行い,有意差がでなくなった用量で終 了する. ウィリアムス検定は,単調性を仮定して対照群と比べて,どの用量から有意に変化があるかを みる多重比較法であり,月j量相関性の検定として分類することは,必ずしも適切ではなし、かもし れない.しかしながら下降手順であり,最高用量から検定を始め有意でなくなった用量で検定は 終了するので,最高用量で有意でなければ,全体として有意差はないことになる.そこでウィリ アムス検定で,最高用量で有意差があった場合を用量相聞があると判断することを前提に説明す る. 表 1の例では各群ごとに平均値は926.0 911.9 891.5 893.0でとなり,ほぽ単調減少してい るが,高用量と中用量で順序が逆転している. ウィリアムス検定では,この逆転を中用量と高 用量で本当は母平均に差がないのだけれど,偶然によって逆転が生じたものと考えて,高用量群 の母平均の推定値として, 2つの群のサンプルサイズで重み付けた平均値を用いる.この例では 8 9 2 .2 5になる.この値と対照群の平均値を比較することによって,高用量群の有意性を評価する. この操作は,各群の平均値を一 10 1 /2 1 / 2という係数をかけて足しあわせることに相当する. ウィリアムス検定ではこうして単調性が保持されるように (μ1~三 μ2~ ・・・詮 μ.) 制約を付 けて,各群の母平均の推定値を求める.高用量群についての比較を,対比を用いて表現すると, 10 0 1 ‑ 101 / 21 / 2 ‑ 11 / 31 / 31 /3 という 3種類の対比のうちの最大のものよって,有意性を調べていることになる.ウィリアムス 検定では高用量が有意な場合は,中用量群の有意性について 一10 10 ‑ 11 / 21 / 2 0 上の 2つの対比のうち最大なものによって検定を行う.さらにこれも有意であると,最後に次 の対比を用いて対照群と低用量群の比較を行う. 一110 0 M o d i f i e d ウィリアムス検定と呼ばれる方法があるが、この方法は対照群の母平均の推定値に ηt q o q o
ついても、単調性が成立しない場合は、重み付き平均を用いる方法であり、最高用量と対照群の 比較は次の 6種類の対比のうちの最大値(この場合は単調減少を調べているので正確には最小 値)に基づいた検定である. 一10 0 1 ‑ 101 / 21 / 2 ‑ 11 / 31 / 31 / 3 ‑1/2 ‑1/2 0 1 一1 / 2 一1 / 21 / 21 / 2 ‑ 1 / 3‑ 1 / 3‑ 1 / 31 ウィリアムス法は、正規分布を前提にして生まれた方法であるが,そのノンパラメトリック 版として S h i r1 e y ‑ W i1 1i a m法(ジョイントランキング)と, 修正 S h i r l e y ‑ W i l l i a m法(セパレー トランキング)が知られている. (4) M a x t 4群の聞の順序関係を維持しつつ, 2群に切り直して t検定を行うことを考える. 1‑234, 1 2 3 4, 123‑4の 3通りのパターンが考えられる.このうち最大の t統計量に基づいて用量相関性を 検定するのが, M a x t 法である.それぞれの t統計量は次のような対比によって表すことがで きる.この方法は用量反応関係の階段状の変化を検出するのに優れた手法である. 一1 1 / 31 / 31 / 3 一1 / 2‑1/2 1 / 2 1 / 2 一1 / 3 一1 / 3 一1 / 3 1 (5)累積カイ 2乗 M a x t は t1引 l' t12‑‑34' t123‑4の最大値に基づいた検定であるのに対し,累積カイ 2乗法は t統計量の 2乗 和 (t21‑234+t212‑34+t2123‑4) に基づいた検定である. 2乗することにより方 向性が無視されるので本質的に両側検定である. (6)コクラン・アミテージ ( C o c h r a n ‑ A r m i t a g e )検定 反応変数が生存・死亡というような 2値データであるときに,用量相関性(用量の増加に伴っ て反応率が単調に変化するか)を検定する方法である. 4群の場合は‑ 3 ‑ 1 1 3という対比を 5 ‑ 1 1 3となる.この 用いた検定になる.また先の例で生の用量の間隔に対応させると, ‑7 ‑ 検定はロジスティック回帰でスコア検定を行うこととも同等である. (7)タローン ( T a r o n e )検定 反応変数が生存時間データであるときに,用量相関性(厳密にいうと用量の増加に伴って対数 ハザード比が単調に変化するか)を検定する方法である. 4群の場合は ‑ 3 ‑ 1 1 3あるいは 7 ‑ 5 ‑ 1 1 3という対比による解析に相当する.またこの検定は C o x回帰でスコア検定を行うこ 1 9 9 5 )を参照されたい. ととも同等である.この方法の詳細については大橋・浜田 ( 4. SA Sを用いた用量相関性の検定 S A Sでは様々なプロシジャが用意されており,どのプロ、ンジャを使って解析すべきかはたい へん悩ましい問題である.例えば回帰分析を例にとると, GLM, REG,MIXED とあり,また相関係数が有意か検定するという立場をとれば C O R Rプロシジャを利用すること もできる.この方法もある,あの方法もあると紹介するといたずらに複雑になるので,ここでは 肌J L T T E S Tプロ、ンジャを中心に紹介することにする. M U L T T E S Tは S A Sのリリース 6 . 0 7から追加されたプ口、ンジャである.このプロ、ンジャを用いる ときには、 CONTRAST文によって,用いる対比を明示的に指定する必要がある.詳細につ ‑338一
いては,浜岡・吉田(19 9 2 ),岸本 ( 1 9 9 2 ) を参照されたい. MULTTESTの特徴を 3つ挙げる. 1)計量値,計数値,生存時間データを扱うことができ, t検定, Cochran‑Armitage検定, Fish e rの正確検定,ログランク検定, Peto検定などの様々な検定を行うことができる. 2) 検定の多重性の問題について標本再抽出法によって調整した p値を計算する.標本再抽出法 としては,復元抽出 (Bootstrap)と非復元抽出 (Permutation) の 2つが可能で、ある.また検定を 1種類だけ行って非復元抽出による標本再抽出を行えば,それぞれの検定の並び替え検定版を行 うことができる. 3)幅広い解析が可能である. S T R A T A文によって層を表す変数を指定できる.これを利用 すれば計数データについては Mante]‑Haenszel検定,計量データについては乱塊法を行うことが できる.また C O N T R A S T文によって群問の任意の対比による比較を行うことができる. この中で最大の特徴は,標本再抽出法による多重性の調整が行える点である.理論的な背景に ついては Westfall & Young(1992)を参照されたい. (1)回帰分析 胤J L T T E S Tプロ、ンジャを用いたプログラム例を示す.対比としては 3‑ 1 13, ‑7 ‑5 ‑ 11 3の 2種類を適用する proc multtest data=data ; test mean(y); class group; contrast '1i n e a r ' ‑3 ‑ 1 13 ; contrast r e g ' ‑7 ‑5 一113;run; 結果は次のようになる. MULTTEST PROCEDURE 1 '‑ test of mcan Test for continuous variables: Tails for continuous tests: Two‑tailed Strata adjustment? No MULTTEST COEFFICIENTS Class 3 zaA 1irb 一一 t ウ 49ηJqJ つム qd 一一 Test linear reg MULTTEST TABLES Class Variable Statistic Y Mean Std Dev N 2 3 4 926.0000 .9000 9 11 891.5000 893.0000 25.6775 10.0000 2 0 .1243 10.0000 Raw̲p 3 9 .7555 10.0000 35.3712 10.0000 Test linear reg 0.0104 0.0426 n u u η0 η0
2つの対比がともに 5 %水準で有意になることが,
Haw̲p からわかる. ‑3 ‑
1 13の方がより有
意性が高くなっているが,これは高用量で頭打ちが起きているため,高用量の重みが高い対比 7
5‑
11
3には不利に働いているためである.全体としては単調に増加しているといえる.この
結果は両側検定の結果であり,片側(下側)検定を行う場合は,
p値を 1
/
2倍する.
(2) ヨンキー検定
S A Sでは直接ヨンキー検定を行うことはできないので,ヨンキー検定が K巴ndallの相関係数
がOであるかを検定するのと等しいことを利用して C O R Rプロシジャによる解析を試みる.プ
ログラムは簡単で、ある.
proc corr kendall;var group y;run;
結果は次のようになる.
Kendall Tau b Correlation Coeffici巴nts / Prob >I
H
I under H
o
: Hho=O / N = 4
0
GHOUP
Y
GHOUP
1.00000
‑0.28285
O
.0
0.0210
Y
‑0.28285
1
.00000
0.0210
0.0
Kendallの相関係数は一 O
.28285となり,相関係数が Oかどうかを検定した p値は 0.0210であり,
5協の水準で有意となる.との結果は両側検定の結果であり,片側(下側)検定を行う場合は,
p
値を 1/2倍する.
(3)ウィリアムス (
W
i1
1i
a
m
s
)検定
S A Sでは多重比較のために, G L Mプロシジャが用意されているが,ウィリアムスの検定
を行うことはリリース 6
.07までできなかった.しかしながら S A Sの多重比較用の PIWBMC関数に
リリース 6
.1
0からウィリアムスの検定の棄却限界値を計算する機能が加わった.
の検定については,
ウィリアムス
p値を計算するための多重積分が複雑で,群の数が 6群以上になると計算が
困難であり,数表なども十分に用意されているとはいえなかった.ここでは S A Sを用いてウィ
リアムスの多重比較を行うマクロについて紹介する. ウィリアムスの方拡ーにはいくつかの亜流
が存在するが,本稿では,吉村・大橋(1
9
9
2
)に基づいた計算方法を示す.
, G L Mプロシジャで一元配置型の分散分析を行う場合と,同様のデータ構
マクロ W IL Pは
造を憩定している.
g
=
},有意水準 {
a
=
},群を表す変数名 {
g
パラメータとして,データセット名 {data=}, 群数 {
roup=},反応変数名 {
y
=
},上仮.l
J
かド側検定かの指定 {tai1
= 1:上側
2
:下側)する. ウィリ
'¥1に単調関係があることを想定するため,本質的に片側検定で
アムス検定は,対立仮説として群 1
ある.どうしても両側検定で行いたい場合は,上側と下似J検定の有意水準を α/2として,検定
を 2回行えばよい.有意水準 0.05で下側検定を行う場合のプログラム例を次に示す.
‑340
*ー一一ーー‑‑ p r o g r a mo fW i1 1i a m sM u l t i p l eC o m p a r i s o n * ー 一 一 一 一 t a i1 = 1: u p p e rt a il e d t a i1 = 2 :l o w e r t a il e d 伽l a c r ow iI p ; p r o cg l m data= 品d a t ao u t s t a t = v a rn o p r i n t ; c l a s s& g r o u p ; m o d e l& y = & g r o u p / s s 1 ; d a t av a r ; s e tv a r ; k e e pv a rd f : v a r = s s / d f ;i f̲ t y p e ̲ = 'E R R O R 't h e no u t p u t ; a t a : b y& g r o u p : p r o cs o r tdata=品d p r o cs u m m a r yd a t a = & d a t a ; = n, v a r& y ; b y &group;output o u t = o u tm e a n = m e a n n p r o ct r a n s p o s ed a t a = o u to u t = n p r e f i x = n : v a rn ;i d& g r o u p ; m ; p r o ct r a n s p o s ed a t a = o u to u t = m e a np r e f i x= v a rm e a n ;i d& g r o u p ; d a t as u m m a r y: m e r g e nm e a nv a r : d a t as u m m a r y : s e ts u m m a r y : d r o ps 1 ‑ s 1 0 0n n 1 ‑ n n 1 0 0 ; r e t a i ns i n0 : a r r a yn n ( & g )n 1 ‑ n & g ; a r r a ym ( & g )m 1 ‑ m & g : a r r a ym m ( & g )m m 1寸T I m & g : I 1: m m 1司T 0 )n n 1 ‑ n n 1 0 0 : a r r a ys ( 1 0 . 1 0 )s 1 ‑ s 1 0 0 : a r r a yn n n ( 1 0,1 *一一一一 c a l c u l a t i o no fa d j u s t e dm e a n‑ 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 ー ヘ d oi = 1t o& g ‑ 1 : ) = O : n n n ( i,j ) = O : d oj = 1t o& g ‑ 1: s ( i,j ) = s ( i,j ) + m ( k + 1 ) * n n ( k +1 ): n n n ( i .j ) = n n n ( i,j ) + n n ( k +1 ): e n d : d ok = it oj : s ( i,j )n e0 t h e n s ( i,j ) = s ( i .j ) / n n n ( i .j ) : i f n n n ( i,j e n d : e n d : d oj = 1t o 匂‑ 1: m m( j + 1 )= m( j+ 1 ): d oi = 1t o匂‑1; i fn n n ( i,j )n e 0a n d1 ヰt a i1t h e n mm( j + 1 ) 司l ax( m m( j+1 ),s( i ,j )): i fn n n ( i,j )n e 0a n d2 = 品t ai1t h e n m m( j +1 ) 司1i n( m m( j+1 ),s( i ,j ) ); e n d ; e n d ; d oi = & gt o 2b y‑ 1: c o n t r o l = m m 1: g r o u p = i: a d j m e a n = m m ( i ): m e a n = m ( i ) : 5 : t =( m m( i )‑ m m 1 )/( v a r *( 1/ n n( i )+1 / n 1 ) )料 . i f2 =品t a i1t h e n t=h(一1): w p = 1 ‑ p r o b m c ( ' w i1 1i a m s ',t, . , d f,i ‑1 ): w t c = p r o b m c ( ' w i1 1i a m s ', . , 1 ‑ 品a .d f .i ‑1 ): s t a r = i fw pg e & at h e ns i n = 1 : i fs i n = Ot h e ns t a r = '* ': o u t p u t : e n d : p r o cs o r t : b yg r o u p : p r o cp r i n t : v a rc o n t r o lg r o u pm e a na d j m e a n tw pw t cs t a r ; r u n ; 伽l e n d : 協l e td a t a = d a t a :略l e tg = 4 :首l e ta = 0 . 0 5 : 鳴l e tg r o u p = g r o u p :覧l e ty = y :鳴l e tt a i1 = 2 ; 首w iI p ; *一一一 プログラム例 終 了 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 ー 一 一 ; 3 4 1
結果は次のようになる. O B S C O N T R O L G R O U P T W P W T C 926 2 911.9 911.90 1.01022 0.15957 1.68830 926 3 891.5 891.50 2.47181 0.01027 1.76560 ネ 3926 4 893.0 892.25 2.41808 0.01213 1.79070 ネ 2 M E A N A D J M E A N S T A R 有意差がある用量については*で示しており,第 3群より上の用量で対照群と比べて有意差が あることがわかる. 1 ) A D J M E A N 用量の低い群から平均値は, 926.0,911.9,891.5,893.0となり,平均値は単調に減少してい るわけではなく.第 3群が第 4群より平均値が低くなっている. ウィリアムス検定では単調性 (μ2 ミ μ3~μ4) を前提としており,このような逆転は偶然によって生じたものと考え,第 4 群の効果の推定値として,第 3 群と第 4 群のサンプルサイズで重みを付けた平均値を用いる~ のような操作を行ったものが,上の結果で示されている A D J M E A Nである. 2) 下降手順 ウィリアムス検定は下降手順であり,上の用量から A D J M E A Nについて,対照群の平均値との比 較を行っていく.このために計算されるのが t統計量(T)であり,有意水準日の棄却限界値が W T C で示されており, T がこの値を上回れば有意となる.ただし,有意差がでなくなった用量で検定 は終了する. 3) W P 上の例では p値が W Pとして出力されているが, ウィリアムス検定は下降手順であるため, 通常の検定のような p値の解釈はできない,論文等でも p値は記載しない方がよい. ( 4 )M a x t M a x t法の p値を IMLを用いた多重積分によって p値を求める SASのプログラムについて は , S A SのS A M P L Eライブラリー(プログラム例:M A X T .S A S ) に既にあるので,ここでは M U L T T E S T プ口、ンジャを用いて標本再抽出法によって p値を計算するプログラム例を示す. proc multtest data=data permutation nsample 1 0 0 0 0seed=4989; 二 test mean(y); class group; contrast ' 1 ‑ 2 3 4 ' ‑ 3 11 1 ; contrast ' 1 2 ‑ 3 4 ' ‑ 1‑ 1 11 ; contrast ' 1 2 3 ‑ 4 ' ‑ 1‑ 1‑ 13 ; 結果は次のようになる. Test Raw̲p Adj̲p 1‑234 0.0224 0.0527 1 2 ‑ 3 4 0.0104 0.0245 123‑4 O .1 4 9 1 O .3355 Raw pで、示されているのは単純な t検定の p値であり, 性について調整した p値である Adj̲pが 3回 t検定を行っている多重 Adj̲pでは坊の水準で有意になるのは 12‑34の対比のみである. 中用量から反応が変化しているととがわかる.この検定の p値は両側検定のものである.片側検 ‑342‑
定に変更したい場合は, TEST文のオプションで/の後ろで, UPPER (上側検定)または LOWER ( 下 側検定)を指定する. 5 . 用量相関性についての解析 前節で示した用量相関性の検定は,それぞれの手法によってどのような用量反応関係を検出し やすし、かは多少異なっているが,その性能の違いは 3,4群程度ではそれほど大きくはない.また いずれの手法も,用量反応関係が直線的ではなくても,ある程度サンプルサイズが大きくなると 単調な変化であればみな有意になり,用量相関性の検定を行うだけでは用量反応曲線の形状を明 らかにできるわけではない.用量相関性の検定が有意になった場合.例えば,直観的か? どの 用量で立ち上がるのか? どの用量で飽和に達するのか? 等を明らかにする必要がある. S字状の形状をとる用量反応曲線のモデルとしては,プロビット曲融,ロジスティック曲線な n vitro試験あるいは動物を用いた前臨床試験におい どが知られており,培養細胞等を用いた i て , LD50およびED50を推定する背景のモデルとして用いられている.このようなモデルの下で闇 値や飽和点を検討することも可能である. しかしながら一般毒性試験あるいは薬効薬理試験では 対照群を含め 4あるいは 5用量程度で実施されることが多く,また臨床試験の後期 H相試験は 3 あるいは 4用量で行われることが多い.このようにせいぜい 5用量までの実験では,あまり複雑 なモデルを適用するメリットは少ない.このような状況で用量反応関係について検討する場合, 対比を用いるのが有効である.例えば次のような対比の係数を設定することが考えられる. 対照 ‑3 低用量 中用量 1 1 高用量 3 ‑7 5 1 13 3 1 1 1 低用量で飽和(l‑ e n d ) ‑5 1 3 3 中用量で飽和 ( m ‑ e n d ) ‑3 ‑3 5 中用量から立ち上がり (m‑start) 1 ‑1 3 高用量から立ち上がり (h‑start) ‑1 対比の意味(略号) 直線的に増加(1i n e a r ) 用量に対して直綜的に増加 ( r e g ) それぞれの対比を用いて,群問変動をどれくらい説明することができるかを評価することによ って用量反応関係についての情報を得ることができる. SASではこの目的のためには GLMプ ロシジャを用いることができる. GLMプ口、ンジャによる解析プログラム例を示す. proc glm data=data outstat=out;class g r o u p ; model y=group/ss1; contrast ' 1i n e a r ' group ‑ 3‑ 1 13 ; contrast r e g ' group ‑ 7 ‑5 ‑ 11 3 ; contrast ' l ‑ e n d ' group ‑ 3 111 ; contrast ' m ‑ e n d ' group ‑ 5 ‑13 3 ; contrast ' m ‑ s t a r t ' group ‑ 3‑ 3 15; contrast ' h ‑ s t a r t ' group ‑ 1‑ 1‑ 13 ; data out;set out;retain ssb O;drop s s ; i f source̲='GROUP' then ssb=ss;percent=ss*100/ssb; proc prlnt;run; プログラムの実行結果は,次のようになる (GLM プロシジャの出力は少し冗長なので,結果を SA 343‑
Sデータセットにおとし,少し加工してから PRINTプロシジャで出力している). SOURCE が要因, DFが自由度, Fが F統計量, PROBが p値 , SSBが群開平方和, PERCENTが群問平方和のうち,それぞれ の要因で説明することが可能な平方和の割合(寄与率)である SOURCE̲のカラムが GROUPの行は一元配 置分散分析の結果を示しており,以下の行は,対比による解析結果を示している.対比は h‑startを除い n ‑ e n dの対比で、あり,実に ては有意である.それぞれの対比の寄与率を比較してみると,最も大きいのは r 群問変動の 9刊を説明可能で、あることがわかる.用量反応関係は中用量までは直線的に減少し,中用量で 飽和に達することがわかる. O B S N A M E S O U R C E T Y P E D F Y E R R O R E R R O R 3 6 3 P R O B F S S B P E R C E N T 0 . 0 2 Y G R O U P S S l 2 .7 8 3 6 7 0 . 0 5 4 7 6 8 1 3 4 . 2 1 0 0 . 0 0 0 3 Y I i n e a r C O N T R A S T 7 . 3 1 8 1 7 0 . 0 1 0 3 6 8 1 3 4 . 2 8 7 . 6 3 2 4 Y r e g C O N T R A S T 4 . 4 1 6 9 6 0 . 0 4 2 6 5 8 1 3 4 . 2 5 2 . 8 9 1 5 Y I ‑ e n d C O N T R A S T 5 . 6 9 6 6 9 0 . 0 2 2 3 7 8 1 3 4 . 2 6 8 . 2 1 6 6 Y m ‑ e n d C O N T R A S T 8 . 2 8 1 9 5 0 . 0 0 6 6 9 8 1 3 4 . 2 9 9 .1 7 3 7 Y m ‑ s t a r t C O N T R A S T 5 .7 6 6 0 2 0 . 0 2 1 6 3 8 1 3 4 . 2 6 9 . 0 4 6 8 Y h ‑ s t a r t C O N T R A S T 2 . 1 7 3 2 2 8 1 3 4 . 2 2 6 . 0 2 3 0 . 1 4 9 1 2 ‑多重性についての調整 設定した 6種類の対比のうち 5種類までが刊の水準で有意になっている.ただし 6種の仮説に ついて同時に評価を行っているので,結果は少し割り引し、て考える必要がある. SASのMULTTEST プロシジャを用いると,任意の複数の対比についての多重性について調整した p値を標本再抽出 口 口 3 ハ ハヨ し V し ρ ρv ・ 一 一 d c d n u n u n u n u Ei 唱 l c d n u a u n u n u し V ・'i a ρ P し + u m し 十 r 一 一 a'' ︑ 官 &し'+し+し ar''rr J u a . d ・ d a a en 'σ nbne+eL t.︐.︐ st s s j D ・ ・1 巴 一 一 一 一 e v d U 1ょ r l A m m ' n trio'''''' t n rg t t t t t t t I a HuoucdQuodcdcdcd mmaaaaaa srrrrrr Lcd+し+し+し+し+し+し ρU 十 osannnnnn re1A000000 P +し C c c c c c c 白 +し・︐ unJ 0 . ︐ t i . ︐ . ︐ . ︐ η d =ηJ1i ︒ JrD ・ 十 し 1 1 ' A 1iqu'A︐ u ‑ ‑ 一 一 n u IRu‑‑laqu・‑ 一一一一一 a a373531 ・ 一一一一 Au‑‑ し 十 MULTTESTプ口、ンジャによる調整 p値の計算プログラム例を示す. 4斗ゐ ‑ ‑mpe 法 (resampling method)によって計算することが可能である. proc pnnt;run; 標本再抽出では,次の手順によって p値を多重性の問題について調整する. 1)観測データについて,複数の対比のそれぞれについて検定を行い p値を計算する. 2) 観測データから非復元無作為抽出を行って(群番号を並び替えて) ,元の観測データと同じ サンプル・サイズの擬似的な標本を作成する. 3)擬似的な標本に対し 1)と同じ検定を行い p値を計算する.このうち最小の p値を M in p値とする. 4) 2) , 3) を繰り返して, M in p値の分布関数 F を十分な精度で推定する. 344‑
この繰り返し数を標本再抽出回数とよぶ. 5) 1) の個々の検定について生の p値が M in p値より小さくなった回数を再抽出回数で割 ったものが調整 p値となる. nsample=10000は標本の再抽出回数を 10000回にする指定であり, seed=4989は,標本を再抽出 するときの乱数のシードを指定するものである.結果は次のようになる. Test Raw̲p Adj ̲p linear 0.0104 0.0258 reg 0.0426 O .1018 l‑end 0.0224 0.0532 m‑end 0.0067 O .0177 m‑sLart 0.0216 0.0515 h‑start O .1 4 9 1 O .3249 Raw̲p,Adj̲pはそれぞれ,調整しない場合と調整した場合の p値を表す.調整した p値は刊 の水準で有意になるのは, 1incarとm‑endで、あり,これらの対比は多重性を考慮しでも,なおか っ統計学的には意味があるといえる.任意の対比についての多重性について調整する方法として, 古典的には Bonferroni Scheffe等も知られているが,これらの手法は過度に保守的であるため 利用を薦めることはできない. この例では Adj̲p は Raw_p の 2~3 倍になっているが, o n i法を用いた場合, sonferr Raw̲pを 6倍することになり,必要以上に保守的になることがわかる. なおこの検定の p値は両側検定のものである.片側検定に変更したい場合は, TEST文でオプシ ョンで/の後ろで, UPPER (上側検定)または LOWER (下側検定)を指定する. 6 . まとめと提案 これまで述べてきたことから明らかなように,用量相関性の検定は対比と密接な関連を持って tには,明示的に用いられている対比が示されてない手法も いる.用量相関性についての検定の r あるが,性能の違いを浬解する l~. では,どのような対比を用いているかに関心を持つ必要がある. 5節で筆者が提案した方法は最大の対比に基づいて用量反応関係について評価する方法であり, 最大対比法" (Maximum Contrast Method)とでも呼ぶべき手法である.この方法は,対比の 選択を変更することによって,表 2に示した多くの方法を包含することができる.対比の選択が 実際の解析上の重要な問題となるが,これは実験を行う前に利用可能な情報に基づいて選択する 必要がある.例えばエンドポイントが多項目であり,用量反応関係の十分でない一般毒性試験で は前節で示したように多く対比を用いて検討する必要があるだろう.反対に薬効薬理試験等では エンドポイントが少数であり,また用量反応関係についても類似化合物等の実験成績等からある 程度予想できる場合も多いので,相対的に J Hいる対比は少なくてすむ. これまで述べてきたように用量相関性の検定だけでは,JTj量反応関係についての検討は十分で はない.多重性の問題を避けつつ,どのような用量反応関係があるかを明らかにする必要がある. そのためには次の 2つのアプローチが考えられる. 1) 1次成分などのプライマリーな対比を事前に設定し,それが統計的に有意な場合のみ,複数 の対比を用いて,用量反応関係がどの対比で説明できるのかを明らかにする. 2) 複数の対比を設定し,最大対比法によって検定の多重性の問題に対処しつつ用量反応関係を 明らかにする. 表 2に用量相関性について検討するための各手法について,対比との関連についてまとめた. 8斗 ‑ EU qu
表 2 各手法と対比の関連 SA S7 'I l : t /l ' 4群の対比の例 1 1 0 0, 一1 0 1 0,‑ 1 0 0 1,0 ‑ 1 1 0,G L M 対比較の 2乗和 ‑ 分散分析 0 ‑ 1 0 1,0 0 ‑ 1 1の 2乗和 1 1 0 0,‑ 1 0 1 0,‑ 1 0 0 1,0 ‑ 1 1 0,G L M すべての対比較 ‑ ~ukey 0 ‑ 1 0 1,0 0 ‑ 1 1の最大値 P R O B M C関数 1 1 0 0, 一1 0 1 0,‑ 1 0 0 1の 対照との対比較 G L M ~unnett 最大値 P R O B M C関数 1 0 0 1,‑ 2 0 1 1,‑ 3 1 1 1の最大値 P W i1 1i a m s 単調性を前提に ‑ R O B M C関数 ( ‑ 1 0 1 0,‑ 2 1 1 0,‑ 1 1 0 0 ) M U L T T E S T 対照群との比較 1 0 0 1,‑ 2 0 1 1,‑ 3 1 1 1一 ,1 ‑ 1 0 2,M U L T T E S T Modified 単 調 性 を 前 提 に ‑ ‑ 1 1 1ー ,1 ‑ 1 ‑ 1 3の最大値 W i l l i a m s 対照群との比較 1 ‑ 1 1 3(セパレートランク型 C O R R 一3 日 o n c k h e e r e ノンノ ξラ 手法名 特徴 結果(両側) p = 0 . 0 5 4 8 有意差なし 1 ‑ 3有意 3群から 有意 3群から 有意 p = O . 0 2 1 0 の順位変換) M a x t ギャップ解析 累積カイ 2乗 ワ 回帰分析 正規分布 ‑ 3 1 1 1、ート 1 1 1,‑ 1 ‑ 1 ‑ 1 3の p = 0 . 0 2 4 5 最大値 I M L M U L T T E S T 3 1 1 1、 一1 ‑ 1 1 1,‑ 1 ‑ 1 ‑ 1 3 σ〉 2乗和 3 ‑ 1 1 3一 (7 ‑ 5 ‑ 11 3 ) G L M R E G p = 0 . 0 1 0 4 平均値に対するモヂ州じ r r a r o n e 生存時間 ‑3‑113 一 (7 ‑ 5 ‑ 11 3 ) 対数ハ P H R E G M U L T T E S T ‑ 3 ‑ 1 1 3ー (7 ‑ 5 ‑ 11 3 ) F R E Q M U L T T E S T 反応率に対するモヂ州じ ずートー比に対するモデル化 C A検 定 2イ 直 参考文献 浜田知久馬・吉田道弘 ( 1 9 9 2 ) .M U L T T E S Tプロ、ンジャ の紹介. S U G I ‑J '9 2論文集, 3 5 7 ‑ 3 7 0 浜田知久馬・岸本淳司・大塚芳正 ( 1 9 9 3 ) .臨床試験における至適用量設定のための統計学的ア 0 ‑ 44 . プローチ応用統計学会予稿集, 4 岸本淳司 ( 1 9 9 2 ).標本再抽出に基づいて多重性調整 p値を求めるプロシジャ M U L T T E S T, 計算機統計学 1 5 7 ‑ 1 6 0 岸本淳司・浜田知久馬 ( 1 9 94 . ).任意の対比群についての多重比較を行う数値積分プログラム, 計算機統計学 7 ‑ 2, 1 4 .7 ‑ 1 5 4 P . H .W e s t f a l la n dS . S .Y o u n g ( 1 9 9 2 ) .,R e s a m p l i n g ‑s a s e dM u l t i p l eT e s t i n g . J o h nW i l e y&S o n s A S / S T A TS o f t w a r巴 : C h a n g e sa n d S A SI n s t it u t eI n c .( 1 9 9 2 ) .S A ST e c h n i c a lR e p o r tP ‑ 2 2 9,S e l e a s e6 . 0 7,3 6 9 ‑4 0 5 E n h a n c e m e n t s,R S A SI n s t i t u t eI n c .( 1 9 9 2 ) .S A ST e c h n i c a lR e p o r tJ ‑ 1 2 0, S A S / S T A T 1 7トウエ了:M U L T T E S Tプロシジャ 9 2 ).毒性試験データの統計解析,地人書館 吉村功・大橋靖雄(19 大橋靖雄・浜田知久馬 ( 1 9 9 5 ) . 生存時間解析,東大出版会 ‑346‑
日本 S A Sユーザー会 (SUG I‑J) サンプルサイズが異なる場合の W illiamsの検定 若菜明 寓有製薬株式会社 臨床統計部 TheW i l l i a m s 'T e s to fUnequalGroupS i z e s Aki r aWakana BanyuPharmaceuticalC o .,L t d . C l i n i c a lB i o s t a t i s t i c sDepartment 要旨 毒性試験において無毒性量を決定する際に用いられる W illiamsの検定, Mo出五ed Williams の検定は,各用量群のサンフ。ルサイズが異なる場合においては適用するこ とができない.そこで各用量群のサンプルサイズが異なる場合に上記の 2手法を適用 できるように検定統計量の拡張を行い,その拡張した分布における p値を数値積分計 算で求めるプログラムを SASの Dataステップを用いて作成した.各用量水準のサ ンプルサイズの最大値と最小値のずれが最大値の 20%以内であれば,元の W illiams の検定, Mo面五edW illiamsの検定において自由度を等しくすればそれらを近似的に 用いることができる. illiamsの検定, Modi 五edW i l l i a m sの検定, Dataステップ キーワード: W 1.はじめに 医薬品の開発では医薬品となりそうな物質の安全性や有効性を評価するために,動 物を用いた非臨床試験が行われる.この非臨床試験は毒性研究,薬理研究,製剤化研 究から成り立っており,人への影響を予測する重要な試験となっている.ここではそ のうちの毒性研究に焦点を当てる.この毒性研究の中に反復投与毒性試験という試験 法がある.この試験法は複数の動物に被験物質を投与した時の毒性変化を用量及び時 間との関連で把握する試験法であり,明らかな毒性変化の認められない最大用量を決 定することが主な目的となっている.この明らかな毒性変化の認められない最大用量 のことを無毒性量という.この無毒性量は統計,薬理,毒性のそれぞれの見地を総合 して決定するが,統計的には対照群の母平均と有意にならない最大の用量群の用量を 無毒性量と決定する.このことは単にバラツキの大きい動物を用いたために有意とな らない,又は雑な実験データを用いたために有意とならないということではなく G L P基準に則った適正な試験を行ってもなおかっ有意とならない用量のことである.こ illiams法 ( W i l l i a m s, 1 9 7 1 ), の無毒性量を決定するために用いられる統計手法の中に W Modi 五edWilliams法(Ma r c u s, 1 9 7 6 )などがある.これらの手法はいずれも開手) [ 1 頁を ‑347‑
適用したものである.現在,上記の 2手法で各用量群のサンフ。ルサイズが異なる場合 に適用することができないことが問題となっている.そこで我々は W illiamsの検定, Modi 五edW illiamsの検定を各用量群のサンプノレサイズが異なる場合にも適用できる ように拡張を行い,その拡張した方法を用いて p値を数値積分計算で、求めるプログラ ムを作成した.またサンフツレサイズが異なることによって p値がどの程度ずれるかの 評価を行ったので報告する. 2. W辻liamsの検定, Modi 五edWilliamsの検定の概要 0650 Williamsの検定の概要について説明を行う. 反応値 本章では W i l l i a m s の検定, Mo出五ed なお,用量群が対照群を含めて 4群の場合 について説明を行うことにする.まずここ 8 で扱うデータは図 1のようなものである. 8 8 対照群低用量中用量高用量 図1.扱うデータの例 2. 1 Williamsの検定 ! iはん =μ;+Ey{EJ !‑ i . i . d . N { O, a2), i=1 …4, j=1 …n )に まず,第 i群第 j番目の観測値 Y より得られるとする.ここで μ zは第 i群の母平均である.また,各用量群の平均値を Y ;とする.この検定は用量と反応に単調性を想定していることが特徴である.ここで は用量と反応の関係に単調増加の関係があるとして話を進める. 各母平均の推定値仏を PAVAによって推定する.すなわち各用量群の母平均の推 定値に単調性が成立していない場合は,成立していない部分の群を併合したように扱 って平均値を計算し母平均の推定値を置き換える.そこで,最高用量群の母平均の推 定値 と対照群の平均値 Y lの t検定的な統計量を検定統計量とする. ι 一 ⁝ 一 市 W i l l i a m sの検定の検定統計量 2. 2 Modi 五edW立liamsの検定 Modi 五edW i l l i a m sの検定は W i l l i a m sの検定において,対照群の平均値 Y lの代わ りに対照群の母平均の推定値札を用いるように修正したものである.具体的に検定統 計量は次のようになる. ‑348‑ 一 一 市 Modi 五edW i l l i a m sの検定の検定統計量
2. 3 MaximumContrastMethod 上記の検定手法は MaximumC o n t r a s tMethod(Yoshimm ・ a& a l,1996参照)とい う概念、で統一的に表すことができる. MaximumC o n t r a s tMethodとは, T= m a ' ( (町 ラ ζ, . . .) を検定統計量に用いる方法である.ただし,ト三与 L1r illiams SD(lwmera 白,)'L J i・1w)1= 0である.W の検定, Modi 五edW illiamsの検定, Max‑t法 , Dunnettの検定などはみな Maximum C o n t r a s tMethodに含まれる.具体的に 4群でサンフツレサイズが等しい場合について の対比をとるベクトノレは次のようになる. 表 1.対比をとるベクトノレ W i l l i a m s M o d i f i e d W i l l i a m s Max‑t D u n n e t t 。。 ( ・ 。 ( ・ ( ・ 。 ・ 。。 。 o) C 1) 2 0 1 )( ‑ 3 1) 2 0 1) 3 2 )( ー1 1 ‑ 1 3 )( ー1 ‑ 1 1 )(‑ 1 ‑ 1 1 )(‑ 1 ‑ 1 ‑ 1 C 1 )( ーl ( ーl これらの手法は,表 1の対比をとり,その中の最大値を検定統計量に用いている. これらの違いはこれらの対比をとるベクトルの種類の違いといえる. 3. サンプノレサイズが異なる場合への Williamsの検定, ModifiedWilliamsの検定の拡張 前節で示した W illiamsの検定, Modi 五edW illiamsの検定は各用量群のサンプノレ サイズが異なる場合の検定統計量が示されていない.そこで木発表ではまず,サンプ ノレサイズが異なる場合に用いる検定統計量の定義を行う.新たに定義する検定統計量 は次の 2点に留意した. (1)サンフ。ノレサイズが等しい場合拡張する前のものと一致するもの. (2)サンフ。ノレサイズが異なることに合理的に対応したもの. 以下では,サンフ。ノレサイズの異なる場合へ拡張した検定方法を拡張 W出 lamsの検 定,拡張 Modi 五edW illiamsの検定とよぶことにする. 拡 張 Williamsの検定 (3群の場合) (4群の場合) 正 工I d (3群の場合) (4群の場合) 石 工 王 台 349 一 一 一 日 拡張 M odifiedWilliamsの検定
ただ、し , n は第 i群のサンプルサイズであり , nιは仏を計算するために調整した j 群のサンブρルサイズの調和平均である. 例)拡張 W illiamsの検定 3群の場合 上記で定義した検定統計量の具体的な式を次に示す .0は各用量群での得られた平 均値を示す.左図のような平均値のパターンが得られた場合には ( a )の検定統計量を用 い,右図のような平均値のパターンが得られた場合には(b)の検定統計量を用いる. ( a ) @ @ ( b ) @俗 @ @ ‑ 図 2. 得られた平均値のパターン W出 lamsの検定 3群の場合(サンフ。ルサイズの等しい場合) 何 ) 長 主 白)竺芝← YI 、ム+ムσ 拡張 W出 lamsの検定 3群の場合(サンフ。ルサイズが異なる場合) )t ( a ) 主主」 白 テ + ‑ ' ‑ ‑ σ Y I 百 言7 + 1 7 σ (ただし, おは η2, n3の調和平均) η W出 lamsの検定と拡張 W i l l i a m sの検定で本質的に異なるのは,分母の平方根の内 部である.拡張 W illiamsの検定の(b)の場合,第 2群と第 3群で平均値を調整するの でそれらのサンプルサイズの調和平均を平方根の内部に用いる.このことにより上記 の 2点を考慮、した.なおいずれの場合についても用量群が 5群以上の場合についての 検定統計量を示していないがその場合も同様に検定統計量を定義することができる. 4. サンプルサイズが異なることの評価 前節で定義した検定統計量に従って p値を数値積分計算で、求めるプログラムを S A i f t y ‑ s e r v e Sの Dataステップを用いて作成した.それらのプログラムは SASの n により提供される予定である.本章ではこのプログラムを用いてサンフツレサイズが異 なることによって p値にどのような影響を及ぼすかの評価を行う. W吐liamsの検定,拡張 W吐l i a m sの検定, Mo出五edW 出l amsの検定,拡張 Modi 五ed W出 lamsの検定の p値は検定統計量の値が定まれば,表 2の要素で決定される. ‑350一
表2 . p値を決定する要素 拡張した検定手法 元の検定手法 何7 出 iams, Modi 五edW 出i ams) (拡張 W国 lams,拡張 Mo出五edW 出i ams) 群の数 群の数 自由度 自由度 各群のサンブρルサイズの比 これらを踏まえてサンフツレサイズが異なることによってp値がどの程度異なるかに ついてを次の手順により調べた. 1 直を計算する. 1)拡張W i l l i a m sの検定,拡張M o d i f i e dW i l l i a m sの検定でp 2) 群の数と自由度を同じにしたW i l l i a m sの検定, M o d i f i e dW i l l i a m sの検定で阿直を 計算する. 3) 1と 2の p値を比較する. .6 . 8. 10② 4, 8 , 1 2, 1 6, 20と変化させ,また この手順に従い各群のサンフ。ルサイズを① 24 検定統計量のとる値を1. 4, 1 .6, 1 .8, 2 . 0 ユ2, 2.4と変化させた場合の拡張した方法の分布 ( D i住 p )と群の数と自由度を同じにした元の分布 ( E q u a l ‑ p )とで p 値を計算してプロッ トしたグラフを図 3,図 4に示す. ‑各群のサンプツレサイズが等しい場合,拡張する前の元の分布に一致する. ‑p 値が小さいほど両者のpイ直のずれが小さくなる. ・これらのグラフにおいて①,②のグラフがほぼ同じことから p値に与える影響はサ ンプノレサイズの絶対数の減少が問題ではなく何割の減少かが問題である. ということが分かる. , 4群の場 また,拡張 Williamsの検定 4群,拡張 Mo出五edWilliamsの検定 3群 合も同様な結論を得た.そこで,サンフ。ルサイズのずれを部設示、設設計三で定義 を行い,そのずれに対応する p値のずれを 5%付近で計算してみた.その結果を表 3, 表 4に示す. ょ 唱E にυ η ︒
拡張Williamsの検定 3群の場合 0.16 0.14 0.12 < > . 1 0.10 到 0.08 0"1 ーー 0 .06 0.04 0 . 0 2 0.00 0.00 0 . 0 2 0.04 0.06 0.08 0 1 00 . 1 2 0.14 0 1 6 Diff‑p 図3 . ① 2, 46 , 8 , 10の場合のp値のプロット 0.16 0.14 0.12 0‑ 1 0.10 到 0.08 E引 一 一 0.06 0.04 0.02 0.00 0.00 0.02 0.04 0.060.08 0.100.12 0.14 0.16 Diff‑p 図4 . ② 4, 8 , 12 , 16 , 20の場合の p値のプロット ‑352‑
表3 . 拡張 W i l l i a m sの検定 41 洋の場合 3群の場合 00/hUAι u 口 nunu ︿ 一 ‑ = = ma " , ( 叫 , 1 1 " . 1 1. 1 ) 守 ‑ 0 . 0 0 2‑0 . 0 0 3 0 . 8s ‑0003‑0 . 0 0 3 ‑ 0 . 0 0 6‑0 . 0 0 5 0 . 6 s ‑ 0 . 0 0 9‑0 . 0 0 6 ‑ 0 . 0 1 4‑0 . 0 0 6 0. 4s ‑ 0 . 0 1 9‑0 . 0 0 8 4群の場合 p d u q E ムロ‑一 m u一一世 表4 . 拡張Modi 五e dW i l l i a m sの検定 場‑p 円 δ 群 ‑D m i n ( I I I, I I : !, 1 ・ , ) 器校法j Di正 p‑Equal‑p D i f f ‑ p‑Equal‑p min(u1, 1 l : , 1 ZJ) 町) 山 田( 1 1 1.1l~ . 誌設計う D i f f ‑ p‑Equal‑p 0 . 8s ‑ 0 . 0 0 5‑0 . 0 0 4 0 . 8 s ‑ 0 . 0 0 8‑0 . 0 0 6 0 . 6s ‑ 0 . 0 1 4‑0 . 0 0 8 0 . 6 s ‑0.021‑0 . 0 1 1 0. 4s ‑ 0 . 0 2 9‑0 . 0 1 1 0 . 4 豆 0 . 0 4 2‑0 . 0 1 5 サンプルサイズの最小値と最大値の比が 80%くらいまでならば,有意水準が 5%付 近の場合には自由度を同じにした拡張する前の検定法を用いて結論を下しても差し 支えないが,それ以上のサンフツレサイズのずれになると p値のずれも大きくなること から拡張した検定法を用いるべきである. 5. おわりに i l l i a m sの 本発表ではサンフ。ルサイズが異なる場合に用いることができなかった W 検定, Modi 五e dW i l l i a m sの検定について新たに検定統計量を定義してサンプノレサイ ズが異なる場合にも適用できるように拡張を行い,その p値を数値積分計算で求める , 4群の場合について作成を行った.実際に毒性試験においては欠 プログラムを 3群 測値が生じ,サンフ。ルサイズが異なることが起こり得るので本研究は意義のあること と思われる.また,このプログラムを用いた様々な数値積分計算により,サンフ。ルサ イズの最大値と最小値のずれが 20%以下ならば,自由度を等しくした元の検定統計量 の分布を用いても差し支えないことを示した.なお 5群以上の場合にも同様に検定統 計量を定義できるが,計算時間の面で実用的でないと思われる. EU ηd qu
参考文献 [ 1 ]W吐liams,D.A .( 1 9 7 1 ) . At e s tf o rd i f f e r e n c e sb e t w e e nt r e a t m e n tm e a n swhens e v e r a l c o n t r o l l e v e l sa r ec o m p a r e dw i t had o s ez e r oc o n t r o . lB i o m e t r i 白 2 7,1 0 3 ‑ 1 7 .( 1 9 7 2 ) . Thec o m p a r i s o no f s e v e r a ld o s el e v e l sw i t had o s ez e r o [ 2 ]W出 iams,D.A c o n t r o . lB i o m e t r t i 白 2 8,6 6 16 7 0 . ・ .( 1 9 7 6 ) .Thep o w e r sofsomet e s t so f t h ee q u a l i t yo f n o r r r 凶 m e a n sa g a i n s ta n [ 3 ]Marcus,R i o m e t r i k a6 3 . 1 7 7 ‑ 1 8 3 . o r d e r e da l t e r n a t i v e .B R . ,P e r i t z, E . , Gabrie , lK .R .( 1 9 7 6 ) .Onc l o s e dt e s t i n gp r o c e d u r e sw i t h [ 4 ]Marcus, i o m e t r i k a6 3,6 5 5 ‑ 6 6 0 . s p e c i a lr e f e r e n c et oo r d e r e da n a l y s i so f v a r i a n c e s .B 19 9 4 ) . 任意の対比群について多重比較を行う数値積分 [ 5 ] 岸本淳司,浜田知久馬.( プログラム s : 計算携,'t i i f 学 7,1 4 7 ‑ 1 5 4 . 1 9 9 0 ) . 毒性・薬効データの統計解析 [ 6 ] 吉村功.(1987, チ 一事例研究によるアプロー ,サイエンテイスト社 [ 7 ]Yoshimura, , . 1 Wakana, A .( 1 9 9 6 ) .Performancecomparisonofmaximum ,S t a t i s t i c a lMethodology c o n t r a s tmethodst od e t e c td o s edependency.DIA i nN o n ‑ c l i n i c a l& T o x i c o l o g i c a lS t u d i e sworkshopd o c u m e n t a t i o n7 ‑ 1 5 . Fhu 8 ω qu
日本 S A Sユーザー会 (SUG I‑J) R0 C分 析 に よ る 検 査 診 断 能 の 比 較 A U C の bootstrap, 最 尤 推 定 を 中 心 に 古J I I敏 仁 、 牧 野 建 一 株式会社エスアールエル 生物統計チーム E v a l u a t i o no fThePerformanceso fD i a g n o s t i cTests Estimationo fAr easUnderROCαll'Ve s ∞d andB∞tstrapMeth叫, etcー byMaximumL i k e l i h T o s h i h i t oFurukawaandK e n ' i c h iMakino SRLINC., B i o s t a t i s t i c sDepartment 要旨 S A S を 利 用 し て 、 R 0 C分 析 (AU C の推定)、 Wilcoxon検 定 な ど に よ り 解 析 し た 。 特 に 最 尤 法 や Bootstra 臨床検査の診断能の比較を、 ロジスティック回帰、 p法 に よ る A U Cの 推 定 法 を 比 較 紹 介 す る 。 キーワード: ROC,AUC,Bootstrap,MULTTEST,LOGISTIC,IML はじめに 日常臨床や臨床試験などでは臨床検査は重要な位置を占めている。 しかし、そ の有効性(診断能)を適切に評価して利用するにはどうしたらよいのであろうか。 例えば、最もシティエ シ ヨ ン の 簡 単 な 事 例 、 す な わ ち 患 者 が 2つ の 状 態 、 A: B : 対 象 疾 患 無 し の 2者 択 ー の 状 態 に あ り 、 そ れ を 検 査 値 X で 対象疾患有りと、 推定(診断)する事を考えてみよう。われわれは日常的にある闇値(基準値) T を用いて x>T: 患 者 の 検 査 値 が T を 越 え る と 検 査 結 果 は A : 陽 性 ( 有 病 と 推 定 ) x~ T : 1 1 が T以 下 な ら ば 1 1 B 陰性(無病と推定) と検査結果を利用する場合が多い。 このような場合、従来は、患者の真の状態(より正確度の高い情報をもとにし た判定)と検査結果を比較して、以下のような指標で検査の能力を比較している。 (1)正確度 (Accuracy) 真 の 有 病 患 者 中 、 検 査 Xで の 陽 性 者 数 十 真 の 無 病 患 者 中 、 検 査 Xで 陰 性 者 数 全 伊J 数 phu phu qd
( 2)感度 (Sensitivity) F N F :False‑Negative Fraction 真の有病患者中、検査 Xでの陽性者数 1一 感 度 真の有病患者数 F P F :False‑Positive Fraction ( 3)特異度 (Specificity) 真の無病患者中、検査 Xでの陰性者数 1ー 特 異 度 真の有病患者数 (4)P P :Positive Predictability (5)NP :Negative Predictability 検査陽性例数中、真の有病患者数 検査陰性例数中、真の無病患者数 検査陽性例数 検査陰性例数 F i g . l 閣値 T 有病群と無病群それ ぞれの検査 X値上での 分 布 を 、 あ る 閣 値 Tで 区分すると、 感度、特異度、 FPF、 FNFの 4 つ の 領 域 に 区 分できる。 低』 検査値 :X ‑晴 しかしながら、 これら の 指 標 に よ る 評 価 で は 、 以 下 の 2つ の 問 題 が あ る 。 a )有 病 率 (prevalence)の 影 響 b )闇 値 の 設 定 に つ い て a)有 病 率 (prevalence)の 影 響 検査を評価すための一見妥当な指標に正確度があ る。これは、検査的中例を全症例で除したものであるが、例えば疾患の有病率が 0.01で あ る 場 合 、 閣 イ 直 を そ の 検 査 の 最 大 値 を 越 え る と こ ろ に 設 定 す る と 、 すなわ ち 、 検 査 結 果 を 全 て 陰 性 と 判 定 す れ ば 、 全 く 無 意 味 な 検 査 で も 正 確 度 は 99%で あ る 。 (4), (5)の P P , N P も 同 様 に 有 病 率 の 影 響 を 受 け る 。 b )闇 値 の 設 定 に つ い て 感度、特異度のような指標は有病率の影響を受けないが、 FIG.2の よ う に 閣 値 を 変 化 さ せ れ ば 、 ( 1 )~ ( 5 )全 て の 指 標 は 閣 値 に 応 じ て 違 っ た イ直となる。 ‑356‑
F I G . 2闇値の変化と区分領域の変化 T1 T2 . . 低ー 検劃直 :X T i ‑高 検査 X f ( x ), g(x) と す る と 、 関 値 は ( 6 )式 L ( x )の 臨 床 的 に 妥 当 な 値 ( 例 え ば 0 . 5IW=l) に 設 定 す る こ と が 考 え 値上の無病群、有病群の分布の確率密度関数を で示される られる。 ー邑( x ).w L( x ) f( x ) ( 6 ) ここで、 Wは 有 病 率 や 疾 患 検 出 の 重 要 性 に よ っ て 決 ま る 重 み で す 。 しかし、標準的 な有病率や、疾患の重要性を決めることは難しく、従って検査を評価する場合、 一つの関値での判定結果には問題が多すぎます。そこで、 W=l ( 有 病 率 0 . 5、 疾 患 検出の重要性は解析後評価)の場合で、有病率や関値設定に影響されない検査の 評 価 法 に は 大 き く 下 記 の 2方 法 が 考 え ら れ ま す 。 これらは独立して存在するので はなく、それぞれ互いに強く関連しています。 1) R 0 C 分 析 2) 疾 患 の 分 布 モ デ ル に 基 づ い た 方 法 : ロ ジ ス テ ィ ッ ク 回 帰 、 判 別 分 析 等 R 0 C 分 析 (R e l a t i v eも し く は ReceiverOperatingC h a r a c t e r i s t i ccurve) R 0 C分 析 { け の 骨 幹 を な す の が R 0 C曲 線 で す 。 閣 値 を 変 化 さ せ 、 そ れ ぞ れ の 関値での感度を縦軸に、 F P F ( 偽 陽 性 : 1ー 特 異 度 ) を 横 軸 に プ ロ ッ ト し た も の で あ る (F IG.3) 。 こ れ を 、 ロ ジ ス テ ィ ッ ク プ ロ シ ジ ャ を 使 う と 簡 単 に PRG.l 下記のように描くことができる。それを、 FREQプ ロ シ ジ ャ を 使 う と 多 少 複 雑 に ‑357‑
な る (PRG.2) 0 が 、 FREQを 使 う と 存 在 可 能 な 全 て の 闇 値 に つ い て プ ロ ッ ト を す る LOGISTIC プ ロ シ ジ ヤ の 方 は 微 細 な 闇 値 の 差 は 無 視 す る た め 、 両 者 は 微 妙 に 違う基本的に同じ図を描く。 R0 C解 析 の 特 徴 a) 曲 線 か ら の 検 査 性 能 の 判 断 R 0 C曲 線 で は 、 各 検 査 ご と に 描 か れ た 曲 線 は 左 上 に 弧 を 描 き 、 そ れ が 軸 に 固 まれた長方形の左上の角に近いほど、その検査の性能が高くなる。つまり、複数 の検査の曲線を図上で比較すれば、簡単に検査の性能を比較できる。これが最も 大 き な R 0 C曲 線 の 利 点 で あ る 。 そ し て 、 R 0 C解 析 で は 、 闇 値 を 変 化 さ せ る た め、闇値による検査評価のバイアスは発生しない。 b) 曲 線 の 接 線 の 傾 き 一 関 値 の 適 切 な 設 定 R 0 C 曲 線 の 接 線 の 傾 き は 、 そ の 地 点 で の 検 査 値 xで の 有 病 、 無 病 群 の 分 布 の 尤 度 比 (6)L(x)を 示 し て い る 。 x検査値で・の尤度比 L( x ) g( x ) f ( x ) 各 疾 患 ご と に 闇 値 と し て 臨 床 的 に 妥 当 な L (閣値)を設定して、 R 0 C曲 線 か ら それに該当する接線の傾きを持つ検査値を求めれば、それが適切な闇値となる。 例えば、 L (闇値)=1 .0 有 病 率 が 1の 場 合 、 両 群 を 同 じ 重 み で 区 分 し た い 。 0.5 有 病 群 を 無 病 群 の 2倍 の 重 み で / / 検出したい。 R 0 C曲 線 の 接 線 の 傾 き は 、 横 輸 の 区 間 幅 を 約 5 %に 設 定 し た 移 動 平 均 的 な 手 法 に よ り 簡 単 に 計 算 で き る 。 そ の 信 頼 区 間 は 次 に 述 べ る Bootstrap法 に よ る A U C推 定時に同時に求めることができる。 3 5 8 ‑
PRG.1 ロ ジ ス テ ィ ッ ク プ ロ シ ジ ャ を 利 用 し た R 0 C 曲 線 作 図 / * GRP: グ ル ー プ 変 数 0 :無 病 1:有病 KENNSA: R 0 C 分 析 対 象 項 目 の 変 数 * / PROC LOGISTIC DATA=TEST DESCENDING NOPRINT; MODEL CC1=KENSA / OUTROC二 ROC1; RUN; DATA ROC2; SET ROC1; SENSIT一 二 一 SENSIT̲*100; ー 1 MSPEC̲=̲lMSPEC̲*100; RUN; PROC GPLOT data=ROC2; / * 作図 * / SYMBOL1 I=JOIN W=2 Vニ NONE C=black L=l; PLOT ̲SENSIT̲*一 1MSPEC / FRAME NOLEGEND VAXIS=AXIS1 HM=O VM=O HAXIS=AXIS2; RUN; PRG.2 FREQプ ロ シ ジ ャ を 利 用 し た R 0 C 曲 線 作 図 PROC SORT DATA=TEST; BY GRP; RUN; PROC FREQ DATA=TEST; BY GRP; TABLES KENSA/ OUT=OUT NOPRINT; RUN; PROC SORT DATA二 OUT; BY KENSA; RUN; DATA out; RETAIN SEN PID 100 S P NIH KN 0 ; SET out; I F GRP = 1 THEN SEN=SEN‑PERCENT; I F GRP = 0 THEN SP=SPtPERCENT; SENSIT一=SEN; NIH=SP; ̲lMSPEC一=100‑NIH; RINJI=PIDt̲lMSPEC̲; KEEP KENSA ̲SENSIT̲ RINJI ̲lMSPEC̲; RUN; ‑359‑
PROC SORT DATA ニ OUTj BY KENSA RINJlj RUNj 1 *関 値 ご と の 整 理 DATA OUTj * 1 RETAIN AA O j SET OUT; IF KENSA=AA THEN DELETE AA=KENSA; KEEP KENSA ̲SENSIT̲ ̲lMSPEC一 ; RUNj 1 * 100, 100%点 の 付 加 DATA OUTF; INPUT PID * 1 1MSPEC一 ; CARDS; 100 100 j RUNj DATA OUT; SET OUTF OUT; RUNj F I G . 3卵 巣 良 一 悪 性 腫 蕩 鑑 別 R0 C曲 線 CA125 良性疾患 2 5 1例 卵巣癌 70例 P江l(%) 1 ∞ 縦車由 PiD:感度 P o s i t i v ei nDisease 80 横車自 80 偽陽性 1 ‑ NiH NiH: N e g a t i v ei nHe a 1t h 40 20 。 口 2 白 6口 40 自 口 I‑OO 王 ( % ) 3 6 0 ∞ 1
c) A U C 一 平 均 的 な 正 確 度 の 指 標 A U C (AreaUndert h eC u r v e )(2)は R 0 C 曲 線 の 曲 線 下 面 積 の こ と で あ り 、 直 感 的 に は R 0 C曲 線 の 左 上 角 へ の 近 づ き 程 度 を し め す 指 標 で あ る 。 ま た 、 数 学 的には平均的な検査の正確度を示している。 な ぜ な ら ば 、 仮 に 台 形 公 式 で A U Cを 計 算 す る 事 を 考 え て み よ う 。 関イ直が T 1,T2・ . T i. . .T mとし Ti~Ti-l に入る無病群の例数を N i 無 病 群 の 例 数 を nn x >T iの 領 域 の 有 病 群 の 例 数 を Di 有病群の例数を n d T i ー l~ T i区 間 に 対 応 す る 横 輸 の 幅 は とすれば T i-l~ T iに 対 応 す る 縦 軸 値 は Ni/nn Di‑l/nd.Di/nd 吋{[日間l ( 8 ) 吋 [ 引l ただし、 f(x)=~ ( x, ) A す る と A U Cは (7 )、 ( 8 )式 の よ う に 展 開 で き 、 る無病群の感度の期待値、 n N A U Cは f(x)の 密 度 関 数 で 分 布 す も し く は g(x)で 分 布 す る 有 病 群 に 対 す る 特 異 度 の 期 待 値になっていることが分かる。 台 形 法 に よ る A U Cの 期 待 値 、 分 散 値 は 、 MULTIESTProcedureの Bootstrap法 を 利 用 し て 簡 単 に 推 定 す る こ と が で き る ( PRG.3) 。 ま た 、 無 病 群 、 有 病 群 の 分 布 を 仮 定 し た パ ラ メ ト リ ッ ク な 方 法 が Metz ら に よ って、提案されている HhHh{510 いま、有病群、無病群がそれぞれ、 定すると、 N ( μ N,σ N2)、 N ( μ D,σ D2) に 従 う と 仮 2つ の パ ラ メ ー タ ー か ら 、 OD OUN P . D‑P . N LU a= ‑ ‑ (9) a、 b OD 標 準 正 規 分 布 の 分 布 関 数 F よ り 、 (10), (11) の よ う に 求 め ら れ る 。 ‑361‑
(10) ル 情) τ (11) 山 )= [ 戸 商 州 市n + [ 一 法 ( 1 + げ ) ! 日 叶 ‑~ [ 市n e ] v a r ( a ) ] V ar ( b ) + z [戸市叶‑ t [古 川× [一法 (1+bZ)!日叶~ [ 古 川 Cov(a,b Metzら は 関 値 を お お よ そ 1 0回 変 化 さ せ 、 約 1 0カ テ ゴ リ 一 区 分 に 属 す る 無 病 群 と 有 病 群 の 数 を 基 に し た 最 尤 法 に よ る a, bの 推 定 方 法 を 提 案 し て い る 。 ま た 、 か れ ら は そ の カ テ ゴ リ 一 区 分 方 式 の よ り ロ バ ス ト な 台 形 法 に よ る A U Cの 推定法も提案している。 XD j j番 目 の カ テ ゴ リ XNj j番 目 の カ テ ゴ リ ー に 属 す る 有 病 苦 手 の 例 数 に属する有病苦手の例数 与 { A U C= (MP))+ (12) 叫 ベ 詰 ( X N j X D j )}刈 N ) D 仙叩 ( ! : X D i) 2 + ﹂ z ︑︑ ︐︐︐ ZE MN UN UN f ︐ ︐f /F ︑ ﹁I l l i ‑ ‑ VA 円 Illl﹄11111t' ︑ ‑ ‑ 3 MN VA 4E ︑︑︐︐ r z MN z t VAJ F ' μ J ︐ ︐I ︑T 戸 ︑ MN ﹄ ︑V A J F ' μ ︐︑ fa VA FIll‑41111 ﹁111111111﹂ 乞 n百 n u ‑ 一 ‑362‑
V a r ( A U C ) (13) 1 ‑A U C )+( N D ‑l )( Q I ‑A U CZ N N ‑ l )( Q z ‑A U CZ ̲A U C( ) +( ) N ' N N D A U C計 算 結 果 の 比 較 B o o t s t r a p法、 例:卵巣癌 Metzの 2法 に よ る A U C、 標 準 偏 差 の 比 較 を 行 っ た 。 7 0例 、 良 性 卵 巣 腫 蕩 2 5 1例 に よ る 比 較 AUC 0.8478 0.8479 台形法単純計算 Bootstrap台 形 法 N二 500 最尤法(パラメトリック) 標準偏差 0.02778 0.8451 0.02913 0.8431 0.02905 1 0カ テ ゴ リ ー 最尤法(台形法 1 0カ テ ゴ リ ー 上記の例では、 A U C、 そ の 標 準 偏 差 と も 大 体 同 じ 値 を 示 し た が 、 パ ラ メ ト リ ックな最尤法は、例数が不十分な時や分布がひどくスキューな場合、そのカテゴ リ ‑{ じ の 方 法 に よ っ て 結 果 が 大 き く 違 っ て い る 。 検 査 デ タの比較には B o o t s t r a p 法か最尤法の台形法が適切であろう。 2検 査 項 目 聞 の A U C の 比 較 2検 査 項 目 聞 の A U Cの 比 較 は 例 数 が 十 分 大 き け れ ば 、 推 定 値 の 正 規 性 を 仮 定 した分布から簡単に検定ができる。ただし、対象集団の患者に検査問で相違があ る場合、比較可能性が非常に悪い場合が多いので、注意が必要である。 2 ︑︑︐︐︐ J 二 M川 ︐ ︑Gニゲ ー ﹁=←い = M円 引山山二 f d . 4 山 = ﹁し = h川. また、 Z A nu=2J A ‑ ‑︑ h fkニ f u (14) Bootstrap法 に よ る 、 各 検 査 の 順 位 を プ ー ル し た 集 団 か ら の A U Cの 差 の 発 生確率を求めることもできる。 nd nb q o
PRG.3 MULTTESTを 利 用 し た A U Cの 分 散 の 推 定 /* CLASS=l 500回 の 復 元 抽 出 */ PROC SORT DATA=TEST; BY GRP; RUN; PROC MULTTEST NSAMPLE=500 DATA=TEST OUTSAMP=OUT SEED=12345 NOCENTER NOPRINT BOOTSTRAP; BY GRP; TEST MEAN(KENSA); CLASS CLASS; RUN; %MACRO BUNKATU; %DO I=l %TO 500; DATA OUT&I; SET OUT; IF SAMPLE ニ&I; %END; %MEND BUNKATU; %BUNKATU %MACRO AUC; %DO Iニ 1 %TO 500; PROC FREQ DATA=OUT&I; TABLE KENSA / OUTニA NOPRINT; BY GRP; PROC SORT DATA二 A; BY KENSA; RUN; 料データセット Aに 対 す る PRG.2 ル ー チ ン の 実 施 ( 省 略 ) 料 DATA A2; /* A2デ ー タ の AUCの 計 算 RETAIN A B 100; */ SET A; S=(A+̲SENSIT一)/2*(B‑̲lMSPEC̲)/10000; A=̲SENSIT̲; B=̲lMSPEC̲; PROC MEANS DATA=A2 SUM; VAR S ; OUTPUT OUTニAUC SUMニAUC; DATA AUCALL; SET AUC AUCALL; RUN; %END; %MEND AUC; %AUC DATA AUCALL; SET AUCALL(FIRSTOBS=2); PROC MEANS DATA=AUCALL MEAN STD; VAR AUC; RUN; ‑364
ロジスティックモデル、 WILCOXON検 定 ら 他 の 手 法 と の 比 較 無病群、有病群がそれぞれ正規分布に従うと仮定した場合、 ス テ ィ ッ ク モ デ ル を 当 て は め る と と が で き (4、 ) R 0 C曲 線 は ロ ジ A U Cや そ の 分 散 も 推 定 可 能 と な る 。 ロ ジ ス テ ィ ッ ク モ デ ル の 利 用 は R 0 Cの 情 報 に 加 え て さ ら な る 下 記 情 報 を 提 供する。 ‑多検査の同時比較が容易である。 ・検査問の相互作用を考慮した、多変量的な評価が可能となる。 R 0 C分 析 は グ ラ フ か ら 一 瞬 で 結 果 の 判 断 が で き る と い う 点 で 簡 便 で あ り 、 ロ バストな手法でもある。ロジスティックモデルは対象群の分布に大きな制約は受 け る が 、 検 査 の 組 み 合 わ せ の 効 果 な ど R 0 Cに は 無 い 情 報 を 得 る こ と が で き る 。 両者を総合的に利用することが重要である。 R 0 C分 析 は 関 値 を 連 続 的 に 移 動 し 、 無 病 群 、 有 病 群 の 累 積 分 布 を そ の 閣 値 で 2分 し て い る 。 つ ま り 、 R 0 C分 析 で 問 題 と し て い る の は 順 位 尺 度 の み で あ り 、 2群 の 比 較 が 順 位 を 用 い て い る の で 、 A U Cの 比 較 検定は W I L C O X O N流 の 検 定 で 記 述 で き る は ) A U C と そ の 分 散 を 用 い た 2検 査 問 の 比較を W I L C O X O N検 定 と 比 較 す れ ば 、 分 散 推 定 の 妥 当 性 が 検 証 で き る 。 その意味でロバストである。 0 おわりに R 0 C分 析 は 簡 便 で 、 わ か り や す い 解 析 法 で 検 査 の 性 能 評 価 に は 欠 か せ な い も A U Cの 分 散 の 推 定 な ど に は 問 題 が あ っ た 。 今 回 、 SA S Bootstrap法 に よ り ロ バ ス ト な A U Cの 分 散 の 推 定 を 行 い 、 従 来 の 最 尤 のであったが、反面、 を用いて、 法よりも安定した分散推定が簡単にできることを示した。また、検査の総合的な 評価にはロジスティックモデルと R 0Cとの組み合わせが必要であることも示し た。ただし、検査値には測定誤差が存在し、それを考慮、した上での手法、例えば 混 合 効 果 R 0 Cモ デ ル や ロ ジ ス テ ィ ッ ク モ デ ル な ど が 最 近 利 用 さ れ る よ う に な っ てきている。 これらについては今後紹介していきたい。 ‑365‑
参考文献 1 ) Metz C E : Statistical analysis o f ROC data i n evaluating diagnostic performance. In:Multiple regression analysis:Applications i n the health science.(Herbert D ., Myer R ., eds.). American Institute o f physics,New Yo r k,52‑56,(1986) 2 ) Hanley JA and McNeil B J : The Meaning and Use o f the Area under a Receiver Operating Characteristic(ROC)Curve. Radiology,Vol.143 ,29‑36 (1982) 3 ) Dorfman DD,Alf E : Maximum likelihood estimation o f parameters of signal detection theory and determination o f confidence intervals‑rating 6, 487‑496(1969) method data. Journal o f Mathematical Psychology , 4 ) Grey DR,Morgan BJT: Some aspects o f ROC curve‑fitting: Normal and logistic models. Journal o f Mathematical Psychology,9, 128‑139(1972) ‑366‑
日本 S A Sユーザー会 (SUG I‑J) SASシステムによる Pイ直の計算と信頼区間 0岩 崎 学 高畑一夫 成践大学工学部経営工学科 ComputationofP‑ValuesandConfidenceI n t e r v a l sbySASSystem OManabuI w a s a k ia n d KazuoT a k a h a t a a lE n g i n e e r i n g,S e i k e iU n i v e r s i t y D e p a r t r n e n to fI n d u s住i 要旨 統計的検定における p ‑値の計算では,コンピュータの性能の向上に伴い,大量の計算を 必要とするランダム化検定 ( r a n d o m i z a t i o nt e s白)が利用されるようになってきた.本論では, ランダム化検定及び信頼区間に関する基礎的な事項を述べる. キーワード:ランダム化検定,シミュレーシヨン, JMPソフトウェア,信頼区間 1 . はじめに 統計的データ解析の目的は,我々が実際に手にしたデータの構造の把握に留まらず,そ のデータを生み出した全体集団の構造,データ生成の真のメカニズムを知ることである. 部分」から「全体」の推測であり,この意味で,統計的データ解析の方法論 すなわち, i は,帰納論理に基づいているといえよう.しかし,当然ながら部分から全体を知ることは 一般に不可能であり,それを可能にするためにはデータを取る上で何らかの仮定が必要と なる.その仮定の一つがランダムネスである. 統計学におけるランダムネスには大きく分けて 2種類、がある.ひとつは,目的とする母 集団からのランダムサンプリングであり,多くの統計学の教科書はその仮定の下に書かれ ている.二つ目のランダムネスは,被験者集団へのランダムな処置の割り付けであり,臨 床試験等では,この種の無作為割り付けが行なわれている.が,教科書で言及されること はほとんどない. 本論では,この後者のランダムネスに基づく検定,いわゆるランダム化検定 ( r a n d o m i z a ‑ p e r m u t a t i o nt e s白)について,その理論的背景,実際の適用上の注 t i o nt e s t s ),並べ替え検定 ( 意などを,主に臨床試験の例を用いて論ずる.この種の検定では, P‑値の計算に要する計 算量が膨大で、あるが,近年のコンピュータの高速化に伴い,シミュレーションを用いる方 法と共にこの種の検定が実用的になり,欧米ではいくつかの成書が出版されてきている. たとえば, Edgington( 19 9 5 ),Good( 19 9 4 ),Maruy( 19 9 0 ),Noreen( 19 8 9 ),Weerahandi( 19 9 5 ), Wesぜ i : l landYoung( 19 9 3 )等を参考にされたい. ‑367‑
2. ランダム化検定 一般に,統計的検定の 3要素は, (1)帰無仮説,対立仮説の設定 ( 2 ) 検定統計量の選択 ( 3 ) P‑ 値の計算 である.たとえば, 2種類の処置聞の比較では,検定すべき仮説を ( 1 ) Ho: 2群の平均値は等しい v s . Hj: 2群の平均値は等しくない と立てる.そして,測定値の分布が正規分布で近似されるときには, ( 2 ' ) 2標本ト統計量 が選択され,正規性が疑われる場合には,順位 ( r a n k )を利用して, ( 2 " ) 平均順位の差 ( W i l c o x o n検定) が用いられる. 2 ' )の場合には そして, Pイ直の算出には, ( ( 3 ' ) t ‑分布表の参照(コンピュータに計算させる) 2 " )の場合には, とし, ( ( 3 " ) 組み合わせ計算,あるいは近似式の利用 とすることになる.このうちト検定のようなパラメトリックな方法では,母集団に関す る仮定のチェックが困難なことが多く,逆にノンパラ手法では検出力が小さいという欠点 カfある. F i s h e r( 19 3 5 )によって初めて導入されたとされるランダム化検定 ( r a n d o m a z a t i o nt e s t s ), あるいは並べ替え検定 ( p e r m u t a t i o nt 目的と呼ばれる手法は,実験デザインにおけるランダ ‑ 値の計算の際,たとえば上記のような ムネスを忠実に反映した手法である.すなわち, P 問題では,得られたデータを 2群に分けるすべての組み合わせについて当該統計量の値を . 1参照) . 計算し,実際に得られた値よりも極端なものの割合を求めてP ‑ 値とする(例 2 ランダム化検定の検出力は,通常パラメトリックとノンパラ手法の中間である.また, P ‑ 値の計算の際,実現値そのものの得られる確率の半分のみを足し合わせたものを mid‑P v a l u eという(例えば岩崎(19 9 3 )を参照) . 例2 . 1 ランダム化検定と対応する検定の比較 . 1は , 表2 1群 5例ずつの(仮想、)データである. 表2 . 1 検宗の例示のための仮担データ データ 83,90,1 0 0,1 2 8,1 3 9 1,1 0 1,1 0 7 48,60,7 JMPソフトウェア,あるいは SASシステムの TTESTプロシジャ, NPAR1WAYプロシジ ャによる検定の(片側) P t‑検定: P= 0 . 0 4 4 7 ‑368‑
Wilcoxon検定 P= 0 . 1 0 5 それに対し,ランダム化検定では, 1 o 1 7 Ui J 、 ら 5例を選ぶ組み合わせ数がlOC5 = 252通りあ 2通りあるので, り,その中で実現値以上の平均値差を与えるものが 1 ランダム化検定 P= 12β52=0.0476 となる.これより,有意水準を 5 %とすると,ノンパラの Wilcoxon検定では有意でない が , t検定およびランダム化検定では有意になっている. 例2 . 2F i s h e rの直接確率検定 2x2の分割表では, F i s h e rの直接確率検定が用いられることが多い.この検定は, 2 群間の比較において,反応が(効果あり,効果なし)のような 2値データに対するランダ ム化検定となっている.たとえば, 表2 . 2 2x2の分害J!表 効果あり (0) 効果なし (x) 計 処置 ‑A 3 処置 ‑ B 2 4 6 計 5 5 1 0 4 では, (0,0,0, x;0,0, X , X , X , x) という 10個のデータをランダムに 4個と 6個の二組に分けて処置の優劣を判定する. F i s h e r 検定では,各処置における例数は予め定められているが, 1 効果あり」の例数は実験後で i s h e r検定ではそれも固定して確率計算を行なうため,奇異 ないと判明しない.しかし, F 効果あり」の例数も に感じられることもある.しかし,ランダム化検定の観点からは, 1 固定して確率計算をすることも当然であることになる. 3 . 臨床試験成績の解析 ランダム化検定は,その考え方が単純であるため概念的に受け入れられ易いものではあ るが,問題によっては実行が必ずしも単純という訳ではない.ある薬剤の第凹相臨床試験 成績の解析を例に取って,ランダム化検定の適用法について考察する.施設問格差の有無 によって採用すべきランダム化検定が異なることに注意しなければならない. I I相試験は 98施設で実施され,結果は表 3 . 1 のようにまとめられている. ある薬剤の第 I 表3 . 1 ある薬剤の臨床試験の結果 有効以上 (0) その他 (X) 計 対照薬 (A) 1 1 3 32 1 4 5 治験薬 (B) 1 0 7 24 l 31 計 120 一一 56 276 ‑369
F i s h e rの直接確率計算により p ‑値を求めると, p= 0. 4 576となり統計的に有意ではない. F i s h e rの検定は,前節でも述べたように,ランダム化検定である.しかし,薬剤のランダ ム割り付けは,治験全体で行われたものではなく,各施設ごとに実施されている.したが i s h e r検定が妥当性をもつためには「施設間格差がない Jことが大前提となる. って, F 施設問格差が否定できないような場合には,本来のランダム化検定の趣旨に則り,実際 のランダム割り付けに基づく確率計算をしなければならない. 上記の臨床試験では,各施設でA, B それぞれ 2つず、つの合計 4つの薬剤がランダムに割 り付けられた.しかし,組み入れ基準にしたがって実際に登録された患者が 4人未満であ った施設も多く,実際の登録人数別の施設数は表 3 . 2のようであった. . 2 実際の守録黒若別の椀設数 表3 . 2の ( A ), これらの中で,片方の薬剤のみしか登録患者がいなかった施設,すなわち表 3 ( B ),(A, A),(B, B)の登録パターンのものは,ランダム化そのものができないため,ランダ ム化検定からは除かれる.また,それ以外の登録パターンであっても,同一施設内での評 価が全て同じであるならば,ランダム化によって並べ替えても結局同じ結果を与えるので, これらも検定からは省くことができる. . 3である.この表 こうして,ランダム化検定で用いる施設のみを抜き出したものが表 3 3 . 3の度数に基づいてランダム化検定を実行することになる.検定で使われる施設数は 40 で,当初の施設数98の半分以下である.また,被験者数も 136と,全体の被験者数276の半 分以下である. . 3 ランダムイヒ検牢で用いられる摘設数と守録パターン 表3 登録ハ。トン 施設数 (A, B) 5 A‑O A‑X B‑O B‑X 2 2 (A, A, B) 3 2 (A, B, B) 3 2 (A, A, B, B) 6 2 1 2 1 2 2 4 2 計 2 40 4通りの組み合わせを考えなければならな この例では, ( 2Cl ) 7 X ( 3Cl ) 1 0 X ( 4 ) 2 3キ 6X1 02 C2 い.表 3 . 1 に対する F i s h e r検定とは比べものにならないくらいの複雑さである. ‑ 3 7 0
4 . 信頼区間 信頼区聞は統計的検定の裏返しである.すなわち,ある推定量の実現値が与えられたと き,当該パラメータに関する有意水準 100α%の両側検定で棄却されないパラメータ値の 0 0( 1‑α)%の信頼区間を与える.ランダム化検定に基づく信頼区間の構 範囲が信頼係数 1 i s h e r 成は,計量値の場合には可能であるが(概念的には簡単だが実行は困難である) ,F の検定のような場合には,概念的にも難しい.今後の課題とさせていただきたい. 5 . おわりに ランダム化検定について,そのいくつかの側面を議論してきた.筆者の一人も過去にこ 9 9 1 ) .特に最近,コ の検定を利用したことがあ理,その有用性を認めた(岩崎・難波, 1 ンピュータの力を借りて,その応用範囲は広がってきたのであるが まだ問題点も残され g r e s t i( 19 9 2 ),Basu( 19 8 0 )とそれらの後に続く議論を参照) . ている(たとえば A いずれにせよ,統計的データ解析を「機械的に J行なうのはあまり感心しない.データ を取るために費やす時間的,金銭的資源に見合うだけのものを統計解析にも投入すべきで ある.なお,付録として,今回ランダム化検定に用いた SASのプログラムを示しておく. 委主主盤 A g r e s t i,A .( 19 9 2 ) As u 円 e yo fe x a c ti n f e r e n c ef o rc o n t i n g e n c yt a b l e s( w i t hc o m m e n t s ) .三盟国主主L 五旦皇旦些, 7,1 3 1 ‑ 1 7 7 . Bぉ u,D .( 1 9 8 0 )R a n d o m i z a t i o na n a l y s i so fe x p e r i m e n 凶 d a t a :TheF i s h e rr a n d o m i z a t i o nt e s t( w i出 c o m m e n t s ) . 1oumalo f出eA m e r i c a nS t a t i s t i c a lA s s o c i a t i o n,7 5,5755 9 5 . 司 E d g i n g t o n,E .S .( 1 9 9 5 )R a n d o r n i z a t i o nT e s t s .T h i r dE d i t i o n .R e v i s e dandE x o a n d e d . Mar 四l Dekker,NewY o r k . F i s h e r,R .A .( 19 3 5 ) 1heD e s i g no fExperiment~. O l i v e ra n dBoyd,E d i n b u r g h . e . .( 19 9 4 ) e r m u t a t i o nT e s t s . AP r a c t i c a lGuidet oR e s a m o l i n gMethodsf o rT e s t i n g Good,P H)w出ese~. S p r i n g e r ‑ V e r l a g,NewY o r k . .F .J .( 19 9 0 )R a n d o m i z a t i o na n dMonteC a r l oMethodsi nB i o l o g y ̲ . ChapmanandHall, Manly,B NewY o r k . .W.( 19 8 9 )c ; o m o u t e rI n即 時i v eMethodsf o rT e s t i n gH v o o t h e s e s . AnI n t r o d u c t i o n . Noreen,E JohnW i l e y&Sons,NewY o r k . 沿l a n d i,S .( 1 9 9 5 ). E x a c tS t a t i s t i c a lMethodsf o rD a t aAnalvsi~. S p r i n g e r ‑ V e r l a g,NewY o r k . Weer W e s t f a l l, P .H .a n d Young,S .S .( 19 9 3 )R e s a m p l i n g ‑ Bぉ e dM u l t i p l eT e s t i n g . Examplesand Methodsf o ro ‑ V a l u eA d i u s t m e n 1 .J o h nW i l e y& Sons,NewY o r k . 岩崎 学(19 9 3 )mid‑Pv a l u e:その考え方と特性.応用統計学, 22,6 7 ‑ 8 0 ( 1 9 9 3 ) . 岩崎 学・難波和子(1991)分割表解析における近似的ランダム化検定の応用. 主 , 20,25‑37( 19 9 1 ) . ‑371一 座且盆宣土
d
a
t
acom;
n
=
I
O
;r
=
5
;
j
=
l
; k=l;
doi
=
1t
on
:
i
f(
x
{
i
}
=
O
)t
h
e
nd
o
:
g
l{
j}
=
y
{
i
}
;
j
=
j
+
l
;
e
n
d
;
e
l
s
ei
f(
x{
i}
=
I
)t
h
e
nd
o
;
g
2
{
k
}
=
y
{
i
}
;
k=k+l:
e
n
d
:
e
n
d
;
n
l
=
n
;r
l
=
r
; ansl=l;
dow
h
i
l
e
(
r
l
>
O
)
;
;
ansl=ansl*日 1
nl=口1
‑
1;
rl
=
r
l
‑
l
;
e
n
d
:
r
2
=
r
; ans2=1
;
dow
h
i
l
e
(
r
2
>
O
)
;
ans2=ans2*
r
2
;
r
2
=
r
2
‑
1
;
e
n
d
;
doi
=
1t
on
:
x
{
i
}
=
O
;
e
n
d
;
doi
=
1t
o2**n‑l;
up=l;
doj
=
nt
o1by‑
1
;
i
f(
x{
j}
+
u
p
=
l
)t
h
e
nd
o
;
x{
j}
=
I
;
up=O;
e
n
d
;
e
l
s
ei
f(
x{
j}
+
u
p
=
2
)t
h
e
nd
o
;
x
{
j
}
=
O
;
up=l;
e
n
d
;
e
n
d
;
sum=O;
doj
=
1t
on
;
sum=sum+x{
j
}
;
e
n
d
;
i
fsum=rt
h
e
no
u
t
p
u
t
;
e
n
d
;
p
r
o
cp
r
i
n
td
a
t
a
=
c
u
l
̲
p1
;
r
u
n
;
sum=O;
doi
=
1t
on
/
2
:
sum=sum+y{i};
e
n
d
;
c=ansl
/
a
n
s
2
;
k
e
e
pnr
c
;
d
a
t
ap1
;
口町1"
s
e
tc
町 a
yx
{勺 xl‑xl0;
o
u
t
p
u
t
;
k
e
e
pnrcz
l
‑
zl
Osumlsump
lp2;
o
u
t
p
u
t
;
k
e
e
pnr
cxl‑xl0yl‑ylOz
l
‑
z
l
Osum;
d
a
t
agroup1
;
s
e
tg
r
o
u
p
;
k
e
e
pnr
cz
l
‑
z
5
;
d
a
t
ag
r
o
u
p
2
;
s
e
tg
r
o
u
p
;
k
e
e
pz
6
‑
z
1
0sum;
d
a
t
ar
e
s
u
l
t
;
mergeg
r
o
u
p
lg
r
o
u
p
2
;
l
‑
z
I
0
;
a
r
r
a
yz
{勺 z
suml=O;
doi
=
lt
or
:
suml=suml+z{i
}
;
e
n
d
;
o
u
t
p
u
t
;
Osumlsum;
k
e
e
pnr
cz
l
‑
zl
p
r
o
cs
o
r
td
a
t
a
=
r
e
s
u
l
t
;
b
ysuml;
d
a
t
ac
u
l
̲
p1
;
s
e
tr
e
s
u
l
t
;
k
e
e
pnr
cxl‑xIO;
d
a
t
ag
r
o
u
p
;
s
e
tp1
;
arrayx{*}xトXIO;
a
r
r
a
yy
{
*
} yl‑yIO:
a
r
r
a
ygl{*}z
l
‑
z
5
;
a
r
r
a
yg2{*}z
6
‑
z
1
0
;
yl=60; y2=80; y3=100; y4=120; y5=140:
y6=21; y7=41; y8=61; y9=81; yl0=101;
i
f(
c
/
2>=̲
n
̲
)t
h
e
nd
o
;
i
f(sum<suml)t
h
e
nd
o
;
)
/
c
;
pl={̲nーー 1
p2=p1*
2
;
e
n
d
;
e
n
d
;
e
l
s
ei
fじ
(/
2<̲n
ー
)t
h
e
nd
o
;
i
f(sum=suml)t
h
e
nd
o
;
pl=(c‑̲n̲+
1
)
/
c
:
p2=p1
*
2
;
e
n
d
;
e
n
d
;
‑372‑
日本 S A Sユーザー会 (SUG I‑J) DB2とユーザーインターフェースの為の A Fアプリケーション 志賀仁 IT運用部 プロミス(株) H I T O S H IS H I G A I TO P E R A T I O ND E P A R T M E N T /PROMISEC O .,L T D . 要旨 DB2のデータを検索するのに SQLを記述するのはプログラミングに不慣れなユーザーには難 しい。プログラミングを意識せず、マウスの操作だけで SQLを自動生成する A Fアプリケー ションを社内で使用しているので紹介する c キーワード: DB2 SQL SAS/AF 1.はじめに 当社では SASをメインツールとして、自らが情報処理を行う EUC/EUDを推進している。 営業実績等の各種データは主として DB2にて提供しており、各部署の担当者は SQL言語で DB 2データベースに自由にアクセスし、データを検索している c しかし、ユーザーにはプログラミングに不慣れな者も多く、作業に H 寺聞がかかったり単純なスペ ル違いで処理が異常終了したりと、必ずしも効率的に D Bにアクセスしているとは言えないものが ある。そんなユーザーの為に、少しでもプログラム作成の負荷を軽減し、対話的に D Bにアクセス するものができないかと開発したのが、今回紹介するアプリケーションである。 3 7 3 ‑
く二二〉
SAS/MVS
DB2
界関SS
S
A
く二二〉
S
A
S
/
C
O
N
N
E
C
T刀
ト
ウ
ェ7
通信プロトコル T
C
P
/
I
P
ユーザー
ユーザー
ユーザ←
図I
WINDOWS3. 1 SAS R6. 08
ユーザ一環境
2
. アプリケーションの概要
アプリケーションは SAS/AFソフトウェアの FRAMEエントリーで開発した。操作はマウ
ス中心で行い、ユーザーは SQL言語の構文を意識することなく SQLプログラムを生成し、 DB
にアクセスすることができる。処理工程も分かりやすいように、テーフルとカラムの選択>抽出条
件の設定>ソートキーの設定>実行と、至極簡素にした。
処理のパターンとしては、データの抽出、集計、並び換えが可能である。 SQLには様々な処理
パターンがあるが、複雑なデータ加工は SASプログラムで行う事とし、当アプリケーションでは
加工処理に必要なデータを SAS側に取り込んでくる機能に特化した。
3
. アプリケーションの紹介
3
. 1 起動
右がアプリケーションの起動画面である。
通"'"山山山品:.:.:.:..:.:..:占『
メニューは以下のようになっており、ユーザ
. から 4
. へと
ーはこの画面を起点として 1
の;
'
‑
'
h
ト.作后しますー
されたリ
順次処理をしてし、く。
1 DB2項目選択
2 WHERE条件の設定
3 並び替え設定
4 SQLの実行
業~,ーでの処'!方,,<広 HW_ を・", c て下さ、
5 プログラムの保管
6 SQL文の初期化
7 テープル情報ファイル作成
8 終了
画面 l
‑374‑
項目の",.司が
3 . 2 DB2情報ファイルの作成 最初の処理として、画面 2の『テープル情報ファイル作成」をクリックし、 DB2システムから テープノレ名やカラム名、ラベル等のファイル情報を取り出し、ローカル側に S A Sデータセットで 保存する。アプリケーションはテープノレ名やカラム名を表示する際、その S A Sデータセットを読 み込むようにしている。これはその都度 DB2システムにアクセスしないようにし、アプリケー ションのレスポンスを良くする為の処置である。 尚 、 S A Sデータセットは永久保管ライブラリーに保管しているので、一回実行しておけば、 D B 2のテープルに変更が生じるまでこの処理を 省略する事ができる。 3 . 3 DB2テーブルの選択とカラム選択 画面 1の rDB 2項目選択』を選択し、 三主主主歪歪~~温室三宝Zヨ テープルとカラムを選択する画面に展開する。 (商面 2) まず、両面左側に DB2テープルの選択ボ 臨 卓 ックスが表示されるので、そこから処理対象 のテーブルをマウスで選択する。更に選択ボ ックス下の SQLパターンを選択し、 也主コ 『項目 表示』のアイコンを選択する。 S Q Lパターンは生成する S Q Lプログラ r:::c.z::.;.:;:.:.~1 iDZ':::::.z:ニτ 去三d I:ilj~削除事開制務 I! 季対 I 榔九盃週明j ムの処理内容を表し、単純なデータ抽出(明細) 画面 2 と、組み込み関数 ( S U M等)と G R O U PB Yを使用 した集計の 2通りある。 S Q Lパターンが明細の場合は、カラム選択リストが表示されるので抽出するカラムをマウスで 選択する。選択されたカラムはその右側のリストボックスに表示される。(画面 3 ‑1 ) また S Q Lバターンが集計の場合は、カラム選択リストの左側に集計キーのカラム選択リストが 表示されるので、集計キーもあわせて選択する。(画面 3 ‑ 2 ) ‑ .~'ù';.; |言~~~~:: タイプ ~11 │ 鱗 l 且 日 ¥ 合 「 匿重重量匿蓮華霊霊童E J匿麹 画面 3‑1 画面 3ー 2 ‑375‑
カラムの選択が終了したら『選択終了 Jの アイコンを選択し、メニュー画面に戻る。 画面のリストボックス内には生成中の SQ Lプログラムが表示される。ユーザーはプロ グラムの内容を確認しながら作業の進捗状況 を把握する事ができる。 画面 4 3 . 4 抽出条件の設定 四 一 画面 4のメニュー画面から、 rWHERE条件設定 Jを選択する。条件設定画面が表示されるの で、画面下部の『条件設定 Jにて選択項目、比較演算子、比較値を順次設定し、追加ボタンを選択 行l 行作成してし、く c (画面 5 ‑1) し 、 WHERE条件文を l 作成された条件文は画面上部の設定済み条件の中に表示される。 条件によっては AND条件と O R条件が複雑に絡む場合があるので、行単位で条件文を編集でき るように設計している。(画面 5 ‑ 2 ) 7 . "l It l ' f : : ン ・J ・ 2 弓 守 J ド?九日ヘ凡フ ' e ' 饗勢瞳錨盤鍾櫨瞳 コ マ ン 1 " = ) ; j . Y: :l.肝H~は"史良野 z.~ 人 2 安定噴み毎,. 指 定謂h畳 件 、 灯 jt そ~ A対0 3 2 R f 栓守, s E , D I 3 tS切同∞ l o / V HI l 3 I X l 叫 .3 霊 ・ 室 ・ 目; ] 包 . : ‑ . : . . . [;霊童ヨ '~1J 1 開 E翠~ 直霊豆~ i l l 重藍ヨ M g望室1] [盈璽ヨ 匡韮El 直面壁3 1日 一 圏 一 四 一 長 ヨ( ' 1 股E 【量日lln} 市 rE何 南『寸~ [比拍'"耳干】 [比時岨) ・ Jc........ ~格,~定 [[也旦買草子 J[ 二 + ・ 官 官 官 一 ‑ . ̲ ' ‑ u l t 二 コ E逼量i l l bld 院 C,馳札 "一一)一一ラ一~ [15 日"子 二 三 ヨ ; r n : : コ I適 訳 項 目 ) i 訂γ 一一一一一一一一一 臨遜畳半j 寸主1問 地 E盈 函 [比Ji:間予 Jf寄官官可~ L.:.I直筆且~ ヨ豆盈E二コ岬巴豆m::二コ E 主盟主当 f比JiU J 1 .竃橿 l LjjjJ亙".,,‑二コ岨包豆璽二コ 民謹呈i l l 画面 5‑2 画面 5ー 1 3 . 5 並び替えの設定 並び替えのキーを設定するときの処理である。(画面 6) 左側ボックスに、今までの処理で選択したカラム一覧が表示されるので、並び替えのキーを選択す る。設定された並び替えキーは右側のボックスに表示される。 3 7 6
r~ マン v-,;:)
区室)E
窓蚕室二.
際結泌総括信託社主主主 Z主主主主主主~三是正己託証持伝説記長.:.::::宮~沼主主主主主 EE 長信社ヰ逗忌
画面 7
画面 6
3
. 6 SQLの実行
画面 7のメニュー画面右側に表示されているのが、これまでの処理で生成された SQLプログラ
sQLの実行』を選択する。
ムである。メニューから r
DB2のテーブルから抽出したデータの保管場所を指定する c
場所は pc(ローカル)かホスト(リモート)に保存可能で、保存するライブラリーと SAS
データセット名をリストボックスから選択する。 SASデータセットを新規に作成する場合は入力
欄に任意に設定する。
保管場所、ライブラリー、 SASデータセット名を設定して、
『実行』を選択する。(画面 8)
D B2かりの検実ヂタの倶~ .
.
所
C 項冒
「吋.‑y一一、苦言下「
閉亡│
J.
o
.
!
i
.
.
.
.
}
;
.
}
冬
を
'
.
'
.
'
,,:::;~:蒋
.
.
.
.
c
‑
ードしますか今
:
; 停?番目包されました
Bはい
え、ぇ
l
J
l
!
!
T
I
:
コ
t::::~ 茸 1
!
ダつ
陣表
割
:
!
.
r
"
.
ん
0"
'eOMIME医 i剛 盟 咽 岨 抽 掴
日
"
"
"
1, S
lUS
l
V
.
:
,I
f
1
l
1
(
f
》
~
l
E
.
¥
I
'
(
9; 19砂ニト孔.'(E. H 計り lUI ,}.J(;, .nw~t(~
~仇:'1< ,)
I.旺i<f,
l 州J
^
阪l!'S
C
画面 9
画面 8
生成された SQLプログラムが実行され、抽出されたデータのカラム数、オブザベーション数が
ガイドとして画面に表示される。(画面 g)
‑377‑
この時点ではデータはホストにあり、次にデータをダウンロードするかどうかを選択する。ダ ウンロードした場合、画面 8で設定した SASデータセット名で保管される。また、確認の意味で、 ダウンロード後 F S V I E Wでデータが表示される。 3 . 7 SQLプログラムの保管 生成した SQLプログラムは、今後 DB2か らのデータ検索部分として使用できるように外 部ファイルに保管が可能である。 メニューから「フ。ログラム保管」を選択し、 表示されるパネルに名前を入力して保管する。 画面 10 4 . 終わりに DB2に限らず RDBMSにアクセスしているエンドユーザーは多いことと思う。その際、 DB に対話的にアクセスし SQL文を自動生成するツールは、強力な武器になる。そのツールとして、 SAS/ASSISTのS Q LQ u e r yW i n d o wを利用する方法もあるが、オリジナルのフロントエンドツールは、 必要な機能を絞りインターフェースをユーザーに適したものにできるという点で、より有効な手段 ではな L、かと考えられる。 独自に開発している例は他にもあると思うが、今回紹介したアプリケーションはそのひとつの例 として参考にしていただきたい。 ン ス テ ィ h‑トジャパン 尚 、 SCLプログラムは量の関係で掲載を見合わせた c 興味のある方は SASイ ソリューション営業部営業 3謀を通して問い合わせ願 L、たい。 ‑ 3 7 8
日本 S A Sユーザー会 (SUG I‑J) α SAS/ A : 邸 S ソフトウエア Interfaceto ODBCによる DI弧へのデータアクセス 佑諜正基 S A Sインスティチュートジャパン m付詰日テクニカルサポートセクション AccessingDataWith SAS/ACC 邸 S Software Interface to ODBC M a s a k iS a t o T e c h n i c a lD i v i s i o nT e c h n i c a lS u p p o r tS e c t i o n S A SI n s t i t u t eJ a p a nL t d . 要旨 ∞配(匂e nD a t a b a s eC o n n e c t i v i t y )規格l こ準拠したデ、ータアクセスU湘寝、及びそ併リ点を はじめ、 S A S / P I α巴SI n t e r f a c et o∞配による D B 略(Da t 油 田 eM a n a g e m e n tS y s t e m )へのデータ Q Lパススルー機能の(吏用例を紹介教します二 アクセスの概要、そして S キーワード: ∞BC 、D 凶E、S A S / A C C 巴Sソフトウエア I n t e r f a c et o∞B C、泊Lパススルー機能 1.はじめに nD a t a b a s eC o n n e c t i v i t y ( ∞I B C )は、異機種システム環境での、リレーショナルヂータベース、 匂e 及ひ弊リレーショナルヂータベースへアクセスするためのインターフェースです。多く砂ヘミンダー は∞配規格に準拠した重品を提供し、エンドユーザは使し v慣れたデスクトップアプリケーション からさまざまな D E 郎にアクセスすることが可能になりました。このような中で、 S A Sシステム では S A S / P I α巴Sソフトウェア I n t e r f a c et o∞I B C、そして S A S∞B C ドライバを提供し、拡張性 のあるデータ交換を実現してます三持命文では、∞配 0 滑壊、∞配アーキテクチャ、および S Q L パススルー機能を活用したプログラミング例を紹介します二 2 . データベース・コネクティピティの必要性 情報は、企業の競争力の鑓を握る重要な役割を果たすようになりました。これから競争力鶴岡守 してし、くために企業にとって、より正確カり、タイムリーな情報にすぼやくアクセスすることが 不可欠となります1 市場全析、生産主十画、品質管理、在庫管理、物荒管理、顧客サ)ピス、価格 ‑379‑
決定、そして意思決定、及。経営鞠卸こまつわる全ての惇防司詐貫生の高し、ものになるよう企業は 努めてしぜマ仁 したがって、このような企業はさまざまなI 静田原、つまり各種デ二一タベースにアクセスできる、 高度なツールを求めてしぜマ仁 D 助E併荷量や言語、あるいはそれぞれのネットワーク固有のしくみ につして実劫訂してし、なくても、 G U Iキヂータ解析ツーノレ、あるいl 士↑静民そのものに容易にアクセス 可能なツールを強く望んでし、ます三 歴史的、鞠酌そして抑制な背景から、多くの企業は、複数のプラットフォームと D 郎上に アプリケーションとデータを保持してし、ます1 企業は、自らの重要なデータを含むシステムを、 資産として維持しなけれJ 命、けません。データにアクセスし、管理し、分析する為の共通の方法が 強く求められてし、ます三アプリケーションのメンテナンスコストの大部分がデータアクセスの巴唱 で占められていることを、多くの企業崎雷哉し刀法士異機罫司のデLータベース環境叫頭指土、 企業が今日直面している陪題ですc 情報システムが、企業の要望同芯える第一世劫えまさにデータ ベースコネクティピティなのです二 3 . ∞配の概要 a t a b a s eC o n n e c t i v i t y )は 、 SQLAccessGroupのCa l lL e v e lI n t e r f a c e仕諜に ∞配(匂enD 基づき、さまざまなデ二ータベースにアクセスするための Microsoft社のインターフェースです ∞配は、異なる種類のリレーショナル、及。俳リレーショナルデータベース管理システムが 混在する環境で、陀をはじめ各棒、ードウエアに矧芯した各社のデータベースに格納されたデータ にアクセスするための、ベンダー問では中立なオ」プンな規格です。 ∞配により、アプリケーション開発者は異機種聞の複数データベースにあるデータに対する同時 アクセスや同時更新を 1つのアプリケーションから行うことができまマ仁また、個々のソフトウエ ア針士や企業内のシステム開発者は、複数のアプリケーションプログラミングインターフェース ( A P I)の先識を身につける必要f 鋭戦少します1 O ∞配岬↓長 ( 1 ) ∞配は、 SQLの標準対去を採用し、また、同時こアプリケーションはストーアドフ。ロシジャ のように特定の D 郎が持コ高度な SQ 市能を使うこともできます三これは、アプリケーショ ン開発者に、特定の D 即Eがもっ強力な機能を活用しながら複数の D 助Eにアクセスするための 共通基盤を提供しまマ仁 ( 2 )∞配によって、ユーザはイ息 v慣れたアプリケーションから、複数のタイプの 08 略 ( 0 8 2 ,仕a c l e, M i c r o s o f tS Q LS e r v e r, 占 出 e )、及て熔数の樹隊第庁にある(複数サーバ)にアクセスすること ができます1 その結果、エンドユーザも膨失な量の企業データをより容易に矛i 周できるように なりますユ ( 3 ) ∞配によって、アプリケーションをネットワークや D 鵬のパージョン変更から閥離すること 鵬に対する変更が、現在の∞配アプ ができますユネットワークトランスポート、サ)パ、 D リケーションに影響を及l :f:'すことはありません。 ‑380‑
4 .O D B Cアーキテクチャ アプリケーション B CA P I関数をコールして S Q Lステートメントを ∞I 送り、結果を得る。 . . . . . ‑O D B CA P I ドライバマネージャ L L ) (∞配 D アプリケーションのために∞B Cドライパを ロードし、リクエストをドライバに渡し、結果を アプリケーションに返す。 D B lv1Sドライパ ( D L L ) B ¥ 1 S に 関数コールを処理し、特定の D S Q Lリクエストを送る。 ネットワーク ソフトウエア データソース B M S特有の この層は、データソースに依存する D ネットワークコンポーネントを必要とする場合も S Q L 州町, O P 日 C L I F 1 ' 汀 , e t c )。 ある ( ドライノ〈からのリクエストを虻哩し、 ド、ライパに 結果を返すユ P Iの仕殺に基づく同ーのコードを用いる 各アプリケーションは、∞配により定義づけられた A ことで、特定の 狐用ドライバを介してさまざまなデータソースにアクセスすることができます二 W i n d o w sでは、 ドライバマネージャとドライバは、ダイナミックリンクライブラリとして組み込ま れます二 ドライバマネージャは、アプリケーションとドライバの問に柄主し、利用可能なデータソースの m 一覧などの情報をアプリケーションに提供し、必要!~じてドライバを動的にロードし、引数の 値とエラーステータスを掴其します1 5 ドライバは、アプリケーションとは独立して開発され、アプリケーションとネットワーク聞に 柄主します。 ドライバは、アプリケーションからのファンクションコ一川司芯じて、データソース との接続を確立、リクエストをデータソースに発行し、データを∞配仕様のフォーマットに妥当具、 アプリケーションに生辰野吉果を返します二 アプリケーションは、 1つのドライバのみを使用するように制限されていません" 1つのアプリ ケーションが、それそれρ ドライバを通して異なるデータソースハ例撒の接続、あるし、は 1つの ドライバを通して同じデ、ータソースに複数¢接続を行うことができます二 5 .S A S / A J α:ESSソフトウエア I n t e r f a c et o∞' B C 5‑1 . 哲腰 S A S / A C C F S Sソフトウエア I n t e r f a c et o∞配は、 W i n d o w sのデ二一タベースアクセスの標準である 孤 4 コ容易なデータアクセスを実現するものです。部/ A C C 巴Sソフトウ ∞配規格に準拠し、 D n t e r f a c et o∞配は、 S Q Lブ。ロシジャによる S Q Lパス・スルー機能のみサポートしてし法士 エア I α巴Sプロシジャや、 D B L O A Dプロシジャのように支持百形式わデ二ータアクセスを諸子 したがって、 A ‑ 3 8 1一
することはできませんが、さまざまな D 助Eのデータを用いて即E R Yや V I日をはじめ、 T A B L Eを 僧女することができます。また、複数テーブルのデ二ータ〈の同時アクセス、データのサブセット化、 D B M Sでの S Q L文の菊花行うことも可能です1∞配を介して D B M Sデータを読み込む場合、対象 となる D B M Sまたはアプリケーションの∞配ドライノ〈が必要で、あり、そのドライバを用いてデータ ソースの定義づけを行わなけれJ 持、けません。この時、使用する C Eやアプリケーションによって i n d o w sの場合、 1 6 b i tC Eである Windows3 .1 使用可能な∞配ド、ライパは異なります二とりわけ、 W (以下問N3 . 1 )や 3 2 b i tC Eである WindowsN T ( 以下 W I NN T ),Windows9 5 ( 以下 W I N 9 5 )が現在 こよって使用可能な∞配ドライバには注菅する必要があります二 共存してし、るため、環境i 5‑2. 使用可能な∞B Cドライバ os W I N3 .1 W I NN T ,W I N9 5 W I N3 . 1 +W I N3 お W I NN T ,W I N9 5 アプリケーション 1 6b i t 1 6b i t 3 2b i t 直2b i t 使用可能な∞配ドフイパ 1 6b i t 2b i t 1 6b i t,3 1 6b i t 3 2b i t 使用可能な∞配ドライバは、 W i n d o w sの白及びアプリケーションの b i t数によって決定します。 I NN T上の表計算ソフト略‑EXCE凶 . O( l6 b i t )によって使用可能な∞' B Cドライバは 1 6 b i t、 例えば、 W 3 2 b i tの両方になります。また、 W I NN T上の略‑ E X C E L 9 5( 3 2 bi t )によって使用可能な∞配ドライバ 2 b i tのみになります。 は 、 3 このようにアプリケーションによっては、 1 6 b i t、3 2 b i t両方のドライバを使用できます" ' I s、W I NN T 及び W I N 9 5におし、てはデータアクセスの殻淳を爵見した場合、 3 2 b i t∞配ドライバのみを使用して データソースを定義することが有効であると考えられます二これ壮、 3 2 b i t環境で 1 6 b i t∞ll3Cドラ 6 b i tから 3 2 b i tへU変換の際、オ」ノレヘッドが発生し、効率の低下を招き イパを使用すると、 1 A Sシステムでは、 1 6 b i t、3 2 b i t両方の∞配ドライバを提供しますユ かねなし、からです。 S 5‑3. 日S / A C C E S Sソフトウエア I n t e r f a c et o∞' B Cにおいて使用可能な∞B Cドライバ S 応システムは、 3 2 b i tのアプリケーションです。使用可能な∞配ドライバは以下似亘りになり 一フ一 イ一 配 一 一 ∞唯な一一 OS W I N3 . 1 +W I N3 お W I NN T W I N9 5 慨 一 時 一 山 ます二 5‑4. 略‑ E X C E 日. 0""のデータアクセス ここでは M S 一日C E 凶. 0""のデータアクセスに基づき、いくつかの S Q Lパススルー梼能の1 吏用例 を紹介します二郎 P R I ∞R A ME D I T O Rにおし、て SQLプロシジャを言己主、男子する前に∞配アドミニ ストレータを起動して、 M S ‑ E X C E L 5 . 0の ∞' B Cドライバにてデータソースを定義して下さし、。 ‑382‑
5‑4‑1 . 路 E X C E は O八のデータアクセス p r o cs q l ; c o n n e c tt oo d b c ( d s n = 'データソースネーム, ); s e l e c t f r 叩c o n n e c t i o nt oo d b c ( s e l e c t牢 f r 叩指定麓囲; d i s c o n n e c tf r o mo d b c ; qUlt ; * ①データアクセス範囲の指定方法 略 目CE 日. 0におけるファイルはブック汗先口こなっており、複数のワークシ」トから構成 lこおけるデータアクセス範囲を指定しなけれJ まなりません。 されますっーしたがって、そのファイノv 範囲の指定方法を 2ぐ漏介しますご ーワークシ」トの指定方法 上記'指定軍習に Nsheet1$N (ダブルクォーテーションを含む)と詰企する 一特定領域併旨定方法 こつけた名前を上記'指定範耳に記述する ワークシ」ト上の領域を反転させ、それJ ② E X C E L‑ )S A S聞のデータ変換 各回C 且データ型に矧志する、 S A Sシステムのデフォルト変数フォーマットは以下の通りて寸。 EXCELデータ型 実字列 数値 日付 日 教 リ 通貨 ∞ . SAS変数フォーマット $ 2 B E S T 2 2 . D A T 町l M E 21 .2 D A T 町l M E 21 .2 以L L A R 1 2 . 2 5‑4‑2. S Q Lパススノい一機能の活用(略 E X C E 日.0$ 肩 日. 0データにアクセスしてテーブルを僧或 1 ) 略 目CE p r o cs q l ; o c a l ' ); c o n n e c tt oo d b c ( d s n = '配 sv c r e a t et a b l et e s t出 s e l e c tn a I l l E ヨ f o n m t = $ 2 0 ., t 卯 ef o n n a t ニ$ 4 ., c i t yf o n m t = $ 1 5 . r o ms o u l f r o mc o n n e c t i o nt oo d b c ( s e l e c t f 酔='s o u l 'a n dl a b e l = ' h i 'o r d e rb yd e b u t ) ; w h e r et y * % p u t& s q l x r c ; % p u t金s q l刃 n s g ; * r o mt e s t ; s e l e c t f d i s c o n n e c tf r α no d b c ; q u i t ; ‑ 3 8 3一
①フォーマット指定 S Q Lフ。ロシジャを用いてテーブノレを僧安する際に、フォーマットを指定しない限り、デフォ A S褒激フォーマットが適用されます二 ルトの S ② w h e r e, 町d e rb yステートメント D 日M Sのデータにアクセスする際に、上記のように w h e r eステートメントを使ってテープノレを サブセット化することができます二また、 o r d e rb yステートメントによりオブザベーションを ソートできます二陶l 慎ソートの場合は、 o r d e rb yd e s c とZ 謎します三 2 ) 1つのデータソースの複数市貝或のデ、ータを結合してテープルを作減 p r ∞s q l ; c o n n e c tt oo d b c ( d s n = '配 s ̲ v o c a l '); c r e a t et a b l et e s t 2a s ヰ : ;s o u l( J Y : ,変数本/ s e l e c tn a m ef o n m t = $ 2 0 ., t y p ef o n m t = $ 4 ., ヰ : ;s o u lの変数本/ c i t yf o n m t = $ 1 5 ., ヰ : ;s o u l( J Y : ,夏激ヰ/ s e r i a lf o n m t = 4 . , 1 *s o u 1 2の変数 * 1 a d d r e s sf o n m t = $ l O ., 1 *s o u 1 2の変数 * 1 d a t e t i m ef o n m t = 由t e t i配 7 . 1 *s o u 1 3( J ) i : . ̲ 夏 激 ヰ / f r α nc o n n e c t i o nt oo d b c ( s e l e c t* f r α ns o u l,s o u 1 2 ,s o u 1 3 .n 加 配 =s o u 1 2 . n a m ea n ds o u l . n a m e=s o u 1 3 . n a m e ) ; w h e r es o ul % p u t& sq l x r c ; 知u t& s q l x m s g ; f r α nt e s t 2 ; s e l e c t* d i s c o n n e c tf r α no d b c ; q U l t ; ①w h e r eステートメント h e r eステートメントではよデータソース内 s o u l、s o u 1 2、s o u 1 3の 3つのテーブルを、 この w a m eをキ‑[;j結合し、 t e s t 2とし、うテーブノレを伶或します。 変数 n ②リターンコード ぬLパススル"‑‑i繍告を使用する場合、生成されるリターンコードやメッセージを、次の 2つ のマクロ衰激を通じて参照することができますユ S Q L X R C パススルー機能によって生成されるリターンコードカ滞納されてしぜ七 S Q はM S G パススルー機能によって生成されるエラーを説明するメッセージが 格納されてし法士 マクロ変数 S Q 山田C及び S Q 四郎の内容は、%円汀マクロを使用 Lて S A Sログ画面に出力 されます。 S Q Lフ。ロシジャのパススノレーステートメントを新子するた明こ、マクロ妥激 S Q L X R C 及び S Q L X M S Gは自説句に初期値にリセットされますユ ‑384‑
3 ) D B.¥1Sデータソースと S A Sデータセットを結合してテーフ、、ルをイ骨戎 p r o cs q l ; c o n n e c tt oo d b c ( d s n = ' m c s ̲ v o c a l ' ) ; c r e a t et a b l ew i t h s a s出 s e l e c tn a m ef o r m a t = $ 2 0 ., 1 *soulの褒激 * 1 t y p ef o r m a t = $ 4 ., 1 *soul ~夏激 * 1 c i t yf o r m a tニ$ 1 5 ., 1 *soulの夏激 * 1 e f f e c tf o r m a t = $ 1 0 ., 1 *sassoul ~変数 * 1 r e v e 川 ef o r m a t = c ∞ma7., 1 *sassoul の変数 * 1 d a t ef o r m a tニd a t e t i r r 肥1 6 . 1 *sassoul の衰激 * 1 f r α nc o n n e c t i o nt oo d b c ( s e l e c t f r 叩 s o u l ) a st 2 ,s a s u s e r .s a s s o u l出 t 1 n 訓1 8, d e b u td e s c ; w h e r et 1 . n a m e=t 2 . n a m e 2o r d e rb yt y p e, * めu t& s q l x r c ; % p u t& s q l x m s g ; * r 叩 w i t h s a s ; s e l e c t f d i s c o n n e c tf r α no d b c ; qUlt ; ①日付フォーマット I 肥w .フォーマットは、日S日日朝直つまり日付イ直と日韓?植を合わせた値に対芯しますっー 凶官T D D w .,阻N日)N.等の S A S日 付f 直のみに夫事志オるフォーマットを使用する場合、 したがって、刊附I D A T E P 庇T 関数を用いて日S日剛直》ら日5日イ引直を取り出します二以下の凶JAステップを 参考にして下さしも d a t an e w d a t e ; s e tw i t h s a s ; 陪 8 .; l e n g t hn o t i r r n o t ifll8=D A T E P A R T ( d a t e t i肥); f o r m a tn o t illl8 n e n g o 1 0 .; r u n ; 5‑5. 略 ‑ f o , i α巴S2.0ρのデータアクセス M i c r o s o f t社のデータベースソフトである応‑ A I α回S 2 . 0ハのデータアクセスにおける S Q Lノ ミ ス スルー機能を紹介します。 5‑‑5‑1 . 略‑ A I α巴S 2 . 0 ρのデータアクセス p r o cs q l ; c o n n e c tt oo d b c ( d s n = '配 sa c c e s s ' ); c r e a t et a b l em s a c c出 s e l e c tn a m ef o r m a t = $ 1 0 ., a g ef o r m a tニ 3 ., b d a yf o r m a t = d a t e t i r r 陪7 . r 叩 a c c e也 t a ); f r α nc o n n e c t i o nt oo d b c ( s e l e c t f * % p u t& sq l x r c ; 九p u t& sq l x n 凶 g ; F内 ηd n ou
* s e l e c t f r α nm s a c c ; d i s c o n n e c tf r α no d b c ; qmt; ①データアクセス査四の指定方法 A α巴S 2 . 0におけるファイノレは、複数のテーブルから成る'データベース'になってします。 略‑ したがって、テープうv 名を用してデータアクセス範囲を指定して下さしも上記プログラムでは、 , a c c e d a t a ' がテープノL 名にあたります三 ②リレーションシップρ のあるデータベース データソースとして指定したデータベースとリレーションシップのあるデータベースの こアクセスすることはてをません。アクセス可能なテーブノレはデータソースとして テープノレi 指定したデータベース内のものに限ります1 ③ ACUSS一 >S A S問のデータ変換 芯オる、剖Sシステムのデフォルト安激フォーマットは以下防車りです。 各 AαESSデータ型に対1 ACCESSデータ型 テキスト型 数値型 日付/日教1 盟 通貨型 SAS変数フォーマット $ w .(AαESS側の設泡 B E S ' ロ2 . D A T E f I 肥 21 .2 ぼ : J L l A R1 2 . 2 5‑5‑2. S Q Lパススルー欄縦の活用(略‑ A C C E S S 2 . 0締 p r o cs q l ; c c e s s ' ) ; c o n n e c tt oo d b c ( d s n = '配 sa 本 /D 助Eにてテーブルを結合。 e x e c u t e ( c r e a t et a b l em a k e t 油田 s e l e c tn a m e,a g e ,b 也y ,h e i g h t,w e i g h t 1 *新規テープ〉レ maket出 を ,g r o w t h f r α ns t u d e n t s 1 *僧丸 w h e r es t u d e n t s . n a m e=g r o w t h . n a m e ) b yo d b c ; c r e a t et a b l em s a c c 2ぉ s e l e c tn a m ef o r m a t = $ l O ., a g ef o r m a t = 3 ., b d a yf o r m a t 吋a t e t i m e 7 ., h e i g h tf o r m a t = 6 . , w e i g h tf o r m a t = 6 . f r α nc o n n e c t i o nt oo d b c ( s e l e c t f r α nm a k e t a b ); * % p u t& s q l x r c ; % 以l t& s q l x m s g ; * s e l e c t f r α nm s a c c 2 ; d i s c o n n e c tf r α no d b c ; qmt; ‑386‑ 本 / * 1 本 /
① executeステートメント exeωte ステートメントは、 S Q Lステートメントを D 日M Sに送り、交正里を新子させます1 これJ こ より, S A Sシステムから D B M Sデータの操作を行うことができます二 create、insert、delete、update 等のステートメントを D 聞 Sにわたすことにより、テーブルの僧式テーブノレU 鴻音合、オブサX ー ション併申入などが新子可能になります三 5‑5‑3. SASデータセットを応‑ACC巴S2.0へロード d a t a̲ n u l l ̲ ; s e ts a s u s e r . d a t a l o a d ; 百1NAME干o u t p u t .t x t '; file' PA "a g e ", ' "n e w d a t e " ' ) )b yo d b c ; " ; p u t" e x e c u t e( i n s e r ti n t ot o a c c e s sv a lu e s( ' ' 'n a m e ' ", r u n ; p r o cs q l ; c o n n e c tt oo d b c ( d s n = ' m c sa c c e s s ' ) ; e x e c u t e ( c r e a t et a b l et o a c c e s s ( n a m ec h a r( 8 ), a g en l J I l 1 be r , n e w d a t ed a t e ) )b yo d b c ; %inc' PA 百1NAME¥o u t p u t .t x t '; s q l x r c ; % p u t& s q l沼 n s g ; % p u t& d i s c o n n e c tf r α no d b c ; q U l t ; ① SASデータセットのロード p u tステートメントを用いて、 s a s u s e r . d a t a l o a dのデータを o u t p u t .t x tの e x e c u t eステート E 略に僧或したテーブノレ t o a ∞essに includeマクロを用いて、 メントに挿入します1 次に、 D ωtput.t x tの e x e c u t eステートメントを菊子、データをロードします二 5‑5‑4. ベンチマークテスト 下記条件のもとで、ベンチマークテストを諸子しました。 クライアント A T & TGL 侶 札Y 訂 6 ∞ ( P e n t i u m6 0附 立 / 1 6肥) T3 . 5 1Workstation W i n d o w sN サ」パ D E L L4 閃 6/X E( 8 0 4 8 6D X 46 6附lZ/3 2阻) W i n d o w sN T3 . 5 1Server データサイズ o 7変数 /20, ∞ オブP サX ーション ‑387‑
① S A Sシステムから M S ‑ A C C 巴S 2 . 0にデータアクセス ( 5 ‑ 5 ‑1 . の S Q Li d 己主参,鴨 所要担寺問 4 1 .1 1秒 ② S A Sシステムから略 A C C E S S 2 . 0にデータロード(シ5 ‑ 3 .の S Q L託虻参,鴨 所要担普間 1 2分 4 4 .7 6秒 ①、②ともに同一のデータセットを用いて行し、ましたが、②はオブザベーション単位で i n s e r t ステートメントを発行するため、所要事許聞に差が発生しました∞配のパフォーマンスは、基本 ‑ 5 ‑ 2 .のようにデLータ操作を工夫することにより、パフォー 的に∞配ドライバに依存しますが、 5 マンスの改善を図ることができますc 6 . おわりに 今日の異樹曹司のデータベース環境で、アプリケーションにデータアクセス機能を持たせる ことは、ソフトウエア針士や企勅のシステム開発者にとって非常に複雑な閣です三∞配は、 鵬 このデータアクセスの難題を解決するための第一歩です。今後さらに多くのユー尚三容易に D にアクセスできるようになることでしょう。その中で、 S A S / A I α巴Sソフトウエア I n t e r f a c et o∞J 3 C 1 は、高度なコネクティピティを実現するための重要なツーノレl こなってし、きます。 7 . 参考文撤 S A S / A C む毘SS o f t w a r eC h 釘1ge sa n dE n h a n c e 肥 n t sS Q LP a s sT h r o u g hF a c i l i t yV e r s i o n6 S A S / A C C E S S ソフトウエア R D 助E 共通リファレンス 388‑
SASシステムによる混合実験データの解析 。阿部貴行 岩崎学 成際大学工学部経営工学科 A n a l y s i so fM i x t u r eE x p e r i m e n t sbySASS y s t e m . S巴i k 巴i U n i v e r s i t y ) T a k a y u k iAbe ( D e p e r t m e n to fI n d u s t o r i a lE n g i n e e r i n g, ManabuI w a sa k . i ( D e p e r t m e n to fI n d u s t o r i a lE n g i n e e r i n g, S巴i k e iU n i v e r s i t y ) 要旨 混合実験データの解析を正しく効果的に実行するためには、幾つかの注意が必要である。本論では、 SAS/ I 胤 ソ フ ト ウ ェ ア と SAS/GRAPHソフトウェアを用いた分散分析および応答曲面の推定を議論する。 キーワード 混合実験、応答曲面、分散分析、 SAS 江恥江ソフトウェア、 SAS/GRAPHソフトウェア 1 . はじめに 化学,工学,薬学,食品学など多くの分野では、いくつかの原材料を混ぜ合わせてモノを作り、その性質 を調べるという種類の実験がよく行われる。このような種類の実験を総称して、混合実験と呼ぶ。また、混 合実験データの解析において、たいへん効果的な統計的手法の一つに応答曲面法がある。 この様な混合実験データに対して、 (1) 誤った分散分析が、しばしば行われている。 (2) 既存の統計ソフトでは、応答曲面を出力してくれない。 という 2つの問題点がある。 そこで本論文ではこの様な問題点を解消するために、 (1) SAS 月恥11..ソフトウェアによる分散分析表の出力。 (2) SAS/GRAPHソフトウェアによる応答曲面の出力。 を行う事を試みる。 2 . 混合実験とは 例えば、混合実験データは、表 1 (岩崎 学(19 9 4 ) r 混合実験の計画と解析』 サイエンテイスト社を x2, x3がミックスジュースの各原料の混合比を表わ 参照)の様な形で得られる。この場合、 3つの成分 XI, し、特性値 yは何人かの被験者にジュースを飲ませたときの評価値になっている。 表 1 3成分混合実験データの例 6 。 。 。 。 。 。 。 。 。 7 2 / 3 8 1 / 6 1 / 6 2 β 9 1 0 1 / 6 1 / 6 1 / 3 1 1 3 実験番号 2 3 4 5 x1 1 / 2 x2 x3 1 / 2 y ) 特性値 ( 5 . 1 5. 4 5 . 5 5 . 7 1 / 2 6 . 3 1 / 2 1 / 2 6. 4 1 / 6 5 . 8 1 / 6 6 . 0 2 / 3 l β 6 . 8 1 / 2 ‑389 6 . 5
混合実験においては、表 lからも分かるように成分間に、 X ; 孟 , o ( i = 1ム … ,q) X+X2+…+xq= 1 ( 2 . 1 ) の 2条件が成立していなければならなし、。つまり、各成分の水準をそれぞれ独立に選択することはできな い。そのため、通常の実験計画での主効果や交互作用の概念をそのまま混合実験データに適用することは、 良い方法ではない。そこで、応答曲面によって混合実験データを解析することが非常に有用な方法となる。 X ) と特性値 ( y ) の関数関係をグラフイカルに表現したものである。 ちなみに、応答曲面とは、各成分 ( 3. 混合実験の目的 表 lの例において、実験者が知りたい事,つまり混合実験の目的は、 おおまかに言うと、 (1)ジ ユースが最もおいしくなるときの各原料の混合比 (2)各原料の混合比とおいしさの関係 の 2つにまとめられるであろう。そして、 (1) ,(2)の様に最適な特性値を探索したり、成分と特性値の 関係を見るという作業は、応答曲面を用いることによって視覚的に行う事ができる。 4. 混合実験データに対する分散分析 応答曲面によってデータを解析するためにはデータに何らかのモデルを当てはめる必要がある。そこで ここでは、表 lの混合実験データに Scheffeモデルとスラック変数モデルの 2つのモデル(表 2)を最小二 乗?去を用いて当てはめる事にする。 表 2 データに当てはめるモデル S c h e f f eモデル スラック変数モデル X2+s X)+s Y=s l X +s 2X2+s ) x )+s l 2Xl 1 3Xl 2 ) X X ) l 2 L.2 X2 X2+α( Y=α。 +αlX + α2 X (+αI : X I :+ α12Xl l づ それぞれのモデルの特徴は、 Scheffeモデルは定数項が無くすべての成分 ( X1, X2, X3) を含んでいる事で ) が完全に除去されてい あり、スラック変数モデルは定数項を持つでいるがある lつの成分(表 2では X3 る事である。この様に混合実験では、 ( 2 . 1)の制約がある為にいずれかの項を消去しないとモデルを一意的 に表現することが出来なくなっている。また、最終的には、成分すべての振る舞いを見る事の出来る Scheffe モデルの応答曲面の出力を行い、スラック変数モデルは、その比較に用いる。 実際に当てはめた結果はそれぞれ、 y=5 . 0 3 x +5.35x2+5 . 6 0 x )+1 .77x l X . 2 8 x x )+4 .1 2 x ) l z+4 l 1x ( 4 . 1 ) y=5 . 6 0+3 . 7 1 xl+3 . 8 6 x .1 2 x i‑6 . 6 3 x X1 2‑4.28x~ ‑4 l ( 4 . 2 ) となる。したがって、この多項式の応答曲面を出力すれば良いわけだが、その前にこのモデルが表 lのデー 4 . 1)のデータに対 タをうまく表わしていないとモデルとしての意味がないので、分散分析を行いモデル ( する当てはまりの良さ,つまり適合度を調べることにする。 S c h e f f eモデルは定数項が無いモデルであるが、通常の定数項の無いモデルとして分散分析を実行すると、 誤った結果を導く o yを推定値 ,yを 標 本 平 均 と す る と 、 正 し い 分 散 分 析 表 は 表 3で表わされる。 (Marquardt, D.W.如 . dSnee, R.D. ( 19 7 4 )T e s ts t a t i s t i c sf o rm i x t u r em o d e l s .Iechnometric~, 16,533・537. を参照) ‑390‑
表 3 Scheffeモデルに対する分散分析表
要因
自由度
平方和
平均平方和
F比
モデル
p‑1
SSR=L:~I(Y
一一)2
j~l ~Yj ‑
Y
SSR/(p‑1)
)
SSR/(pー 1
SSE/(n‑p
)
残差
n‑p
Y
j一
九)
2
SSE=L~~l (
SSE/(n‑p
)
SASには、混合実験データに対して表 3のように分散分析表を出力するプロシジャが無い。そこで、行
lMLソフトウェアを用いて独自にプログラムを作成し、実際にモデル (
4
.
1
)の分
列演算を得意とする SAS!
散分析を実行する事を考える。結果は、表 4で与えられる。これによって、この表の例えば F比の様な検
定統計量を見る事によって、混合実験データの適合度の評価を行う事が出来るようになる。
表 4 Scheffeモデルに対する分散分析表(数値例)
i。
‑
rロt
sO
fs
q
u
r
e
s F
D
.
F
. S
u
mO
fS
q
u
r
e
sM
eロn
S
o
u
r
s
e
s
険>de
l
5
2.458
0.492
E
r
r
o
r
4
日.
2
0
7
0.052
T
o
tロ1
9
2.665
9.491
5. 混合実験データに対する応答曲面
S
c
h
e
f
f
eモデルの応答曲面を出力する前に比較のためにスラック変数モデルの応答曲面の出力を行う。 (
4
.
2
)
のスラック変数モデルの場合は、変数の数が 2つなので、 SAS/GRAPHソフトウェアの gcontourプロシジャ
(3次元的表現の場合は、 g3dプロシジャ)をそのまま用いる事が出来る。例えば、モデル (
4
.
1
)の応答曲
y
) を高さにとった 3次元的表現は、図 2の様になる。
面は、図 lの様になり、特性値 (
図 1 スラック変数モデルの応答曲面
1
.00
図2 図5
.
1の 3次元的表現
v
ð.~ð
~.88
5
0
0
.:
:
5 20
4 ち2
0.2~
0.00
o. ∞ロ.~
0
.:
5
0
o
.汚 1 . ∞
1
.
∞
XI
ーーーー-~.23:I
一
‑4.929
‑ーーーーヨ.:14
一-~.制?
一 一 ・ &.153
{
' ‑‑4.&24
‑‑&.4
四
ロ
.
∞
司o
.∞
1
関数の概形を見るというような作業には図 2の様な 3次元的表現が適しているし、特性値の最大値を探
索するような作業は図 lの様な 2次元的表現が適している。しかし、図 lを見ても分かるように、スラッ
ク変数モデルでは、本当は 3変数あるのに、 2変数の振る舞いしか分からず、真の関数関係は分からない。
c
h
e
f
f
e多項式モデルの応答曲面を出力することを考える。しかし (
4
.
1
)式を見ても分かるように
そこで、 S
3変数 2次の Scheffe多項式モデルは 3つの変数を持っている為に、 SAS/GRAPHソフトウェアの gcontour
プロシジャをそのまま用いることは出来ないので、 X1,
X2,
X3の 3次元空間内に存在する (
4
.
1
)式を Z1,
Z2
‑391一
の 2次元空間の関数に変換する方法を考える。また、図 3を見ても分かるように、 (
2
.
1
) の制約から (
4
.
1
)
の関数は 3次元空間内の関数であるが、実際の定義域は斜線部分の 2次元空間になっているので、変換が
可能である事が分かる。
図3
3成分混合実験データの定義域
図 4 2次元空間関数への変換
Z2
X 3=
1
=1
X1
X 1=
=1
1
Zl
X2
実際には、図 4のように Z1,
Z 2軸をとり、変換を行う。変換式は、
1
1
X1= ‑
Z
I一石 Z2+E
X2
二
Z
I
一石い三
2
X3=
.
J
322
(
5
.
1
)
のようになる。 (
5
.
1
)式を用いることによって (
4
.1)式は、 2変数関数に変換されるので、 SAS/GRAPHソ
フトウェアの g
c
o
n
t
o
u
rプロシジャをそのまま用いることが出来る。 g
c
o
n
t
o
u
rプロシジャを用いて、 3変数の
S
c
h
e
f
f
e多項式モデルの応答曲面を出力した結果が図 5である。
この様に S
c
h
e
f
f
e多項式モデルの応答曲面を出
図5 S
c
h
e
f
f
e多項式モデルの応答曲面
力する事によって、この場合、 3変数すべての
X2
1
.00
関数関係を正確に見る事が出来るようになっ
0.75
た。また、例えば今回の混合実験データの場合
X
O.~
1
:X2 :X3をおよそ
1:1:3の割合で混ぜ合
わせた時、最もミックスジュースがおいしくな
り、最適な配合から少々のズレがあっても急に
0.2~
。
おいしさが落ちる事はないというような情報
0.0
-{).~
‑
{
)
.
2
ヨ O.回J
0.2宮
が、即座に得られる。
O.~
X
l
y
--4.~21
ー一一-~.1 同
-一一-~.811
・・司‑ 4.844
一
一
‑
‑‑d.134
~.48g
一一一-ð.4~
6. おわりに
本論文では混合実験といっても、 3成分の場合のみを取り上げてきたが、当然、 4成分以上の場合に関数
関係をどのように見ればよいかという問題点が残る。例えば、 4成分の場合では次数を l下げても 3次元
空間の関数にしかならず、関数関係を見るためには、応答曲面法を何らかの方法を考えて用いるか,あるい
は全く別の方策を新たにを考えなければならない。
<参考文献>
岩崎
学
(
19
9
4
)
r
混合実験の計画と解析j サイエンテイスト杜
M訂 '
q
u
a
r
d
t,
D.W.a
n
dS
n
e
e,
R
.
D
. (
19
7
4
) T
e
s
ts
t
a
t
i
s
t
i
c
sf
o
rm
i
x
t
u
r
em
o
d
e
l
s
.1echnometric~, 16,
5
3
3
‑
5
3
7
.
‑392
日本 SAS ユーザー会 ~UG I‑J) QS1Mアプリケーションの紹介 竹内敬治 システム政策部社会情報システム室 株式会社三菱総合研究所 AnI n t r o d u c t i o nt oQSIMa p p l i c a t i o n K e i j iT a k e u c h i S y s t e m sR e s e a r c hDep . t MITSUBISHIRESEARCHINSTITUτt, INC . 要旨 リリース 6 . 1 1の SAS;ORプロダクトに新しく追加された QSIMアプリケーション(待 ち行列シミュレーションツール)について紹介する。 キーワード: OR 待ち行列 シミュレーション はじめに 待ち行列は、 O Rの主要手法のひとつであり、生産工程管理、通信トラヒック分析、計 算機の性能評価、交通流解析等に応用されている。最近では、 BPR (ビジネスプロセス リエンジニアリング)にも応用範囲が広がっている。 u r p o s eS i m u l a t i o n 待ち行列のシミュレーション言語としては、かつては GPSS(GeneraI P c r i p t e r )、SIMULA等が利用されてきた。最近では、 CACI S y s t e m ) 、SIMSCRIPT(SimulationS 杜の MODSIMに代表されるように、オブ、ジェクト指向言語、グラフィック表示機能、開発 環境が統合されたツールが発売され、シミュレーションモデルの作成は容易になってきて いる。 SAS;ORに追加された QSIMアフリケーションも、そのようなツールのひとつである。 QSIM アプリケーションでは、マウスで画面上に部品をならべることで、プログラムを 組むこと無しにシミュレーションモデルを開発できる。 ‑393‑
2 QSIMアプリケーションの画面 2 . 1 画面の構成 コマンドラインで QSIMと入力すると、下図のような画面が現れる。 これが、 QSIMア プリケーションのメインウインドウである。 画面の左側にはツールパーが配置されている。ツールパーで選択した部品を、右側の画 面に配置し、シミュレーションを行う。 下図に表示されているモデルは、サンプルライブラリにある m/m/c !Kモデルである。 ‑1D;:Q ' Hω 1 D ;1 1 D . :3 2 . 2 ツールバーの機能 画面左側のツールパーの機能は以下の 3つのグループに分かれる。 2 . 2 . 1マウス選択時の機能設定 マウスによるクリックを行ったときの動作を設定する。以下の機能からひとつ 選択する。 遺択、移動、複写、接続、 リサイズ、静i 除 シミュレーションの寓始、停 止、属性画面表示 2 . 2 . 2画面全体に対するコマンド このグループのアイコンを選択すると、画面全体に対するコマンドが実行され る。以下の機能がある。 ‑ 3 9 4
アニメーション ON/OFF、シミュレーションの開始、中断、階層化範囲指定、 クリア、ビュー表示、モデルの保存、表示属性の設定、整列、ツールパーのカ スタマイズ 2 . 2 . 3 部品 あらかじめ用意された部品として、以下のものがある。 ① デ ャ 一 介 Barc h a r t, S t r i pc h a r t , Probe 。 ② ホ ル ダ ー NumberHolder, S t r i n gHolder ロジック AdderS p l i t t e r, S i n g l eM o d i f i e r , Mul 中 , l eM o d i f i e r, S i n g l eT r i g g e r , MultipleTrigger, Router , S w i t c h @宇.:z.‑ FIFO , LIFO, P r i O T 句 ⑤ サーノ,. S i n g l eS e r v e r, M u l t i p l eS e r v e r ソース Sampler, T r a n s a c t i o nPool ⑦ ぞC 僧 C o n n e c t o r, P o r t, Lab e l, ⑥ これらの属性を変更し、テンプレートとして新たに登録することもできる。言 い換えると、サブクラスを生成することができる。複数の部品をまとめて新しく ひとつの部品とすることもできる。 2 . 3 例示モデルの説明 全ページのモデルは、非常に単純であり、 4つの部品で構成される。このモデル を例にとって説明する。 2 . 3 . 1s a m p l e r 災宏 一番左のアイコンL~~0f 詳は、 Sampl巴r であり、乱数によって決められる時間間隔で、 トラ ンザクションを発生させる機能を持つ。 S a m p l巴rの属性設定画面は以下のとおりである。 ‑395‑
トランザクションの発生時間間隔分布としては、以下の分布が用意されている。 E x p o n e n t i a l, Gamma, E r l a n g, NonHomogeneoutsP o i s s o n, U n i f o n n, I n v e r s eU n i f o n n , D e t e r m i n i s t i c, FonnulaD i s t n ・ b u t i o n, DataS o u r c e E x p o n e n t i a lから I n v e r s eUniformまでは、通常よく使われる分布であり、 D e t e r m i n i s t i cは 、 i s t o r i b u t i o nは、汎用の分布であり、下図のような専用 固定時間間隔指定を行う。 FormulaD エディタ画面で任意の分布を設定できる。 DataS o u r c eは 、 SASデータセットの変数値から値を読み込む。 2 . 3 . 2キュー 2番目のアイコン孔‑は FIFOキ ー あ る 属 性 設 定 画 面 を 示 す ,^.' m この画面で、キューの容量を設定することができる。 ‑396‑
2
.
3
.
3サーバ一
e>;
3番目のアイコンj':
ν
1盈は、複数のサーバを表わしている。属性設定画面を示
す
。
C
a
p
a
c
i
t
yの 3は、サーバの数を示している。サーバのサービス時間は、 S
a
m
p
l
e
r
と同様の時間間隔分布から選択できる。
2
.
3.4チャート
画面上の部品の内部状態を、チャート表示することができる。チャートの属性
設定画面を示す。
l
1
"
"̲ ̲
‑ー・醐醐師岡蜘醐
S
t
a
t
i
s
t
i
c
s
匙認
!
L
.
.
.
2rro
1
.
I
!
i
!
:
h
D
1
.
i
t
.
.
.
0
.
.
hヰ
!
!
!
:
1
!
!
!
3
.
s
2
.
菰
?
鵡
換
さ
さ
お
i
:
J
f
,Ll
;
t
!
君主主側 1
'
:毘
軍
国
・
・
・
・
・
・
・
・
・E
A
x
e
sC
o
n
t
r
o
l
s
V
e
r
t
i
c
a
lAxi
sR
組問
。o
I
担臨訟
4品
‑397一
1 •.
0 0
2 . 3 . 5シミュレーションの実行 ツールパーをスタートボタンをマウスでクリックすることにより、シミュレー ションが開始される。アニメーション表示を ONにすると、トランザクションが 実際に画面上を動いていく。 ストリップチャートには、リアルタイムに表示が進んでいく。シミュレーショ ン実行中の画面を示す。 2 . 3 . 6結果の解析 シミュレーション中にデータを収集し、解析を行うことができる。この機能の 実行結果を示す。 まず、アウトプットウインドウに、部品毎の結果が出力される。 一一一一一一一一一一一一ー一一一一一一‑NP.lI I = r1士叫 u e u e1 l h 1 i variateProcedure V a r ia b le=TIME loments Quantiles( D e f = 5 ) T:lea n =O 536 SumWgts 0.078618 S 四 0.260774 Variance 3.710283 Kurtosis 39.69464 CSS 3 31 .6962 Stdlean 6.979783 Pr)I TI J I ( S i g n ) SgnR自由 34 .5 P r)=11 1207.5 Pr)=I S N lean StdOev Ske wness USS CV 相皿^= 0 I~I 。 。 。 。 。 唱 I ! Range 1 .654685 。 Q3‑ Q1 。 536 42.13945 0 . 0 6 8 0 0 3 13.414 主6 3 6 . 3 8 1 7 0.011264 0 . 0 0 0 1 6 9 0 . 0 0 0 1 0 . 0 0 0 1 1 0 0 %M a x 1 .654685 75 首Q3 喧l ed 50 2 5 首Q 1 i n !ode ! 田 S E x廿 e L四 回t Obs 。 f ( O o O o ( ( H i g h e s t 5 3 5 )1 .343618 5 3 4 )1 .353294 5 3 3 )1 .481802 5 3 2 )1 .654685 Obs 3 2 1 ) 203 9 0 ) 3 6 9 ) 4 6 0 ) 続いて、次ページのようなグラフが表示される。 ‑398 9 9 首1.312599 9 5 首 0.8124 9 0 首 0.207281 10 冒 5 首 l 首 。 。 。
D i s t r i b u t i o nF u n c t i o nE s t i m a t e N A l IE = ! S e r v e r2 1 0 0 90 07 06 95 04 03 G2 0 8 CUMULATIVEPERCENT 1 0 0 . 0 0 . 6 L2 L B 2 . 4 3 . 0 3 . 6 4 .2 4 .B 5 .4 6 . 0 6 . 6 7.2 7 .B T Il I E!I日間 I N T 3 例:テクニカルサポート もう少し複雑な例として、テクニカルサポートのワークフローのシミュレーションモデ ルを示す。 ‑ 3 9 9
アニメーション表示で、トランザクションが電話の絵にになっていることに注意された い 。 トランザクションのイメージは任意に指定できる。 4 オブジェク卜指向言語 O O L QSIMアプリケーションは、狙自のオブジェクト指向言語 OOLで記述されている。 SCLは、過去をひきず、ったまま、オブジェクト指向プログラミングのサポート機能を盛 b j e c tP a s c a !等の他のオブジェクト指向言 り込むために増改築を重ねてきた。そのため、 O 語に比べてコーディング量がかなり多くなる。 しかし、この OOLは、洗練された文法を持っており、シンプルに記述できる。 プログラム例を示す。 m e t h o di n i t O d i s p l a y M a x=1 0 ; d i s p l a y M i nニ 1 0 ; E''d ︐ llJ. 守 ︐ . ︑ m e t h o do p e n0 p a r e n tt y p e O fWindo~ i f T r u e p a r e n tm a n a g es e l f ; s e l f̲ o p e np a r e n ts c o ls r o wn c o ln r o w ; x o ri g i nニ 1 ; y o ri g i n = l ; s e l ff r a m e 1n c o l 11 ; s e l ff r a m e 1n r o w10 ; o p e n f l a g=T R U E ; 5 おわりに 待ち行列シミュレーションには、先に述べたように、さまざまな応用分野がある。市場 には、 MODSIM等の優れたツールが既に存在するが、 S ASの他の機能との統合が可能であ れば、他のツールに比べて大きなアドバンテージとなるはずである。 リリース 6 . 1 1のQSIMアフリケーションは、まだ β版であり、動作も不安定である。 今後の改良、 S ASの他のプロダクトとの連携機能の向上に期待したい。 ‑400‑
日本 S A Sユーザー会 (SUG I‑J) リリース 6 .1 1S A S / A Fソフトウェアツールの紹介 羽田野実 株式会社 SASインスティチュー卜ジャパン 技術部開発セクション I n t r o d u c t i o nt oS A S / A Fs o f t w a r et o o l si nt h e6 . 1 1r e l e a s eo fS A S M a k o t oH a t a n o R & Ds e c t i o nT e c h n i c a lD e p a r t m e n t, S A SI n s t i t u t eJ a p a nL td , . 要旨 リリース 6 .1 1S A Sシステムにおいて,評価版として提供された S A S / A Fソフトウェアの 3 C Lパフォーマンスアナライ つのツールについて紹介する.紹介する 3つのツールとは, S M E N U ビルダ,クラスブラウザである.本論文では,これらのツールの使用方 ザ,対話型 P 法と特徴について記述する. キーワード: S A S / A Fソフトウェア S C LP M E N US C L 1. はじめに SAS 泊 F ソフトウェアは対話型アプリケ ーションを作成するプロダクトである.一 S C Lパフォーマンスアナライザは W i n d o w s 3 .1 + 3 2 s 版, W i n d o w s 9 5 版, W i n d o w s 9 5版及び O S / 2版でのみ使用できる. 般にアプリケーションは FRAMEエントリ で作成される.また,メニューは PMENU エントリで作成される.そして, CLASSエ ントリを作成してアプリケーション開発の 能率を向上させる.このようなアプリケー ション開発をアシストするツールとして以 . 1 1で評価版として提 下の 3つがリリース 6 供されている. 口 S C Lパフォーマンスアナライザ 口対話型P M E N Uビルダ ロ クラスブラウザ S C Lパフォーマンスアナライザ S C L パフォーマンスアナライザは性能を 重要視するアプリケーションを開発する場 合にとても有効なツールである.このツー ルにより性能のボトルネックとなる関数を 見つけ出して,アプリケーションの性能向 上に役立たせることができる. 2. 2 . 1 特徴 SCLパフォーマンスアナライザの特徴を 以下にリストする.
" s c ! p r o f t i m e r 0[["を入力する. ロダイナミックに A F アプリケーション ( F R A M E,S C L,P R O G R A M ) の制御シーケ 2 . 3 構成 C L メソッド/ラベルレベルで ンスを S 組織チャートで表示する. トレースパ 以下の 5つのウインドウより構成される. ックとすべての呼び出し元が選択され たエントリに対して表示される.この チャートによりアプリケーションの制 御の流れを理解することができる. 口アプリケーション内のそれぞれの S C L エントリの実行時間及び使用統計量を 表示する. ロメインスクリーン 口システムのレイアウト 口エントリ比較 ロメソッド比較 口ソース 2 .3 . 1 メインスクリーン 口 アプリケーション内のすべての S C Lメ ソッド/ラベルの実行時間及び使用統 計量を表示する. R A M E 口 アプリケーション内のすべての F のオブジェクトメソッド, S C L 関数, D A T Aステップ関数,ユーザ定義メソッ ド/関数, P R O Cステートメント ( S U B M I T アプリケーションについての情報の要約 と生成されたデータ(システムのレイアウ ト,エントリ比較,メソッド比較,関数比 較)を表示する 4つの選択肢を表示する(図 l参照) . SCL パフォーマンスアチヲ平子 ステートメントで使用)の実行時間及 び使用統計量を表示する. C Lソ 口すべてのスクリーンは関連する S ースプログラムにドリルダウンして, S C L ステートメントレベルで項目別実 行時間及び使用回数付きでソースを表 示する. q メソッ同級 的 要 qJ'a 数数数数 リ回ルの トしベ数 ン出レ問 エびの ' レ 岬 一 時 ツ ラ / ソ メ 口 このツールを使用するためのリコンパ イルは必要ない. 図 1 メインスクリーン 2 . 2 起動方法 " a fc = !i b .c at .m e m .t y p e s c ! p r o f = y e s " とコマンド行より入力する.そしてアプリ ケーションを終了すると, S C Lパフォーマ ンスアナライザのメインスクリーンが表示 される.アプリケーションの実行の一部に s c ! p f r o [ = y e s " ついて解析したい場合は, " を指定して起動後,解析開始時にコマンド 行より " s c! p r o [ t i m e r o n "を入力して解 析終了時にコマンド行より 国 理盟盤・置砲盟園圃園田・‑圃... 週.. ム2 要約とは,アプリケーションについての 4つの有効な情報,エントリ数,メソッド /ラベルの呼び出し回数,辞書のレベル数, 関数の数である. エントリ数とは,アプリケーションが実行 したエントリの数である. メソッド/ラベルの呼び出し回数とは, アプリケーション実行シーケンス中に実行 されたメソッドブロックとラベル付けされ たセクションの数である. ‑402‑
関数の数とは,アプリケーションが使用 した S C L関数の数である. 辞書のレベル数とは,アプリケーション のネストの深さの最大数である.例えば, ックしたエントリとラベルのソースを表示 する.検索ボタンはエントリ名,ラベル名 又は両方の項目を検索するダイアログを表 示する.プリントボタンはプリント設定ウ a .p r o g r a mが b .s c1を呼び出し, b .s c1が c .f r a m e を呼び出す場合,辞書のレベル数 インドウを表示して,アプリケーションの 呼び出しシーケンスをプリントする. は 3である. 2 . 3. 3 エントリ比較 2 .3 . 2 システムのレイアウト システムのレイアウトウインドウ(図 2 参照)は,アプリケーションの呼び出しシ ーケンスを表示する組織チャート,とアプ リケーションの最初のエントリの最初のラ ベルの全時間及び活動時間を表示する. エントリ比較ウインドウ(図 3参照)は アプリケーションが実行したすべてのエン トリをそれぞれのエントリごとに全時間, 活動時間,エントリ内のラベルが実行され た回数を付けてデータテーブルに表示する. ‑E 盟周回ll:!!I厩盟国璽里曙盟‑園田園圃圃圃圃圃・圃圃圃圃圃・・・・ー‑‑ー‑‑ーーーー‑寸胃主3 s 旦 ヱ ン 門 岡 町 パ 7← マ フ ス 民 世 SCL 二 J ( , ' Yリ 一山 市 ⁝ リl t ニJ ト l T I I U 1 I 80.27198 38.17123 1培勤時咽 金明 。 。 … 0 . 0 価 制 。 : 7 1 ] : ' ‑ ' 1 I , . : 7 ント j1 ')‑~則 一 一 一 一 一 一 一 一.fr.時宿 1 8 I 訂 I I l . 38.3828 3 5 .328lT "叫軒 Z エントリ ー ICQU 前 1 KlIT町~ "D !10611 .CA T 1oo.EXlPL ! :I 1 5 D!1061LCA TlOO.lDPll: , 10.76159 0.27151 4 0 SASUll P ̲1 S P ̲I1AGKCLS̲!1 ‑ 0.48903 0.13813 56 SASHlL P .APCLASS.lNPUT 1 0.4111J 0.08321 l l .P . ' S P .I u 'C LASS.$( I 2 SASH 巴 0.307 0.02613 回 目L P .AYCLASS.LABEL .I 1 0 S 4 . O .6411 0.00798 2 SASL l ! l P .Al'cu . . ss̲GBlITl1.....J 0.00465 0.00233 1 SASI I lL P .1 S P .II J . G!IAP.:叶 i 叶 図 3 エントリ比較 図 2 システムのレイアウト 全時間とは,ラベルの実行の開始から復 帰( r e t u r n ; )までの時間である. 活動時間とは,全時間からカレントのラ ベルから呼び出されたすべてのラベル及び メソッドの活動時間を引いたものである. 組織チャート上のノードをクリックする と,クリックしたエントリ/ラベルの全時 間及び活動時間を表示する.また 2つのリ ストボックス(トレースパック,呼び出し 元)も更新される. トレースパックはクリ ックした項目の実行に至るまでの呼び出し シーケンスを表示する.呼び出し元はクリ ックした項目のすべての呼び出し元を表示 する.項目をダブルクリックすると,クリ データテーブルの内容は活動時間,回数 又はエントリ名でソートできる.また,デ ータテーブルはプリントできる.データテ ーブルの行を選択すると,回数フィールド に基づ、いて 1つ又は 2つのアクションが実 行される.選択された行の回数が 1の場合, ソースウインドウが表示される. 2以上の 場合,その行のエントリから呼び出された すべてのラベルとエントリを表示するメソ ッド比較ウインドウが表示される. 2 . 3. 4 メソッド比較 メソッド比較ウインドウ(図 4参照)は アプリケーションが実行したすべてのメソ ッドブロックとラベル付けセクションをそ ‑403‑
れぞれのメソッド/ラベルに対する全時間
び出されるメソッドの名前がデータテーブ
と活動時間,実行された回数及びラベルが
ルの列 METHOD に表示される.関数が
存在するエントリの名前付きでデータテー
d
i
s
p
l
a
yの場合,実行されるエントリの名前
ブルに表示する.
がデータテーブルの列 METHOD に表示さ
れる.データテーブルの内容は時間,回数
│ 町 Lメソッド/ラペル岡山フ tイ シ ス 雌
E
よ 止 とj
百又は関数名でソートできる.また,データ
テーブルはプリントできる.データテーブ
,
.
叱 .的リ̲,・
一一一一一寸同坦
f
"
1
3
"
0
エントリ
者出面
ラベル
L
l
.
Till ニ
J
0.25018
O.OH38
0
.
0
0
8
3
1
0
.
0
4
8
2
9
O
̲00963̲̲
0.08686
0.05703
0.00585
0
.
0
0
9
1
0
.
0
0
1
5
1
O
̲0
0
2
9
2
。
即
時
「
図 4 メソッド比較
ルの行を選択すると,回数フィールドに基
づくアクションが実行される.選択した行
の回数が 1の場合,ソースウインドウが表
示される.
2
.3
. 6 ソース
ソースウインドウ(図 6参照)はエント
リの SCLソースを表示する.
一一
l
一
F叩 パ 1
田Tim
ir
u
:F
orDE
!
W61LCA
T
10
0
.E
X
'
f
札 82工S
CL
ラベル
ステートメント
行
問問
E
守岡回数
データテーブルの行をクリックするとソー
0
0
0
0
1
0
0
0
0
2
0
0
0
0
3
000040.00029
0
0
0
0
5
0
0
0
0
6
0
0叩 7趨塗滋
0
0
0
0
8
0
0
0
0
9
0
0
0
1
0
0
0
0
1
1
0
0
0
1
2
0
0
0
1
3
0
0
0
1
4
0
0
0
1
5
0
0
0
1
6
スウインドウが表示される.
2
.3
. 5 関数比較
関数比較ウインドウ(図 5参照)はアプ
リケーションが実行したすべての関数をそ
の関数が実行に関わった時間,実行回数と
.
j
その関数に関連するメソッドを付けてデー
j
データテーブルの内容は実行時間,回数,
ラベル名又はエントリ名でソートできる.
また,データテーブルはフ。リントできる.
一
一
l
Tl
n
41
.8
8598
3.9日4..
3.3337
3.16813
2.84256
0.‑%895
0.3509
0.2754
0.22
0
1
,3
1
0.16
,
48
1
O
̲05216
0.0425宮
E百TRI
D
lI
061LCA
TlO
D
̲
ι岨l'U :
lU 比 ι
5
1
'
.IIAGa1.S
.SCL
SASHUP."
SASlIlU'̲"
5
1
'
.nAGl
口
一S
̲SCL
SA
耳
1
l
l
.
P
̲
P
"S
P
.l
I
A
G
!
c
t
S
.SCL
DII0611
.C
A
T
10
0
.回僅PU2LSCL
SASHl.L
P
.AP'C
L
A
S
S
.GsUTT01
f
.SCl
SAS!主[U'̲AP'C
l
A
S
S
.INPげT
.SC
'L
1
I
l
U̲P
"S
P
.AP'C
L
A
S
S
.SCl
S
AS
SA
S
I
I
!
U.AP'C
L
A
S
S
.UBfi.SCL
τ
}官同
S
C
L ソース
leng~h ,
:
%
1
:
叫l
ine $
8
0
;
o
:
.
t
:
r
e
t
u
r
n
;
国
0.00219
0.00164
i
n・
醐雷管円需物干);
1
3
1
3
c
a
l
l n口 tword();
s
e
l
e
c
t
(<I吋 l
i
n
e
);
~'lhen(" f
1
A
E
'
)
l
i
n
kr
;a
e
;
曲目('T田I')
l
i
n
kt
u
g
i
;
叶l~n(" S
AKU]
ぴ
〕
l
i
n
k sd
}
r
u
j
ロa
j
戸
.
図 6 ソース
タテーブルに表示する.
‑
I
ロt
xZ
‑
・
・
‑
‑
山
A
SCL 商薮問のパフォーマンス
J
E
夜
ソ
f
E ト.
闘
[7
7
M
7旬以
[国
p
38.320<7
4.53737
3.32052
3.31182
2.8291
1
.38876
O
̲50116
.48618
.23117
0.176<
7
.16707
0.16138
。
。
。
1 D1目立.AY
1
!N
D
16 S
1
!N
D
9 S
罰m
lIT
i
(
コT
IFT
6 J
S
1
!N
D
l
I
A
l
iC田
16 l
8 S町 8R
1 S
B
N
D
2 TAS!ID
1 S
1
!
N
D
1 ROOND
プ l)~ ド
ンドウからオープンされた場合,選択に関
:
:
:
:
:
a :J!l霊
するラベル又はメソッドがハイライト表示
cnIJ)le2Lfr
四 t
̲RHD
̲UPDArr̲
される.関数比較ウインドウ又は項目別関
数ウインドウからオープンされた場合,選
択に関する関数がハイライト表示される.
̲sロt口̲r日 開̲nlmher̲
SCAU
。
システムのレイアウトウインドウ,エン
トリ比較ウインドウ又はメソッド比較ウイ
UPDA
T!
SlT L!H
GT
l
l
ソースウインドウは行番号,ラベルに対す
る全時間,関数時間,回数(その行が実行
R
1
:SIU R
1
:
GION
戸
.
される回数)及び S
C
Lエントリの実際のソ
関数が send,n
o
t
i
f
y又は s
u
p
e
rの場合,呼
ースコードを左から右へ表示する.
ステートメントの時間を実時間として又は
全ラベル時間の百分率として表示するかを
A
F可T
V晶 ' " 冒
図 5 関数比較
‑404
選択できる.計時基準ボタンを選択すると,
このウインドウでメニューパ一項目
i
(t
e
m
),その項目の I
D,プルダウン項目
選択した値よりも大きい時間及び/又は回
i
(t
e
m
),キー (
a
c
c
e1
e
r
at
e
=
),ヘルプ (
h
eI
p
=
),
コマンド (
s
e
l
e
c
t
i
o
n
=,s
e
l
e
c
t
i
o
n
),g
r
a
y,
s
t
a
t
=
c
h
e
c
k及びダイアログ (
d
i
a
l
o
g
=
)を定
数を持つ行をハイライト表示するウインド
ウをオープンできる.
3
. 対話型 P
M
E
N
Uピルダ
M
E
N
Uビルダは対話型で P
M
E
N
Uエ
対話型 P
義する.
ントリを作成するツールである.
S
L
I
S
Tエントリ,
メニュー定義の保存 (
3
. 1 特徴
S
O
U
R
C
Eエントリ又は外部ファイル),メニ
S
L
IS
Tエントリ)再編
ュー定義の読み込み (
このウインドウで P
M
E
N
Uエントリの作成,
集及びテストを行える.
対話型 PMENU ビルダ特徴を以下にリス
トする.
3
.3
. 2 ダイアログの編集
M
E
N
Uエントリを作成する.
ロ対話型に P
メインウインドウのメニュー項目 ダイ
アログ>新規作成を選択すると,図 8のウ
インドウが表示される.
L
I
S
Tエントリ,
ロメニューの定義を S
S
O
U
R
C
Eエントリ又は外部ファイルに保
存できる.
口
S
L
I
S
Tエントリに保存されたメニュー
竃曹司軍司~~~~.................................._I口"
定義を読み込んで再編集できる.
3
. 2 起動方法
a
f cs
a
s
h
e
l
p
.a
f
t
o
o
l
s
.p
m
b
m
a
i
n
.f
r
a
m
e
"
二
をコマンド行より入力する.
3
. 3 構成
図 8 ダイアログの編集ウインドウ
ツールのおもなウインドウを紹介する.
R
A
M
Eエントリ内にチ
このウインドウで F
3
.3
. 1 メインウインドウ
ェックボックス,ラジオボックス,テキス
ト入力及びテキストラベルを定義するよう
図 7のウインドウが表示される.
にダイアログを編集する.
;
:
{
i
i
O
翻窃総. . . .
E出 .v ,~ヶー-jn:! 旦ムJ~創立三上ji
円 ile
一
一
.
J
!
項目 ;
.
‑
̲
.
.
̲
‑
.
‑
‑
.
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑
‑量
.
l
Io;l
キー::
h
ルプ・:
4
.
クラスブラウザ
E
S
O
U
R
C
Eエント
ライブラリ,カタログ, R
R
A
M
Eエントリ単位に C
L
A
S
Sエントリ
リ
, F
問の階層関係をツリー構造で表示する.
4
. 1 特徴
クラスブラウザの特徴を以下にリストす
図 7 メインウインドウ
る.
‑405一
口 C L A S S エントリ聞の階層関係をツリー 報の参照,編集,サブクラス化,コピー及 び削除を行える. 構造で表示する. ロ メソッド及びインスタンス変数につい 4 .3 . 2メソッド及びインスタンス変数 ての情報をデータテーブル形式で表示 メインウインドウ内で任意の C L A S Sエン する. 口 C L A S Sエントリを新規作成する. 口 C L A S Sエントリを編集する. トリを選択して左側のツールパーよりプリ ンタのアイコンを選択すると,図 10のウ 口 C L A S Sエントリをコピーする. 口 C L A S Sエントリを削除する. インドウが表示される. ロサブクラスを作成する. 4 . 2 起動方法 S ii :t e : : o f出 e :l e : 1 hod1Lc . nl N! W N! W a f cs a s h e l p .a f t o o l s .b r o w s er .f r a m e " 二 司 当 をコマンド行より入力する. C C c c f ヱ 4. 3 構成 ツールのおもなウインドウを紹介する. 4. 3. ー ヱιJ , メインウインドウ E S O U R C Eエントリを選択すると, 任意の R 図 9のようなツリー構造が表示される. 園田曙匝盟国画直面園田園園田園圃圃圃圃圃圃圃圃圃圃圃圃圃圃圃圃圃園田, 型1戸 Eコ 4 玉 コ t Datast 匡亙正二コ E孟玉二コ :~j E亙三コ~ IGcontr正コ.~! 同dvec 斗 図 1 0 メソッド及びインスタンス変数 このウインドウでメソッド及びインスタ ンス変数の情報を参照できる. ; . 1ロI x l 11111﹂ 日寸1 リソース: S A S I 韮L P .F S P .B U I L D .RESOURCE 工~ 5 . おわりに 本論文で紹介した 3つのツールはリリー .1 1で評価版として提供され,リリース ス6 6 .1 2で更にユーザフレンドリな G U Iに,ま た機能が強化される予定である. 本論文に掲載されたウインドウイメージ は W i n d o w s 9 5版 S A S システムリリース 6 . 11 .0 2( T S 0 4 0,D B C S 2 6 1 3 )上のものである. 1 6 . 参考文献 クラス 都 道LP.I 'S P . O 町E C T . C L A S S 見出し 口 S A ST e c h n i c a lR e p o r tE ‑ I 0 5 JS A Sシス l i jクラ支階)嘗みた コヌ ・・ . . . . . . . . . . . H テムリリース 6 .1 1における変更点と拡 H 張点 図 9 メインウインドウ 左側にあるツールバーよりアイコンを選 択してメソッド及びインスタンス変数の情 ‑406‑
日本 S A Sユーザー会 (SUG I‑J) SASシステムリリース 6 . 1 1S A S / A Fソフトウェア FRAMEエントリ新オブジェクトの紹介 鈴木康夫 株式会社 S ASインスティチュートジャパン 技術部テクニカルサポートセクション I n t r o d u c t i o nt ot h enewFRAMEO b j e c t sw i t hR e l e a s e6 . 1 1SAS/AFS o 丘w a r e 要旨 SASシステムリリース 6 . 1 1SAS 比 F ソフトウェア FRAMEエントリに追加された新オブジェ クトの中から「データテーフツレオブずジェクト」、 「ツールパーオブPジェクト」を取りあげ、それ らの使用方法について説明する。 キーワード・.R e l e a s e6 . 1 1,SAS/AFS o 丘w a r e,FRAMEE n t 巧T, D a t a t a b l eO b j e c t,T o o l b a rO b j e c t 1.はじめに SASシステムリリース 6 . 1 1では SAS/AFソフトウェア FRAMEエントリの機能が大幅に拡張 され、それに伴い様々なオブジェクトが新たに追加された。本論文では新オブPジェクトの中から 「データテーブルオブ、ジェクト」と「ツールパーオブPジェクト」を取りあげ、それらの属性設定 CLのメソッドの使用方法について説明する。 の方法や S 2 . データテープ、ル データテープ、ルオブ ジェク卜はスプレッドシートのようにデータを表形式で表示するオブジ ェクトである。任意のセルをマウスで、ダブ /レクリックすることにより、アプリケーション実行時 にセル内のデータを直接編集することができる。 ‑407‑
都道府県r=韓面積 (kW)‑,人口〈千人)l人口密度以瓦面回
一塁壁一一一一一 1竺 .10 一一一← 91土一一一一一一一主」型二型‑
4
栃木
159.60
745
群馬
186.00
803
埼玉
626.70
4.873
千葉
5
6
9
.80
3
.841
東京
L
̲
Q
坐.90
11.591
斗斗山ごみ以弘主三 λ 九三
ぷ計三日
4.670.60 三
4.315.70
7.776.20
6
.741.30
旦」里.60 ~I
記三与g‑
日
一
υ
[
図 1
J
(1)属性ワインドワ
園~
│昌子・}タテーブルの厨│生
.
1
叫
一
名 前 :I
T
A
B
L
E
テーブル: r
S
A
S
U
S
E
R
.
C
L
A
S
S
.zt4
D
A
T
A
F
O
班 エ ン ト リ : 込A
S
S・D
A
T
A
F
O
R
M
v
記£三工ントリ: ~~M.SCL
l
f
ヂータモー F
間
!
?
編
ロックモー F
竺レコート「
1 <;:メンバ‑
I
E ユ
設
定
…
ン
スクロー J
J
.
.
.
)
¥
世
垂直
1
I g水平
'安J
I
のカスタマイズ.
プオームのカスタマイズ...
テーブルのカスタマイズ...
コマンド処理" .
オブジェクト~ルプ.. .
インスタンス変数...
チーづ"
JJ
.
.
.
特
性
区削除可
E
z
ι
?
E追加/コぜー可
理ドの耕見
す
‑
‑
;
'
.
;
:
[
‑
‑
新
規
持1
、
ぇjをふ計一│
亘J
出
一
自動保存数亡三三塁
~工、き
と主1
[
図 2
J
名前:任意のオブジェクト名を指定する。
テープル:データテーフ守ルに表示するデータセット名を指定する。
DATAFORMエントリ:データテーブルの属性を記録する DATAFORMエントリ名を入力
する。ここで記録された DATAFORMエントリは、データフォー
ムオブ、ジェクトでも使用することができる。
SCLエントリ: M
o
d
e
lSCLエントリ名を入力する。 M
o
d
e
lSCLはデータテープ ルオブ ジ
J= 二 > [SCLの編集]を選択
ェクトのポップアップメニュー[テーブルー >
して作成、編集する。
)しなし、か([
表
データモード:データテーブル内で、データの編集を可能にするか([編集 J
)を指定する。
示J
ロックモード:データの編集を可能にした場合に、レコードレベル(オブザベーション単
位)でロックするか、メンバーレベル(データセット単位)でロックするかを
指定する。
スクロールパー:垂直、水平スクロールパーを表示するかどうかを指定する。
‑
4
0
8
‑
テープ、ノレ特性: 削除可:データ行を削除可能にするかどうかを指定する。 追加/コピー可:データ行を新規に追加、または他の行からコピーできるようにするか どうかを指定する。 エラーの無視:許容範囲外のデータが入力されている場合に、エラーを発生させるかどう かを指定する。 必須フィールドの無視:必須フィールドにデータが入力されていない場合に、エラーを発 生させるかどうかを指定する。 自動保存数:何行のデータを追加、修正した時にテーブ、ルを自動保存するかを指定する。 ( 2 )SCLのメソッド データテープ?ルオフ守ジェクトで使用できる代表的なメソッドとプログラム例を以下に記述 する。 SETDATASET データテーブルに表示するデータセットを設定する。このメソッドを用いるとデータテー ブルに表示するデータセットをプログラム実行時に動的に変更することができる。 (例)c a l lsend( t a b i d,' ̲ s e L d a t a s e t ̲ ',' s a s u s e r . c l a s s ' ) ; ¥ 弓IERE SET¥ データを抽出するための where句を設定する。 (例)l i s t i d = m a k e l i s t( ) ; l i s t i d = i n s e r t c( li s t i d," S e x 二 1 M ' ' ', ・ 1 ) ; c a l lp u t l i s t( li s t i d,' ¥ ¥ 弓IEREc l a u s e ',0 ) ; ̲ s e t ̲ w h e r e ̲ ',l i s t i d ) ; c a l lsend( t a b i d,' SORT 1つ以上の列データをキーにしてデータをソートする。 (例)c a l lsend( t a b i d,' ̲ s o r t ̲ ','named e s c e n d i n g ' ) ; POPUP ポップアップメニューを表示する。 ( { 列 )c a l lsend( t a b i d, 二p o p u p ̲ ',l i s t i d,s el ) ; PRINT テーブルデータを印刷する。 a l lsend( t a b i d,' ̲ p r i n t ̲ ' ) ; (例)c GOTO CELL 指定したセルに移動する。 (例)c a l lsend( t a b i d,' ̲ g o t o ̲ c e l l ̲ ',r l i s t i d,c l i s t i d ) ; GOTO COLUMN 指定した列に移動する。 (例)c a l lsend( t a b i d,' ̲ g o t o ̲ c o l u m n ̲ ',c l i s t i d ) ; ‑409一
. GOTOROW 指定した行に移動する。 ( 1 列)c a l lsend( t a b i d,' ̲ g o t o ̲ r o w , ' ̲r l i s t i d ) ; SETCOLUMNTEXT 現在の行の指定した列に文字データをセットする。 (例)c a l lsend( t a b i d, 二s e t ̲ c o l u m n ̲ t e x t ̲ ',' n a m e ',' J e n n i f e r ' ) ; SETCOLUMNVALUE 現在の行の指定した列に数値データをセットする。 (例)c a l lsend( t a b i d,' ̲ s e t ̲ c o l u m n ̲ v a l u e ̲ ',' a g e ',2 5 ) ; 3 . ツーノレパー ツーノレノくーオブ、ジェクトは、複数のイメージボタンやテキストラベノレから構成され、それぞれ のボタンを押した時に SASコマンドを実行したり、 SCLプログラムを実行するなど特定の動作 を行わせたい場合に使用することができる。 百~m=[吉岡 [ 図 3 J ( 1 ) 属性ウインドウ 図l │ヨツールパーの属性 ボタンの表示 { ! ; ; イ メ . . ; ̲ : : ; : の み 引 ι: ン指 鯛 一 5一 を : 川[幅定 崎ンのン J1 r数 タ を レ?のボ幅 小夕刊準タ ルボ標ボ PEr‑F 名 前 :ITOOLBAR I Eラベ Jt ; ( の み c両方 設定オプション S U Bl II T置き換え文字列... コマンド処理... 亡主文字 c!:リージョン L 乙合わせる オブジェクトのヘルプ... インスタンス委主史... オヲ、ジェクトリンク... 主次元を指定: 行 : 七 歩J: I l I J Jヨl i 主l ラベルのフォント: I D i s p l a yl l a n a g e r 土止 項目のタイプ: 一 一 一 京 v y 一 一 一 表 一 一 セ JP 也ツ 十警官即時] E t.空笠空…: 亘] 亙 日 [ 図 4 J 名前:任意のオフ守ジェクト名を指定する。 ツーノレバーのレイアウト: ボタンの数:表示するボタンの数を指定する。 標準のボタン幅を使用:ボタン幅を標準サイズにする。 ボタン幅を指定:ボタン幅を文字幅単位で指定する。 ‑ 4 1 0 ‑ 云己] μ
リージョンに合わせる:複数のボタンの配置をリージョンの大きさに合わせる。 I数を指定する。 次元を指定:複数のボタンを配置するための行数、タJ ラベルのフォント:ボタンラベルのフォントを指定する。 項目のタイプ:表示する個々のボタンについてのそれぞれの属性を設定する。 ボタンの表示: イメージのみ:ボタンにイメージのみを表示する。 ラベルのみ: ボタンにラベルのみを表示する。 両方: ボタンにイメージとラベルの両方を表示する。 ( 2 ) [項目の指定]ワインドウ │2項目の指定 図│ |宜(言1陪I~I~I Jt号、タンの属性 醐圃醒盟国岡 : I ボタン1事押してい支す 月日プ一 準・‑一 仁一ク一︑ 有プッシュボタン cヂェックボックス cラジオボタン 一 山 口 一 ヘルプテキスト 選択方法 TPUNE 線 ‑ 1 f弓 二 v TnHr 軒 わ 綿 . 立V 空白:1Ql 一 日 ' ル 一 S U B S C O P Y ザヲモヲ下 日A M A R Y 要約レポ「ト S Y 1 ! B O L ウイ白 S Y M B O L S T A B L E S テーブル(曇 番号 3 T田 E E T I M E S E R 時系列 I T L E S ウィ. T I T L E S T T P C I R C L E 円描画 T P C O P Y コピー I T P F O C U S フォーカス 二 コ 名 前 :I B T N l ラベル:仁 選 択 :I Ol 2en 非選択 : [ l 三亘] 主討 新規イ尉字 [ 図 5 J lMAGEエントリ:ボタンに表示するイメージを選択する。 ボタンの属性: 名前:ボタン名を指定する。 空白:ボタンの後ろに挿入する空白文字の数を指定する。 ラベル:ボタンに表示するラベルを指定する。 ヘルプテキスト:ボタンを押している時にステータスパー(ウインドウ最下行の箇所)に 表示するテキスト文字を指定する。 選択方法: プッシュボタン:通常のプツ、ンュボタン。マウスでクリックしている間だけボタンが押 される。 チェックボックス: トグ ル形式のボタン。 ラジオボタン:ラジオボタン形式のボタン。他のラジオボタンと共にグループを定義しそ のグノレープ内の 1つのボタンのみが選択できる。 標準選択項目:ツールパーが初期化されたときに、 ボタンを選択状態にするかどうかを指 ‑411‑
定する。 グループ:ラジオボタンのグループ名を指定する。 コマンド: 選択:ボタンが押された時に実行されるコマンドを指定する。 非選択:ボタンの選択が解除された時に実行されるコマンドを指定する。 ( 3 )SCLのメソッド ツーノレバーオブ ジェクトで使用できる代表的なメソッドとプログラム例を以下に記述する c • SET CMD ボタン選択時や選択解除時に実行される SASコマンドを指定する。 (例)c a l lsend( t o o l b i d,' ̲ s e t 一c md̲', もt n 1 ',' o p e n ',, ' ) ; SETDISPLA Y TYPE ボタンの表示形式(イメージ、ラベル、両方)を指定する。 (例)c a l lsend( t o o l b i d, 二set̲display̲type̲', ' i m a g e ' ) ; SETIMAGE ボタンに表示するイメージを指定する。 (例)c a l lsend( t a b i d,' ̲ s e t ̲ i m a g e ̲ ',' b t n 2 ',' a c c e s s ' ) ; SETLABEL ボタンに表示するラベルを指定する。 (例)c a l lsend( t a b i d,' ̲ s e t ̲ l a b e l ̲ ',' b t n 1 ',' B u t t o n1 ' ) ; 4 . まとめ 本論文では、 「データテーブルオフ守ジェクト」と「ツールパーオブジェクト」について取り上 . 1 1では、これ以外にも様々なオブ げその使用方法について紹介した。 SASシステムリリース 6 ジェクトが新たに追加されており、 SAS 品 F ソフトワェア FR 泊四アプリケーションでの GUI( G r a p h i c a lUserI n t e r f a c e )環境が従来にも増して大幅に向上している。 本論文が、 FRAMEエントリによる GUIアプリケーション開発の一助となれば幸いである。 5 . 参考文献 ( 1 )SASI n s t i t u t eI n c .,SAS/AFSoftwareFRAMEA p p l i c a t i o nDevelopmentConcepts, Version6F i r s tE d i t i o n ( 2 )SASI n s t i t u t eI n c .,SAS/AFS o f t w a r e :FRAMEC l a s sD i c t i o n a r y, Version6F i r s tE d i t i o n ( 3 )TammyL .Gagliano,SASI n s t i t u t eI n c .,Chicago,IL,SAS/AFSoftware‑A GrandTour, SASU s e r ' sGroupI n t e r n a t i o n a 1 2 l t hConferencep . 6 5 . ‑412‑
日本 S A Sユーザー会 (SUG 1‑J) SAS/AFソフトウェアにおける OLEオートメーションの利用 清水聖子 技術部テクニカルサポートセクション A Sインスティチュートジャパン 株式会社 S Using O L EA u t o m a t i o ni n SAS/AFSoftware S e i k oS h i m i z u T e c h n i c a lS u p o r tS e c t i o nT e c h n i c a l Dvision S A SI n s t i t u t e] a p a nL t d . 要旨 W i n d o w s版 S A Sシステムリリース 6 .1 1 より、 SAS/AF ソフトウェア FRAMEエントリや S A S / E I S ソフトウェアにおいて O L E 2 . 0がサポートされました。 OLEの機能より、 SAS/AF ソフトウェア F R A M Eエントリから OLEオートメーションを利用する方法について紹介しま す 。 キーワード : S A SSystemR e l e a s e 6 .1 1f o rW i n d o w s, SAS/AF, OLEAutomation 1.はじめに W i n d o w s版 S A Sシステムリリース 6 .1 1では、 O L E ( O b j e c tL i n k i n ga n dE m b e d d i n g )のサポートにより 独自のアプリケーション S A S / A Fソフトウェアの FRAMEエントリや S A S / E I Sア L E機能が使用でき プリケーションにおいて高度な O るようになりました。 OLE オートメーションとは、 特定のスクリプト言語により、複数の外部アプリケ ーションのオブ、ジェクトを操作することです。 S A Sシステムでは、 SAS/AFソフトウェアの S C L L Eオート ( S c r e e nC o n t r o lL a n g u a g e ) を使用して O メーションを実行できます。ですから S A Sシステか らS C Lを使用して MicrosoftE x c e lV e r s i o n5 . 0以 降(以下 M S ‑ E x c e l )や MicorosoftW o r dV e r s i o n6 . 0 O L Eオートメーションによる 等の O L E対応のアプリケーションのオブジェクトを アプリケーションの連結 ‑ 4 1 3一
操作し、これらを一つの独自のアプリケーションのように使用することが可能になります。 以下、 S A Sシステムから実行する O L Eオートメーション機能の紹介として、日頃お客 様からご質問の多い M i c r o s o f tE x c e lから S A Sシステムへのデータの転送を例にとって説 明します。 2. S A Sシステムから外部アプリケーションを操作するには . 1 1の S A S / A Fソフトウェア F R A M Eエントリでは、 O L Eオートメーションを実 リリース 6 O L Eオートメーション]クラスを提供しています。 現するための手段として [ [ O L Eオー トメーション]クラスは一連の S CLメソッドを提供します。この S C Lメソッドを実行する L Eオートメーションサーバのオブジェクトの動きを S A Sシステムから指定 ことにより、 O することが可能になります。 S A Sシステムの提供する S C Lメソッドを[表 1 J に示します。 [ 表1 J [ O L Eオートメーション]クラスの提供するメソッド メソッド 説明 ̲NEW̲ OLEオートメーションオブジェクトに SCLオブジェクト識別子を割 ̲COMPUTE̲ OLEオートメーションサーバのサポートしているメソッドを呼び出 00 OLEオートメーションサーバのサポートしているメソッドを呼び出 します(値は戻しません)。 GET̲PROPERTY̲ SET̲PROPERTY̲ IN̲ERROR OLEオートメーションサーバの持つプロパティ値を取り出します。 OLEオートメーションサーバの持つプロパティ値を設定します。 オブ ジェクトの ERRORステータスを戻します。 ̲GET̲REFERENCE̲10̲ OLEオートメーションオブジェクトの持つ参照 1 0を戻します。 当てます。 し、それらのメソッドの実行結果を表す値を戻します。 P 3. [ O L Eオートメーション]クラスの SCLメソッドの使用方法 [ O L Eオートメーション]クラスの提供する S C Lメソッドの使用例を具体的に説明しま す。説明で使用される用語の意味は次の通りです。 クラス オブ、ジェクトの「ひな形」またはモデル。クラスはオブ、ジェクトの特長 A S / F R A M Eエ を表すデータと処理の指示(メソッド)を格納しています。 S ントリでは、クラスはカタログエントリとして提供されています。 オブジェクト 処理の対象が何であるかという情報と、その対象の属性や実行できるメ ソッドの情報を一体化したものです。 インスタンス オブpジェクトと同じ意味で使用されます。 メソッド クラスに対して定義した処理の指示。 C Lメソッドの構文等については、 使用されている S i S A S / T e c h n i c a lR e p o r tE ‑ 1 0 6 J A Sシステムリリース 6 . 1 1における変更点と拡張点」を参照してください。 W i n d o w s版 S ‑414‑
3. 1 [ O L Eオートメーション]クラスのインスタンスの作成 [ O L Eオートメーション]クラスの SCLメソッドを使用するには、まず SCLプログラム 内で L O A D C L A S S関数を使用して、 S A S H E L Pライブラリに保存されている i F S P . A U T O . C L A S S J エントリをロードすることにより、インスタンスを作成する必要があります。 h o s t c lニL O A D C L A S S( ' S A S H E L P .F S P . A U T 0 ' ); ロ OLE‑instd! lCL' このステートメントを実行することにより、 ドするカタログエントリ名 [ O L Eオートメーション]クラスが持って いるすべての性質と実行できる処理しNEW̲, ̲DO ーメソッド等)を h o s t c lというインスタン Iり当てることができます。 スに害J 3. 2 NEW メソッドの実行 NEW メソッドは、 [ O L Eオートメーション]クラスのインスタンスに SCLオブジェクト L Eサーバ識別子を害iJり当てます。 識別子と O S C Lオブ、ジェクト識別子とは、 C A L LS E N Dルーチンで、メソッドが実行される時、実行対 C Lオブ、ジェクトを表します。 O L Eサーバ識別子とは、制御対象となる外部アプ 象となる S S ‑ E x c e lのオブジェクト)を識別するためにシステム リケーションオブジェクト(例えば M レジストリに登録されている ' E x c e l . A p p l i c a t i n . 5 'のような文字列です。 NEW メソッドで実行される処理と同等な V i s u a lB a s i cの記述と、 SCLステートメント の記述例を[表 2 J に示します。実行結果として、上の例でロードされた [SCLオートメ ーション]クラスのインスタンスにオブジェクト識別子を割り当て、このオブpジェクト識 S ‑ E x c e lを関連付けます。 別子と M E W メソッドの実行例 [ 表 2J N V i s u a lB a s i cプログラム s e te x c e l o b jニCreateObject 使用例 C A L LS E N D ( h o s t c l ヲ ,N E W ̲ ',e x c e l o b j,0, ( " E x c el .A p p l i c a t i o n .5 " ) ' E x c el .A p p l i c a t i o n .5 ' ) ; * h o s t c l O L Eオートメーションクラスのインスタンス * e x c e l O b jM S ‑ E x c e lと関連付けられたオブ"ジェク卜識別子 3. 3 D O ーメソッドおよび COMPUTE̲メソッドの実行 O L Eオートメーションサーバのオフ、ジェクトがサポートしているメソッドを実行します。 D O メソッドと C O M P U T E メソッドの違いは、 O L Eオートメーションサーバの提供する オブジェクトのうち値を戻さないメソッドに対して D O メソッドを使用し、値を戻すもの に対してのみ C OMPUTE メソッドを使用します。 D O ーメソッドの使用例として、 M S ‑ E x c e lの WorkBooksオブ、ジェクト ( M S ‑ E x c e lのブック) に対して、 ' O p e n 'メソッドを実行する V i s u a lB a s i cの記述例と、これに対応する SCLステ ートメントの記述例を[表 3 Jに示します。実行結果として、 ' c :干d a t a .x l s 'というファイ ルがオープンされます。 ‑415‑
ZS勾 J' 1 ・ 研 ‑ 1 1 ・ 行 一 実 一 j の一伊 ド一用 ツ一使 式ノ‑ ソ一 n u ‑ n u ‑ ﹁ll ﹂‑ q u ‑ ﹁ llL回 表 一 V i s u a lB a s i cプログラム w b s o b j . O p e n ( " c :干d a t a . x l s刊 ) C A L LS E N D ( w b s o b j ラ ,D O ̲ ',' O p e n ', c :平d a t a .x l s ' ); w b s o b jW o r k B o o k sオブジェクトのオブ、ジェクト識別子 本 ̲ C O M P U T Eメソッドの使用例として、 M S ‑ E x c e lの R a n g eオプ、ジェクト(セル等の選択範 B o r d e r sツソッドを実行する V i s u a l B a s i cの記述例と、これに対応する S C L 囲)に対して、 ' ステートメントの記述例を[表 4 Jに示しますc 実行結果として、セルの下側に罫線がヲ│ かれます。 [ 表 4J C O M P U T Eメソッドの実行例 V i s u a lB a s i cプログラム r a n g e o b j .b o r d e r s ( x l B o t t o m ) 使用例 C A L LS E N D ( r a n g e o b j,' ̲ C O M P U T E ̲ ', ' B o r d e r s ',‑ 4 1 6 0,l i n e o b j ); rn g 巴o b jR a n g巴オブジェクトのオブジェクト識別子 本 且 C A L LS E N Dルーチンの引数として指定されている 4 1 6 0は 、 x l B o t t o mに対応します。メ ソッドの引数が文字値でない場合、 S C Lのステートメントでの指定はその引数の持つコー ドになります。 3 . 4̲ S E T ̲ PR O P E R T Y メソッドおよび G E T ̲ PR O P E R T Y ̲メソッドの実行 S E TP R O P E R T Yメソッドは、 O L Eオートメーションサーバオブジェクトのプロパティに 値を割り当て、 ̲ G E T ̲ P R O P E R T Yメソッドは現在オブジェクトに劃り当てられているプロパ ティ値を戻します。 S E TP R O P E R T Yメソッドの使用例として、 M S ‑ E x c e lの R a n g eオブ、ジェクト ( M S ‑ E x c e lの セル)の ' V a l u e 'フ。ロパティに " S A SS y s t e m "という値を割り当てる V i s u a lB a s i cの記述例と、 C Lステートメントの記述例を[表 5 J に示します。実行結果としてセル これに対応する S に文字列円S A SS y s t e m "を入力します。 [ 表 5J S E TP R O P E R T Yの実行例 V i s u a lB a s i cプログラム c e l l s o b j .V a l u e =S A SS y s t e m " 門 使用例 C A L LS E N D ( c e l l s o b j, 二S E TP R O P E R T Y, V a l u e ',' S A SS y s t e m ' ); ラ 巴l l s o b j 選択されているセルのオブ、ジェクト識別 本C G E T̲ PR O P E R T Y ̲メソッドの使用例として、上の M S ‑ E x c e lの R a n g eオプ、ジェクト ( M S ‑ V a l u e 'プロパティに、現在害Ijり当てられている値 " S A SS y s t e m "を戻す E x c e lのセル)の ' V i s u a lB a s i cの記述例と、これに対応する S C Lステートメントの記述例を[表 6J に示 します。実行結果として S C L変数 v a rに" S A SS y s y t e m "C:しづ値を代入できます。 ‑416
[ 表 6J G E TP R O P E R T Yの実行例 V i s u a lB a s i cブ。ログラム (吏用仔リ S e tv a r = c e l l o b j .V a l u e CALLSENO(cellobj, 二GET̲PROPERTY̲ ' , ' V a l u e , ラv a r ); 本 c e l l s o b j 選択されているセルのオフ ジェクト識別子 c 3. 5 GET REFERENCE 1 0 メソッドの実行 G E T REFERENCE 1 0 メソッドは、指定の O L Eオートメーションサーバのオブ、ジェクトを 参照するための識別子を戻します。 O L Eオブジェクトのメソッドには、オブ、ジェクト識別 子を引数として指定するものがありますc このような場合に、 GET PROPERTY I D メソッ ドで戻したオブジェクト識別子を使用します。 GET̲REFERENCE̲10 ーメソッドの使用例として、 の選択範囲 M S ‑ E x c e lの Rangeオブジェクト(セル 例:1行 l列目のセル ( A 1 )から 5行 4}Jj目のセル ( 0 5 ))に対して参照識別子を 割り当てる S CLステートメントの記述例を[表 7 J に示します。また、ここで取得した参 S ‑ E x c e lの C h a r tオブジェクト(グラフの表示領域)の ChartWizard 照識別子を使用して M メソッドを実行する例をあわせて示します。実行結果として範囲 " A 1 : 0 5 "のデータを使用 しグラフを表示します。 E TP R O P E R T Y̲ I D の実行例 [ 表 7] G V i s u a lB a s i cプログラム 使用例 CALLSENO(rangeobj, ラ chobj.Chartwizard R a n g e ( " A 1 : 0 5 " ) ̲GET̲REFERENCE̲10 一 ' ,r a n g e i d ); 二0 0' CALLSENO( c h o b j, , ‑ 4 0 9 8, 6, 1 , 0,0,1 ,' G r a p h ',' C o l o m n ,' C h a r t w i z a r d ', rangeid,‑ 4 0 9 8 ,' V a l u e ',' R o w ' , 6, , 1 0, 0,1 ,' G r a p hに' C o l o m n ' ,' V a l u e ',' R o w ' ), r a n g e o b j 選択されているセルのオブ ジェクト識別子 水r a n g e i d r a n g e o b jの参照識別子 * c h o b j グラフ表示領域のオブジェクト識別子 本 F 4 . OLEオートメーションを利用した SCLプログラム例 OLEオートメーションを利用したサンブ。ルフ。ログラムを紹介します。 サンフ。ルプログラム 1は 、 S A Sシステムより M S ‑ E x c e lを起動して E x c e lデータから S A S データセットを作成します。このプログラムは、以下の手1 ) 買で実行することが可能です。 ( 1 )S A Sシステムから M S ‑ E x c e lを起動します。 ( 2 )A Fアプリケーションのフィールドに、オープンする E x c e lファイルを入力し、ファイ ルのオープンを行います。 ( 3 )E x c e l上で、文字値を持つ列に文字の書式を設定します。 ( 4 )オープンされたファイルの行数列数および作成する S A Sデータセット名を、 AFアプリ ‑ 4 1 7 ‑
ケーションのフィールドに入力します。
(
5
)ワークシート上のデータを S
A
Sデータセットに読み込みます。
J に、プログラムの実行イメージを[図 2
J に示します。
サンプルプログラムを[資料 1
1r ー 1.~
‑r
2 T~3- 1 ~4- I~5 ‑
1‑
6 1
.7‑
‑
F
'l
k
!
塑1 2EE主よ_Q_2 ←皇~]___ç_4 Q̲5
2
̲
cI
A
B
E
F
2
宍 只 ヨ ヌ
一一一一一一一一
3:~ I
1
SOZAK1 F
1│
図
7
毎 I
K
A
T
o
F
5
ぷ KONUMAE
lの起動
6
.
.
.
.
/
S
U
Z
U
K
1 F
3
!
主
主 ITANABE '
F
1
;
議
事 INAGASAWA:F I 3
i
"I
.
‑
E
x
c
eI
ファイル名
A
:¥EXCEL.XLS
画園図1
!
I
'
lI
二二三一忌戸
‑
i
│「
E
x
c
e
lめ終了ご l
で
‑
‑
'
‑
‑
.
;
;
̲
p
,
;
.
Iれ わ │
l
i
!行数 I20 I3iJ数 E
!
i SASデータセット
l
i
!I
V
U
)
R
KI
1ATAt/,
llrlij主活空~I
[
図2
Jサンプルプログラムの霜子イ白 メージ
、 M
S
‑
E
x
c
e
lのマクロの記録機能を用い、 S
A
Sシステムからマク
サンプルプログラム 2は
ロの実行を行いスプレッドシート上に罫線を引くものです。サンプルプログラムを
J に示します。
[資料 2
5. まとめ
S
A
Sシステムより OLEオートメーション機能を利用して、他の OLE対応のアプリケーシ
ョンを操作することが可能です。
また、 SAS/AFソフトウェアでは OLEオートメーションの他に、 「ヒ、、ジュアル編集」、
「オブジェクトのドロップ&ドラッグ」の O
L
E機能を利用することも可能ですので、より
柔軟なアプリケーションの開発が可能になります。
<参考文献>
(l)SASTechnical R
e
p
o
r
t E‑106]W
i
n
d
o
w
s版リリース 6
.1
1における変更点と拡張点,
A
Sインスティチュートジャパン
株式会社 S
(2)]ennifer Clegg a
n
dC
a
r
o
lR
i
g
s
b
e
e,O
L
Ea
n
dt
h
eS
A
S System f
o
r Windows
S
A
S UsersGroup I
n
t
e
r
n
a
t
i
o
n
a
l2
1
t
hC
o
n
f
e
r
e
n
c
e
.
Release 6
.1
1,
ラ
*一般に記載されている企業名あるいは製品名は各社の商標または登録商標です。
‑
4
1
8
‑
演 料 1J 略 Excelデータの読み込み
什 照 明 十 汁 汁 円 悼 材 料 品 持 品 I * l * ! = l = ! ふ み 沿 いι
111111I1f/
加制哨制特持:で:穴智:十'廿円以~l=1=l=I・:一ー ::λ両/
1
*c
h
a
r
c
e
1
1E
x
c
e
1の交判直を受け取る衰激
u
m
c
e
l
lE
x
c
e
10湖直を受け取る衰激
1
*n
m
tE
x
c
巴
lのセノL
の書吋静日を受け取る衰激
1
*f
1
*
データセット巴x
c巴
lを作戒し、この拙データセットに *
1
e
1上のデータを読み込みま 7
仁こ¢プログラム司会主/
1
*Exc
1
*このセクションを期子する前にExc
e
1f
l
J
t
で文期直知人つ*
1
/平てしも列乙文穿0港転注労E
を巾、ま七
*
1
l
*
<
l
a
t
a
s
巴
t憎食する以Sデータセット名を名前として持つ *
1
S
C
L変数
*
1
1
*
1
*c
e
l
l
o
b
jセル必オフ「ジェクト I
D
*
1
o
b
jセル必オフFジェクト I
D
*
1
1
*白 t
*
1
*
1
*
1
《 申 桝 品 品 品 持 込 ; ぶ λ+
み片品!=I=I山怜体制中体同中陣体榊/
1mt:
1
e
n
g
t
hc
h
a
r
c
e
1
1$
1
0n
u
m
c
e
1
18f
m
t$
1
0
;
r
e
t
u
r
n
;
/叫廿汁?十円十件十l=ICl=I<十畑中陣判中伸伸体伸伸伸陣伸伸神林帥/
l
:
t
o
ヶー刊汁円廿悼伸体同Cl=I<品ふ:t!;
μ !=I=I特伸博伸剛中伸榊/
1
*SCLオ」トメーンョンクラスエントリをロードし
*
1
x
c
e
1と鈷Sシステムを関連づけま7
九走遁b
された *
1
1
*E
x
c
e
1(
こ
プ ックをオ」プンしま7
仁
キ
/
1
*E
1
*h
o
s
t
c
lO
lEインスタンス
*
1
x
c
e
1
0
b
jE
x
c
e
1のオブジェクト I
D
*
1
1
*e
1
*w
b
s
o
b
jプックのオフpジェクト I
D
*
1
P
P
/円六十計十円ザ円悼桝討品品I=!CI=I九:ー:ょ争体;・I=I=!=I=!十照明十/
s
t
a
r
t
:
g
e
t
:
vn
a
m
e(
l
∞
)$
;
n
卵 d
s
=
o
p
e
n(
c
l
a
t
回 e
t,
'n
'
);
d
oc
0
1
=
1t
on
c
0
1
u
m
n
;
釘T
I
l
Y 位
1
*変数名が入っているセルのオフージェクト I
Dをセットし *
1
*
1
1
*ますユ
c
a
1
1s
e
n
d(
w
s
o
b
j,
,
̲
C
X
M
P
I
J
f
E
̲
',
,
C
e1
1
s
',
1
,
c
0
1,
c
e
l
l
o
b
j
);
hostc1=1oadc1ass('sashe1~fsp. 回以to') ;
1
*デー列島 t入っているセルのオブジェクト I
Dをセット *
1
*
1
1
*し、指定されてしも表利杉式を受け取りま七
1
1s
e
n
d
(
h
o
s
t
c
1,
'̲
N
凹, ,
e
x
c
e
1
o
b
j,
0
,
,
E
x
c
el
.A
p
p
1
i
c
a
t
i
o
n
.5
');
c
a
1
1s
e
n
d
(
e
x
c
e
1
o
b
j,
'̲
S
日L
町P
町y
̲
',
,
Y
i
s
i
b
1
e
',
,
T
r
u
e
');
̲
G
日:
̲
P
R
O
P
E
1
むy
̲
',
c
a
1
1
s
e
n
d(
e
x
c
e
1
0
b
j,
,
'
W
o
r
k
b
o
o
k
s
',
w
b
s
o
b
j
)
;
,
ソo
o
̲
''
,Add');
c
a
l
ls
e
n
d(
w
b
s
o
b
j
ロ1
;
r
e
t
u
回
1
1s
e
n
d
(
w
反わj
,
'
」
佼M有a
̲
',
C
e1
1
s
',
2
,
c
o
1,
f
m
t
o
b
j
)
;
,
c
a
1
1s
e
n
d
(
f
m
t
o
b
j,
'̲
G
E
T
̲
P
R
C
四 I
Y
̲
',
N
u
m
be
r
F
o
r
m
a
t
',
f
m
t
);
,
国
1
*支字変数と数値変数を回J
I、
し S
必デ ータセット変数伊/
1
*f
骨戎しま7
九
*
1
/本体1*1*刑判什円廿廿十I=I=I*FIλ品片山尚1*・=1目目1=1半期'
1
1
*S
A
SシステムからExc
e
1のファイルをワーク、ンート上 *
1
1
1
*にオ」プンし、オ」プンしたワーク、ン」トのオブペジェ *
1
*クト I
Dをセットしま7
仁
*
1
1
*x
1
f
i
1
eオ」プンするExc
e
1のファイル名古当ミ入され *
1
作官、る褒致
1
*w
s
o
b
j ワークシートのオブジェクト I
D
刈
*
1
/料l=!=I=I=I竹廿廿廿刊明付I*l*!=l=!干片品伝活品品品 1
11111I1f/
o
p
e
n
:
);
c
a
1
1s
e
n
d
ω
b
s
o
b
j,
,即','句e
n
',
x
l
f
i
1巴
c
a
1
1s
e
n
d(
e
x
c
巴1
0
b
j
,
'̲
G
日:
̲
P
R
O
P
E
R
1
Y
,
'
̲
,
A
c
t
i
v
e
S
h
e
e
t
',
w
s
o
b
j
)
;
r
巴t
u
汀1
;
i
ff
m
tn
e'
r
j
f t
h
e
nd
o:
c
a
1
1
s
e
n
d
(
c
e
1
1
0
b
j
,
'̲
G
E
T
̲
P
R
O
P
E
R
1
Y
̲
'
,
Y
a
1
u
巴
'
, mmm
巴(
c
0
1
)
);
=
n
仰v
a
r
(
n
e
w
d
s,
v
位 n
a
m
e(
c
0
1
),
,
n
');
r
c
巴n
d
;
e
1
s
ed
o
;
c
a
1
1s
e
n
d
(
c
e
1
1
o
b
j
,
'̲
G
E
T
̲
P
R
O
P
町y
̲
',
'
Y
a
1
u
巴
'
, V位 n
a
m
e(
c
0
1
)
);
r
c
守1
e
w
v
a
r(
n
e
w
d
s,
v
a
r
n
a
m
巴(
c
0
1
),
,
c
');
e
n
d
;
巴n
d
;
1
*{
骨f
記した S
A
Sデータセットをクローズしまづ仁
*
1
r
c=
c1
0
s
巴(
n
巴w
d
s
)
;
1
*憎戎した SASテ寸ータセットを変更モードでオ」プンし *
1
こEx
c
e
1のセルの *
1
1
*ま七オ」プンしたデータセット変数l
*
1
1
*値を読み込みます二
r
c
=
o
p
e
n(
c
l
at
回 e
t,
'u
'
)
;
d
or
o
l
F
2t
o町 u
w
;
r
ca
p
p
e
n
d
(
n
e
w
d
s
);
d
oc
o
1
=
1t
on
c
o
1
u
m
n
;
二
‑419‑
c
a
l
ls
e
n
d
(
w
s
o
b
j,
'~αM町fE_',
,
C
e1
1
s
',
row
,
c
o
l,
C
e1
1
o
b
j
);
c
a
l
ls
e
n
d
(
c
e
l
l
o
b
j,
'̲G回
二P庶lPER'円
'
N
u
m
b
e
r
F
o
r
m
a
t
',
f
m
t
)
;
h
e
nd
o
;
i
ff
m
tne'~ t
c
a
l
l
s
e
n
d
(
c
e
l
l
o
b
j,
'̲G
回
二FR
C
l
P
E
R
T
Y
̲
',
'
V
a
l
u
e
',
n
u
m
c
e
1
1
);
鴎詳ヰ 2
J略 ‑Excelマクロ言茜剥鮪E
を使用した、
罫線の表示
/ふ*'*品品品品村品品品品品弘品干;ー'*'"みみみ片品品弘品品本/
1
*c
:泊n
a
c
r
o
.x
l
s罫線表示作マクロを保存したファイル キ/
1
*加
,r
d
e
rセクションを男子することでM3‑Ex
c
e
l上に罫キ/
*
1
/本線を引きます二
c
a
l
l凹 t
v
むη
(newds
,
∞
1
, numcell);
e
n
d
;
e
l
s
ed
o
;
c
a
l
ls
e
n
d
(
C
ellobj,
'̲G回
二PR
C
l
P
E
R
T
Y
̲
',
,
V
a
l
u
e
',
c
h
a
r
c
e
1
1
);
/平自 c
e
l
o
b
jE
x
c
e
lのオブジェクト I
D
キ/
1
*wbs∞jブックのオブ ジェクト I
D
1
*wsobjスプレッドシ」卜のオブジェクト I
D
*
1
*
1
*
1
9
/
キr
加 g
ωbj選択組週のオブVェクト I
D
ホ
/a
p
p
l
o
b
jE
x
ωlアプリケーション到本を表す
1
*
オブVェクト I
D
,
c
o
l,
c
h
a
r
c
e
l
l
)
;
c
a
l
lp
u
t
v
a
r
c
(
n
e
w
d
s
e
n
d
;
e
n
d
;
r
c
=u凶a
t
e(
n
e
w
d
s
);
e
n
d
;
r
e
t
u
r
n
;
キ/
*
1
畑哨樹林剛哨制帽柑神剛判判明咽桝桐申仲間。榊榊/
b
o
r
d
e
r
:
/キマクロをオ」プンしま吹日
'
一
∞
"'
Q
:
>
e
n
',
'
c
:V
n
a
cr
o
.x
l
s
'
)
;
本/
ω11s
e
n
d(
w
b
s
o
b
j,
1
*ワークシ」卜(シ」卜名 Sheetl)をアクティブ守こしまマ仁 *
1
c
a
1
1s
e
n
d(
w
s
o
b
j,
二
∞I̲',
'
A
c
t
iv
a
t
e
'
);
'
∞
I
̲
'
,'
A
c
t
i
v
e
',
'
S
h
e
e
t
l
'
)
;
c
a
1
1s
e
n
d(
w
s
o
b
j,
/*?廿作ケ十山ー!=I十円作仲村什円廿作円廿廿ザ汗円廿判明廿明守/
/キExc
e
lを終了します二
本/
/
キa
w
o
b
jアクティブなワークシートのオブPジェクト I
D ホ/
介刊明作汁刊ザ汗廿廿作?神伸伸嗣品;可品市持持品品詞宇両/
e
n
d
:
c
a
l
ls
e
n
d
(
e
x
c
e
l
o
b
j
,
'̲G日L
門 研 回y
̲
',
,
A
c
t
i
v
e
W
o
r
k
杖氾l
,
どa
w
b
o
b
j
);
回 1
1s
e
n
d
(
a:蜘b
j
,
'̲
D
O
̲
',
'
C
l
o
s
e
',
'
F
a
l
s
e
'
)
;
c
a
l
ls
e
n
d
(
e
x
c
e
l
o
b
j,
'̲
D
O
̲
',
'
Q
ui
t
'
)
;
c
a
l
ls
e
n
d
(
e
x
c
e
l
o
b
j,二買到仁);
r
e
t
u
r
n
;
/キセノレ C
A
1
1(
1
,1
)から白 1
1(
20
,
5
)までを濁宍しまマ九
*
1
c
a
l
ls
e
n
d
(
w
s
o
b
j,
'
̲
I
α:
M
P
U
I
E
̲
'
,'
R
a
n
g
e
',
'
A
1:
E
20
',
r
.
叫 帥j
);
ω11s
e
n
d
(
r
a
略 的b
j,
'
J '
S
e
l
e
c
t
'
);
∞
"
1
*Excel全体を表す7 プリケーションオブジェクトを戻以/
1
*ます二
本/
c
a
1
1s
e
n
d(
e
x
c
e
l
o
b
j,
'
G
E
T
̲
P
R
C
f
f
R
1
Y
̲
,
'
A
p
p
l
i
c
a
t
iぱ, a
p
p
l
o
b
j
);
c
a
l
ls
e
n
d
(
a
p
p
l
o
b
j,
'一回二恥r
o
.x
l
s
!
G
r
i
d
'
);
山百;
r
e
t
ι
ι
*
"
*
'
*
'
*
*
ι
:
ふ.山以」寸>I=!=I=lづ二J
/ふふ!=!=IOI:I:品干日品p み 砧
/牢作戒した S
A
Sテゃータセットをクローズしまマ九
本/
M
ρ
i
v
m山
n
mmm
e
e
+しγ
/ ぷ * ' ぷ 品 品 凶 ー ' * 品 + 砧J
十;
ム
‑420‑
日本 S A Sユ ー ザ ー 会 (SUG I‑J) Windows用 支 SASシステムリリース 6.11 が提供する OLE機能について / J、詫3本右弓乙 株式会社 SASインスティチュートジャパンコンサルティング・セクション TheSASSystemasanOLEAutomationServer YukoKonuma SASI n s t i t u t eJapanL t d . ConsultingS e c t i o n, 要旨 Windows版 SAS システムはリリース 6.11より OLE2.0に対応するようになった。 これによりどのようなことが可能になったのかを使用例を交えて説明する。 キーワード: Windows,R e l e a s e6.11,OLEAutomationS e r v e r 1 ̲ ~まじ民汁こ Windows版 SASシステムはリリース 6 . 1 1より OLE2.0( O b j e c tL i n k i n gandEmbedding)対応にな indows*j上での他のアプリケーションとのデータ連携がよりスムーズに行われるようになった。 り 、 W OLE2.0対応によりいくつかの新機能を提供しているが、本論文ではその内の 1つである OLEオートメ ーションにスポットをあて、とりわけ SASシステムが提供する OLE オートメーションサーバー機能に . 1 1メンテナンス版より提 ついて詳しく説明する。尚この機能は Windows版 SASシステムリリース 6 供している。 2̲ O L Eオ ー ト メ ー シ ョ ン の 有 罪 要 OLE オートメーションとは、他のアプリケーションのオブジェク卜に対して、外部からアクセスし 円上の機能である。つまり、あるアプリケ て自分のオブジェク卜が如く操作することが可能な Windows ーションから他のアプリケーションの起動、終了などを制御したり、他のアプリケーションのコマンド を使って処理を制御したり、グラフなどの新しいオブジェク卜を生成したりすることの出来る機能をさ す。この機能を実現する前提条件として、各アプリケーションが OLE2.0に対応しており、なおかつ OLE ‑421‑
オートメーションをサポートしている必要がある。 O LE機能では、他のアプリケーションからプログラ ムを使って制御可能なオブ ジェクトを提供しているアプリケーションのことを OLEオートメーション LEオートメーションサーバーと通信を行い、サーバーから提供されるオブジ サーバーと呼ぶ。また O LEオートメーションコントローラと呼ぶ。 ェクトを利用することの出来るアプリケーションのことを O この両者によって OLEオートメーション機能が成り立っている。 SASシステムではこのどちらの機能 も提供している。尚本論文では OLEオートメーションコントローラ機能について説明していないが、 この機能については、 SAST e c h n i c a lR e p o r tE・1 0 6 J "又は他の論文にて講じているのでそちらを参照さ れたい。 OLEオートメーションサーバーが提供するオブ、ジェクトを制御するには、それらが個々に提供するメ ソッドとプロパティを用いる。メソッドは、オブ、ジェクト上で実行させる処理を与える機能と考えられ ている。例えばオブジェクトを表示・非表示にしたり、文字列の挿入、グラフの作成・変更などの処理 制御に使う。メソッドは特定のオブジェクトに付随するもので、同名のメソッドでもオブ、ジェクトによ り行われる処理が異なる。またプロパティは、特定のオブジェクトの属性を表す名前をさす。プロパテ ィに設定する値によって、オブ ジェクトのサイズ、色、ウインドウの位置、ウインドウタイトルなどの LEオートメーションコントローラが有する特定の 外観を変更することができる。これらの設定値を O スクリプト言語より発行することで、他のアプリケーションオブ.ジェクトの制御が可能になる。 3̲ SASオートメーションサーバー機能 3. 1 概要 W i n d o w s版 SASシステムリリース 6 . 1 1メンテナンス版から W i n d o w s 9 5 .W i n d o w sNT上で OLE オートメーション機能を提供する。オートメーションサーバーではさまざまなメソッドやプロパティを 用意しており、ユーザーは S ASシステムのコマンドや DATAステップ、プロシジャー等を他のアプリ ケーションから実行することが可能になった。 a s eSAS 尚オートメーション機能に必要なシステムは B システムが提供している。 3 . 2 OLEオートメーションの作成手順 OLEオートメーションの手続きは次の手順で行う。 1 ) オブジェクト変数を宣言する。 2 ) 新規にオブジェクトを作成し、 3 ) サーバーが提供するオブジェクトのプロパティやメソッドの定義を行う。 4 ) オブジェクトをクローズする。 OLEサーバーへの参照定義を行う。 3. 3 新規オブジェクトの作成 ASシステムへのセッションを張る為には、 まず他のアプリケーションから S OLEオブジェクト変数 を作成しなければならない。このオブ ジェクト変数を通じて、メソッドの実行、プロパティの設定が可 P i n d o w s 勺に登録されている OLEオートメーション 能になる。オブジェクト変数を作成する際、既に W サーバーのプログラム I Dが必要となる。 SASシステムでは、オートメーションサーバーとして必要な ‑422‑
情報をインストール時にシステムのレジストリへ自動登録するようになっており、リリース 6 . 1 1では、 プログラム IDが S A S . A p p l i c a t i o n . 6 1 1 0 2 "として登録されている。 例えば、 V i s u a lB a s i c '2から SASObjというオブ、ジェクト変数を使用して SASシステムを起動す場合 には下記のようなコーディングになる。 D i mS A S O b ja sO b j e c t S e tS A S O b j =C r e a t e O b j e c t( " S A S .A p pI i c a ti o n .6 1 1 0 2 " この後必要なメソツドとプロパテイの設定を行うが、この時先程定義したオブ ジェクト変数 SASObjを 用いて、 = ) <処理、設定内容> <オブジェクト変数>.<メソッド又はプロパティ> ( という形で記述する。例えば SASシステムの BUILD"コマンドを実行する場合には、 S A S O b j .C o m m a n d( 、 ui I d " と記述する。 3 . 4 オブジェクトのクローズ OLE オートメーション機能が開始されるとサーバーとなるもう 1つのシステムが起動される。 OLE オートメーションサーバーは通常 E x c e l '3や SASシステムのように 1つのアプリケーションである場合 が多く、実行時かなりのメモリを消費する。従って不要になったオブジェクトは必ずクローズするよう i s u a lB a s i c 勺上の SASセッシヨンをクローズし、 OLEオートメーションオブジェクト にする。以下に V を破棄するコーディング例を示す。 S A S O b j . Q u i t o t h i n g S e tS A S O b jニ N 3. 5 提供するプロパティおよびメソッド SASシステムでは複数のメソッドとプロパティを提供する。以下では各機能と使用方法について説明 i s u a lB a s i c 勺におけるコーディングを示す。 する。尚下記で用いる例は、 V メソッド メソッド C o m m a n d パラメータ 戻り値 1‑S t ri n g n o t h i n g 使用例 S A S O bj .C o m m a n d( 、a s ‑ c o m m a n d " Q u e r y W i n d o w 1‑S t r i n g A S O b j .Q u e r y W i n d o w ( " W i n d o wN a m e " T r u e/F a l s e S Q u i t n o n e n o t h i n g S A S O b j . q u i t S u b m i t 1‑S t r i n g n o t h i n g S A S O b j .S u b mi t( " D A TA ‑ s t e p ‑ c o d e " ) T o p n o n e n o t h i n g S A S O b j .t o p (詳細説明) Command S A S コマンドを実行する。現在セッション中の S A S ウインドウでのコマンドが発行できる。 ‑ 4 2 3
Q u e r y W i n d o wメソッドにて特定のウインドウへ切り替えてから C o m m a n dメソッドを実行することも 可能。 (例)S A Sシステムを起動し、 B U I L Dコマンドにて A F編集ウインドウを開く。 S A Sシステムのウィン ドウは表示しないよう設定する。 S e tS A S O b j =C r e a t e O b j e c t ( " S A S . A p p li c a t i o n .6 1 1 0 2 " ) a l s e S A S O b j .V i s i b l e=F 、u iI d " S A S O bj .C o m m a n d( Submit 指定した DATAステップのコードをサブミットする。複数のコードをセミコロンで、区切って指定す ることも可能。 (例)簡単な DATAステップを実行する。 D i mS A S O b ja sO b j e c t r e a t e O b j e c t ( " S A S . A p p li c a t i o n .6 1 1 0 2 " ) S e tS A S O b j =C ;r u n ; " S A S O bj .S u b mi t( "d a t a̲ n u1 1一 xニ1 皇豆E オートメーションセッションを終了する。 Q u i t "メソッドを要求したオートメーションコントロー ラが、 1つのセッション内でのみ使用されている場合には、 SASセッションは終了する。しかし、 他のオートメーションプロセスが SASセッションを使用している場合には、このメソッドは無視さ れセッションは張られたままとなる。 (例)セッションを終了し、オブジェクトを破棄する。 S A S O b j . O u i t S e tS A S O b j=N o t h i n g QueryWIndow 指定したウインドウがオートメーションセッション中でオープンされているか判別し、戻り値とし てT rue"又は F a l s e "を返す。このメソッドは、指定したウインドウがオープンされていれば表示 i s i b l e )でなくても戻り値として T r u e "を返す。 状態(V (例) SASシステムを起動し、現在オープン中のウインドウが BUILD"コマンドにてウインドウを切り替える。 D i mS A S O b ja sO b j e c t 、 S e tS A S O b j二 G e t O b j e c t ( " S A S . A p p li c a t i o n .6 1 1 0 2 " ) i l d " ) )T h e n I f( N o tS A S O b j . O u e r y W i n d o w ( u " bui 1 d づ S A S O bj .C o m m a n d( E n d l f 4 2 4 ‑ BUILD"ウインドウでなければ
主盟 オートメーションセッションウインドウを前面に表示する。この場合 SASウインドウが見える状態 V i s i b l e "プロパティを ' T r u e "に設定しておく必要がある。 でなければならない為 " (例) SASシステムを起動後、ウインドウを表示可能に設定し最前に表示する。 D i mS A S O b ja sO b j e c t S e tS A S O b j二 C r e a t e ぱ 叫 O b j e c t ( " S A S . A p p li c a t i o n .6 1 1 0 2 " S A S O b j .V i s i b l e=T r u e S A S O b j .T o p プロパティ デフォルト値 R e a d / W r i t e B u s y n o n e R e a d i f( S A S O b j .b u s y )t h e n C o m m a n d W i n d o w "" B o t h S A S O b j .C o m m a n d W i n d o w =" P r o g r a mE d i t o r " r u e C o m m a n d W i n d o w V i s i b l e T B o t h S A S O b j . C o m m a n d W i n d o w V i s i b l e=T r u e R C 。 。 R e a d I f( S A S O b j . R C=0 )t h e n R e s u l t S t r i n g "" R e a d m e s s a g e=S A S O b j .R e s u l t S t r i n g T i t l e " S A S " B o t h S A S O b j .T i t l e=" S A SG R A P H " V i s i b l e F a l s e B o t h S A S O b j .V i s i b l e=T r u e W a i t F a l s e B o t h S A S O b j . W a i tニ T r u e プロパティ 使用例 (詳細説明) 註笠 オートメーションセッションが現在処理中であるかどうかを示す。 CommandWindow commandメソッドで指定される SASコマンドを実行する際のウインドウ名を指定する。例えば、 GRAPH",ProgramE d i t o r " など。 commandメソッドを実行する際のデフォルトウインドウは現 在a c t i v eになっているウインドウであり、特定ウインドウに対するコマンドを実行する為には、こ のプロパティにてウインドウを指定する必要がある。 CommandWindowV i s i b l e CommandWindow"プロパティで指定したウインドウを表示するかどうか設定する。 F a l s e "を設定 すれば、 CommandWindow"プロパティで設定したウインドウは表示されない。 RC SASシステムの中で、ユーザーが設定した戻り値(数値)を取得する。 ‑ 4 2 5
(戻り値設定例) SETRC"関数を使用して、 DATAステップまたは SCL中に戻り値を設定しておく。第一パラメー タに文字列を設定し、第二パラメータに数値を設定する。 D a t an u1 1; e r r o r =s e t r c ( " E r r o rs t r i n g ", 2 . 0 ) ; r u n ; f{ R e s u J t S t r i n SASシステムの中でユーザーが設定した戻り値(テキスト)を取得する。 T i t J e メインタイト/レバーの設定。 V i s i b J e SASセッションを表示可能にするかどうか指定。 Wait コマンド実行の同期、非同期を制御する。デフォルトは非同期。 【参考文献】 1 ) J e n n i f e r Clegg and C a r o lR i g s b e e,SASI n s t i t u t eI n c ., OLE and t h e SAS System f o r WindowsR e l e a s e 6 . 1 1 " n s t i t u t eI n c ., TheSASSystemOLEAutomationServer" 2 ) BrianCorcoran,SASI .XXIINO.1F i r s tQuarter1 9 9 6 " 3 ) SASI n s t i t u t eI n c .,SASCommunicationsVol 4 ) SAST e c h n i c a lReportE・106J 5 ) 杉末秀利著,ナツメ社, rWindowsユーザーのための OLE2活用術」 す 1Windowsは M i c r o s o f t社の商標です。 * 2V i s u a lB a s i cは M i c r o s o f t社の商標です。 可 E x c e lは M i c r o s o f t社の商標です。 ‑426‑
付録
本付録では、 V
i
s
u
a
lB
a
s
i
c
'2から SASOLEオートメーションサーバー機能を使用する例を紹介する。
SASシステムが提供するコンボボックスオブジェクトと V
i
s
u
a
lBasic
刊が提供するイメージオブジェク
トの 2つを使用する。コンボボックスで項目を選択すると SASシステムの OLEオートメーションサー
2
ノfーが起動し、自動的にグラフが作成されクリップボード経由で V
i
s
u
a
lB
a
s
i
c
' 上のイメージオブジェ
クトへ転送される。 SASシステム側で処理する内容は外部ファイルに記述しておき、コンボボックスで
選択された項目によって SASシステムへインクルードされるファイルを切り替えている。
<Formオブジェクト
Loadプロシジャーに設定したプログラム>
P
r
i
v
a
t
eS
u
bF
o
r
mL
o
a
d
(
)
R
e
m コンボボックスへ項目を追加する。
S
a
s
c
o
m
b
o
l
.
A
d
d
l
t
e
m‑当月売上高‑ 0
S
a
s
c
o
m
b
o
l
.
A
d
d
l
t
e
m ‑品質管理‑ 1
S
a
s
c
o
m
b
o
l
.
A
d
d
l
t
e
m ‑管理図ぺ 2
E
n
dS
u
b
<SASコンボボックス
SelectChangeプロシジャーに設定したプログラム>
P
r
i
v
a
t
eS
u
bS
a
s
c
o
m
b
o
l SelectChangeO
u
t
o
m
a
t
i
o
ns
e
s
s
i
o
n の進行が見えないようにする。
R
e
mS
A
SA
u
t
o
m
a
t
i
o
ns
e
s
s
i
o
n を開始する。 A
V
i
s
i
b
l
e=F
a
l
s
e
) 進行を確認したい場合には、 V
i
s
i
b
l
e =T
r
u
e に変更する。
R
e
m (設定
D
i
mS
A
S
O
b
jA
sO
b
j
e
c
t
r
e
a
t
e
O
b
j
e
c
t
(
‑
S
A
S
.
A
p
p
li
c
a
t
i
o
n
.
6
1
1
0
2
‑
S
e
tS
A
S
O
b
j =C
a
l
s
e
S
A
S
O
b
j
.V
i
s
i
b
l
eニ F
r
u
e
S
A
S
O
b
j
.
W
a
i
t=T
R
e
mS
A
Sのプログラムを記述した外部ファイルを読み込んで処理する。
S
e
l
e
c
tC
a
s
eS
a
s
c
o
m
b
o
l
.T
e
x
t
C
a
s
e ‑当月売上高"
S
A
S
O
b
j
.S
u
b
m
i
tC
引
首i
n
c
l
u
d
e'
c
:平
剃d
e
m
旧
o
平
恥v
b
平
Vsasbat
拘
平
V町
mk
s
a1
e
s
.s
a
s
'
;r
u
叩n
;
‑
,
c
白a
se‑品質管理‑
印
S
A
S
O
b
j
.S
u
b
m
i
t C目i
n
c
l
u
d
e'
c
:平d
e
m
o
¥v
b
平s
a
s
b
a
t半m
k
q
c
.s
a
s
'
;r
u
n
;
‑
)
C
a
s
e ‑管理図"
S
A
S
O
b
j
.S
u
b
m
i
t C首i
n
c
l
u
d
e'
c
:¥d
e
m
o
平v
b
V
s
a
s
b
a
t
V
m
k
q
c
2
.s
a
s
'
;r
u
n
;忽
)
E
n
dS
e
l
e
c
t
a
l
s
e
F
l
a
g=F
W
h
il
e(
(
S
A
S
O
b
j
.
B
u
s
y
)A
n
dN
o
tF
l
a
g
)
‑
4
2
7一
I
f(
S
A
S
O
b
j
.Q
u
e
r
y
W
i
n
d
o
w(
"
GR
A
P
H
"
)
)T
h
e
n
F
l
a
g =T
r
u
e
E
n
dI
f
W
e
n
d
R
e
mS
A
Sで作成したグPラフをクリップボード経由で V
i
s
u
a
lB
a
s
i
c
'1のイメージオブジェクトへ転送する。
S
A
S
O
b
j
.
C
o
m
m
a
n
d
W
i
n
d
o
w=可 R
A
P
H
"
S
A
S
O
b
j
.
C
o
m
m
a
n
d"
G
S
T
O
R
E
"
o
u
t
.
P
i
c
t
u
r
e =C
Ii
p
b
o
a
r
d
.
G
e
t
D
a
t
a
(
)
R
e
mS
A
SA
u
t
o
m
a
t
i
o
ns
e
s
s
i
o
n を終了する。
SASObj.quit
S
e
tS
A
S
O
b
j =N
o
t
h
i
n
g
E
n
dS
u
b
<外部ファイル c・
干d
e
m
o干v
b
V
s
a
s
b
a
t
V
m
k
q
c
2
.s
a
sに記述したプログラム>
I
i
b
n
a
m
ed
e
m
o
6
1
1'
c
:¥d
e
m
o
¥v
b半s
a
s
b
a
t
':
g
o
p
t
i
o
n
sr
e
s
e
t
=
a
lIg
s
f
m
o
d
e
=
r
e
p
l
a
c
ed
e
v
i
c
e
=
w
i
n
:
ニk
a
n
j
i h
=
2
t
i
t
l
ef
(ハン 1¥ーガ一重量) ,
=
2 ' X管理図
t
i
t
l
e
2f
=
k
a
n
j
i h
s
y
m
b
o
lv
二d
o
t
:
p
r
o
cs
h
e
w
h
a
r
td
a
t
a
=
d
e
m
o
6
1
1
.
w
e
i
g
h
tg
r
a
p
h
i
c
s
:
H
O
U
R
/
c
f
r
a
m
e
=
g
r
a
yc
c
o
n
n
e
c
t
=
b
l
u
ec
li
m
i
t
s
=
r
e
dw
li
m
i
t
s
=
1
.
5c
i
n
f
iII
=
w
h
i
t
e
x
c
h
a
r
tW
E
I
G
H
T*
wtrend=3 c
o
u
t
f
iI
I
=
y
e
ll
o
w
:r
u
n
:q
u
i
t
:
置司副"'"面""司幅四回目
・
一‑目四回・,..""""
町 田 圃 国2
必1
01><1
X管理図 (ハンバーガ一重量)
,
ぞい企
' ム 咋
、
‑
一、
母ヘ常、、}
hい
(
勺
、
志ぎ♂、
百
r~
図 : 上記プログラム実行後の V
i
s
u
a
lB
a
s
i
c
・
2アプリケーション画面
‑428‑
日本 5 A 5ユーザー会 (5UG̲ j‑ J) rSAS/ACCESSソフトウェア PCFileFormatsインタフェース』による XLSファイルへのアクセス 石井由美子 株式会社 SASインスティチュートジャパン テクニカルサポートセクション I m p o r t i ng ! Ex p o r t i n gE x c e lf i l e s ( X L S )w i t hSAS/ACCESSI n t e r f a c ef o rPCF i l eF o r m a t s YumikoI s h i i SASI n s t i t u t eJ a p a n, LTD. T e c h n i c a lS u p p o r tS e c t i o n, 要旨 ~SAS/ACCESS ソフトウェア PC F i l eF o r m a t sインタフェース』を使用して MS‑EXCELの XLSファイルにアクセスする機能について説明する。 キーワード: 6.11川lindows,OS/2,ACCESS,PCFileFormats,MS‑EXCEL,XLS L t土 1 ニ波う L こ SAS/ACCESSソフトウェア PCF i l eF o r m a t sインタフェースは MS‑EXCEL(表計算ソ フト)、 dBASE (データベースソフト)、 L o t u s1 ‑ 2 ‑ 3 (表計算ソフト)などのデータに アクセスする Windows版および OS/2版のオプションプロダクトである。 これまでの DIF (MS‑EXCELなどのデータ変換用中間ファイル)、 DBF (dBASE のファイル)、 WKn ( L o t u s1 ‑ 2 ‑ 3のファイル)に加えて、リリース 6 . 1 1より XLSフ ァイル (MS‑EXCELのファイルで拡張子が.XLS) へのアクセス機能がサポートされ ている。その使用法について説明する。 ‑429一
2_ イせzσ〉イ~ : : ‑ ‑ ‑ ‑ ‑ タr コアニ=‑‑̲7三と σ 〉上七車交 SASシステムから MS‑EXCELのデータにアクセスするには次のような方法がある。 1 )SAS/ACCESS ソフトェア PCF i l eF o r m a t sインタフェースを利用する 2 )SAS/ACCESSソフトウェア ODBCインタフェース利用する 3 )W i n d o w sの DDE機能を利用する 4 )テキストファイルに変換して DATAステップで入力する 2 . 1SAS/ACCESSソフトウェア PCF 1 i eF o r m a t sインタフェース B a s eS A Sソフトウェア、 S A S / A C C E S Sソフトウェア PCF i l eF o r m a t sインタ 必要なプロダクト : フェース XLSファイルに直接アクセスする。 E x c e lを使用しない。 ACCESSウインドウ、 DBLOADウインドウで対話式に XLSファイルにアクセ スできる。 2 . 2SAS/ACCESSソフトウェア ODBCインタフェース B a s eS A Sソフトウェア、 S A S / A C C E S Sソフトウェア ODBCインタフェース 必要なプロダクト : ODBC(OpenD a ta8a s eC o n n e c t i v i t y :オープシなデータアクセス)とは、異なる構 造、異なるアクセス方式を持っさまざまなデータベースに同じアクセス方式を提 供する規約である。 ODBCドライパがアクセス手順の違いを吸収する。 対象となるのは E x c e lに限らず、 ODBCドライパが提供されているデータベー ス全般である。 2 . 3W i n d o w sの DDE機能を利用 B a s eS A Sソフトウェア 必要なプロダクト : D D E ( D y n a m i cD a t aE x c h a n g e :動的データ交換)とはアプリケーション間で動的に データの交換を行う機能である。 S ASシステムと相手のアプリケーションを起動 した状態でデータの交換を行う。 S ASシステムでは DATAステップを利用する。 日付、時間などのフォーマットの変換などは行われない。 3 ̲E. J o ζ C E L σ〉号戸、」ータr をど S〆ミ S 手/̲7二号r ‑. . b . .~こ J人プコマ「 と 〉 3 . 1 アクセスディスクリプタとビューディスクリプタ EXCELのデータを SASシステムに取り込むには、まずアクセスディスクリプ AS タを作成し、アクセスディスクリプタからヒ、ューテーィスクリプタ(または S データセット)を作成する。 ‑ 4 3 0
(日ワー) ビューディスクリプ~ 図3 ‑ 1 。アクセスディスクリプタ アクセスディスクリプタは特定のデータベースにアクセスするために必要な情 報や、そのデータベーステーブルの持つ構造や属性に関する情報を持つ。通常は ひとつのデータにつき、ひとつのアクセスディスクリプタを作成する。 EXCELの場合はひとつのワークシートにつき、ひとつのアクセスディスクリプ タを作成する。 。ビューディスクリプタ (SASデータビュー) ビューディスクリプタとは ACCESSプロシジャを使って作成された SASデータ ヒ、ューである。アクセスディスクリプタからビューディスクリプタを作成する。 ビューディスクリプタには特定の DBMSテーブル用に作成されたアクセスディ スクリプタの名前と、その DBMSテーブルからデータを抽出するための情報が格 納されている。 SASデータセットが実際のデータを持っているのに対し、ビューは実際のデー タを持たない仮想の SASデータセットである。入力元の EXCELのワークシート の内容が変更された場合、 SASデータセットは作成し直す必要があるが、ビュー は処理実行時のデータを参照するので、常に最新のデータを利用できる。 3 . 2 アクセスディスクリプタおよびビューテ.イスクリプタの作成 アクセスディスクリプタおよび、ビューディスクリプタを作成するには次の 2通 りの方法がある。 ① ACCESSウインドウを使用して対話式に作成する ② ACCESSプロシジ、ヤを使用して非対話式に作成する A 坐 ー ム qu
3ユ1ACCESSウインドウの使用法 ACCESSウインドウを使用して対話式に作成するには以下のようにする。 (1)アクセスディスクリプタの作成 動 一 起 一 内 ノ 一 の一 ウ一部 α一A M一 町 川 PROGRAMED汀 ORから ACCESSプロシジャ を実行する。 2 . ~新規作成』ウインドウ 幸 昨 季 見1 宅 I i i i ・ 困 アクセスの定義 WACCESS~ ウインドウで「ファイルJ →「新規 作成 Jを選択する。 参照名 アクセス名~コ 名前 ~イヲ ~コ A ESS 仁己 ∞ 」竺」 『新規作成』ウインドウでアクセスディスク リプタを保存するライブラリ参照名とメンバ 名を指定する。 3 . ~データ選択』ウインドウ i l e s Jを選 『データ選択』ウインドウで rXLSF SYBASE‑S 且 s e同 町 D!FF iI e s (口‑:$I::U 民W F i[ e s( c I 3 ASD W K lF jl e s WK3FiJes 択する。 ‑432‑
4 . ~ACCESS ディスクリプタの作成』ウインドウ XLS Fil e Ac ce$s De scdptol'" l d e l l t ificat .ionWino 調噌 Descriptor" Library. XLSlIB M町 be,..‑ Ty同 D.f' ρCCESS AssiCn N 宮崎. N O P.てh c . . . . x c. a15Ve.仰 ploy ※必須入カ項目は Pathのみである. 門 . . Workgh&et. Sh&et l R. Get CoIIftInN省 ̲.νe. . . .s Skip Rc Allo 梢 MixedData" NO Scan Typeノ Fon n .at コ 0 . ' , 1 AllowMixedData:数値と文字の混在を許可 A s s i g nNames:一意の変数名の割り当て ワークシートの各列に対して 8桁 か ら な る 一 省略値は NOで 、 EXCELの数値データは SASシステムの文字データに変換されな 意の SAS変数名を自動的に割り当てるかどうか を指定する。省略値は NO。 Path:XLSファイ J レのパスとファイル名 変換を許可する場合は YESを指定する。 Range:範囲指定 Worksheet:EXCELのワークシート名 GetColumnNames:変数名の取得 ワークシートの開始セルと終了セルを指 定する。 ワークシートの l行目を項目名として使用し ている場合に、その項目を SASデータセットの 例) B 1 :E 4 S k i pRows:被み飛ばす行数の指定 変数名とするかどうかを指定する。 ただし、 SASシステムの変数名は 2バイト文字 初めの行をタイトルや副題などに使用し ている場合に入力しない行を指定する。 (日本語)をサポートしていないため、項目名に たとえば先頭の 2行を読み飛ばす場合は 日本語を使用している場合は新しく変数名を設定 する必要がある。省略値は NO。 2を指定する。 ScanType/Format: 列のデータタイプおよびフォーマット を決定する際、処理対象範囲の次の行を検 索する。それらを特定の行を検索して判断 させるには行の値を指定する。 η η δ 4 ︒
5
. WACCESSデ ィ ス ク リ プ タ の 作 成 』 変 数 選 択 ウ イ ン ド ウ
・
SASName:SAS変数名の指定
XLS Fi1
0
3 Ac
Ce
.88 0 acriptorOispI8y Window
・
a
<
;
:riPtor. Libr・
ry. XLSLJB
0
・・
同
.
"
・
.
A
C
CESS
W
e
t
nber E
J
r
,
P
T¥
lp
o
Cc I
:
lVemplo¥
l XLS
Path. c."
'
e>
Skip R
0
4
O
O
!
i
I
: 1
I
o
Ij>
o
C8d: NO
ill>o.昌之必盆国
E=~盆よ!dW.m丘公..,.
. o.P!D
•
•
のフィールドに入力する。
E=n且
BESγ10
.
..aJY'1'8
$7
H!REDATE
. DEPT
.
•
.
.
変数名を変更する必要がある場合はこ
Ranl
18
Work.he t
:S
N
'を指定して
②の GetCouJumnNamesで '
BEST9
$8
J鴎ヨ C~コE
OEh1JER
t
:
lTE
81RH
LASTN
A
I
r
I
IE
PHONE
いる場合は、変数名は
抽IXlYY8
$20
$8
VARO,
VAR1,
・・・, VARnのようになる。
Format:SASフォーマットの指定
Func:列選択
ACCESSプロシジャは自動的に XLSフ
ワークシートの列を含めるか、含めないかを指
ァイルのフォーマットを、対応する SASシ
0
'を
定する。含める場合は'夕、含めない場合は '
ステムのフォーマットに変換するが、任意
指定する。
にフォーマットを指定する場合は、このフ
ィールドにフォーマット名を入力する。
(
2
)ビ ュ ー デ ィ ス ク リ プ タ の 作 成
動
一
起
一
内
ノ
一
の一
ウ一岱
α一K
M一
Mm
PROGRAMEDITORから ACCESSプロシジヤ
を実行する。
A
坐
qd
4
2
. ~ACCESS~ ウインドウ
三三ζ二τ 一重霊吾亙
盃歪亘孟7 重量百
SASUSER
SASUSER
̲
SASUSER
̲
SASUSER
SASUSER
一 SASUSER
SASUSER
SASUSER
一 SASUSER
ー ̲ SASUSER
SASUSER
WORK
I
o
IORK
CV XLSLJB
←
̲
ド
岨 OTS
旺 丸 尾 ER
OBJECTS
ORANOES
RETAJL
SASAPPL
川 BC
SAS
川 81
SAS
SASPARM
TEST
VENEER
OSEO
SASQOPT
r
o
P
EJ
DATA
DATA
DATA
DATA
了A
DA
DATA
DATA
DATA
DATA
DATA
DATA
CATALOO
CAT.
I
l
LOO
fJCCESS
rACCESS~ ウインドウで ACCESS ディスク
リプタの選択行に CVコマンドを入力する。
YES
YES
YES
YES
YES
3
. ~ACCESS ディスクリプタの作成』ウインドウ
見
・
S FiIQ Vi̲ Oescr;ptor D 6pl町 刷
・
"
c
z
・
"
・
̲be,
n
̲
同
,
T
V(EW
相
o
RanQ'd
~;><..d
V同
o
v
"
"
2
VTR3
VTR'
VTR'
VI
>
I
ミ6
VTR7
1
<
10
工ぷ""""ぇ.lli<国
cccccccc
己'"二盆oJ. Q
♀i
ム鳳止.Homo
v
ρR¥
ビューディスクリプタに含める変数を選択す
る
。
S
0 scripto"; Libr
Outpu'
t SAS 08
1
:1 Set L
ib.‑
E=n且
SASフォーマットの指定をする。
i
t
O
?
$¥0
,.
$.
$¥0
$20
$.
ユ
3 2ACCESSプロシジャの使用法
PROGRAMEDITORから ACCESSプロシジャを実行する。
例) C:¥exceI5~emp.xls ファイルからアクセスディスクリプタ emp.access とビ
ューテ。ィスクリプタ emp.viewを作成する例を記述する。
libname xlslib 、
c:¥mylエb
';
proc access dbmsニ xls;
create xlslib.emp.access;
path='c:¥exce15¥emp.xls';
getnames=yes;
create xlslib.emp.view;
select all;
run;
proc print data=xlslib.emp;
runi
h
戸 u
凋今
qd
3.3フォーマットの自動変換 ACCESSプロシジャは XLSファイルのほとんどのフォーマットを対応する SASシステムのフォーマットに自動的に変換する。 表 1 :主なフォーマットの例 SAS変数フォーマット XLSファイルデータ フォーマット データ XLSフォーマット データ タイプ 文字列 タイプ 文字列 ⑨ 文字 $w. 数値 一般 数値 BEST 数値 0 . 0 0 数値 w.d 数値 # , 岸# 0 . 0 0 数値 COMMAw.d 数値 $ # ,##O ̲ j , ( 岸 岸 , 再# 0 ) 数値 DOLLARw.d 数値 0.00% 数値 PERCENTw.d 数値 O.OOE+OO 数値 Ew.d 数値 泣‑ mm‑dd 数値 YYMMDDw. mm:ss 数値 MMSSw. 数値 」 注意) SASシステムの文字変数の制限により、 200桁を超える文字データは 201桁以降が 切り捨てられる。 4 ̲ S A S ~コぇラユ ...b、 σコラゴーータをプ EXCEL ~こ仁臼プコフす一 と 〉 4 . 1SASデータセットの出力 SASデータセットの内容を XLSファイルに出力するには、次の 2通りの方法が ある。 ① DBLOADウインドウを使用して対話式に出力する ② DBLOADプロシジャを使用して非対話式に出力する ‑436
4 .1 .1 D B LO A Dウインドウの使用法 1 . WDBLOAD~ ウインドウの起動 PROC DBLOAD; PROGRAM EDlTORから DBLOADプロシジャ RUN; を実行する。 2 .W データ選択』ウインドウ 園EN園 田ー一一一一一一一一一一一一一一一一一 一一一一一一一一│ データ選択』ウインドウで fXLSFilesJを選択 E 極主市う回掘にカーソルを移動して E 町田を押して下さい 1 w 釘 s r p f : ? と?百九ス) 1 する。 医lF F ;les ( c : I 3 ASE) WK1 F iles W悶 F iles WK4F iles 3 . WDBLOAD~ ウインドウ 。 I n p u tD a t a :出力する SASデータセット名 • XLS Fi 1e Load IdenミificationWind Input Datd: S^SUSER.CRIJIE ^ccess Desc了 iptor: I n p u tL i m i t :出力する OBS数の制限 Input Limit : 5000 Path: c:YexcelSlcriwe.XLS Path:XLSファイルのパスとファイル名 P u tColumnNames:変数名の出力 EJ:cel Version: 5 Error Lir 司令 100 Put Coltutn N町 内es: yes 4 . WDBLOAD~ 変数選択ウインドウ ' F u n c :出力変数の選択 氾 SFi 1eLoadDisplayWindow c 1 5 Y c : ‑ i m e . X L S Path: c:leJ:c E 皿< W 辺且且盆盟 古T ATEN 古T ATE IURDER RAPE 即B BERY ^SSA l . n .T 町司GURY LARCENY A U lO 「ローカル J→「ロード Jを選択するとデータが r=:;瓜且皿Emmll ~~~N 1~~:n5. 1 出力される。 IURDER B E S T 1 5 . RAPE sEST15 即 田E RY sEST15 ASSA l . n .T sEST15 BU 田L ARY BEST15 LA 庇! NY sEST15 Al J TO sEST15 注意)すでに存在する XLSファイルを上書き更新することはできない。 4 .1 .2 D B L0A Dプロシジャの使用法 PROGRAMED汀 O Rから DBLOADプロシジャを実行する。 ‑437‑
例) SASデータセット SASUSER.CRIMEの内容を C : ¥e x c e 1 5, l Jc r i m e . x l sファイル に出力する例を記述する。 proc dbload dbms=xls data=sasuser.crime; path='c:¥exceユ5¥crime.xls'; putnames=yes; l o a d ; list all; r u n ; 4 . 2 フォーマットの自動変換 DBLOADプロシジャは SASシステムのフォーマットを EXCELの対応する フォーマットに自動的に変換する。 表 2 :主なフォーマットの例 SAS変数フォーマット タイプ フォーマット XLSファイルデータ XLSフォーマット タイプ 文字列 ヲラ 標準 文字 文字 $CHAR 標準 文字 文字 s 標準 文字 数値 BESTw.d 標準 数値 数値 COMMAw.d , ###0 数値 数値 DOLLARw.d $ " # . # 再O 数値 数値 Ew. O.OOE+OO 数値 数値 YYMMDDw. YY‑MM・DD 数値 数値 TIMEw.d h : m m : s s 数値 文字 " 5̲ヰヨオコり Lこ このように SAS/ACCESSソフトウェア PCF i l eF o r m a t sインタフェースを使用して、 簡単に MS‑EXCELとデータを交換することができる。そのため、双方のデータをよ り有効に使うことができる。 参考文献 1 )SAS/ACCESSS o f t w a r ef o rPCF i l eF o r m a t s R e f e r e n c e V e r s i o n6F i s r tE d i t i o n ‑438‑
日本 S A Sユーザー会 (SUG I‑J) S A S / T U T O Rオンライントレーニングの紹介 竹内清恵 技術部開発セクション 株式会社 S A Sインスティチユートジャパン Introducing the SAS/TUTOR on‑Ii n e training Kiyoe Takeuchi . R&D section, SAS Institute Japan Ltd, 要旨 SASシ ス テ ム バ ー ジ ョ ン 6.12からリリースされる日本語版 SAS! TUTORソフトウェアをご紹介します。 このオプションプロダクトは、実際の S A Sウインドウ環境を使用しながら S A Sシステムの基本的な 操作方法や機能が学べるオンライントレーニングシステムです。このプロダクトの特徴、カリキュラム、 各コースの概要、使用上の利点などについてご紹介させて頂きます。 キーワード: SAS! TUTORソフトウェア,オンライントレーニング 1. は じ め に SAS! TUTORソフトウェアは、短時間で SASシステ E 量 三i SAS/TUTOR悶オンライントレー二ンタ コス ムの基本機能が習得できるようにデザインされ たオンライントレーニングシステムです。全コー スは、 SASシステムの柔軟なウインドウ環境であ 三三丞註よ1 る SASディスプレイマネージャシステムを使って 7扇沼~J 進められますので、擬似ではなく実際の SAS環境 ' 豆 墜l 図 1: SAS/TUTORのメインウインドウ で学習および演習を行うことができます。実行す る SASプログラムは実行モードに関係なく同じな ので、対話型モードと同様にバッチモードおよび 2. SAS/TUTORオンライントレーニングの特徴 非対話型モードで SASシステムを使用するユーザ にも SAS/TUTORは適しています。 .コース内を自由に移動可能。メニューのオプ ションとコマンドバーを使って素早くコース内 を移動することができます。各ウインドウにはレ ‑439一
ッスンタイトルとトピックの見出しが付いてい
るので、場所を見失うことはありません。
•
1
同彊 7I 7
!
l
一
寸
5点
以下のうち,聞遣, 1
;
1
ど
れTしよう?
SlJlプロシジャを終了するには. .
a
. ~IJ O) P
R
O
C ステッブをサブミットします.
b 叫 I
T ステート"'‑ントをサヲミットします.
c
. END コマン F
を発行します.
SAS システムとの高度な対話性。インストラ
d 臥 TA ステッブをサブミットします.
クション中いつでも[練習]ボタンを押してディ
答え==>d
スプレイマネージャに移動し、新しく学習した機
正解
=>c
遣います
s
此プロシジャを終了するに 1;
1
,
山 IT え子ートメントを
A
.
T
A または P
R
∞ステッブをすフミットします.
サブミットするか.D
能を練習してみることができます。練習後は、[レ
雇記
ッスン]ボタンを押すとすぐにレッスンに戻れま
孟
三1 ̲
i
云
斗
す。また、ガイド演習によってレッスンで学習し
三孟J .e
;
}
己l
図 3:レッスンクイズ
た技術をどれだけ習得できているか試すことが
でき、[解答]ボタンを押すと、常に答えがチェッ
.コース途中からの再開機能。メニューパーの
クできます。
[保存]ボタンを押してからコースを終了すると、
‑・園田由闇畠市島・・・・・・当
PROCTABULATE ス子ツヲ
で、次回コースを再開するときはそこから学習を
で変数を指定しなさい.
再開することができます。
¥
11
.
CLASS また l
まVAR
I
i
TABLE ステ」卜メン卜で・
i
!
;
,2
'
l
r3
どの場所でコースを終了したかが記録されるの
ステー卜メン卜内の
各変数を指定します
各ステ」卜メン卜の最後
まセミコロンを必ず
にl
記述します.CLASS また
は VAR ステー卜メン卜で・
は,統計量 MEAN を指定
すること l
まできません.
ステッブをサブミッ卜し
て,出力を見ます
ここに震って レッスン
を選択します。
N
‑各インストラクションのインデックス。各イ
ンストラクシヨンには、コース内で取り上げられ
1
。
ているトピックに素早く簡単にアクセスするた
めのインデックスが付けられています。このイン
デックス機能は、後でトピックをレビューするの
に便利です。
H
日翌週霞雷雲亘│
図 2:ガイド演習の例
‑広範囲なヘルプ機能。 SASプログラムの構文
やコマンドのクイックリファレンス、ディスプレ
イマネージャの使い方、関連する SASマニュアル
の紹介といった一般的なヘルプは常に参照で、き
-洗練された問題とフィード I~ ック。レッスン
ます。その他に、インストラクション中の質問に
のクイズ問題によって、直前に学習した内容の理
答えるための特別なヘルプ機能が使用できます。
解度をその都度確認でき、得点をチェックするこ
とができます。問題には、 SASプログラムの記述
3. SAS/TUTOR のカリキュラムについて
や、正しいプログラムや出力の選択、 SASプログ
ラムを使った問題の解決などがあります。また、
•
SASシステムの全体像を学習します。
解答のフィードパックでは、 SASプログラムのセ
・データアクセス/加工、レポート作成といっ
ミコロン抜けや、 SASキーワードのスペルミスな
た基本的なデータ処理方法を学習します。
ど、細かな指摘も行われています(図 3参照)。
・タスクを行うための適切なオプシヨンプロダ
クトおよびプロシジャの選び方を学習します。
‑440一
SAS/TUTOR の力リキュラムの最初のコース SAS 深めるためのコースです。このコースでは、 DATA システムの基本操作" ( 図 4参照)は 12‑15時間 ステップによる新規変数の作成や、既存変数と変 のコースで、 SASシステムの基本的な概要が学べ 数値の編集および処理に必要な基本スキルを習 ます。この基礎コースは、一般的なデータ処理方 得します。具体的には、関数の使用、 DOループ、 法と、そのタスクを行うのに必要な SASソフトウ 配列処理、マクロ処理といったトピックが含まれ エアプロダクトが紹介されています。ユーザは、 ています。 DATA ステップによる異なるソースからのデータ の読み込み、ウインドウ環境でのデータ入力、 SQL ‑カスタムデータ入力アプリケーションの開 発: を使った非定型な照会、リスト形式のレポートや 集計表の作成、および樟々なグラフの作成につい SAS/FSPソフトウェアを使ってユーザ独自のデー て学習することができます。 SAS/TUTORカリキュ タ入力アプリケーションを作成する方法につい ラムの他のコースは、この基礎コース肉の素材を T て学習するコースです。このコースでは、 FS印 I 基に作られています。 プロシジャを使ったデータ入力アプリケーショ ンの作成方法と、 FSVI印セッションの力スタマイ 主l ズ方法について学習します。 • SAS/GRAPH出力の作成と拡張: 初級・中級程度の経験をもっ SASユーザを対象と したコースで、 SAS/GRAPH ソフトウェアを使った 高品質なグラフの作成方法を学習します。具体的 語2 2 には、基本的なプロットやグラフの作成、グラフ 副主j 図 4・ " S A Sシステムの基本操作"コースのメニュー の個別(またはクゃ口 ‑1'¥)レ)な拡張、グラフイツ ク環境の設定、およびグラフ出力の管理を行う方 法について学びます。 その他のコースの内容を以下に紹介します。 • • TABULATEプロシジャを使った表の作成: DATA ステップによる生データの読み込みと 初級・中級程度の経験を持つ SASユーザを対象と フォーマット: したコースで、 TABULATEプロシジャを使って記述 このコースでは、生データの樟々な読み込み方法 統計表を作成し、データを分析および表示する方 と、変数値のフォーマット化について学習します。 法について学習します。このコースでは、表示す また、 1オブザベーションに対して複数レコード る統計量の指定方法や、出力を拡張する方法につ もつファイル、 1レコードで複数オブザベーショ いても学習します。 ンを作成するファイル、変数長レコードのファイ ル、履歴データ構造のファイルといった複雑なデ 4. SAS/TUTORオンライントレーニングの利点 ータの読み込み方についても学びます。 ・ ソフトウェアの使い方や技術を学習するための DATA ステップによる変数の作成、加工、処 トレーニングには、インストラクターによるもの 理: や、ビデオといった他のメディアを使ったものな DATA ステッププログラムの構文と構造の知識を どがあり、それぞれに利点があります。これらと ‑441‑
比較して、オンライントレーニングによるメリッ .コース!ま、 レビューとテストのサイクルで進 トとして、 以下の点が挙げられます。 められています。これは、学習したスキルを復習 する上で大変効果があります。 ‑いつでも好きな時に学習でき、経済的です。 • 大勢の学生を低コストで教育できます。 • 移動にかかる時間と経費が節約できます。 圃 . E , l 1 E結 晶 県 民 論 調EE539 x 園 田 園 園 田 町 圃 恒 置 輔 副 闘った 面 回 世 削Y と 医PT 好きな時間に学習できるので、スケジュー E罰百 園田 " P . 刷 YとP 岨刑四 国 岨TPAID リングの問題がなくなります。 国紅し 変蝕 田 .PANY AMTPAID 出 打H a>T 四 P A R T N I 生イブ長呂 $ N $ $ N 2回 ーー一一一一一一‑ 1 2 AMOUNTPAID 8 h l Q N T H OF YEAR ¥ DEPARTM 四T 4 PART刷 " B E R ‑各テーマを個別に学習できます。 • コースは個別の学習パスで構成されてい ます。 • 答えを遺占功、. ‑ 1 邸主でスキッブして下さい. 生 l 亘 J 主 l云;:J 主主j 己亘l 経過がモニタされ、 フィードパックがあり 図 5:レッスン中に出題される問題 ます。 • 個人のペースで学習を進めることができ • • ‑理解しやすいトラッキングシステムを備えて ます。 います。 MVS,CMS,および VAXVMS環境では、 ト コースの一部を後でレビューすることも ラッキングシステムを使ってユーザの進捗状況 できます。 と所要時間をモニタすることができます。特に、 ガイド演習によって、学習した技術を実際 各クイズの得点(スコア)、コースにアクセスし に練習してみることができます。 た最初と最後の日付、コースへのアクセス回数、 およびコースに費やした時間の合計をトラッキ 5. SAS/TUTORのユニークな特徴 ングすることができます。 ‑最新のソフトウェア技術を使った最新のトレ 6. おわりに ーニングが行えます。 SAS/TUTORソフトウェアの ライセンスがあれば、何も変更することなく自動 本論文で紹介した新オプションプロダクトは、従 的に最新の学習コースが受けられます。 来の SAS/CBTソフトウェア ( 1¥ ージョン 5でのオ ンライントレーニング:英語版のみ)を基に G U I SAS システム機能をシミュレーションではな 機能を強化して、直感で楽しくトレーニングが進 く、実際の SASウインドウ環境で練習することが められるように設計されたものです。このプロダ できます。 クトが多くのユーザに利用され、十分に有効活用 • されることを期待して終わりとさせて頂きます。 ‑各コースには、インストラクションプロセス におけるキー要素がすべて含まれています(タス クに基づく指示、豊富な問題とフィードパック、 広範囲にわたるオンラインヘルプ、ガイド漬習、 レッスンの理解度を試すクイズ、キートピックの 迅速なレビューなど)。 ‑ 4 4 2
日本 S A Sユーザー会 (SUG I‑J) SAS/GRAPHソ フ ト ウ ェ ア の 記 述 疫 学 に お け る 子 淑 地 辺 樹 秀 津 ︐ 1J 品 川H 藤学 斉学医 大生 士科衛 裕医・ 野分衆 青大公 ︒ 作業仮説設定への応用と便益性。 Application o f SAS/Graph Software t ot h e Descriptive Epidemiology and t h e Efficiency o f those procedure following the Hypothesis t i m e l y . Hiroshi AONO Department o f Public Health and Hygiene Oita Medical University Hasama‑machi, Oita 879‑55, Oita Prefecture, ]apan 要旨 健 康 レ ベ ル に 関 わ る 各 作 業 仮 説 お よ び 統 計 分 析 に S A S / G R A P Hソフト ウエア応用し、この過程をへることによる作業仮説の可否の判断の便益性を 検討した。職務ストレス認知、ストレス反応、及びストレス対処を含む包括的なストレス ・モデルをもとに、断面のデータを集団レベルで就業期間別に比較することで、ストレス 認知に対して、その対処は初期においては余暇に、次に自己管理、合理的・認知的対処とい う時系列的な説明のできる作業仮説が迅速に論理づけられた。また敏捷性、柔軟性、瞬発 力、平衡性、全身持久力、筋持久力、筋力の各指標で評価される体力のうち、運動による 体力向上を示すのは、どの指標が最適か作業仮説として検討し、た。最大酸素摂取量を基 準とした時、集団レベルでみて"平衡性を表す"閉眼片足立ちが効果的であるが迅速に判 断できた。疫学調査の意義にかなえるためには個別目標の設定をきちんとしておく必要が あり、 S A S / G R A P Hソ フ ト ウ エ ア を 個 別 に 作 成 し 、 そ れ ら を 組 み 立 て る 操 作 性 に よ り最適な条件が得られる。 キーワード . SAS/ GRAPHソ フ ト ウ エ ア 、 記 述 疫 学 、 作 業 仮 説 l、 は じ め に 公衆衛生学の方法論である疫学は生物学と社会科学の双方に基盤をもっ。その内容は 「調査論 J I分 析 論 J I方 策 論 」 に 分 け る 事 が 出 来 る 。 ど の 段 階 に お い て も 、 生 物 学 あ る いは社会科学・統計学的な知識と方法のいずれか一方に偏ることにない調和のとれた研究 がなされねばならない。現実に病む人々、健康問題をもっ人々、障害をもっ人々、将来そ うした問題を抱えるかも知れない人々、そうした人々の生活が疫学の対象であることを忘 れないことと同義である。 さて、疫学調査・研究を実施するには、まず作業仮説の中心に据えられる調査・研究の 目標を設定し、方略や手段を選んで、そのために必要な人材、資金や道具を調達した上で 実施段階に進行するが、さらに収集された調査資料を統計分析し、作業仮説を肯定するか あるいは否定するかを判断することになる。迅速に作業仮説をたてることが肝要である。 今回は職務ストレスモデルと運動を反映する体力評価のための各作業仮説および統計分 析 に S A S / G R A P Hソ フ ト ウ エ ア 応 用 し 、 こ の 過 程 を へ る こ と に よ る 作 業 仮 説 の 可 否 の判断の便益性を検討した。 2、 作 業 仮 説 の 可 否 の 評 価 と SAS/GRAPHソ フ ト ウ エ ア の 応 用 1) 健 康 の 保 持 ・ 増 進 の す す め 健康である状況は適度の栄養、休養、運動が行える状況である。我が国において、栄養 所要量、運動所要量など客観的な値が表示され、毎年行われる栄養調査とあいまって、現 代人がこれらに関心を持つ事を容易にしている。しかし適度な休養といえる健康指標は示 されていない。一般にプレスローの自己管理目標などが、参考にされようが、ストレスと ‑ 4 4 3 ‑
し て と ら え る 必 要 が あ ろ う 。 ス ト レ ス 概 念 を 確 立 し た Selye自 身 は 典 型 的 な タ イ プ Aである が 、 狭 心 発 作 も な く 、 こ れ は distressC脱ストレス〕を eustressCス ト レ ス を 楽 し む 〕 の 中 に 転じていると自ら述べていたわけであるが、ヒトのライフスタイルの中で大半を占める職 務 に お け る ス ト レ ス を 評 価 す る こ と の 意 義 は お お き い で あ ろ う 。 Osipow & Spokaneの 開 発 し た 職 業 ス ト レ ス 検 査 COccupational Stress I nventory: OSI)は 、 職 務 ス ト レ ス 認 知 、 ス ト レ ス 反 応 、 及 び ス ト レ ス 対 処 を 含 む 包 括 的 な ス ト レ ス ・ モ デ ル ( 図 1)に基づき、 3尺 度 140項 目 で 構 成 さ れ て お り 、 欧 米 に お い て 広 く 使 用 さ れ て い る 。 日 本 人 の ラ イ フ ス タ イルにあわせて標準化作業ができたことにより、ストレスを包括的に捉えられるようにな った。この手法を用いて、熱帯地域で化学プラントを建設し、試験的生産を進めている男 子集団を評価し、就業期間別比較を行った。 図l 職務ストレスにおける職務ストレス認知、ストレス反応、ストレス対処 の包括的関連モデル ストレス反応 B‑1 職 業 ス ト レ ス 反 応 応応 反反 スス thzEhl M uvuv スス n y白 内 4 nDnυ D 的的 理人 心対 わ 終 に H十 山 剛感い 内分 M 多戸︑れ がコ叶ゆり 祉対出向唆 間るは感 糾す科昧 Ei AM A凡 一一に臥の L到 I﹃か E銅‑ 山 場 A凡 相役時役 A ‑ 1役割過負荷 ‑qbgqd 市 職務ストレス認知 上聞が私にどんな仕事ぷりを望んでいるかわから江い A‑4 役割区分の明日安感 B‑4 身 体 的 ス ト レ ス 反 応 復敏の人から違ヲた指示を受ける事がある A‑5 責 任 度 実在者として封応しなければならないひとが多すぎる A ‑ 6物理的環境 騒音、高温除の思い条件、不鏡町な齢着時間 ストレス対処 C‑1 余 暇 ( レ ク レ ー シ ョ ン ) C‑2 自己管理(セルフケア〕 C ‑ 3社 会 的 支 援 C‑4 合理的・認知的対処 備考 5そのとおリである 4どちらかというとそうである 1そ う い う こ と は 匂 い で回蓄する. 3 どちらともいえ屯い 2ど ち ら か と い う と そ い う こ と は む い 図 2、 3 に 3 ヶ月以内、 3ヶ 月 を 越 え 6ヶ月未満、 6ヶ 月 を 越 え 9ヶ月未満、 9ヶ 月 を 越 え1 2ヶ月未満、 1 2ヶ 月 以 上 の そ れ ぞ れ の 就 業 期 間 別 に 職 務 ス ト レ ス 認 知 、 ス ト レ ス 対 処 の 1) 。 年 齢 の 違 い が あ る に も か か わ ら ず 、 熱 帯 と い う 高 温 環 状況をしめす(プログラム 境下での作業という職務ストレス認知が最も高い得点で共通していることが見て取れる (図 2) 。 こ の 認 知 が ス ト レ ス 反 応 と な っ て く る の で あ る が 、 3ヶ 月 を 越 え 1 2ヶ 月 未 満 の 時 期 が 高 い レ ベ ル と な っ て く る 。 こ の 状 況 に 対 し て 3ヶ 月 を 越 え 6ヶ 月 未 満 で は 余 暇 に 比 重 を か け た ス ト レ ス 対 処 が み ら れ 、 9ヶ 月 を 越 え 1 2ヶ 月 未 満 で は自己管理に比重がかかってくる。 1 2ヶ 月 以 上 に な る と 、 合 理 的 ・ 認 知 的 対 処 に よ る 比 重 が 高 く な る 。 社 会 的 支 援 は ど の 就 業 期 間 に お い て も 低 い レ ベ ル で あ る が 、 3ヶ 月 以 内 で は 職 務に慣れず、社会的支援とともに余暇の時聞を確保することでストレス反応のレベルを下 ‑444‑
げている(図 3)。集団で就業期間別に比較することで、初期においては余暇に、次に自
己管理、合理的・認知的対処という時系列的な説明のできる作業仮説ができあがり、論理的
な矛盾はない。
ームー 12 ヶ月を~える (7人)の名平句 1国
12
くく泊ミ矢員辞思iJ22書道~1~星通>>
60
50
40
3日
20
力
テ
コ
、
、
リ
ー
6ヶ月を越え9ケ:白以阻 (
3
0へ)ーロー防止を良え 12ヶ月以内の人)
ム‑J12ヶ月を怠える(7人)の己主平5a
i
直
い相︑年集
古一四のて 1
も正つのて
最は従量し
にちに取と
も立る摂準
と足す素基
系片開酸をが
業限展大量と
現聞を最取こ
︑と動て摂つ
務量運み素立
事取なで酸役
で摂的ル大に︒
価素発べ最価た
評酸自レ︒評き
階大が団る力で
段最者集れ体断
5た象︑らが判
のま対めえちに
量︑いじ考立速
取﹀低はと足迅
摂4 のをた片り
素図ル動つ限よ
酸(ベ運が閉に
数叩大くレの繋"ア
点最高度かにすエ
︒が康ら上表ウ
の︑そて軟身の︒る同ソ続た︑
A 9対 段 体 で 摂 体 れ た 合 健 何 向 を ト
上 析 ト れ 柔 全 力 る す き H o連 き 所 業 l ︑5 全 数 素 上 そ し 割 ︒ が の 性 フ
向解ヒさ︑︑筋い映っ Pた間て務現にでの団年酸︑間較の﹀く力衡ソ
力とは映性性︑て反に Aし年つ事︑別タ量集務大ち時比者 5多体平H
体 定 " 反 捷 衡 力 れ を か R 用 4 行 ︑ 備 属 一 取 ︒ 勤 最 立 応 に 持 図 の た" p
る設動に敏平久さ動適 G応降を内整所デ摂たい重足反別保(員って A
よ説運力は︑持価運最/を以定の装各新素つ M体片身値のた成いみR
に仮"体力力筋評がてS ア年測人計の最酸行.対限全価ルれ構とで G
齢
動 業 の の 体 発 ︑ で 標 し A エ2 力 5 B
の大を人間︑評べらの加ル/
︑年
連 作 常 れ o瞬 力 標 指 と S ウ 9 体 1 所 業 年 最 価 ・ し を し の レ 見 体 増 べ S
﹀日ぞる︑久指の力にト
9 てO 究 現 5 重 評 性 正 量 こ れ 価 が 同 の レ A
れ い 性 持 各 ど 体 様 フ lしl研︑ 9体 階 で 補 取 お ぞ 評 関 共 後 団 S
0‑3ヶ月以内 (17人)・‑3ヶ月を越さ,~ぇ足以内 (14人)
。
‑6ヶ月を越え9
ヶ角以阻(;3
0
)
¥
!ー口‑9
ヶノを控え ヶ月以内 (
5
人)
2
2参 照
3参 照
プログラム
プログラム
‑445‑
C‑4
C‑3
C‑2
C
‑
1
年齢
0‑3ヶ月以│礼(
1
7
人)‑.‑3ヶ月を越え町且̲
t
A内 (14人)
A‑6
A‑5
A‑4
A‑3
A‑2
A‑1
年齢
2
も弘鵠酔閣議忠君主2
5
容
量
面
>
>
〈
〈
1室盟
プログラム
点数
50
4
5
35
40
25
20
1
5
1
0
30
5
力
テ
コ
、
、
'
)
‑
ー
< < 図 4 部門別の対体重最大酸素摂取量の 5段階評価分布川 評価別累積人数 1 8 0 U 同 同 U 同 umU 642 1 6 0 3、 お わ り に 1 4 0 本来的に健康である 1 2 0 はずの人聞が、かなり 1 0 0 の幅をもっ健康の道を 80 左右に揺れながらも外 れずに生活していくこ とを前提に考えてみた らどうだろうか。そこ からは、従来のような t ; 2 3 4 v 逸脱結果としての修復 対象である病者とその 部門別番号 病気の側だけ注目して 評価点 [ 2 2 L ヨ1 l S S . ' S l2 ~ 3 00 亙4 5 いく疫学から、むしろ 積極的に健康の側に視 <<番号と部門名および人数1/事務所 762/研究所 1023/計装整備 165>> く く 4 / 現業 A 78 5/現業 B 37>> 点を置き換えてみるこ とができる。そこの逸 脱していかないための いわば本質的な意味で の病気の予防あるいは 健康の増進の概念が生 U02max 値 まれてくる。健康であ 33 るとはどういうことか 、また集団として社会 32 を作り上げている人間 が健康であり続けるとはどういうこと 3 1 なのかをとらえ直し、理解することが 重要となっている。通常、目標は大き 30 な目標と小さな目標に分けられる。大 きな目標に到達するには時間、人手、 29 費用がかかるので達成困難なものにな ることは避けられない。しかし、大き 28 な目標を理想的なものとして掲げて、 3 それに向かつて努力するために、小さ 2 4 5 な 目 標 を 小 刻 み に lつ lつ 達 成 す る こ 開眼片足立ち評価点 とはできる。疫学調査が成功するため の 条 件 の 1っ と し て 、 目 標 を 上 手 に 設 定することをあげなければならない。 疫 学 調 査 の 大 目 標 は 3つ に 分 類 で き る 。 す な わ ち ① あ る 集 団 の 健 康 状 態 を 科 学 的 に 把 握 す る、②健康現象の状態が既に把握されたならば、次には"健康現象の生ずる原因・理由" をっきとめて、健康状態の改善を図る、③さらに、"健康現象の変化の予測・推測"のた めの疫学調査が実施、である。これは同時に小さな目標である個別目標の設定をきちんと し て お く 必 要 が あ る 。 個 別 目 標 は 次 の 4つ の 条 件 を 備 え て い な け れ ば な ら な い 。 ① 抽 象 的 でなく具体的な目標であること、②個別目標はその意味が理解できなければならない、③ 個別目標は数量的に示されること、④個別目標は到達できるものでなければならない、な ど で あ る 。 汎 用 性 に 拘 ら ず に SAS/GRAPHソ フ ト ウ エ ア を 個 別 に 作 成 し 、 そ れ ら を 組み立てる操作性応用によりは最適な条件が得られる。 圃 ・ 句.腎1 官?話集顎諮問量>> 引用文献 1) 豊 川 l 裕之 (1991) 疫 学 新 版 保 健 学 講 座 2巻 、 メ ヂ カ ル フ レ ン ド 社 。 ‑446
プログラム D A T AD A 1 ; I N P U TD I F$ M I N C A R D S ; / 本 A ̲ 1から C ̲ 4の そ れ ぞ れ の 項 目 の 基 準 下 限 値 を 示 す 本 / A G E A1 1 7 .5 4 .5 A2 2 A3 1 8 . 5 A4 1 9 . 5 A 5 21 .7 5 A6 9 . 2 5 B1 1 6 . 2 5 B2 1 6 .5 7 .7 5 B3 1 0 .2 5 B4 2 C1 2 5 .7 5 C2 2 6 . 5 C3 3 4 . 5 C4 。 3 3 . R U N ; D A T AD A 2 ; I NM 1M 2M 3M 4M 5 ; I N P U TD I F$ M C A R D S ;/本基準上限値と就労期間別の平均年齢と各点数本/ 7 . 2 4 7 .6 4 4 . 3 A G E 0 .0 3 3 6 .6 4 6 .2 2 8 .9 9 .9 2 9 .7 2 A1 3 2 4 .8 2 6 .5 2 7 . 5 2 6 .8 2 7 .0 2 6 .8 2 7 . 3 A2 4 0 .2 5 2 .0 2 3 .1 3 . 2 2 3 . 2 2 2 3 .8 2 A3 3 5 .5 2 4 .8 2 4 .0 2 6 .3 2 3 . 4 2 4 . 4 A4 3 6 .7 5 5 .9 2 5 .6 2 8 . 4 2 3 .3 2 6 .2 2 A5 3 9 .5 4 .3 2 .8 2 6 .6 2 3 2 . 2 2 8 .0 3 A6 21 .2 5 2 5 .7 2 5 . 4 2 5 . 4 2 4 . 2 2 7 . 3 B1 3 2 . 2 5 6 .1 7 . 7 2 7 . 5 2 6 . 4 2 B2 3 2 3 .8 2 6 .5 5 .1 2 7 .6 2 5 .7 2 5 .0 2 2 3 . 9 B3 3 5 .2 5 6 .0 2 5 .7 2 6 . 4 2 7 .1 3 0 . 6 2 B4 3 6 .2 5 9 .9 3 3 . 2 2 9 .0 2 .0 2 C 1 41 .7 5 3 0 .4 3 6 .3 2 5 . 4 31 .0 2 6 .6 C2 4 2 7 .6 2 5 .2 5 6 . 2 3 0 .6 3 3 .0 3 3 .5 3 5 .9 3 C 3 51 .7 5 2 . 4 3 5 .1 3 3 . 2 3 3 .9 3 C4 6 3 3 . 4 3 .5 R U N ; D A T AD A 3 ; S E TD A 1D A 2 ; O P T I O N SL S = 1 0 0P S = 5 0N O D A T E ; G O P T I O N SD E V I C Eニ / 本 適 当 な 機 種 本 / C B A C K = V L I P BC T E X T = B L A C K ; M MN Ti ︐ .同 ‑ 一 I ' q九u 'nU i 可 D1 nhUAAU 'nδ 5υ T h n H U 守・・ dn 内 ソ ' nソb .. ︐ η九u '小 i M M円 D l M円 ''ink‑' nLnLnUM同 nDnu' ' ' a aは n w A 1inu‑‑vu ︐ τll&. 且 MNFιnunU '口u 小i M川 口 U Q U 小iRU‑‑ pr n U 1ょ ︐ ︒ = 可 小i ' T I T i 小i'=nuFhυ ・ ・ P U B ‑ N utinkpu‑‑ nDAU‑‑門 口 ︑ 円n u'nk U iDuu 小i1i upu ︑ 円AA ーlpu一n P YL A凡 nuprnUTi nu‑‑TAnu 小i ‑447‑
TITLE2 H = l F=NONE '<<各出張期間別の出張者の平均値)) '; TITLE3 H = l F=NONE'<<と 日 本 人 集 団 で の 職 務 Stressの許容範囲)) '; SYMBOL1 C=RED I=HILOT; SYMBOL2 C=YELLOW VALUE=CIRCLE I=HILOCTJ; SYMBOL3 C=GREEN VALUE=DOT I=HILOCTJ; SYMBOL4 C WHITE VALUE=DIAMOND I=HILOCTJ; 二 日I L O C T J; SYMBOL5 C=GOLD VALUE=SQUARE 1 SYMBOL6 C=GREENISH VALUE=TRIANGLE I=HILOCTJ; 二 AXIS1 VALUE=( ,年齢, ' A ‑ 1 ' 'A‑2・ ' A ‑ 3 '' A ‑ 4 '' A ‑ 5 ' ,A ‑ 6 ' ) LABEL=(F=NONE Hニ 1'カテプリー, ) LENGTH=17 c m MINOR=NONE; ) AXIS2 MAJOR=(HEIGHT=.3 CM WIDTH=l ORDERニ5T O5 0 BY 5 LABELニ (F=NONE H =1 '点数, ) ; PROC GPLOT DATA=SUBSET PLOT MIN 本 DIF M 1 本 DIF M 2 本 DIF M 3 本 DIF M 4 本 DIF M 5 本 DIF IOVERLAY HAXIS=AXIS1 VAXIS=AXIS2 人)・ 3ヶ月を越え 6ヶ月以内(14人) ,; FOOTNOTE1 H = l F=NONE ' ‑0‑ 3ヶ月以内(17 FOOTNOTE2 H = l F=NONE ' 6ヶ月を越え 9ヶ月以内 ( 3 0人) 口 一 9ヶ月を越え 1 2ヶ月以内 ( 5人) ' ; FOOTNOTE3 H = l F=NONE 'ームー 1 2ヶ月を越える ( 7人)の各平均値' ‑ < > ‑ DATA SUBSET;DO N =1 .1 2, 1 3, 1 4, 1 5, 1 6, 2 7, 2 8, 2 9, 30;SET DA3 POINT=N; I F ERROR = 1 THEN ABORT; OUTPUT ; E N D ; STOP;RUN; TITLE1 H=.5 F=NONE ' TITLE2 Hニ 1F=NONE '<<各出張期間別の出張者の平均値)) '; TITLE3 H = l F=NONE 'くくと日本人集団での Stress対 処 の 許 容 範 囲 )), PROC GPLOT DATA=SUBSET PLOT M1 N 本 DIF M 1 本 DIF M 2 本 DIF M 3 本 DIF M 4 本 DIF M 5 本 DIF IOVERLAY HAXIS=AXIS1 VAXIS=AXIS2 C ‑1 ' ' C ‑ 2 '' C ‑ 3 '' C ‑ 4 ' ) AXIS1 VALUEニ( ,年齢, ' LABEL=(F NONE H = l' カ テ コ ゃ1 ) ‑ ') 二 ‑448‑
LENGTH=17 c m MINORニNONE; ) AXIS2 MAJOR (HEIGHT=.3 CM WIDTHニ 1 0 TO 7 0B Y1 0 ORDER 2 LABEL=(F=NONE H = 1 '点数, ) ; 二 二 R U N ; / 本 / 本 / 本 / 本 CODE='CODE' OCC='事 業 所 SEX='性別 AGE='年 齢 ' 本/ BLRATE='体 脂 肪 率 ' 本/ I I U N O ='握力評価 FLNO='体前屈評価' 本/ SPNOニ'全身反応時間評価 BANO='閉 眼 片 足 立 ち 評 価 ' 本/ ACTNO='運 動 状 況 評 価 ( 上 体 お こ し ) ' STNO='最 大 酸 素 摂 取 量 評 価 ' 本 / / 本 2 プログラム / 本 男 女 の 年 齢 階 層 別 最 大 酸 素 摂 取 5段 階 評 価 表 プ ロ グ ラ ム 本 / OPTIONS LS=85 PS=65 NODATE; LIBNAME AAA 'g:HITNESS'; DATA DATA;SET A A A .act94; KEEP SEX AGE STNO dif; ︐ . ︐ . ︐ . ︐ •••. ︐ . ︐ •• 門 ︑ A 凡 A凡 ・ →i →i A凡 ゎ ι ノ¥ / ¥ J ︑ / ¥ J︑ / ¥ / ¥ J︑ MN a 凡門口門口 H 門 口 nnnnnnml hunUE胃 四 胃 町 胃 四 胃 冨 胃 町 胃 町 胃 四 胃 四 胃 ハU T凡T E円E円E口 E EEEEEH A nHnH nυnυ j ・ ' FhdnHU →i →i ワupupupupupupunHUPU →i pu ゎι p u p u p u p u p u p u p u p u p u 凡 a 凡 A 凡 YL nbnb/¥A 凡 A 凡 a 凡 A 凡 A 凡 A R H U hu ‑‑1ipu ︿ ︿ / ¥ ︿ ︿ / ¥ / ︑ ︿ Mmumpu 凡 a 凡 A a 凡 44nuυ44nuU44nBAτnBPU →i →i ワ臼ワ u q o q O A 9 Aせ FDRupo A 凡 A凡 yl nμnυfLfLfLfLfLfLfLfLfLW胃 nk a凡 A凡 M M NHMNMNNHNHNHMNPU a凡 ﹃ VA →i 一一一一二一一一一一一一一一一一一 ι ρ し M円 NHNHM円 NHM円 M円 M円 M円 ゎ nbpupupupupupupupunHURHU ytUM川 M川 M円 相 円 M川 M川 町 円 相 円 相 円 "AnμU J ylnb ︑j ︑j ︑j ︑j ︑j ︑j ︑j ︑J ;nuEunuEunuEunuRU M M川 υanAanヨ FhdFhd ハ hυnnu‑‑ nべ υ nぺ n υ ム一一一一一‑一一一 ‑ ‑ t ︐ . =・・''''''''' 4ATnuuanヨ nuυan宮 内uuanヨ nuυd4A u nべ uanヨ a nyunyunべ nヨ FhdFhdnnu •.• r'/ ψAT で f ム ロ ←AT ︐ ︐ 歳 υ 片 F n u u n J ‑ ‑ 4 4 9 ま 歳 n J臼 ︑︑ υ 品内は・員同ハ川υ nべ huhurt ι f A凡 a凡 MNM問 中i →ipunHu 口 a凡 a凡 Hnn hunU 町胃町胃 →i →i 小i →inunu punHUM川 M内 nbnb →i →i nbQU べ t u 唱 in nf‑nr臼 MMMM 二 a凡 a凡 / ¥ / ¥ A凡 A凡 puvAVA nrnbMMME 7 4 A ・'nJ臼 n J臼 ;1AnunU t nJ‑wu'wu' 唱L MEMM 凡︑j ︑j aAA →i →i q O F D M内 vlu 一 一 一 一 nunυ ノ¥ど︑ ιワ 臼 puru‑‑nfuqO44Fhυ M内 YL 一一一一一一一一一‑ puvAVAVAVAVA 皿 M阻 MEMEMm nrnbH Tよ ; ワ UワUワUワ臼ワ臼 1inununununu ‑ ‑ワ臼 wvwvvvvvvv ・ ・ MMMM 凡︑1 ノ︑1 ノ︑1 ノ ︑1 ノ・・ AAa 中 i 中i q O F D ヴt 日υ h u M円 ・ ' aAA凡 n u n u / ¥ / ¥ / ¥ / jFHufi ︑ ︑ n r臼 n y u h H U A H U 皿 H げ皿一一=一一一一 wv AAa 凡 ︿ / ¥ / ¥ ︿ ︿ pu 川 →i →i Q U M A A A n u n J F D ヴt n司 Tよ EL hunυfLfLfLfLfL 町胃 MN nk a凡 a凡 MNNHNH 町内 MNFιnVA 中 l 中lpunHUFιpuFιnnFι A凡 AAUU 日u 日u 日u 日U →ipu nunu 町 胃 町 胃 町 胃 w胃 町 胃 ハU " h ‑‑ワ臼わ . ︐ . ︐ M川 円 し ・ ' ; punHUt‑ワ臼 =→i n u u n J臼 ψAT r'/ ←AT 44 n y u ・・唱 A f し.︐.︐.︐.︐ •• →i →inununununUPU‑u p u p u M N M円 M川 M川 M門 小 i nbQU →i →i →i →i →ipUVA ‑‑‑‑nbnbnbnbnbyLum MNF 二→ i d 4 A n J U ︐ ︐ PROC SORT;BY NEN;
WHEN ( 5( = STNO ( 7 ) V02MX=3; WHEN (7 (ニ STNO ( 9 ) V02MX=4; V02MX=5; WHEN ( 9( = STNO) OTHERWISE DELETE;END; KEEP NEN V02MX DIF; DATA DATAM21;SET DATAMl ;I FN E N = '‑34';/本 30‑34歳 台 本 / DATA DATAM24;SET DATAM21;SELECT; WHEN ( 0 ( STNO ( 3 ) V02MX=1; WHEN ( 3( = STNO ( 5 ) V02MX=2; WHEN ( 5( = STNO ( 7 ) V02MX=3; WHEN ( 7( = STNO ( 9 ) V02MX=4; WHEN ( 9 (二 STNO) V02MXニ 5; OTHERWISE DELETE;END; KEEP NEN V02MX DIF; / 本 35‑39歳 台 本 / DATA DATAM21;SET DATAMl;I FN E N = '‑ 3 9 '; DATA DATAM25;SET DATAM21;SELECT; WHEN ( 0 ( STNO ( 3 ) V02MX 1; WHEN ( 3( = STNO ( 5 ) V02MXニ 2; WHEN ( 5( = STNO ( 7 ) V02MX=3; WHEN ( 7( = STNO ( 9 ) V02MX=4; V02MX=5; WHEN ( 9 (ニ STNO) OTHERWISE DELETE;END; KEEP NEN V02MX DIF; 二 ︐ ︐ ︐ ︐ ︐ A川 υ d n T Ed ψ A T ム ロ ︐ ︐ ︐ ︐ ︐ ψ A T 歳 ︐ ︐ ︐ ︐ ︐ ψ A T ム ロ n u u aq 歳 d n T a4 Ed da孟 ψ A T ︐ Jf A凡 ︑ 1 ノ︑ 1ノ︑ 1ノ︑ 1ノ . ︐ A 凡 ︐ . ︐ ....... 中 iηaFD マt q u n υ A凡 ︑ 1 ノ︑ 1ノ︑ 1ノ︑ 1ノ ・ ・ ・ A凡 町 四 ι A凡 ノ ¥ ノ ¥ ノ ¥ / ¥ / ¥ わ TiTinb 円 our‑ A凡 A凡 nUηaFhU l nμnμ 〆kfkfkfkft︑問胃 nE AAA凡 町 四 日 間 制 川 口 町 四 日 間 PU un"UR制 U n制 U R制 UHH T‑Tin制 A凡 A凡 HHHHHunH円日市l nυnμ 即胃即胃町胃 Ewm胃 ハU A凡 nμnU ︿ ︿ ︿ ︿ ︑ JFι ︐ TiTinunununununι pιpuu同 町 内 M川 町 山 町 内 市l cuedTiTi →iTiTiEU ‑‑‑'nbQUQUQUQUYL 1ioDEU ηLnLnμ H M 瓜 MM 皿一一一一一一一一 A凡 中 i HMMm 唱 1.︐ 2 vvvvv 円 pιpu1AnLqua斗ARU M N TEU 一一一一一‑一一一一 pιvAVAVAVAVA ︑U H皿 H皿 HMM皿 M皿 nrp TEι ・ アM アM nソ ・ nf アM nf nソhMnf inununUAUAU M内 Fし ニ Ti ψ A T ︐ JJ A 凡 ;I Ti →i q u F D マt q u h μ AAA凡 町 四 ・ ' JEUFA nunμ ︿ ︿ ︿ ︿ ︑ ・ ・ MmHM ‑‑nLwvwvwvwvwv pιpu1AnLqua4Fhd 町 内 YL 一 一一一一一一一一一 FιvAVAVAVAVA nrp ︑u u皿 MMM皿 HMM皿 VIA‑‑nノ nyunyunyun 1AAunUAUAun臼 u ノ MH 山 Fし . ︐ =Ti a4 Ed Ed ム ロ . . .︐ . ︐ . ︐ n u u aq d 性 ;I Jpup‑ n v ' TiTinununununuEuhu pιpuM川 町 四 日 間 町 内 M川 中i cuedTiTiTiTi →iEUVA ‑‑‑‑edededednbyLMm 1よ 円i p ι q L nノ nノ臼 hHuhHV M M 皿 HM 瓜 一 一 一 ‑ 一 ‑ 一 一 引 U' A凡 AA ノ ¥ / ¥ ノ ¥ ノ ¥ ノ¥Fι TiTiedM 円 A凡 A凡 nuηaFD マtquylpι huhU 〆t︑︑〆 t︑︑〆 t︑︑〆 t︑︑〆 t︑︑町胃 M川 nk AAA凡 町 四 MNUM同制川口町四 Fιnr TiTiEUR制 UEUR制 UEU 口unι A凡 A凡 nnnHHH円日HH 中l p u nunμEwm胃 即 胃 即 胃 w胃 ハU v h ‑450‑ 歳 . ......︐ . . nu A ψ A T ︐ JJ d 性 ︐ .d斗 =Ti M内 F し . ︐ ιpι1iqLηaAqEd ゎ M 川 YL 一一一一二一一一一 EUVAVAVAVAVA ︑U H皿 HMM皿 HMM皿 nrp Ti ・'ηLnLηLnLηL ・ ・ 1inununununu ‑‑ηLwvwvwvwvwv A凡 ︑ 1ノ︑ 1 ノ︑ 1ノ︑ 1ノ ・ ・ ︐ HMHM A 凡 A凡 町 四 . ︐ TiTiquFD マt q u h μ A 凡 nunμ ︿ ︿ ︿ ︿ ︑ 山品目刷出一一一一一一一一 MM TiTinununununun制 Uhu pιFι 町山町内 MNUMNUM山 市l cunbTiTiTiTiTipUVA ‑‑‑‑QUQUQUQUQUYLMM 1inbE9 nLnLnμ ハU A凡 AA ノ ¥ ノ ¥ ノ ¥ ノ ¥ ノ ¥ れι TiTiedM 円 A凡 A凡 nuηaFD i 円 GUT‑EL hμnufkfkfkfkfkm胃 M同 nk A凡 A凡町四日間制川口町四 MNupunr TiTipuEupupupu 口u p u A凡 A凡 HHHHHHHHHH 巾 lnι nμnUEWE胃 附 胃 即 胃 即 胃 ハU v h •.
K E E PN E NV 0 2 M XD I F ; ︐ ︐ / ψ A T JJ ︐ ム ロ ψ A T ム ロ F h d F h d F h υ ︐ψAT A H u n h u n h U 44 ψ A T ︑ n h u i し . ︐ . ︐ =小 M円 F . ︐ ︐ A凡 ︐ ・ ・ ・ ' 中よ中よ qυFb ウt q u h u A A A凡 M N H 見 ︑ r︑ / ︑ / ︑ ︑ 3ノわι p r huhU 〆 ;ー an‑Antanuv ソ nペ υ ny&nb umumum A凡 A凡 A凡 TITITi A凡 A凡 A凡 hununu nベ υ h nuu 内u r白 n y臼 n y臼 n umumum A凡 A凡 A凡 TITITi A凡 A凡 A凡 nununu nJ Fhυnパu n J nJ nJ MMmMMmMMm A凡 A凡 A凡 TITITi A凡 A凡 A凡 nunuhμ A凡 Ti A凡 A凡 l n H U nb 小 i nU nk 中 よ Tinunununununhuhu ゎ ι 官U N H M川 町 内 町 内 町 円 中l QUnbTi 中よ TITi 中ょ PUVA ‑‑‑'quququQUQUYLum ‑‑nunhunL qLqυhunu Mmum‑一一一一一一‑wv A A A A /︑ノ ︑︑/︑〆¥〆︑ゎι 中よ T i n b 町円 A A A凡 nuqυFhυ7 nMUT‑ 官u huhurl︑〆t︑〆t︑r k f k E n M川 nk 中よ中ょ nununununUELhu ゎ ι ゎι M内 M川 町 門 町 門 町 門 中 よ QUQU 中 よ 中 よ 中 よ 中 よ 中 よ れhuVA . ︐ . ︐ nbnbnbnbnuIUM皿 ' I A n u J V れド uny臼 nLnLhμAU Mmu皿一一一一一一一‑wv AAAA 〆 見 ︑ r︑〆¥/¥ノ ︑︑ n H U 中よ中よ円︑ U M円 A A A凡 nU ﹃υFhυniquyi ゎι hμhurl︑〆t︑〆t︑〆t︑〆t︑ 開 胃 山 内 hu ・ A凡 ¥ ノ ¥ ノ ¥ ノ ︑ j ゎ ι 官u'InLqυ442Fhd NYL‑‑一一ご一一二 ゎ ιvAVAVAVAVA nrnbumumumumum 臼 nLワ Ti‑‑nLワ 臼 nL IAUAUAUAUAU 'InLwvwvwvwvwv MmMm •• A凡 A凡 MNHMNHM同 町 円 MN ι れ nr 中 よ 中inHU わ ι ゎι ゎι ゎι 口 u ゎι A凡 A凡 nnnHnnnnHH 中 l 官u n u n u m胃 町 胃 m胃 m胃 m胃 AUvh 町円; JJ ︐ ︐ / 44 =小 ︐ AAAA •••. A A A凡 町 円 町 円 引 川 町 円 M W H 官unr 中よ中よ nμunhunhunμunμunnnhU AAAAHH 日u 日u 日u 日U 中 よ わι nunum胃 町w m胃 m胃 m胃 AUvh D D ︿︿︿︿¥ノ EF ;I pupu‑‑ワ臼﹃ υSATRυ NL=‑一一一一一= nhuVAVAVAVAVA PrnbumumMMMmum r白 n r白 n r臼 ytA. n r白 n r白 n 1inununununu ‑‑ワ臼 wvwvwvwvwv ︐ . M MmMMm AAAA ︑ ノ ︑ ノ ︑ ノ ¥ ノ ・ ・ ' 中 よ 中 よ ﹃υFb ウt q u h u 町 山 け F n u J V F h d n司 歳 ︐ 歳 i し.︐.︐.︐ •. •• n H U T‑ n ι YL n μ u nu ι ︐.・;.︐.︐ ︐ . ︐ 凹 MNM川 町 内 MNPU AAAAM同 MNHMNHMNHM T‑Tipupupupupupupupupu口u 口市 l A凡 A凡 HHnnnnHHnnnnnHnnn hunUE胃 町 胃 町W E胃町留n m胃 町 胃 町w m胃 AU nk ・ ・ VATi‑‑ご一一一一一一一‑一一一一一一 ι nし 町 円 M川 町 円 M H M川口町円引川町内 M凹 ゎ nb 官upu 官upupupupupupupu ‑ U M川口町円 MNMNHUNM川 町 内 町 円 山 内 nr れ T i n b ¥ ノ¥ノ¥ノ¥ノ¥ノ¥ノ︑ノ¥ノ nHVFhυnHVFhυnHVFhdnHVFhd ・ ・ M M山 ηベ υη ベ υaATan‑AFhJVFhJunhunhu ・' . A凡︐ AAnU T I T i r ︑ 〆 ︑ / ¥ / ¥ / ︑ / ¥ / ¥ / ¥ M円 AAA凡 pu nuhU1j FhdPU T‑TinLPupu 官upupupupupu 小よ にunununununupu ι れ ι れ n u n U ︑︑ A A A凡 A凡 A凡 A凡 AAAAAAYL pδp︑ U ノ n μ U ︐1inμur︑ / ¥ / ¥ / ¥ / ¥ / ︑ ど ︑ ど ︑ hu . . umumphu A凡 A凡 A凡 442nuU442QUA‑quATnuupu 中 よ 中i q L q L η 3 η O A 坐 A坐 FbFbpδ yl AAA凡 nuhurt︑rkrl︑〆t︑〆t︑rkfkfkfkEn =・'''''''''' ゎ u ι同 •• HH''''''''' 中 1442QUA‑nuU442nuU442qυ442 ペ an ソn zaA 比五 FhdFhdnhu γ 白 内 ペυ のυ nb l lム一一一一一‑一一一 司 •.• P R O CS O R T ; B YN E N ; JJ ψ A T ︐ 念 品 で 歳 n r臼 44 JJ ︐ψAT nソ& 44 し =Ti M川 F ︐ . ︐ . ︐ A凡 A凡 A凡 ︑ 3ノ ︑ ノ ︑ ノ ︑j ・' ;I A凡 A凡 M川 町 内 MHUNMNHPUPA TTEnιEEEHE A凡 A凡 HHH日 nnHHHH 中 lnι huhμ 町 胃 町 胃 町 胃 町W E胃 AUwh nk TITinunununununHUhu pupu 町 円 引 川 町 円 M川 町 円 小i 円︑unbTITITITITipuVA ; ; n b Q u n b n b n b y L M皿 1inLPunL qLnLnμnu MMmMMm‑一一一一一一‑wu' A A A A J︑ r︑/︑ r︑ r︑ ゎι TITinbM 内 A凡 A凡 nuqυFhdnlnMUT‑pu huhur︑ t rkfkfkfk 宙開 M 川 nuhU ︿ ︿ ︿ ︿ Ti 中 よ ﹃U F U n ‑ q u h u UN‑‑ ¥jpuFA A凡 ︑ . ︐ ︐ pu 官U1iワ臼﹃ υSATE‑u M刊 YL一一一一一一二一一 ゎ ιvAVAVAVAVA PrnuumMMMMMMMm y l A ・'nr白 n r白 n y臼 r白 n y臼 n IAUAUnUAUAU ‑‑nLwvwvwvwvwv Mmum •••••. D A T AD A T A M 2 1 ; S E TD A T A M 1 ; I FN E N = ' ‑ 2 9 ' ; /本 2 5 ‑ 2 9歳 台 本 / D A T AD A T A M 2 3 ; S E TD A T A M 2 1 ; S E L E C T ; 噌﹄ム phu nせ
)V 0 2 l d X二1; WHEN ( 0 < STNO < 3 IX=2; ) V02d WHEN ( 3< = STNO < 5 STNO < 7 ) V02d IX=3; WHEN ( 5< 二 IX=4; ) V02d WHEN ( 7< = STNO < 9 V021 d X= 5; WHEN ( 9< = STNO ) OTHERWISE DELETE;END; KEEP NEN V 0 2 l d X DIF; DATA D A T A l d 2 1;SET D A T A l d l ;l FN E N = '‑ 3 4 '; / 本 30‑34歳 台 本 / DATA DATAd I24;SET DATAd I21;SELECT; IX=1; WHEN ( 0 < STNO < 3 ) V02d IX=2; WHEN ( 3< = STNO < 5 ) V02d WHEN ( 5< = STNO < 7 ) V02d IX=3; WHEN ( 7< = STNO < 9 ) V02d IX=4; WHEN ( 9< = STNO) V02MX 5; OTHERWlSE DELETE;END; KEEP NEN V 0 2 l d X DIF; 二 DATA DATAM21;SET DATAldl;IF N E N = '‑39';/本 35‑39歳 台 本 / DATA DATAd I25;SET DATAd I21;SELECT; WHEN ( 0 < STNO < 3 ) V02d IX=1; IX=2; WHEN ( 3< = STNO < 5 ) V02d IX=3; WHEN ( 5< = STNO < 7 ) V02d IX=4; WHEN ( 7< = STNO < 9 ) V02d WHEN ( 9< = STNO) V 0 2 l d Xニ 5; OTHERWISE DELETE;END; KEEP NEN V 0 2 l d X DIF; I21;SET DATAldl;IF NEN='‑44';/本 40‑44歳 台 本 / DATA DATAd DATA DATAd I26;SET DATAd I21;SELECT; WHEN ( 0 < STNO < 3 )V 0 2 l d X 1; IX=2; WHEN ( 3< = STNO < 5 ) V02d IX=3; WHEN ( 5< = STNO < 7 ) V02d IX=4; WHEN ( 7< = STNO < 9 ) V02d WHEN ( 9< = STNO) V02d IX=5; OTHERWISE DELETE;END; KEEP NEN V 0 2 l d X DIF; 二 DATA D A T A l d 2 1;SET D A T A l d l ;I FN E N = '‑ 4 9 '; / 本 45‑49歳 台 本 / DATA DATAd I27;SET DATAd I21;SELECT; WHEN ( 0 < STNO < 3 ) V02d IX=1; IX=2; WHEN ( 3< = STNO < 5 ) V02d WHEN ( 5< = STNO < 7 ) V02d IX=3; IX=4; WHEN ( 7< = STNO < 9 ) V02d WHEN ( 9< = STNO) V02d IX=5; OTHERWISE DELETE;END; KEEP NEN V 0 2 l d X DIF; ψaT ︐f' ムロ 歳 円U 44 F h υ ψAT F h υ ︐︐︐︐︐ 44 Fυ 内 し n ・・;;.︐ =中 l M 同 nιFι11nLη044 M川 YL 一一一一一一一‑ ι ゎ vAVAVAVA paQUMmu皿 M皿 ME Ti‑‑nLqLnLnL 1inunununu ‑‑nLwvwvwvwv ・ ・ MMH 皿 A ノ︑ノ︑ノ︑ノ 凡 aA¥ 中 lTiηOFhυηiqu aAaA D D ︿︿︿︿ 中 l 中 lnunununU ι n ι M川 町 内 町 四 M川 ゎ SST‑TTTi ‑‑‑'nbQUQUQU 11nku nJunJU 地M M 山地一一一一一‑ M M A凡 aA ノ ¥ / ¥ ノ ¥ ノ ¥ Ti 中l A は ハ 川υnベ a Aはa υ F h υ 円fE ︑ ︑ nuhurt ︑ft r h︑ft ゐ aAaAM川 町 内 M川 町 内 T i T nιnHunιnHU A凡 aA 門 口 H 口門口 H 口 hunU 柑 胃 四 胃 即 胃 即 胃 ‑452
W H E N( 9< = STNO) V 0 2 M X = 5 ; O T H E R W I S ED E L E T E ; E N D ; K E E PN E NV 0 2 M XD I F ; ψ A T ︐︐︐︐︐ ψ A T ︐︐︐︐ ム 口 n h u ム 口 n u d Rd ψ A T ︽U H ρ h u d斗 a A凡 し.︐ ...︐ . ︐ . . A凡 ︑1ノ︑1ノ︑1ノ︑1ノ ・ ' ‑‑nLwvwvwvwvwv ・ ・ MmMm 1よ nununununu ベ d仏 企 戸 ︑ nHunHUt‑An/ ηυ υ M 川 YL 一一一一一一一一一一 puvAVAVAVAVA nHAnbu四 MmMMMmMm ri‑‑q/ ︒/ ︒/ ︒/ qL M円 F =小よ n h u Jf' d斗a ψ A T Ed n u d ︐︐︐︐ F h d F h d 歳 . . A凡 A凡 ︑1ノ︑1ノ︑1ノ︑1ノ ・ ・ ;I →i →iqOFhd マ tqυnμ A凡 A凡 MNH; 1ノ 官unr hυhμ ︿ ︿ ︿ ︿ ;ー →i 小よ nunununununHUhu pupuM同 M凹 M問 削 問 削 問 中l nbnb 小 よ 小 よ → i →i →i p u v A . ︐ . ︐ nbnbnbnbnbyLUm ‑‑nupuqL 川 unHU nノ nペυ h M m u m ‑ 一一一一一一一 w v A凡 A凡ノ¥〆 ︑ノ ︑︑ J︑ /¥nHU U M川 小よ小よ円︑ A凡 A凡 nuηopb マt 白dTinHU huhurt︑ fkfkfkfh︑町円 M円 nk A凡 A凡 MNHM問 削 問 削 問 削 同 官 unr TL →inHunHunHunHunHU 口unHU A凡 A凡 H口 H口 H口 円 H H口 小 l p u W 叩 胃 叩 胃 叩 胃 四w n u v h nμhμ 即 ︐ a 品 目 @ 巧 ︐ snuv n / nr nペ υ MMmMMmMMm A凡 A凡 A凡 →i →i →i A凡 A凡 A凡 hμhμhμ nペ υnhunuυ ︒ ノ n r ︒ノ MMmMMmMMm A凡 A凡 A凡 →i →i →i A凡 A凡 A凡 hυnμnu →i 小 よ 小 よ h J v n x u nr p nr nr ︒ノ MmMmMm A凡 A凡 A凡 →i A凡 A凡 A凡 hυhυhυ 円 ︑U 官U h υ nr ︐ . A凡 A凡 →L A 凡 h υ P R O CS O R TD A T A = T O T A L ; B YF A CV 0 2 M X ; l a b e lv o 2 m x = '評 価 点 ; 歳 し.︐.︐.︐.︐ F =→i M 同 ・Rd pιput‑AnLntυ4 M円 YL 一一一一一一一一一一 ゎ ιvAVAVAVAVA nHAnbMmumumH岨M闇 ytA‑‑nr nr nr nr nr 1Anununununu ‑‑nLwvwvwvwvwv ︐ . MMmMMm 〆︑/¥/¥/︑︑ 小 よ 小 よ qυRd マ tqdhu A凡 A凡 M ︐ . 同 . jnHunドa huhμ ‑ ‑ . ︐ 小 よ →inununununupunμ 官U E U M川 M 川 M 川 M円 M門 小 よ nbnb →i 小 よ 小 よ 小 よ 小 よ 官 UVA nbnbnbnbnbyLMm t 咽 i n u d n H U n r h川 nr nr unHU 二一一一一一 ‑ w w ' MMmMMm A凡 A凡 ﹁ ︑ ど ︑ / ¥ / ¥ 〆 え ︑ n H U 小よ小よ円︑ U M円 A凡 A凡 nuηOFhd マt 白dTipu nμnμfkfkfh︑fkfh︑町円 M円 nk A凡 A凡 MNMNMNMNHM同 punr →i 小ょ pupupupupu 口u p u U A凡 A凡 口uHU 口u 口u 口U 小 よ れH hυnμ 叩 胃 町 曹 叩 胃 即W 叩胃 nuvh •. D A T AD A D A ; S E TD A 1D A 2 ; P R O CS O R T ; B YD I F ; D A T AD A A ; S E TD A D A ; I FD I F = l ; F A C = 'l '; D A T AD A B ; S E TD A D A ; I FD I F = 3 ; F A C = '2 '; D A T AD A C ; S E TD A D A ; I FD I F = 5 ; F A C = '3 '; D A T AD A D ; S E TD A D A ; I FD I F = 6 ; F A C 4 '; 二, D A T AD A E ; S E TD A D A ; I FD I F = 1 0 ; '; F A C 5 三, D A T AT O T A L ; S E TD A AD A BD A CD A DD A E ; /本ファイル名対体重最大酸素摂取量の部門別評価図のプログラム本/ G O P T I O N SD E V I C E =/本適当な機種本/ C B A C K = V L I P BC T E X T = B L A C K ; AU1 qu F h u
AXIS1 VALUE=('l ' ' 2 ' ' 3 ' ' 4 ' '5') LABEL=(f=NONE H=l '部門別番号, ) ; AXIS2 MAJOR=CHEIGHT= .3 CM 官IDTHニ1) ORDER=O TO 1 8 0 BY 2 0 LABEL=Cf=none h=l ・評価別累積人数, ); PROC GCHART; VBAR FAC/SUBGROUP=V02MX RAXIS AXIS2 MAXIS=AXIS1; 士 TITLE1 H=l F=NONE ' TITLE2 H=l F=NONE '<<図 4 部 門 別 の 対 体 重 最 大 酸 素 摂 取 量 の 5段 階 評 価 分 布 >> '; PATTERN1 C=Y V=R1; PATTERN2 C=W V=L1; PATTERN3 C G Vニ L3; PATTERN4 C=B V=X3; PATTERN5 C=R V=S 二 << 番 号 と 部 門 名 お よ び 人 数 1 / 事 務 所 76 2/研 究 所 102 3/計 装 整 備 165>> '; FOOTNOTE1 ' FOOTNOTE2 ' <<4/現 業 A 78 5/現 業 B 37>>'; FOOTNOTE3 RUN; プログラム 3 /本閉限片足立ちの評価別 V 0 2 r n a x値 の プ ロ グ ラ ム 本 / I lI 補正 ファイル名 B :刊 E1 .PRG 本/ /本性別年齢 B GOPTIONS DEVICE= / 本 適 当 な 機 種 本 / CBACK=VLIPB CTEXT=BLACK; DATA DA1; INPUT HEIGT $ LSMEANS; CARDS; 29.3891031 2 29.9635737 30.5687418 3 4 30.9138053 32.2895398 5 ( 'l ' ' 2 ' ' 3 ' ' 4 ' '5') AXIS1 VALUEニ LABEL=(f none H=l '閉限片足立ち評価点, ) ; AXIS2 MAJOR=CHEIGHT= .3 CM WIDTH=1) ORDER=28 TO 3 3 BY 1 LABELニ CF=NONE H=l ' V 0 2 r n a x 1 直 , ) ; 士 PROC GCHART DATA=DA1; VBAR HEIGT/SUMVAR=LSMEANS RAXIS AXIS2 I I A X I S AXIS1; TITLE1 F=NONE H=l TITLE2 F=NONE H=l '<<図 5 閉 眼 片 足 立 ち 評 価 別 最 大 酸 素 摂 取 量 >> ', TITLE3 F=NONE H=l ' 性 ・ 年 齢 . BMI・ 勤 務 年 数 補 正 に よ る PATTERN1 C=R VALUE=SOLID; FOOTNOTE RUN; 二 三 4 5 4
日本 S A Sユーザー会 ( ̲ SUG I‑ J) 解析帳票作成支援システム (Windows版) 望月久永 東京営業事業部 CSS営業部 富士ゼロックス株式会社 TheDataP r e s e n t a t i o nSystemf o rC l i n i c a lS t u d i e s HisanagaMochizuki TokyoMarketingBusinessUnitCSSMarketingD i v i s i o n t d . F u j iXeroxC o .,L 要旨 製薬会社における臨床開発、市販後調査部門の統計解析業務で発生する、グラフ、症例一覧表、集計解析表を 9 5において UNIX(Solaris)・ l版をご紹介させていただいたが、こ 自動的に作成するシステムである。 SUGI‑J' . 1・ 2、 Windows9 5・ 3 に対応したのでご報告する。 の度 Windows3 Windows版 SASシステム、 SAS/AFソフトウェア、 MicrosoftWord"4 キーワード: 1 はじめに SASユーザが業種、業務を問わず抱えている問題点に、統計解析後の帳票作成の煩雑さがある。 SASの DTP機能が弱いために、統計解析結果を帳票にまとめる際、リタイプ、切り貼りが多く発生してしまう。この 問題の解決をすべく、昨年までに UNIX(Solaris)版 SASシステムを使用して、グラフ、一覧表、集計解析表を自 動的に作成するシステムを構築してきた。 「解析帳票作成支援システム」は、製薬会社における臨床開発、市販後調査部門の統計解析業務に特化したシ ステムで、以下の特徴がある。 ①薬剤、フェーズごとに試験項目、解析方法が異なっても、エンドユーザで対応可能なエンドユーザコン ピューテイング環境を提供する。 ② SASの集計解析結果を、自動的に DTP文書に出力する。 ③ キーオープン等のパッチ処理に対応している。 この度、 UNIX(Solaris)版 SASシステムに加えて、 Windows3 . 1、 Windows95に対応したのでご報告する。 (Windows版「解析帳票作成支援システム」を、以下、本システムと略す)自動的な DTP出力先は、 F u j iXerox i c r o s o f tWord(以下、 Wordと略す)に対応した。 Akane(以下、 Akaneと略す)、 M ‑455一
2 システム概要 本システムは、製薬会社における臨床開発、市販後調査部門の統計解析業務で発生する、グラフ、症例一覧 表、集計解析表を自動的に作成するシステムである。以下のサブシステムから構成される。 表 1 サブシステムの主な様能 No 概要 サブシステム名 カード作成 SASデータセットのデー夕、 SAS/GRAPHの出力データを、 l症例 単位に Akaneまたは Word文書に出力する。 2 一覧表作成 SASデータセットのデー夕、 SAS/GRAPHの出力データを、一覧表 形式で Akan巴または Word文書に出力する。 3 集計表作成 SASによる集計解析結果、 SAS/GRAPHの出力データを、 Akan巴ま たは Word文書に出力する。 4 マクロ関数集 一覧表、集計表作成で実装されていない機能を補うためのプログラ ム集。 5 サンプル集 臨床試験データ解析で発生する一般的な解析帳票作成のためのひ な型(集計表作成で設定した画面情報の集合体)。 Ak aneorめ rd S E X E F F M M l ¥ G E 3 5 2 4 4 5 5 5 3 0 0 0 6 5 6 5 l性 別 : )J 1: 1' 1 年齢・ 3 5 r 図 1 一覧表作成 J の処理イメージ ! S 4 S : L 1 4T A S E T同 鍛S T A T│ Ak aneorめ rd S 4 S : O I J T P I J T S T A T I S T 1CSFORTABLEOf. . . S t a t i s t i c Df V a l u e P r o b u ワ C h i ‑ S q u a r e L i k e li h o o d 2 C o n t i n u i t yA d j2 1 .5 3 6 1 .4 6 3 0: ‑ z 95 1 . 2 2 4 0 . 3 0 1 年齢 r 図 2 集計表作成」の処理イメージ ‑456‑ 2 0 ' ‑ 3 9 4 0 ‑ 5 9 0 8 0 1N S 6 0、 7 9 . 8 0 ‑
本システムは、以下の環境で動作する。 表 2 システムの動作環境 項目 No 必要条件 CPU i486DX2/50MHz以上 2 メモリ 32MB以上 3 ハ 6MB 4 OS 9 5 Windows3 . 1、 5 統計解析ソフトウェア SAS6 . 1 0、6 . 1 1 6 DTPソフトウェア Akanef o rWindows3 . 0 o r 7 . 0 M i c r o s o f tWord6 . 0、 ドディスク 3 U N I X ( S o l a r i s )版との相違点 本システムと UNIX(Solaris)版「解析帳票作成支援システム」との相 s違点を、以下に記述する。 ① ORACLEから SASへのデータ抽出機能を、含まない。 ( S A S IAccessの機能と重複するため) ② DTP文書の出力先として、 Akaneの他に MicrosoftWord6.0、7.0に対応した。 ③ レスポンス、信頼性の面では、プラットフォームの性能差により UNIX(Solaris)版に一日の長がある。 ③のレスポンスについて、帳票作成にかかる処理時間の一例を示す。 マ シ ン の 性 能 が 異 な る の で 一 概 に は 言 え な い が 、 本 シ ス テ ム の レ ス ポ ン ス が 、 Windows95 に お い て UNIX(Solaris)版に近づいていることが分かる。 前提条件 機種 UNIXW S SPARCstation 1 0(メモリ 128MB) PC IBMMasterP120(メモリ 24MB) DTP Akane 入力データ SASデータセット 20変 数 x100オプザベーション 作成帳票 カード作成 ( 3行 X4列) グラフ X1、テキスト X1、表 X1 一覧表作成 ( 100行 X4列) グラフ Xl、表 X1 集計表作成 表 X1 ( 2行 X6列) 表 3 帳票作成日寺問(秒)の比較 作成帳票 UNIX(Solaris) PC(Windows3 . 1 ) PC(Windows9 5 ) カード作成 4 7 5 2 一覧表作成 4 8 5 3 集計表作成 8 2 1 1 1 No ヴt FHU A斗ふ
4 今後の検討事項 本システムは、 SunOSから Windows3.1、 Windows95 と 対 応 し て き た 。 今 後 の 検 討 事 項 と し て は 、 WindowsNT3 . 5 1への対応を考えている。 5 終わりに 本システムによって、製薬会社における磁床開発、市販後調査部門の統計解析業務で発生する、グラフ、症例 一覧表、集計解析表作成のための最適な環境を提供することができたと確信している。特に、帳票作成が SAS で提供されない機能で、かつ膨大な工数をかけている作業であるだけに、ユーザにとってのメリットは計り知 れないものである。 この度の Windows3 . 1、 Windows95対応により、より多くのユーザにこの快適な環境を体感していただき たいと考えている。 登録商標 *1 S o l a r i sは、米国 SunMicrosystems杜の登録商標です。 * 2 Windows3 . 1は、米国 M i c r o s o f t杜の登録商標です。 * 3 Windows95は、米国 M i c r o s o f t杜の登録商標です。 * 4 Wordは、米国 M i c r o s o f t社の登録商標です。 ‑458一
日本 S A Sユーザー会 (SUG I‑J) JMP3.0を利用した 統計解析ホームページ www 0陶 山 昭 彦 鳥 取 大 学 医 学 部 衛 生 学 教 室 井上仁 医療システム学教室 同 W W WHomeP a g ef o rS t a t i s t i c a lAn 吻s i su s i n gbyJMP3 . 0 AkihikoSuyama , F a c u J t yo fM e d i c i n e D e p a r t m e n to fH y g i e n e MasashiInoue D e p a r t m e n to fH e a l t hS y s t e m sandI n f o r m a t i c s 86N i s h i m a c h i , Yonago, Japan T o t t o r iU n i v e r s i t y, 要旨 N e t s c a p eに代表される標準的な www ブラウザの登場はアプリケーションごとのイン ターフェースの在り方を変化させている。統計処理においても、統計アプリケーション ごとの異なるインターフェースによって解析結果を得るまでに多くのことを学ばなけれ ばならない。この問題に対するひとつの解決法はブラウザ上での統計処理を可能にする ことでアプリケーション独特のインターフェースの修得に関するユーザーの負担を軽減 させることである。 . 0の A p p l e S c r i p t機能を利用し、 JMP3 . 0を統計エンジンとしたホームペー 本報告は JMP3 ジを構築する試験研究の一部である。 キーワード: JMP3 . 0、www 、A p p l e S c r i p t 1.環境に依存しない統計解析 コンピュータのハードウェアの環境によって利用できる統計解析ソフトウェアが異なる と、アプリケーションごとに統計解析以前の操作法修得のために多大の教育指導と労力 を費やさなといけない。 SASシステムは異なるコンピュータ環境に依存しない統計解析 アプリケーションであり、この間題に十分解決しているといえる。 一方、ユーザーサ イドでは SASシステム以外の解析アプリケーションを頻繁に利用し目的とする統計解析 を行なわなければならない要求がある。ユーザーレベルでは、このため絶えず異なるア プリケーションインターフェース環境への適応が要求されている。 こういう点からみ て、ハードウェア環境のみならず、異なるアプリケーションシステムの異種プロダクト 環境にも依存しない統計解析へのアプローチが望まれる一因があると思われる。 2. HTML、 CGIとJMPの A p p l e S c r i p t インターネットにおいて wwwテクノロジーが近年飛躍的に発達してきている。そして 圧倒的なユーザーレベルで、クライアントサーバー環境が成熟してきた。さらに、 www の ブラウザとして Netscapeに代表される標準プロダクトが定着しつづけてきている。これ らの i n f r a s t r u c t u r eの成熟によって「ホームページ」における統計解析処理の実現可能性 ‑459‑
がでてきたといえよう。インターネットの wwwテクノロジーはホームページという ユーザーフレンドリーな環境を提供することで、サーバー上のアプリケーションへリン クしてくれる。このための基礎となるのが rHTML(HyperTextMarkupLanguage)J と r CGr (CommonGatewayI nt e r f a c e ) J である。 品1 P3 . 0( M a c i n t o s h版)を利用してホームページ上において解析処理を行うため HTML から起動するためには、 JMP3 . 0で提供されている A p p l e S c r i p tの機能を利用することに よって可能である。 JMP3 . 0の A p p l e S c r i p t機能は完全なものとはいえないが、 JMP3 . 0 の強力な統計解析機能をひきだすことができる多くのオプションが準備されている。 3. 即 I P3 . 0を利用した統計解析ホームページの設計 図 1に肋I P3 . 0を統計エンジンに据えた統計解析ホームページの www サーバーと www b r o w s e rクライアントの概念図を示す。サーバーは M a c i n t o s hPowerM a c i n t o s h7100/66AV を、クライアントは M a c i n t o s hLC475によって構築した。 www エンジンは MacHTTP2.2 を利用し、 S c r i p t i n gA d d i t i o n sには r T a n a k a ' sOSAXJ を利用した。 尚、運用はひとつの研究・教育セクションにおいて行った。 図 2に本ホームページ運用に関連する各システムのルーチンをアイコンで概念化した。 e t s c a p eN a v i g a t o rより MacH 口?サーバーに接続された後、 A c t i o nが伝 クライアントの N . 0による解析ページにリンクするよう設計され えられデータ入力ページあるいは JMP3 ている。 HTMLスクリプトから適宜 CGrスクリプトが呼び出され、 MacHTTPを通じてク ブラウザーに応答する。 ライアントの www HTML及び CGrスクリプトの一部は Appendixに掲載した。 JMPW W WS e r v e r W W WBrowserC l i e n t MacHTTP MacOS I n t r aNetworki nR e s e a r c h/E d u c a t i o nS e c t i o n 図 1 Overview o fJMP W W WC l i e n tServerSystem ‑460
岨 ‑ H U司 何色 ω O ωEoZ ω 一 一 ‑ 一 E σ3 円程 ︒川町公勾心け一縛瞭Q4WQ駐ーや主宰Q困誕Q蝋 U 図 B 山口八︑ lvJrdh ぷ 回i 野i z i 図 AW AW AW 世 hlY4lv廿 ' ‑ h悶Q c 、 J 国 i国 5 慎 ωEO工円比三勺﹄0220コ与の ω﹂何言とoω 回 回j 回j 回? ︒︒何色 関幽 叫 眠出胆ム曲︒虫郡 回 .HY ﹁ 入n Q原 臨 時 ︒的ヤ'弔問汚一∞ J 円図剤事布幅hlY4lv村お潜接的い眠械翻ム knN 自l ト一一‑+‑‑1 E e
462
a) イニシャルページ(図 3) クライアントより品1PWWWサーバーに接続されると表示される初期画面である。 データ入力ルーチンと解析手法の選択ルーチンにわけで、ページリンキング処理を 行っている。 b) データ入力関連ページ(図 4、 5、 6) データ入力関連ページは次の 2つのルーチンから構成される。 ・クライアントのブラウザ上からのデータ直接入力およびファイル格納 .サーバーのファイルからのデータ利用 入力されたデータは、共通なワークテキストファイルによって品。システムに渡さ れる。このファイル形式は、第一行が変数名の「ラベルっき」テキストファイルで あり、変数の型はテキストが数字か文字かで数値、文字が決定されることを利用し た単純なデータ入力ページの構成で設計されている(図 9)。 ファイルへの保存は同様のルーチンを明示化することによって、指定ファイルを 共通ファイルにインターフェースすることによって処理している。 t e l la p p I同 t i o n・訓F a c t i v a t e 図9 make回b l e耐1po比s p 舵{ 前司p o r i n gf i l ename. ,I a b e l e d=廿眠 de i I m i l i 肝=・・ 1 endtell データ入力ページのフォーム形成は、図 5の段階で入力された値によって、フレ キシブノレに対応できるよう C GIスクリプトによってデータ入力 HTMLを作成するよ うに設計した。 C) 統計解析手法選択ページ(図 7、 8 ) JMPシステムにおける統計解析処理の特徴は、与えられたデータ形式に従って統計 解析処理が半ば自動的に決定されるところにある。 Pシステムを統計エンジンにしたのは C G Iスクリプトとしての A p p l e 今回、あえて品1 S c r i p tに解析手法が対応しているとしづ特徴をもっているからであり、 SASシステ ムに比べて設計が容易で、あったという理由による(図 10 )。 今回の統計解析手法の選択にあたっては、ホームページ上で明示的に解析手法をユ GIスクリプトに継承するという方策で設計した。 ーザーに選択させ、 C t e l lappi I c a t i o n. . . Mp . a c t i v a t e 図 10 l e"CLASS f o r { " W e i gば ' }by{ " H e i g hr } 陥b e I "Name. a n a l y z ef i t什αn回b a n a l y z eI a s 土f i t w i t h l i同 f i t ‑ anaI y zeI a s 土ftw 仙 meansa ndano 祖 ー endt e l l ‑463
d) 解析結果の表示
時1pシステムの結果は AppleScriptによってアクセスすることができる。
2群の平均値の差に関する図 10の統計解析結果は r
OnewayAnovaJ という陀port
で表されている。
図 11
時 五1一 一
分散分析
r
Analysis of
VarianceJ の結果にアクセス
し AppleScriptの変数リスト
に取得
するためのスクリプトを図
'
0
A
n
a
l,‑!s
l
s V
a
r
l
D
n
ε
e
S‑̲
P旬 自
E
rrOf"
CT
o
l
.
l
圃
s
.
‑
‑
. FR.t
DF S
.
圃 .f.
.
胆̲ H .
.
.
1
:
522
4&32
'
!
S22463
17
18
420.91市'9
41316421
12に示す。
白
明
. ・
24.7
21101
ProlW
ロ165
"
e
d
n
sf
o
rO
n
e
w
a
yA
n
O
Y
D
図 12
t
el
Ia
p
p
l悶 t
i
o
n
"JMP
‑
・
a
c
t
i
v
a
t
e
a
n
a
ν
z
e
f
i
t什 倒 凶 除 "
C
L
A
S
S
"f
o
r
{
"
W
eI
ght
"
}by{
"
A
g
e
"
}以b
e
l
"
H円
円E
"
a
n
a
l
y
z
el
a
s
t
f
t
w
i
肋 m
eansandanova
仕
:
T
a
b↓
elofre
附r
t
"
O
n
e
ω
a
yAnoυd ff
i
t1
r
e
p
o
setmyresul
也t
or
e
p
o
代:
T
a
b
l
e3
町Jdt
el
I
。
目
setxt
om
y
r
e
s
u
l
也
setyt
oi
t
e
mlofx
‑中略
s
e
t
l
1
1t
,
。
止
軒n40fy
setzt
oi
t
e
m5ofy
。比軒nlofz
set1
2
1.
t
set1
3
1t
oi
b
軒 n2
0fz
軒 n3
0fz
set1
4
1t
oi
b
seta1tol11&
"&112&‑ ‑&113&" "&114&" "&1
1
5
ー中略
ーーグ.ア.タ‑1"
retumt
時一10̲heaoor&叶 『
&"
<
TITLE>J1
IP RESULTS</TITLE>"&
c
r
l
f~
&~h2>AnalysÎs o
f UarIance</h2><br> &"<strong>‑&a1&~
"</strong><br>"&a2&
・<br>"&a3&・
<
b
r
>
'&a4&・
'<br>"&cr
官
目
r
OnewayAnovaJ reportテープ、ルの結果の 3番目が r
AnalysisofAnovaJ として位置づ
けられており、これを myresultsにセットして、結果リストに構成し直す。
AppleScriptによる CGIスクリプトによって、 MacHITPに返すための HT
恥止ドキュメ
ントを作成することで、クライアントの www
ブラウザーに解析結果が表示される。
‑464
5. W W W統計解析ホームページの可能性 W W Wによってホームページ上で統計解析処理を可能にするためには次のことが満た されていないといけない。 1) SASシステムに代表される統計解析アプリケーションが サーバー上で、稼働で、きること。 rh t t pJ が運用可能な 2 ) 統計アプリケーションが rCGIスクリプト」によってアクセス可能なこと。 t t pを検討すると、 NCSA及 び CERNh t t p d(UNIX)、 代表的なコンピュータシステムでの h WinHTIPD/WebSite (Windows3 . 1、NT)、MacHTIP/WebStar (Macintosh) となって いる。これらのどのシステムにおいても SASシステムの運用が行われている。 他方の rCGIスクリプト」については、 P e r l/Boms h e l l (UNIX)、V i s u a lB a s i c (Win d o w s 3 . 1、NT)、A p p l e S c r i p t( M a c i n t o s h ) がスクリプト言語として位置づけられてい る 。 今回の統計解析ホームページの設計にあたって品。システムを用いたが、本来品。 システムはインターラクティブにスタンドアローンマシン上で探索的に解析処理をす すすめることを目的に設計されている。従って、この観点からは SASシステムを用い て設計するのが妥当であろう。 a c i n t o s h版)における A p p l e S c i p r tによるスクリプト文法 現時点で SASシ ス テ ム (M が明らかでない。スクリプト対応辞書においてもスクリプト可能性が確認できないた め、あえて品1Pシステムの特徴を制限し統計解析エンジンとして採用した。 a c i n t o s hの場合、むしろ品1 Pシステム自体がア しかし、サーバー機能規模が小さい M プリケーション規模として小さいため、 SASシステムよりも小規模な W W W統計解析 ホームページの運用には適している。 今回のように教育セクションや研究セクションでの rI n 回 ‑ N e t w o r kJ でサーバーを運 用することが常態化してくるであろう。 すべてのクライント W W Wブラウザーからの統計解析要求に応えていくためには、統 計解析アプリケーションが W W Wテクノロジーと密接な関係を保ちながら進化をはか っていかねばならないであろう。 ネットワークの拡大を通じて、インターネットを介して今回のようなホームページの 運用を行なうためには、ライセンス使用に関しても考慮されていかねばならないと思わ れるが、統計解析処理というものをホームページを通じてさらに広くユーザーに近づけ るよう、解析エンジン開発サイドも検討を重ねられることを期待したい。 [参考文献】 1)陶山昭彦:A p p l e S c r i p tによる品1 P3 . 0の自動実行処理、日本 SASユーザー会論文集、 1 9 9 4 2) 陶山昭彦:JMP3 . 0による生存分析 A p p l e S c r i pの応用 、日本 SASユーザー会 9 9 5 論文集、 1 3) 向山昭彦: M a c i n t o s hと統計解析、 J p n. J. C o m p . S c i .、 1( 1 ) 、 43‑ 4 7, 1994 4 6 5
4) 陶山昭彦:統計解析の自動化処理、 Medica1MacMookNo.5、ネットワーク、 1 9 9 4 5) 陶山昭彦他:医学統計解析テクニック(共著)、 B N N、東京、 1 9 9 4 A p p e n d i x HTML ドキュメントおよび App1eScriptCGIスクリプトのサンプノレ例 ‑ ‑d i s p l a y . h t m lー <TITLE>変数とデータ数の入力〈汀ITLE> <h2>変数とデータ数の入力</h2> 画面入力処理ページ <h r><p> <FORMMETHOD="POST"ACTION="makefonn.acgi"> 変数の数:河〈町P凹 t 肺卯e=" 叩 TEX 灯T "name 戸 = ゴ" n ̲ 〉 デ一タの数:<町PUTt 仰 y 叩P 巴 e = 目 ' TEXT"口 na r n e = ピ ' g d a 由阻"討 s i 由 z e = 1 ω O xP> 〉 士 ? <hr > 〈町PUTt y pe="SUBMIT"v a l ue=" S e n d " > 〈町PUTtyp巴=喰 ESET"va Iu e = " R e s e t " > </F ORM> 、 ‑ ‑m a k e f o n n . a c g iー データ入力フオーム作成 p r o p e r t yc r l f : ( A S C I Ic h a r a c t e r1 3 )& ( A S C I Ic h a r a c t e r1 0 ) p r o p e r t yLF: (ASCIIc h a r a c t e r1 0 ) p r o p e r t yww: (ASCIIc h a r a c t e r3 4 ) 旬f o n n t a g:"<FORMMEf HOD="&w w& " p o s t "&ww& "ACTION="&w w&"陀a d ̲ f o n n . a c g i "& ww& p r o p e r " > "& c r l f p r o p e r t yr a d i o:ww&" r a d i o "& ww <町PUTt y p e = "& ww& "SUBMIT"&ww& " v a l u巴="&ww&"OK"& ww&" > "&'J p r o p e r t ys u b m i t :" " < INPUTt y p e = "& ww& "RESET"& ww& " v a l u e = "& ww& " R e s e t "& ww& " > " 中略 nヌe v e n tW W W^ s d o c p a t h ̲ a r g s' J g i v e nヌc l a s sk f o rネ :h t t p ̲ s e a r c h ̲ a r g sヌ ,c l a s sp o s tネ :p o s t ̲ a r g s 町 一p o s t ̲ a r g sのデコード s e tmyL i s tt oDecodeJAr g sp o s t ̲ a r g s ー受け取ったメッセージを整理する s e tc h r ̲ h e n s ut oi t e m1o fmyL is t s e tc h r ̲ d a t at oi t e m2o fm y L i s t s e tn ̲ h e n s ut o( i t e m1o fm y L i s t )a snumber )a snumber s e tn ̲ d a t at o( i t e m2o fmyList s e tfonn1t o"変数の名称を入力してください" s e tf o n n1t of o n n1& f o n n t a g s e tf o n n lt of o n n l& " < i n p u tt y p e = "&ww& " l u d d e n "& ww&"name="& ww& " h e n s u "&ww&' v a l u e = "& c h rh e n s u& " > "& c r l f d a t a s u "& w w& 1 s e tf o n n lt of o n n l& " < i n p u tt y p e = "&ww& " l u d d e n "& ww&"nam巴="& ww& " v a l u巴="& c h rd a t a& " > "& c r l f r e p e a tn ̲ h e n s ut i m e s s e tf o n n1t of o n n1& " < i n p u tname=dummySIZE=I u>" e n dr e p e a t s e tf o r m1t of o n n1& 叱br><hr>" s e tf o r m1t of o r m1& "データを入力して下さい <b r>" r e p e a tn ̲ d a t at i m e s r e p e a tn ̲ h e n s ut i m e s u>" s e tf o r m lt of o n n l& " < i n p u tname=dummySIZE=I e n dr e p e a t s e tf o r m lt of o n n l& " < br><hr>" e n dr e p e a t s e tf o n n lt of o r m l& s u b m i t& "</FORM>" ‑ ‑ ‑ s e tmyNMt os t a m po f( g e t D a t e T i m e ) F ld r& " m s g ‑ "& myNM ‑ ‑ ‑ s e tmyFt omsg ‑ ‑ ‑ w r i t e T o F i l emyDatat of i l emyF 中略 e n dヌe v e n tW W W^ s d o c * ' 。 1 1 * ' ‑466‑
日本 S A Sユーザー会 (SUG I‑J) Tabulateの出力に本物の罫線を 付加するプログラムの紹介 田村佳郎 ゼネカ株式会社臨床開発部 大阪市中央区今橋 2‑5‑8 A programmewhichg i v e sSASTabulateProcedureoutputr e a l l i n e s . Y o s h i r o uTamura M e d i c a !R e s e a r c hD e p a r t m e n tZENECAKK 2 ‑ 5 ‑ 8l m a b a s h iChuo‑ku,O s a k a . 要旨 本プログラムは T a b u ! a t eプロシジャの出力に本物の罫線を付加し、ワード上 に表現するプログラムである。この罫線は通常ワード上で作成する表の罫線と 全く同ーのものとして扱うことができる。 キーワード: T a b u l a t eプロシジャ、罫線 1 はじめに T a b u l a t eプロシジャはクロス集計等のデータの集計に非常に優れた能力を発 揮するが、その出力は " + ' γ 'ぺ" 1 "等の疑似罫線を用いて出力されるので、あま り見栄えがよいとは言えない。 Windows環境が一般的になり、美しいアウトラ インフォントを用いてレポートが作成される状況では T a b u l a t eプロシジャの出 力は違和感さえ感じさせる。そこで従来より、様々な方法で T a b u l a t eプロシジ ヤの出力を改良することが試みられてきたが、それらのほとんどはエクセルや ワードで言われるような本物の罫線ではなかった。 本プログラムは T a b u l a t eプロシジャの出力にエクセルやワードと同ーの罫線 を付加し、ワード上に表現するプログラムである。以下にその使用方法と、使 用例を紹介する。 ‑467
2 開発の経緯 T a b u l a t eプロシジャの出力は上記のとおり、そのままでは論文、レポートと しては使いづらい。従来、当社では解析担当部署が解析を実施し、その結果の 大部分を T a b u l a t eプロシジャを用いてテキストファイルに出力し、レポーテイ ングのセクションがワードにその出力を読み込み、手動で疑似罫線を本物の罫 線に変換する方法がとられていた。しかし、この方法では時間がかかりすぎ、 手作業によるミスも考えられる。そこで、何とか手間をかけず、正確に疑似罫 線を本物の罫線に変換できないかという声に対応して作成したのが本プログ ラムの開発経緯である。 3 動作環境 DOS5 . 0 以降、 M i c r o s o f tWindowsV 3 . 1、Windows版 SAS リリース 6 . 1 0、 M i c r o s o f tWo r dVer6 . 0、 M i c r o s o f tE x c e lVer5 . 0がインストールされていて、 SAS、 Word、E x c e lを同時に開く事ができるメモリが必要。 4 インストール 以下の説明はハードディスクが C ドライブに割り付けられていると仮定 して記述する。 1 . エクセルファイル TBL .XLSを 、 C ドライブのルートディレクトリにコピー する。(ルートディレクトリ以外にコピーする場合は次の SASマクロプロ . ,ENAME ステートメントを変更する グラムに記述されている 3箇所の Fl 必要あり) 2 . SASマクロプログラム EXLTBLT.SASを適当な場所にコピーする。 上記プログラムは、 SASインスティチュートジャパンの AnonymousF TPサ ーピスからダウンロードできる。 f t p : / / f t p . s a s . c o m l p u b / w e b : f i l e s / J a p a n l c o n t r i b / t a b u l a t e Ol lz . h または、 NIFTY ‑ s e r v eの SASフォーラム、データライブラリ l番 ISAS シ ステムによるプログラム」、データ名 ITABULATE出力を罫線付きに変え るマクロ」から入手できる。 5 実行前の準備 1 . 上記エクセルファイル TBL .XLSを聞いておく。(必ず、 SASマクロプロ グラムを実行する前に聞いておくこと) 2 . ワードを立ちあげておく。 3 . SASから上記マクロプログラム EXLTBLT.SASをサブミットしておく。 ‑468 ←
6 実行方法 1 . 下記のようにの T a b u ! a t eのセッションをマクロ %INITと%TBL 0 で挟ん でサブミットする。 %INIT; . , PROCTABULATE… PROCTABULATE… . , PROCTABULATE… ; RUN; %TBL(MS ゴシック, 1 5 ); 2 . マクロ %TBLにはパラメータとしてフォント名とサイズを指定する。デフ オルトではフォント名として明朝が、サイズは 1 1 ポイントが設定されて いる。デフォルトのままでよい場合は %TBL 0のように括弧内に何も記 述せず実行する。なお、マクロのパラメータとしてフォント名を指定する 場合、そのフォント名は正確に記述されなければならない。(例 :MS ゴ シックを指定する場合、 iMSJ は全角、半角のスペースを lつ入れた後、 全角で「ゴシック」と記述する。) 3 . プログラムの実行が終了し、ワードにアプリケーションを切り替えると罫 線が付加された T a b u ! a t e出力が表示される。もし、ワードの出力に図表番 号が表示されるようであれば、ワード挿入メニューから図表番号を選択し、 自動設定を解除しておく。 7 使用上の注意 1 . マクロ実行前に必ずエクセルファイル TBL .XLSを聞いておく。 2 . マクロ実行前に必ずワードを立ちあげておく。 3 . 上記マクロに挟まれた部分においてラインサイズを変更しないこと。 4 . フットノートは現パージョンではサポートしていない。 5 . 次の文字はデリミタとして使用しているので、 T a b u ! a t eのセッションでは 使用しないこと。 使用できない文字:" 1,「","ド' 469‑
8 出力例 8 . 1通常の T a b u l a t eプロシジャの出力 表 l l 改善度 │ 一 一 一 ー1 │著明│中等度│軽度 1 1 改善率 1 1 1 一一一一ーー │改善│改善│改善 l不 変 │ 悪 化 │ 合 計 │ 著明 │ │孟中等度 l +‑‑‑‑‑‑+‑‑‑‑‑‑+一一ー+一一一+‑‑‑‑‑‑+‑‑‑‑‑‑+‑‑‑‑‑‑‑‑+一一一一 l 一旦呈 剤一用 薬一低 │ 一 一 一 一 5 1 1 0 1 │一一一一+一一一+ー │高用量 1 1 0 1 2 5 1 2 0 . 0 1 6 0 . 0 1 + ‑ ‑ ‑ ‑ ‑ ‑ + 一一一+一一 + ‑ ‑ ‑ ‑ ‑ ‑ + 一一← │ 3 3 . 3 1 8 0 . 0 1 7 1 1 4 1 4 1 2 1 1 1 1 1 1 1 3 0 1 8 . 2罫線が付加された T a b u l a t eプロシジャの出力 表 2 改善度 改善率 著明 改善 薬剤 低用量 角用量 中等度 改善 5 1 0 1 0 1 4 軽度 改善 悪化 不変 7 4 2 合計 l l 著明 2 5 3 0 2 0 . 0 3 3 . 3 孟中等度 6 0 . 0 8 0 . 0 9 本プログラムの特徴 本プログラムで付加される罫線はワードで用いられる表の罫線と全く同ー のものである。従って、次のような特徴がある。 1 . プロポーショナルなフォントを使用することができる。 均等なフォントでは得られない見栄えのよいプロポーショナルなフォン トを用いても罫線がずれることはない。 2 . 行間隔を広げても罫線が途切れることはない。またプリンタの機種にも依 存しない。 3 . 列幅は必要に応じ自由に変更できる。また列幅を変更しても文字のアサイ メント(センタリング、右詰め、左詰め)が崩れない。 4 . 疑似罫線行を消費しないので表がコンパクトになる。 ‑470‑
1 0 本プログラムのフロー 本プログラムは、 SAS、エクセル、ワードの 3つのアプリケーションを用い a b u l a t eプロシジャの出力の解析を行い、 DDEでその情報をエク る 。 SASでは T セルに送り、 SAS上からエクセルのマクロを実行させる。エクセルではマクロ により、文字のアサイメント、罫線処理をし、ワードの制御を行う。ワードで は上記処理によって実現された罫線付の T a b u l a t eプロシジャの出力を受け取る。 T a b u l a t eプロシジャの出力の解析 解析情報をエクセルに送る エクセルマクロの実行命令 文字のアサイメント、罫線処理 ワードの制御 罫線付の T a b u l a t eプロシジャの出力を受け取る 図 1 1 1 本物の罫践を付加するためのロジック 1 1 . 1見出しのアサイメン卜処理 T a b u l a t eプロシジャの出力は表 lの「改善度」のように、その下にある「著 明改善」、 「中等度改善」、 「軽度改善 J、 「不変」、 「悪化」とある項目 をまとめた見出しが出力される場合がある。そしてその見出しは各項目をま とめた範囲の中央に配置される。本プログラムではこの見出しのアサイメン ト処理は次のように行っている。エクセル上で必要な範囲を選択し、書式メ ニュー、セルコマンドにある書式設定パネルの配置グループにある「選択範 囲内で中央」というコマンドを実行して処理をしている。具体的に述べると、 まず、セル Alに「改善度」と書き込み、セル A2:E2にそれぞれ「著明改善」、 「中等度改善」、 図 2 「軽度改善」、 「不変」、 ‑471‑ 「悪化」と書き込む。
Al:Elを選択し、「選択範囲内で中央jコマンドを実行することで、 T a b u l a t e プロシジャの出力と同等の処理が実現できる。 図 3 図 4 1 1 . 2罫線処理 SAS上で T a b u l a t eプロシジャの出力をファイルに読み込み、デリミタの情 報から T a b u l a t eプロシジャの出力の解析を行う。この解析では、エクセルで 処理をするための全ての情報が処理される。罫線に関して言えば、 T a b u l a t e プロシジャの出力のデリミタで固まれる部分をセルとみなし、そのセルの 1 行下ののセルに疑似罫線文字が含まれている場合、フラグを立てる。エクセ ル上ではまず、処理するセルにいったん外枠罫線を引き、上罫線、下罫棋を 削除し、しかる後、前記フラグを参照しフラグが立っていれば下罫線を引く 処理を行う。上記見出部分のアサインメントの罫線処理をうまく行うために はこのような処理が必要であった。 ‑472‑
12 DDEについて DDE は動的にデータを他のアプリケーションに書き込んだりする場合に 非常に有効な手段であるが、 SASからエクセルに DDE経由でデータを転送 という文字列データを SAS する場合には注意が必要である。例えば 11‑ 1J からエクセルに DDE経由でデータを転送する場合、エクセルでは受け取っ たデータを日付データと解釈してしまい、 I1月 1日」と表示してしまう。 予め転送されるセルに「文字列」という表示形式を採用しでもこの問題は解 決できなかった。本プログラムにおいても転送するデータの先頭に適当な l 文字を結合して転送し、その後結合した l文字を削除するという手法をとら ざるを得なかった。 DDE でトピック名 SYSTEM を使用して(例:Fli ENAME CMNDDDE "EXCE L lSYSTEM") 、 SAS上からエクセルのマクロのコマンドを制御できる ことは非常に便利であるが、 Windows版 SASの現在のパージョンではエクセ ルの Ver4のマクロのコマンドをサポートしているのみであり、現在のエク セルのパージョンである Ver5のマクロコマンドをサポートしていない。本 プログラムでは、 Ver4のマクロコマンドにて Ver5のマクロを実行できるこ とを利用して、エクセルのマクロを Ver5のマクロコマンドで記述し、 SAS からはそのマクロ命令を実行する命令のみを PUT' [ R U N ( " T a b u 1 a t e " ) ] ' ;のよう に Ver4のマクロのコマンドで記述することで対処した。 1 3 おわりに 本プログラムは SASのマクロを実行するのみで T a b u 1 a t eプロシジャの出力 に自動的に本物の罫線を付加し、ワードの表の形式でワード上に表現するプ ログラムである。これによって、見栄えの良い T a b u 1 a t eプロシジャの出力を a b u 1 a t eプロシジャの出力をワードに 手聞をかけずに作成する事ができる。 T 取り込んでレポート作成するには有効な手段と考える。 参考資料 1)新城博子 渡辺俊彦, ISASシステムとレーザーフォームを用いた一覧表 SUGI‑J '9 2論文集, p p l lト 1 1 8, 1 9 9 2 とグラフの作成について J, 2)北川法子, I B a s eSASソフトウェアによる症例一覧表作成プログラムの J '9 3論文集, p p l 2 7 ‑ 1 3 2,1 9 9 3 紹 介JSUGI‑ 3)内田浩伸, IBaseSASでここまで出来るレポート作成 J,SUGI‑J '9 5論 文 集 ,p p 3 3 ‑ 4 6,1 9 9 5 4) Reedl a c o b s o n, IEXCEL5マ ク ロ オ フ ィ シ ャ ル コ ー ス ウ ェ ア J,アスキ 一出版局 q u バせ ー ワ
5)足利谷毅, IEXCEL5 . 0VBA上級プログラミング J,技術評論杜 6) IWindows版システム使用の手引き J V e r s i o n6F i r s tE d i t i o n,SAS出版局 *本プログラムはコピーフリーであるが、運用結果の影響についてはいっさ いの責任を負わない。 *記載の商品名は各社の商標または登録商標である。 ‑474‑
日本 SASユーザー会 (SUJ I‑J) 簡易帳票作成システム S A S印 Excel" 西隆志台・中村浩*・藤本浩 株式会社電通国際情報サービス 情報サービス事業部 '西日本統轄部 S 1コンサノレティング部 統計解析グソレープ E a s y ‑ t o・u s e "r e p o r t i n gs y s t e m,WindowsSASSystemt oMS‑Excel i r o s h iF u j i m o t o TakashiN i s h i *.H i r o s h iNakamura*・H 1NFORMATIONSERVICES1NTERNATIONAL‑DENTSU, LTD. T e c h n i c a lS p e c i a l i s t ,S t a t i s t i c a lAna l y s i sGroup S 1C o n s u l t i n gDepartment 1 n f o r m a t i o nS e r v i c e sO p e r a t i o n s,* W e s t e r nRegion 要旨 過去、 SAS社のセミナーや SUJI・ Jで rWindows版 SASSystemを用いた集計・検定 結果を DDE通信で M i c r o s o f tE x c e lへ送信する」手法が幾度となく紹介されてきた。 当論文では、その手法をさらに押し進めて、帳票レイアウト・罫線引き・文字サイズ・ フォントなどをコントロールするシステムの考察を行う。 i c r o s o f tE x c e l、 DDE通信 キーワード:出力帳票レイアウトの見栄え、 M 1.はじめに 弊社(株式会社 電通国際情報サービス)では製薬メーカ一様向けに、新薬開発時の 臨床試験や市販後調査で行われるデータ処理(入力,解析,各種コンサノレテイング)の サービスを 2 0年前より御提供させていただいております。 ところで、昨今のパソコンシステムの急激な発達によるデータ編集の可能性の広がり は、弊社が提供させていただいているサービスに対しでも影響を与え始めました。 たとえば、 Windows3 . 1が普及するまでは集計や検定の帳票出力の罫線が、+や を つなげて作られたものでも「仕方がなし、 J ものとされてきました。 しかし現在では本来言うところの罫線が当たり前で、文字のサイズやフォントの指定 まで求められる時代となり、今だに帳票に対する「見栄え」へのニーズは止まるところ を知りません。 では、製薬業界の開発業務に用い得る(もしくは特化した)システムはどの様な状況 かと言えば、以前の開発言語のように帳票のレイアウト部分をコーディングしなければ ならないシステムは減ってきましたが、システムの制約や仕様上、未だ「そのままでも A 斗a RU ηI
使用可能な帳票」を「デファクト・スタンダードである S A Sをコア」にして「簡単な オベレーション」で提供出来るシステムは殆ど存在しないのが現状です。 我々が絶大なる信頼を置いて使用している W indows版 SASSystemも実行結果の 帳票出力に関しては残念ながら、 「見栄え」を重視した構成となっていません。 そこで私たちの業務上(解析処理代行)の問題を解決するために考案されたのが、 表題にある 「簡易帳票作成システム SASto EXCEL" J です。 2 . システム 2 . 1.基本機能 前述1.で述べた背景から当該システムを考案したわけですが、当業界のニーズ、に 応えるためには、以下に示す基本機能が必要です。 a ) 大幅なレイアウト変更時に帳票出力プログラム変更しないで対処できる。 b ) 帳票の「見栄え」を左右する罫線種別や文字サイズ・フォントが簡単に変更できる。 c) データ変更時に容易に帳票の再出力ができる。 d) 大量の集計や検定をこなすためのパッチ処理機能がある。 e) 必要なパラメータを与えるだけで集計・検定の結果が出力できる。 2. 2. 実現のための検証 前述 12. 1.基本機能」で示された内容を実現するには、大まかに分けると 『出力結果をビジュアルに C ut&P a s t e して編集できる。』 『パラメータを与えれば、帳票が出力される。』 基本機能が必要です。そこでこれらの機能を実現するアプリケーション として、下記の表 1の示す構成を考案しました。 表1 実現アプリ │実現したい内容 MS‑Excel I 出力結果をビジュアルに C ut&Pa御 し て 編 集 で き る S A Sマクロ │パラメータを与えれば、帳票が出力される。 o つまり、集計・検定などのルーチンでよく使うものはマクロ化してパラメータを与え るのみで実行する。その後、実行結果を D D E通信または、その他の技術を利用して MS‑Excel (以下 Excel) に張り付けるとしづ構成です。 ‑476
実際には、以下の図 1に示す構成のツールを考察しました。 l F : } 図1 各パラメータ読込 D D E通信その他 2. 3. なぜ E x c e 1を選択したのか 当該ツール考案において、 SASの実行結果をわざわざ E x c e 1に渡す理由は どこにあるのでしょうか。 まず当業務にコストや使い勝手で適しているコンピューティング環境は WindoW8 P Cと位置づけ、その環境内で S A Sとも親和性のあるアプリケーションの中から、 本システムの機能を実現し得るものとして Excelを選択しました。 本システムで実現したい内容と E x c e 1の対応について下記の表 2に示します。 表 2. Excelに求めた機能 実現したい内容 E x c e 1の機能 a) 大幅なレイアウト変更時に帳票出力 ‑セノレ関数を利用する。 プログラム変更をしないで対処する。 c) データ変更時に容易に帳票の再出力が または ‑マクロ機能を利用する。 できる。 b) 罫線種別や文字サイズ・フォントが ‑セノレの書式設定を利用する。 簡単に変更できる。 上記の表 2に示すとおり、 E x c e 1にはレイアウトや文字サイズ・フォントを自由 自在にコントローノレできる機能があります。つまり、この機能を利用することで キャンパスの上に広がったオブ ジェクトを自由にかつ、正確に加工し、さらには再現 P することが可能です。 この手法をとることにより、顧客からのニーズが発生した際に、プログラムを再度 変更することなく、安全に正確に迅速に対応することができます。 477一
2. 4. S A Sマクロで実現する内容 前述では、 EXCELで実現される内容に関して述べましたが、本節では S A Sの マクロで実現したい機能を説明します。 S A Sのマクロで実現したい機能としては、以下の点が上げられます。 あ)定義ファイルとコントロールファイルの読み込み。 い)パラメータによるプロシジャの自動ジェネレートと実行。 う)各種データセットのコントロール。 え)レイアウトのコントロール (Ex ce 1制御)。 お)データセット内の数値を E x c e 1のシート上に出力。 上記の機能が実現されることによって、 『パラメータを与えれば、帳票が出力』 されます。 2 . 5 . 定義ファイルとコントロールファイルについて ここで、少し説明不足になっている定義ファイルとコントロールファイルに話題を 絞って述べたいと思います。 定義ファイルとコントロールファイルの主な役目は、下記の表 3のとおりて寸。 表3 ファイル種別 │ファイルの主な役目 定義ファイル │表を生成する要素の情報を持つ。 コントロールファイル │表のレイアウトに関する情報を持つ。 プログラムコーディング時のミスを最小限にするために、グラフイカル・ユーザー・ インターフェースを介して作表に必要なパラメータを指定し、そこから生成されたテ キストファイルのパラメータを S A Sのマクロが読みとる仕組みのツールを考案して いる訳ですが、このパラメータの内容は現在検討中です。(ここで生成されるテキス トファイルをエディターで作成→実行する方法も併用可能な仕様とする) 96年 4月現在、 αパージョンを作成する上でテスト的に使用しているパラメータを 下記の表 4、 5に示します。 表 4 定義ファイルのパラメータについて パラメータ説明 パラメータ例 出力先 EXCELファイル名 C :¥S AMPLE ¥S AMPLEJCLS 表タイトル 最終全般改善度サンプル ターゲ、ツト永久 S A Sデータセット名 SYL I B . S A M P L E 横方向変数、ラベル、カテゴリ C001,最終全般改善度 1 , 2, 3, 4, 5 ‑478
横方向変数カテゴリのラベノレ 著明改善,中等度改善,軽度改善 P 不変,悪化 縦方向変数、ラベル、カテゴリ R 0 0 1,用量群, ' L ', ' M ', ' H ' 縦方向変数カテゴリのラベノレ L群M 群 , H群 率のタイプ、判定不能表示のタイプ 1 , 1 出力先シート名、セノレ列位置、セノレ行位置 最終全般改善度, 1 , 1 表5 パラメータ説明 パラメータ例 Exce1の実行ファイノレ存在位置 C : ¥O FFICE ¥EXCEL ¥EXCEL 表中フォント M Sゴシック 表中フォントサイズ 1 2 セル幅指定 1 3 1 6 セノレ高指定 文字位置指定 0 . 0 3( 2 :左寄, 3 :センタリング, 4 :右寄) 直接プリントアウトの有無 OF F " 率のフォーマット 現在ここで説明した以外に必要、もしくは代替可能なパラメータがあるかは調査中 です。しかし、別表「サンプル帳票」を参照していただければ、かなりの部分がサポ ートされていることがご理解し、ただけるでしょう。 2. 6. 通信方法の考察 前述までの節では、 S A Sの実行結果を Exce1に渡す通信方法として、 DDE 通信を前提として説明してきました。本節では、現在検討調査中の他の手段について 紹介します。 E x c e 1へのデータ交換の方法としては、下記の表 6に示す方法が S A S社から 提供されています。 表6 データ交換方法名 説明 DDE通信 D y n a m i cD a t aE x c h a n g eの略。 アプリケーションに対して、マクロコマンドを送信す ることでアプリケーションの制御をする方法。 OLEオートメーション O b j e c tL i n k i n ga n dE n b e d d i n gの略。 VBAや VBなどのマクロ言語と OLE機能 でアプリケーションを制御すること。 SASでは、 AFの SCLで提供されている。 ‑479
SASACCESSTOP C ‑ F I L EI SASS y s t e mの追加モジューノレ。 E x c e 1の実行ファイノレを起動することなく E x c e 1ファイノレに直接読み書きをするため、メモ リーへの圧迫が少ない。 上記の方法の比較に関しては、現在調査中です。現状の情報から推測すると、 SASACCESSTOP C ‑ F I L Eの利用が有効であると考えられますが、今後の調査で 決定したいと思います。 3. まとめ 前述までで述べたテスト内容だけでは、本当に使い勝手のよいツーノレは残念ながら できません。使いやすいツーノレにするために、まだ考察中の内容があります。 それは、マンーマシン・インターフェースです。 現状のツーノレ利用をする上では、キャラクターベースで定義ファイノレやコントローノレ ファイルを作成しなければいけません。それでは、やはりミスが介在するのを防ぐこ とができません。 マンーマシン・インターフェースに関するアイデアについては、この論文中では割 愛させていただきますが、本ツールの完成は、ミスを最小限に押さえるために GUI を駆使して作られたインターフェースを最終目的としております。 次の機会でインターフェースについて、ご説明できるよう日々調査を進めていきた いと思います。 4. 最後に 今回の件では、調査や既知の情報について多くの方々からご提供いただきました。 S A S大阪支社の方々、弊社の同僚、様々な方々の情報により少しづっ、よいツーノレ に仕上がりつつあります。今後も惜しみないアドバイスをよろしくお願い致します。 最後になりましたが、技術調査に関してアドバイスをいただきましたみなさんに 感謝の意を示して本論文を終わりたいと思います。 5. 参考文献 W i n d o w s版 SASシステム使用の手引き 第 6章 マイクロソフト エクセノレ V e r s i o n 4 . 0機能事典(マクロ編) SA S 6 . 1 1紹介セミナー資料 ‑480
サンプル 1 (最終全般改善度) 著明改善 用量群 L群 M群 H群 合計 14 ( 2 1 .9 ) 10 ( 1 4 .9 ) 9 ( 1 3 .6 ) 33 ( 1 6 .8 ) 最終全般改善度 中等度改善 軽度改善 不変 18 ( 2 8 .1 ) 22 ( 3 2 .8 ) 23 ( 3 4 . 9 ) 63 ( 3 2 . 0 ) 1 5 ( 2 3 . 4 ) 20 ( 3 0 . 0 ) 16 ( 2 4 . 2 ) 5 1 ( 2 5 .9 ) 15 ( 2 3 . 4 ) 12 ( 1 7 . 9 ) 1 5 ( 2 2 .7 ) 42 ( 2 1 . 3 ) 悪化 合計 2 ( 3 .1 ) 3 ( 4 . 5 ) 3 ( 4 . 6 ) 8 ( 4 .1 ) 64 ( 1 0 0 .0 ) 67 ( 1 0 0 .0 ) 66 ( 1 0 0 .0 ) 197 ( 1 0 0 .0 ) 。 判定不能 K r u s k a l ‑ W a l l i s Test CHISQ=0 . 3 2 4 2 N .S . p=0.8503 3 ‑ H∞司l
サンプル 2 (背景分布) 背 解 性 見IJ 析 対 L群 M群 H群 計 象例 6 4 7 3 .4 ) 4 7 ( 2 6 .6 ) 1 7 ( 2 ( 3 .1 ) 5 8 ( 9 0 .6 ) 4 ( 6 . 3 ) ( 0 . 0 ) 79 .7 ) 5 1 ( 2 0 .3 ) 1 3 ( 8 4 . 4 ) 5 4 ( 1 0 ( 1 5 . 6 ) 6 8 7 9 .4 ) 5 4 ( 1 4 ( 2 0 .6 ) 5 ( 7 . 4 ) 8 8 . 2 ) 6 0 ( ( 2 . 9 ) 2 ( 1 .5 ) 6 0 ( 8 8 . 2 ) 1 1 . 8 ) 8 ( 79 . 4 ) 5 4 ( 2 0 . 6 ) 1 4 ( 6 8 5 0 ( 7 3 .5 ) 1 8 ( 2 6 .5 ) 3 ( 4 . 4 ) 6 3 ( 9 2 .6 ) ( 1 .5 ) ( 1 . 5 ) 8 3 .8 ) 5 7 ( 1 1 ( 1 6 . 2 ) 5 0 ( 73 .5 ) 1 8 ( 2 6 .5 ) 2 0 0 75 . 5 ) 1 5 1 ( 4 9 ( 2 4 . 5 ) 1 0 ( 5 . 0 ) 9 0 .5 ) 1 8 1 ( 7 ( 3 . 5 ) 2 ( 1 . 0 ) 8 4 . 0 ) 1 6 8 ( 3 2 ( 1 6 . 0 ) 7 9 . 0 ) 1 5 8 ( 2 1 . 0 ) 4 2 ( 男 女 年 齢 (歳) 入院・外来 15‑29 30‑49 50‑69 70‑78 入院 外来 診断名 症状 A 症状 B 。 x2検定 N .S . P = O .6 5 3 N .S . P = O .6 0 8 N .S . P = 0 . 4 0 8 N .S . P = 0 . 3 0 9 lN∞ ザ │ 景
日本 S A Sユーザー会 (SUG I‑J) 製造業向け情報系システムでのデータウェアハウス構築 早川│ 豊 システム開発センタ 目立超 LS Iエンジニアリング株式会社 C o n s t r u c t i o no fDataWarehousei nCIMSystemf o rt h em a n u f a c t u r e r Y u t a k aHayakawa Systemd e v e l o p m e n tc e n t e r H i t a c h iULSIe n g i n e e r i n gco中・ 要旨 企業活動の中で意志決定を支援するために、データウェアハウスを構築することは 非常に有用な手段である。製造業においても、工場の中での日々の生産管理や、進行 管理、品質管理などの業務において、色々な意志決定が行われており、この意志決定 を効率化することは、今後の BPRの推進に大きく影響する。製造業での情報系シス テムにおいて、意志決定を支援するためのデータウェアハウスの構築には、データを エンドユーザに公開するだけでは不十分である。意志決定に利用するためには、膨大 なデータから情報を抽出し、その情報を組み合わせるだけでなく、常に処理手順を柔 軟に変更することが要求され、データと処理手順が一体となった環境が必要である。 キーワード: データウェアハウス、 C I Mシステム、製造業、意志決定支援 1.はじめに 製造業における情報系システムに、コンビュータ統合生産システム(し 1わゆる C I M システム、以下 C 1 Mシステムと略)がある。 C 1 Mシステムは、製品の受注情報 や発送納品の物流情報に加え、製造にかかわる各種の情報を統ーして取扱い、効率的 な生産販売活動を支援するものと位置づけられている。 現在の大半の製造業における情報システムは、受注と納品及び、おおまかな生産工 程の管理を行う基幹系のものが主流である。これらは、受注販売量や、生産高、生産 原価を製品別に月次集計を取ることが中心的な機能であり、より効率的な生産販売活 動に向けて情報を再利用する事は含まれていない。(あるいは、機能を持っていて も、機能面、性能面での能力不足から利用されていないことが多し、)これは、これま での投資が、生産能力の増強や製造技術の開発を中心に注がれてきた事や、生産工程 のより詳細な状況を把握するには、コンビュータによる生産工程の自動化を進める事 が大前提であり、これらすべての情報を取り扱うためには多額の情報投資を必要と ‑483‑
し、投資が先送りされてきた事によるものである。 しかしながら、近年の低成長化の中で、製造業全体のリエンジニアリングを進める ために、これまで利用してこなかった生産に関連する情報の整備や、それを利用する 環境の整備が強く求められる状況となっている。また、 EWSや PCの高性能化と低 価格化の状況が、この要求により一層拍車をかけるものとなっている。 2 . C 1Mシステムの構成 従来、 C 1Mシステムは、全機能が一つのシステム内に一体として、構築されるこ とが多かった。しかしながら、 EWSや PC、 LANといった分散システム環境が 整ってきたことから、機能別にシステムを分割した分散型システムとして構築される ようになっている。分散型システムの利点は、機能的に独立するサブシステムごとに 開発が行えることと、管理運用がサブシステム単位に行えることである。 分散型 C 1Mシステムは一般的に、以下の 3つの機構で、構成されている。 (1)データ収集機構 C1Mシステムの最大の資源である、生産にかかわる各種の要素データを収集 する部分で、自動化された各製造装置とのオンライン接続や、工程、装置の固有 な制約事項の元で収集されたデータを修正、加工し、データの正規化をする機能 を果たす。 ( 2 )データ蓄積機構 データ収集部で収集されたデータを、データ聞の関連を保持しながら、蓄積保 管を行う。また、データベースの蓄積能力を超えたデータのオフライン管理を行 い、過去の生産状況のトレーサピリティーを確保する。 ( 3 )データ処理機構 蓄積されたデータから各種の情報を取り出すための処理を行う。処理は定型処 理と非定形処理に分けられ、処理結果は各種のレポートやグラフなどの形態で表 示される。さらに他のシステムで利用するためのデータ提供機能も含まれる。 また、対象となるデータや利用上の機能から、以下の様なサブシステムに分割され る 。 (1)進行管理サブシステム 製品の各詳細工程での進行状況を管理する。この機能は、進行状況の実績を把 握する部分と、工程のフローと今後の進行予定を管理する部分に区分される。 ( 2 )品質管理サブシステム 製品の品質に関する情報を管理し、工程内での規格判定や、長期トレンド、複 数工程聞の相関、製品品種別の品質などの品質状況を管理する機能を持つ。 ( 3 )装置稼働管理サブシステム ‑484‑
装置の稼働状態を管理し、現在の装置稼働状態を表示する機能と、装置の稼働 統計情報を集計する機能を持つ。また、装置の保全状況についても管理する機能 を持つ。 ( 4 )装置実績管理サブシステム 上記 4つのサブシステムに対して、その下位に位置づけられるサブシステム で、製造装置で、の加工処理実績を管理する機能を持つ。 ( 5 )搬送制御サブシステム 指定された工程フローに従って、自動搬送装置や作業者への製品の搬送指示を 行う機能を持つ。 ( 6 )部材管理サブシステム 各工程での部材の使用状況を把握し、不足部材の発注指示などの部材管理を行 う機能を持つ。 3 . C IMシステムの目的 C IMシステムの第一の目的は、各サブシステムが果たす各機能により達成されて いる。それらの機能は、基本的にサブシステム内で閉じたものであり、サブシステム 聞をまたがって処理を行うことは組み込まれていない。これは、サブシステムの独立 性を高めることで、システムの安定性や拡張性を確保するが出来るからである。 しかしながら、 CIMシステムの最終の目的は、生産にかかわる各種の情報を元に して、各工程の仕掛かり状況や、製品の品質、装置の稼働状況を的確に把握し、製品 の効率的な生産を可能にすることである。言い換えれば、生産にかかわる各部署の担 当者の意志決定を支援し、間接業務の生産性向上を図ることである。 生産にかかわる意志決定には、以下の例が考えられる。 (1)製品進行計画の最適化 ( 2 )製品品質レベルの確認及び不良対策 ( 3 )製品原価の低減対策 ( 4 )生産スループットの向上策 ( 5 )製造装置の能力推定 ( 6 )製品出荷時期、出荷量の推定 ( 7 )製品別の在庫を最適化する製品投入量の推定 これらの意志決定を支援するためには、各サブシステムの持つデータを組み合わせ て情報分析を行う専用の環境が必要となる。この情報分析環境は、各サブシステムか らデータを取りだし、各種の集計処理や要約処理を行い、蓄積し、さらに再利用する ための機能が要求され、いわゆるデータウェアハウスとして機能する部分である。 これにより、経験豊富な担当者にしか出来なかったような、在庫管理や進行管理の ‑485‑
ような業務も、多角的な視点でとらえることができ、熟練者でなくてもよりすばやい 意志決定が出来るようになる。 C 1Mシステムにおいて、各サブシステムの蓄積デー タを再利用する情報分析機能(データウェアハウス)があって初めて、システム化の 最終的な成果を得ることができる。 4 . データウェアハウスへの要求事項 C 1Mシステムの各サブシステムに格納されているデータは、それぞれが異なる目 的のために収集されたデータである。収集されるタイミングや収集頻度、蓄積される 保存期間など、それぞれのサブ、システムの事'情で異なっている。また、データを検索 するキ一項目も完全に一致せず、ある程度の類推を加えて連結する必要がある。この ような状況から見て、 C 1Mシステムのデータウェアハウスは、大量な蓄積データを 単純に公開することではない。この機能は、各サブシステムのデータ蓄積機構がすで に行っている。 エンドユーザが直接さわることが出来ない、いわゆる基幹系システムのデータを、 公開することを目的にしたデータウェアハウスとは異なり、既にエンドユーザに公開 されているデータから、さらに情報を抽出することを主眼としたデータウェアハウス が必要となる。各サブシステムのデータの関連性を調べ情報を抽出するには、かなり のデータ処理を要求されることから、単純にデータを公開するだけでは、データは有 るが、うまく利用できないという状況(データの死蔵)が発生してしまう。 そのために、 T r a n s f o r m a t i o n 層自身をエンドユーザに公開したデータウェアハウスが 必要となり、誰かが設定した T r a n s f o r r n a t i o n 層の方式を誰もが再利用でき、その結果を 全員で享受することが出来る環境を提供することが、データウェアハウスに求められ る。これらの要求を突き詰めれば、データウェアハウスの 3層構造として、一般化さ れているものと同じとなるが、実システムの実装において、ユーザへの支援機能を検 討する場合に、各層での具体的な機能を見直す必要がある。 データの複合的な関係は、非常に多種多様であり、同様の結論を導き出す場合で も、その時期、目的によって変わってしまい、処理の仕方はその都度検討を必要とす る。対象データも、すべて正しいデータである保証が無く、また、システムに登録さ れていないデータを利用することも必要になる。さらに、処理した結果をある一定期 間蓄積し、状況を追跡することや、トレンド情報として再利用する事が必要になる。 このような処理要求は、不良の発生や顧客からの要請と言った、突発的な要因で発生 することが多く、予め準備できないことが多い。処理方法はその都度変わるが、すぐ に処理することができる環境が必要になる。 以上の要求をまとめると、以下のようになる。 (1)必要とする各サブシステムのデータが同じ手法で取り出せ、システムに登録され ‑486
ていないデータも簡単に入力できる。 ( 2 )定型的なデータ処理手順が準備され、それを元に非定型な処理手1 ) 頂が簡単に作成 できる。 ( 3 )作成した処理手順は、その処理手順により作成されたデータとともに、登録、管 理できる。 ( 4 )作成した処理を繰り返し実行でき、処理結果を一定期間保持できる。 ( 5 )処理手順や処理結果を、第 3者と共有できる。 5 . データウェアハウス構築での SASの意味 C1Mシステムでのデータウェアハウスを構成する上で、 SASシステムが持つ基 本的な機能は、非常に都合良く構成されている。データウェアハウス構築において、 特に有用である点を上げると以下のようになる。 (1)クライアントサーバー環境 C 1M システムの各サブシステムに対するフロントエンドと、データウェアハ ウスの環境を統ーした操作環境を構築できる。また、データ処理の共通言語とし て SAS言語を利用することにより、クライアントサーバをベースにした拡張性 の高い柔軟なシステムを構築できる。 ( 2 )データと処理手順の一体化 データを保持することに加え、処理結果と処理手順を同一環境上で一体として 取り扱うことが簡単にでき、再処理がすぐにできる事や情報(処理結果)がどの 様に処理されて作成されたのかを説明をすることが出来る。当然処理手順は、再 利用・流用が可能である。 ( 3 )データと処理手順の保護 C 1Mシステムは、開発されてから長い期間使用される。また、開発後も機能 拡張が継続して行われる。その間当然、システムのプラットフォームは、技術の 進歩に伴って変化するが、 SASをソフト的なプラットフォームとしている限 り 、 C 1Mシステムの中でも、特にデータウェアハウスにとって最も重要である データと処理手順を、アーキテクチャの変化から保護できる。 ( 4 )オーバーヘッドの少ないデータベース機能 データウェアハウスは、膨大なデータの中からある程度抽出処理を行った(特 定の期間、特定の工程などの)データを利用する。取り込んできたデータは、基 本的に全件を対象にしたデータ処理操作を行うことが頻繁であり、データ処理を 前提にしたオーバーヘッドの少ない SASのデータベースを利用することによ り、処理のスループットを向上できる。 ( 5 )拡張性のあるデータベース構造 ‑487
製造業での情報分析では、異なる情報をマージするだけでなく、異なる期間の データを追加するような処理が行われる。また、記憶容量を越えてオフラインと なったデータを取り扱う要求が頻繁に発生する。一般的なデータベースは、現在 格納されているデータの取り扱いに対しては非常に便利にできているが、オフラ インとなっているデータを扱うために複雑な手順が必要である。 SASシステム は、オフラインとなっているデータをたやすく取り扱うことができ、テンポラリ ーなデータの処理要求に耐えることができる。 また、現在拡張が進められている、オブ、ジェクト指向型の操作環境の強化は、更に この機能を高めていくことが期待できる。 6. まとめ 製造業向け情報系システムにおいて、製品の製造上での各業務における意志決定を 支援するために、データウェアハウスを構築する意義は非常に大きい。これまで、情 報化が遅れてきた分野でもあるだけに、業務プロセスが複雑で、担当者の経験や勘、 ローカルな知識・方法に頼ったことが多い。結果として、業務改善を進めようとして もなかなか思うように進展しないことが多く、システム化の効果を低下させることと なってきた。このような状況に対して、データウェアハウスは、定型処理業務から非 定型処理業務までの広範な業務分野に対して、機能的に作用することができる。ま た、これまでは作業量が多く、入手だけでは対応できなかった、例えば、工程負荷の 平準化や進行計画の最適化、工程全体でのコストダウンの検討などの業務に、取り組 むことができる。いわゆる BPR C B u s i n e s sP r o c e s sR e e n g i n e e r i n g ) を可能とすること ができる。また、工場全体での能力や、現在の状況を性格に把握することは、次期の 投資計画や経営戦略を立てる際に、強力な判断材料を与えてくれるであろう。 長期的には、厳しい状況に置かれている製造業において、情報化をどのように進め て BPRを行うかは、今後の経営に大きく影響するものであろう。データウェアハウ スをどのように構築するか、また、それの構築をどのようにして行うかが、大きな意 味を持つといえる。 SASシステムは、他のシステムツールに対して多くの有用性を持っているが、今 後の機能拡張によりデータウェアハウスの更に強力なシステムツールとして発展する ことを期待する。 ‑488一
日本 S A Sユーザー会 (SUG I‑J) 定型フォーマットの帳票僧戎の 1例 弘田貴 セーノレス&マーケティング本都マーケティング部コンサルティング・セクション 株5 足許土SAS インスティチュートジヤノミン AT<油u 旬t i o n e 澗 n p 恰u s i r 唱 何 SAS匂 蜘n u n d e r何 C l i e n t /缶 N e r E n v 耐l r n e 吋 T a k a s h i H 同匂 s a 民 andM a r k e 1 i r 司D i v 陰 口1Marke1ir羽以~巾nentCα別出ng Se姐わn SASI市 風 船 J a p a nL I 凶. 要旨 SASシステムが標準提供している帳票作成プロシジャの中に、 TUBULATEプロシャ がある。このプロシジャは汎用性にすぐれ、ほとんどの帳票は作成可能であるが、縦に 横にと階層が不規則な帳票に対しては対応できないのが現状である。そこで、 1つの方 法として、階層の不規則な帳票フォーマットを予め、雛形として表計算ソフトやワープ ロで作成しておき、その枠中に求めたい値を挿入する方法がある。 キーワード: 日ヨE , OL王オ」トメーション;SAS/AF,~ぬSlCONNECT, M防 部o f tE x 倒 , 00 配 SA S/A!∞ESS耐 陀 f i l e f o n n a t s はじめに 企業でよく使われている表計算ツールとして M i c r o s o f tE x c e lなどがあるが、単純な 集計を行えるデータの件数には、ソフトウェア的に制限があり、十万件以上の大容量の データを集計、分析するには適してるとは言えない。 ペーパーレスが叫ばれている一方で、帳票(紙)ベースの出力に頼るユーザも少なく ないのが現状である。 また、単に帳票出力といっても SASシステムが標準で提供しているプロシジャレベ ルで、解決で、きない複雑な帳票フォーマットも存在し、多くのユーザの頭を悩ませてきた ことも無視できない。 そこで、その 1つの解決方法として、クライアント/サーバ環 境において如何に大容量データを集計及び分析し、帳票作成を行うかを紹介する。 ‑489
1.クライアント/サ)ノえ環境での注意京 クライアント/サーバ環境において、特に大容量データを扱う上で大切なのは、如何 に無駄な時間を削減できるかである。したがって、データ集計及びデータ分析はできる 限り、処理速度の速いサーバ機側で、まとめて行う方が良い。 また基本的なことだが、データそのものも、最終的に使用する検索結果を意識し、予 めその最小公倍数である単位で分割しておく。例えば、年月単位,地域単位でデータを 分劃しておくことにより、処理を行うたびに、全件に対して集計や分析を行うという無 駄な作業を防げ、パフォーマンスの向上につながる。 こうして用意したデータを実際に処理する場合、 SAS/CONNECTソフトウェアのリモ ート実行機能を利用することによって実現する。 一般的な方法は以下のように、 RSUBMIT:.ENDRSUBMIT:のステートメントでサー バで、実行する処理( DATAステップ及び PROCステップ)を囲んでサブミットする。 SAS/AF SCL記述例 1) SUBMITCONTINUE; / * DATA ステップ、 PROCステップの始まり RSUBMIT; 戸リモート実行の始まり サーバで、実行する処理( DATAステップ、 PROCステップ) ENDRSUBMIT; /*リモート実行の終わり り / * DATA ステップ、 PROCステップの終わり 幻 ENDSUBMIT; 幻 吋 更にパフォーマンスの向上を目指せば、以下のように、サーバで、実行するプログラム を予め、サーバ側の任意の場所に配置する。そして、%削C を使って実行する。 SAS 泊 F SCL記述例 2) SUBMITCONTINUE; RSUB恥 l IT ; %削 C サーバで、実行する処理を記述したファイル'; ENDRSUBMIT; ENDSUBMIT; こうすることで、実際にサーバで実行される処理(プログラム)のアップロード時間 を削減できる。サーバ側では、単に集計、分析を行うだけではなく、最終的に作成する 帳票イメージのデータセットに集計、分析後のデータを再配置する(1帳票当たり 1デ ータ加工処理を要す)。 汎用性には欠けてしまうが、検索及び集計項目に汎用性を持たせるように SASマク ロで 1帳票当たり 1つ、マクロプログラムを作成しておくと良い。 ‑490‑
2 . 帳票イ骨或の手段 図 1は最終的に出力する帳票イメージである。 帳票作成手段はいたって簡単である。予め、クライアント側で最終的に出力するイ メージの帳票を MicrosoftExcel 等で雛形として作成しておく。サーバ側で、の処理は、 網掛け部分に表示するデータを作成し、クライアント側は出来上がったデータをダウ ンロードしてきて、雛形にデータを展開する。 │タイトノレ 年月日 事志賀〉 縦十 表!勝信十 A Aの合計 A1 A11 A12 A13 A2 A21 A22 B Bの合計 B1 B 1 1 B12 B2 B21 B22 C B ' 1 ¥ B ' l 1 ¥1 1 'l 1 ¥1 1 1 ¥1 2 B │都商襖 σ B ' 2 B '1 2 B ' 2 1 B ' 2 2 C1 C2 C3 x x x: x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x: x x x: x x x: x x x: x x x :XXX" : x x x x x x x: x x x: x x x: x x x: x x x: x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x x x x x: x x x: x x x: x x x: x x x: x x x: (図 1:帳票イメー吟 Microso負 E x c e l等の DDE、OLE2.0をサポートしている表計算ソフトへ、 セットを展開する場合の手段に以下のようなものがある。 1 ) DDE (DynamicDataExchange) 2 ) OLE ( O b j e c tL i n k i n gandEmbedding) オートメーション 3 ) DBLOADプロシジャ 4 ) ODBC (OpenD a t a b a s eC o n n e c t i v i t y ) 5 ) 外部 DLLの使用 ‑491‑ SASデータ
1 ) は 、W i n d o w s版 SASシステムリリース 6 . 0 8以降の B a s eSASソフトウェアの 基本機能のみで実現できる。 2 )は 、 W i n d o w s版 SASシステムリリース 6 . 11以降の S A S / A Fソフトウェアの OLEオートメーション機能で実現可能である。 3 )は 、 W i n d o w s版 SASシステムリリース 6.11以降の SAS/ACCESSf o rPCF i l e F o r m a t sで実現する。 4 )は 、 W i n d o w s版 SASシステムリリース 6 . 0 8以降の SASODBCドライパを使 用することによって実現できる。 5 )は 、 W i n d o w s版 SASシステムリリース 6 . 11以降の B a s eSAS ソフトウェ A S / A Fソフトウェア, SAS I lMLソフトウェアのいずれかで実現できる。 ア ,S 1 ),2 )はいずれも、予め M i c r o s o f tE x c e l等を起動しておく必要がある。 1 )は M i c r o s o f tE x c e l等の実行パス名を指定する。 2 )は、レジストリ名を指定しておけば良いだけなので、万が一実行パス名を変更し ても、作成したソースが変更されることはない。したがって、無駄なプログラム修 正が削減できる。 3 )は、直接指定の XLSファイルを作成する。したがって、 M i c r o s o f tE x c e l等を事前 に起動しておく必要はない。 4 )は 、 SASシステムの ODBCドライパを使用することにより、手動でも SAS データセットの展開、印刷は可能になる。 5 )は 、 SASシステム以外の、帳票作成の為のみに作成された DLLを組み合わせ ることよって実現できる。この際、予め雛形である帳票フォーマットの作成は、外 部 DLLの提供するツール上で、設定するか、プログラミングで吸収する必要があり、 SASシステム以外の外部 DLLの知識及びプログラミング能力も必要になる。 おわりに 今回の 1例は、いずれも、 W i n d o w s版 SASシステムの基本的な機能を組み合わせる ことで実現できる。また、 SASシステム以外のソフトウェアと連携する場合、ソフト ウェアのパージョンアップに伴うインタフェースの相違も、考慮、に入れて作成する必要 がある。 ただし、このような不規則な階層の帳票を作成するようなケースは特に定型的な側面 がある為、有効な手段の 1つといえる。 ‑492‑
A DataWarehouseU s ing theSASSyst釧 SASシステムによるデータウェアハウスの構築(翻訳) H a r r i e t Janes,SAS I n s t i t u t eI n c .,Cary NC 宅 ShirleyDixon,SAS I n s t i t u t e .,Cary, NC TerryLewis, SAS I n s t i t u t e,Cary, NC 株式会社 S A Sインスティチュートジャパン 松井陽子訳 要旨 SASシステムはデータウェアハウスを構築するのに理想的なシステムである。本論文は 2つ のインフォーメーションセンターのアプリケーション開発部隊が、 SASインステチュート内で 意思決定支援に使用するデータウェアハウスを構築した経験について解説する。デ タウェア ハウスを構築する際に利用した特殊な技術に関する説明、またどのような問題が開発中に起こ ったかなどを解説する。また従来の SAS製品では提供していない新しい機能を提供する新製品 SAS jWarehouseAdministratorの解説も本論文に含めた。 解説 SASインスティチュートは自社の技術を手J I 周し、インスティチュートのビジネスを展開して いることを誇りとしている。 SASインスティチュート内の MIS(Management I n f o r m a t i o n S y s t e m )経営情報システム部門では SASシステムのみを使用し、自社の業務に必要なアプリケ ーションを開発している。 MISでは SASインスティチュート内で利用されている数百の多種 分野に渡る SASアプリケーションもサポ 卜しており、その中には技術サポート、営業支援、 流通、マニュアル類の販売、出版、人事、設備、ビデオ作成、企業内コミュニケ ション、契 約、経理などがある。 1.データウェアハウスプロジェクトのバックグラウンド MISのマネージャ達に SASインスティチュー卜で使用するデータウェアハウス開発の課題が 与えられた。 SASインスティチュー卜のトップは MISマネージャ達にこのプロジェクトを早急 に仕上げるよう要求した。課マネージャはスタッフ達に 1 9 9 5年の 5月末に通達した。このマ 9 9 5年の 8月の ネージャと彼女のグループのアプリケーション開発員はこのプロジェク卜を 1 最初の週に達成した。 データウェアハウスとはイ可か? この時期、データウェアハウスに関する論文はプリズムソリューションズ社 ( Pri s m a ti st h eD a t a Warehouse?" ["データウェアハウスとは何か?J Solutions)から出ていた"附1 しかなかった。この論文では「データウェアハウスとは、目的別編成され、統合化され、時系 ‑493‑
列編成され、更新されることのない、経営者のための意思決定支援のデータコレクションであ る」と解説している。この唯一の論文よりできる限りの情報を吸収し、データウェアハウス構 築のための戦略が練りはじめられた。 どのように取組むべきか? SASインスティチュートのためのデータウェアハウスはどのようにあるべきか、インスティ C E O )はデータを自由にブラウ チュートのトップ経営者たちとの会議が行われた。最高経営者 ( C O N T E N T Sプロシージャの実行結果 ズでき、データの情報を得られ、そのデータの変数情報 ( のようなもの)も得られるようにして欲しいと要求した。 CEOはまたデータウェアハウス用に CEO自身が作成したプログラムの追加と、彼が必要としているレポートの作成機能などを要求 した。重要なポイントが会議中になんども強調された。 「データウェアハウスアプリケーションは使いやすいものでなければならない」 この会議の後、 PrismSolutionsの本を読み直し、この論文がデータウェアハウスのコンポ ーネントとして何を重要なものとみなしているのかわれわれは熟考した。メタデー夕、現在の 詳細デー夕、過去の詳細デー夕、少しだけサマリーされたデー夕、高度にサマリーされたデー タなどのコンポーネントである。これらはまさにマネージャ達がインスティチュートのために 開発されるデータウェアハウスに取り込むよう要求したものと同じだったのである。 n f o r m a t i o ns y s t e m )タイプの作り込 マネージャ達はデータウェアハウスは EIS(executive i みをした、ユーザが自由に queryを行えるようなものである必要はないと強調した。 SASイン スティチュートで利用するデータウェアハウスは、ユーザが必要に応じてレポート用のデータ を取り出したり、 EISアプリケーションを開発したりするためのデータ倉庫であればよいので あった。 2 . ウェアハウス内のデータ構造の作成過程 データ構成をどうするか? データウェアハウスのベースとなる構成要素は明確化され、どのようにデータをまとめるか の試案が作られた。この開発段階ではまず、通常の業務処理から生成されるレポート類のデー タを管理しメンテナンスすることにした。次にどのプラットフォームにデータメンテナンス用 のプログラムを保管するのが最適か決めなければならなかった。ほとんどの通常業務データが メインフレーム上に置かれており、また MVSのオベレーテイングシステムにはデータウェアハ ウスの管理を容易に行える機能もあるため、 MVSをプラットフォームとすることになった。と りあえずデータメンテナンスを行うプログラムを MVS上で保管しておくだけで、実際にデータ ウェアハウスアプリケーションを稼動するプラットフォームがどんなものであれ、 SAS/CONNECTソフトウェアを利用すれば也、要なデータ移行は簡単に行えるのである。 ‑ 4 9 4
新しい SASシステムリリース 6 . 1 1の新機能には MVS上では提供されていないものもあるの で、データウェアハウスアプリケーションのビジュアル部分は UNIXをプラットフォームにす ることとなった。デ タは SAS/SHARE ソフトウェアサーバを介して、アクセスすることにな るので、データウェアハウスのデータは SASインスティチュー卜内のどのプラットフォームか らもアクセスできるようになる。 どんなデータを含めるか? データの構成を決定した後、データウェアハウス上で表示される ( d a t as u b j e c t )データサブ ジェクトを選択した。データサブジェクトは最初、 トップマネージャ遠のために作成される 全てのレポートのもとになるデ タに従うことにした。これらのレポートのサブジェクトは基 本的に顧客データベースと送付状記録によって構成されている。この後他のデータソースが追 加されたが、しかしデータウェアハウスはまずこの 2つのデータサブジェクトのみから始まっ たのである。 目的別にデータを編成するため、データサブジェクトは個別の SASデータライブラリとして 保管された。このため他のシステムによるデータウェアハウスと異なり、この時点で各種のデ ータサブジェクトを 1つのメタデータベースに結合する必要はまったく無かった。そのような メタデータベースを作成するにはデ タのクリーニングツールと調整ツールが必要だが、それ らのツールはまだ SASインスティチュートのデータウェアハウスプロダクトの開発スタッフ によって開発中であった。 データメンテナンスを簡単にするために ーデータ作成のルールを設定 データウェアハウスの構築の大きなの目標として簡易性があったので、データセット管理と 関係する SASプログラムのサブジェクト名の作成基準 ( n a m i n gc o n v e n t i o n )が作られた。全て のプログラムが保存されている区分データセット名、また実 SASデータセットのサブジェクト 名作成に同じルールを用いることにより、ジョブメンテナンスがデータウェアハウス管理者 ( D a t aWarehouseAdministrator:以下 DWAと省略)にとって比較的楽な作業となる。同じ基準 がデータ管理上必要な各種のマクロ名にも用いられた。用いられたサブジェクト名作成ルール (*訳者注:以下ネーミングルールとする)は、最初の 3文字をそのデータが属するデ ブラリの名前の文字からとり、そのデ タライ タライブラリに属するという意味の省略記号とする。 残りの 5文字をそのデータセットかマク口、または区分データセットメンバーにユニークなも のにした。 ネーミングルールを標準化することは DWAにとって非常に重要な仕事である。ネーミングル ールを把握していることにより、データウェアハウスを利用する上での Q & A対応やトラブル シュ ティングが大変楽になるのである。もしユーザより DWAにトラブルや、またデータセッ トに関する質問が来た際、 DWAはユ ザに問題になってるデ タセットの名前を尋ねることが できる。ユーザはアプリケーション内のインフォーメーションボタンを押すだけで名前が確認 ‑495‑
できるのだ。 DWAはデータセットの頭の 3文字が分かればそれを作成したジョブを確認でき、 名前の全てが分かれば データを作成したソースまで辿れるのである。 データ管理をサポートするために SASマクロのライブラリが作成された。デ タを作成・移 動するプログラムが動くたびマクロが起動するのである。データセットを管理するジョブが 起動する際に使用されるマクロは数行程度のものであり、このマクロライブラリから呼び出さ れる。マクロを使用することにより、ジョブのフローが把握し易く、管理しやすいものとなる。 3 . データウェアハウスのデータ・ドリブンの側面 概要 データウェアハウスのプロジェクトの目的の 1つとして、データドリブンなシステムにする ということがあった。データウェアハウスに新たにデータが追加されても、そのたび画面設定 の変更が必要になりユーザが作業をストップするようなことがないよう、設計することが必要 だ。これを達成するため、 D WAはデータサブジェクトとメタデータのもととなっている非 SAS デ タ(外部ファイル)がアップデ 卜される度、 2つの S ASデ タセットが同時にアップデ ートされるようモニターすることにした。 この 2つの SASデータセットはデータカf表示される際に必要なフレームの情報を持ってる。 全てのデータサブジェクトはそれぞれにこれらの表示情報データセット 2つをもっている。こ の 2つの SASデ タセットは「インデックス」と呼ばれ、 1つはデータウェアハウス内のデー ASデータセットの変数を含んでいる。 タセットの情報を、もう 1つの「インデックス」は S WAが通常業務データからデ これらのインデックスデータセットは 2っとも D タを抽出しデ ータウェアハウスデータカf保管されている U N I Xプラットフオームにダウンロードされる際、 再生成されるようになっている。興味深い点として通常の業務処理時間にデータウェアハウス 内のデータをアップデ AS/SHAREソフトウェアと 卜する必要が起こったとしても、 S SAS/CONNECTソフトウェアがデータウェアハウスを利用しているユーザになんら不都合を与え ることなくアップデートを可能にするのである。加えて、 D WAが通常の業務時間内に 2つのイ V S上の FSVIEWプロシージャを ンデックスデータセットのいすれかに変更を行いたいとき、 M 利用した小さなアプリケーションが全てのデ デ タサブジェクトに付属しているインデックス SVIEWプロシージャがどのような順番で タセットを確認する画面を表示するのである。 F データセットがツールパ一上で表示されるべきか、またデ タセットが表示される際どのよう なアクションを起こすべきか、 D WAが表示データセットを変更する際確認できるようにしてい NIXプラットフォ るのである。もしインデックスデータセットに変更が行われたら、変更は U ームに自動的にダウンロードされる。変更中のデータにアクセスしているユーザは作業を中止 WAが変更を行ったデ することなく単にデータの選択画面まで戻り再選択するだけで、 D 再アクセスできるのだ。 496‑ タに
実行中にデ タ表示の開発者が変更を行いたいときは、これらのインデックスデータセット の変数を取り出し、それを利用してデータ表示がデータセットで行われるようにするか、省略 された形で表示されるようにするか、変更を加えるだけでよいのである。 SASデータセットの表示周インデックス データサブジェクトごとに付いている 2つの表示用のインデックスデータセットの 1つは、 データサブジェクト下に保管されている S A Sデータセットの情報を持っている。このインデッ クスデータセットは MVS上の区分データセットメンバーに保管されているデータより生成さ れ、表示したいデータサブジェクトを選択した際、データサブジェクト内のデ タを選択する レ1¥ を各データサブジェクト毎にダイナミックに生成するフレームを持ってい ためのツー J る 。 MVS上の外部区分データファイル上にデータウェアハウスに保管されているデータセット のメンバー名が存在し、メンバ一名は S A Sデータセット名と同じ名前になっている。, このデータセットの変数には以下のものがある。 • U四 BER:データライブラ 1 )の中に S A Sデータセット名で、この値により S C Lプログラムが ・ ・IUA DWA ・ ・ データの表示画面や選択のツールパーなどを生成する。 旺S伺IP' T:フレーム内の上部のテキスト挿入フィールドで表示されるデータセットの説 明 。 臣: によって作成されたツ ルバ のボタンに表示されるイメージの名前。 凶B EL:ツー Jレバーボタンに表示されるデータセットの説明。 1ラベルは 1 5文字までに制 限されている 0 朋D E R:ツールバー上に表示されるデータセットの順番 • AC T lON:データモデルごとにどのように表編集にデータが表示されるべきか、また省略し た形に表示したい際、どのようにデータを省略するかの説明。 SASデータセット変数の表示インデックス データウェアハウスデータセットの説明に加え、テ ブルエディタ上で表示されるデータセ ットの変数の説明をする機能力f必要だった。この変数説明の表示インデックスはデータの表示 をより効果的にするものであり、アプリケーションか.テーブルの列やカラムでどのように変数 を表示するか判断させるものである。 表示インデックスデータセットの変数には以下のものがる。 • UB lBER:ツー Jレバー上より選択される SASデータセット名。データセットを表示するよう 選択する際、目的もサブセットされるようにする。 • VAR 胤M E:それぞれのデータセットに含まれる変数名。 4 9 7
ACTION:作業対象としている変数がどう振る舞うか説明する変数。例えは¥変数によって • は画面より隠れるようにしたり、テーブルエディタを左右にスクロールした際、常に画面 に表示されるよう変数を固定する。 VAR 出I I E:CONTENTSプロシージャより生成されたデータセットの変数、または変数の表示 • 法の指定。テーブルエディタ上で変数が表示される際、スクロールしでも位置が固定され るよう場所を指定する。 v.組閣T :テーブルヱディタで省略されたデータを表示する際に必要なフォーマットを持 . つ 。 このデータセットの変数の情報は色々な通常業務のデータが集められた際、生成されるよう A Sデータセットより変数が になっている。このデータセットの特徴の素晴らしい点として、 S 加えられたり削除されたりした際、自動的に処理されるようなっていることである。これは CONTENTSプロシ ジャの S A Sデ タセットに情報をアウトプットする機能によって行われて いる。色々なタイプの情報がこのプロシージャのアウトプットより得られるが、このデータセ ットに必要なものは、変数名、フォーマットとデータセット内での位置だけである。 メタデータを含む外部ファイル アプリケーションに託された課題の 1つに、データウェアハウス上で選択されたデータの情 報を確認する機能を付けることがあった。これはデ タウェアハウジングの用語でメタデータ と呼ばれるものである。どのようなサブジェクト下にあるデータセットのメタデータも外部フ ァイル ( N o n ‑ S A S )から生成されたものであり、 F S L I S Tプロシージャを使って表示されるように なっている。拡張ファイルは MVS上で区分データセットメンバーとして保存されている。デー タウェアハウス上では各データセットに 1つメンバーが保存されている形になっている。メタ データはデータのソースや、通常業務データのサポート、サブセットする基準、省略する際の I B N A M E アルゴリズム、またデータを解釈する際に便利な追加コメントなどの基本的な情報や、 L ステ トメントに対応している SASデータセット名などが含まれている。 通常業務データが処理されると C O N T E N T Sプロシージャから追加情報を得て、メタデータに A Sシステ 加えられ、その後データとメタデータがデータウェアハウスに移行される。これは S R I N T I Oプロシージャを用いて C O N T E N T Sプロシージャよりアウトプット ムが自動的に行う。 P される結果と外部ファイルを関連づけるのである。そしてこのファイルは先ほど説明した外部 O N T E N T Sプロシージャのアウトプ データセットメンバーの最後に付け加えられるのである。 C ットは、どこでデータセットが生成されたか、変数のリストとその説明、関連するフォーマッ トとインフオ マット、そして関連するすべてのインデックスの情報を含んでいる。 データウェアハウス上のデータはいつでも他のロケーションやディスクボリューム、また別の A Sデータライブラリの位置はパスネームで プラットフォームに移行することができるよう、 S 指定するのではなくマクロ呼び出しで指定する必要があった。 498‑
*マクロ呼び出しのサンプル (以下のような L工BNAMEステートメン卜を用いない) libnarne misc '/local/diskO/misc' server=mishrO, dw access=readonly; {代わりに以下のように示す) libnarne misc もdwda(misc); (dwdataのマクロコードのサンプル} もm acro dwda(db); もunquote(もquote宅 (;'/local/diskO/dw/&db%')) server=misshr02.dwaccess=readonly; 主endd wda; 4 . 画面設計の過程 データ構造作成の計画が終わった後、データの表示画面設計が始まった。この時点で新たに 他の M I Sアプリケ ション作成部門のスタッフがデータウェアハウスプロジェク卜の画面 設計の開発者として加わった。要点が開発者に説明された。 S A S / A Fソフトウェアを利用して データセットの外部テーブルにある説明をフレームに組み込むことである。この説明のリスト を見ることによりメニューの選択が簡単になる。選択が行われたらアプリケーションが、デー タを表示するのか、データの情報を表示するのか、 QUERY機能を利用するのか、確認するよう になっている。画面設計の重要な課題は、アプリケーションのインプリメンテーションが終了 したら、新たなデータセット追加が必要になっても画面変更をしなくてもすむようにすること であった。 最初の画面プロトタイプの作成に 1ヶ月かからなかった。このプロトタイプはトップマネー ジャにプレゼンテーションされた。プレゼンテーションの後、彼はまず必要なデータをすぐ見 たいとコメン卜した。いろんな所でマウスをクリックして選択していくのではなく、まず各デ ータテーブルを表示してから、詳細が必要なデータをクリックできるようして欲しいと要求し たのである。画面設計者はマネージャの要求に合わせるには、新しいデータセットが作成され る度にカスタマイズした画面表示をしなくてはならないと思ってしまった。これではアプリケ ーションのデータ・ドリブン性がまったく無くなってしまう。 S A Sシステムリリ ス6 . 1 1により、画面設計者はマネージャの要求にも答え、最初に作成 したデータ・ドリブンの特徴も活かした、新しい画面を作成することができた。またこの設計 変更はわずか 2週間で終わったのである。 ‑499
5 . どのようにデータウェアハウスに新しいデータを取り込むか データウェアハウスに新しいデ タを取り込む際の典型的な方法として次のようなものが ある。 D WAに新たにデータを加えて欲しいとリクエス卜が来た際、まず DWAはその通常業務デ タの管理プログラマを探し出し、次にそのプロクラマが D W Aにデータへのアクセス法とデ タウェアハウスに取り込みたいデ タのサンプルプログラムを提供する。通常、 D WAが電話で リク工ストを受けてデータの管理プログラマを見つけて、新しいデータが取り込まれるまでに 1~2 時聞かかつてしまうのである。 UNIX を用いてデータ管理を行う利点の 1 つに、アプリ ケーションを利用しているユーザに迷惑をかけることなく新しいデータをデータウエアハウ スに取り込むことができるという点カfある。また新しいデータが加わったからといって、画面 設計者に確認する必要もなし、。 6 . データウェアハウスの画面作成コンポーネン卜 SAS/AFソフトウェアと SAS/EISソフトウェアによりユーザにグラフイカルでイ吏いやすいア プリケ ASシステムリリース 6 . 1 1で提供されている ション機能を提供することができた。 S 新しい機能を利用し、プロジェク卜の目標である、ユーザに適切なフォーマットでデータを表 示し、プログラマが比較的手を加えたりメンテナンスをあまりしなくてもすむデータ・ドリブ ンなアプリケーション開発が可能になった。 画面設計 SAS/AF フレ ム工ントリを利用することによりこのアプリケ ションは上記の目標を短期 間に達成することができた。またソフトウェアが提供しているフレームに S CL(S c r e e nC o n t r o l L a n g u a g e )で新たに作成して付け加えることも無かった。必要なものは最初から提供されてい たのである。 U Iべ スで使いやすいインターフェースを作成し 次に紹介するオブジェク卜を利用して、 G た 。 ・ ・ ・ ・ ・ ‑ イメージアイコンウィジェットにて主な選択画面を作成 拡張テキスト工ントリウィジェットにて主な説明ラベルとプッシュボタンを作成 ツールパーウィジェットにてデ タウェアハウスでデータを表示する際のデータ選択機 能を作成 テーブルエディタウィジェットにてデータウェアハウス内のデータ表示を作成 入力フィールラベルウィジェットにて追加説明ラベルを作成 入力フィールウィジェットにてユ ザの入力フィールドを作成 基本的に 2つの S AS/AF フレーム工ントリがこのアプリケーションをコントロールしてい る 。 1つはメインメニュー画面で S ASインスティチュートの論理データサブジェクトによって ﹁ 円 U 円 U h u
グループ化されたデータウェアハウスデ タが表示される。もっとも重要なフレームエントリ は全てのデータウェアハウスが表示される画面であろう。 初期入力画面 メインメニューはグループ化されたデータの表示や、アプリケーションの様々な情報にア クセスする窓口である。画面サンプルにはイメージアイコン、拡張テキストエントリを利用し た説明ラベルや画面の下のプッシュボタンがある。 テrイスプレイサンプル1. S A Sインスティチュート データウェアハウスメインメニュー U 円 EU よ ‑
データ表示画面 全面的にデータ・ドリブンにするため画面は実行時、 D W Aによって管理されている 2つの SASデータセットの情報によって生成される。この情報によってフレームはどのデータをどの ように表示するか判断し、データの解説も提供する。前に説明した通り、データウェアハウス に新しいデータが加わっても画面表示の開発者は心配する必要がな ¥"0 このデータ・ドリブン の特徴は本論文の後半にて解説する。 . データ表示直面通常のテーブル ディスプレイサンプル 2 ' I n i oI 鴻 点j 窓辺ゑj ディスプレイサンプル 3 .デ タ表示画面サマリーテーブル データ表示画面のフレームには入力ラベルウィジェット、入力ウィジェット、説明ラベルの ための拡張テキストエントリウィジェット、選択ボタンの拡張テキストエントリウィジエツ ‑502‑
卜、ツールパーウィジェットにてテータ選択、またデ タ表示をしているテーブルエディタウ ィジェットなどが含まれている。 テーブルエディタ データウェアハウスプロジェクトの成功にとって重要な点として、ユーザが必要に応じて便 刺にデータ表示をできる機能力f必要だった。テープゾレエテrィタクラスにより開発者はユーザの ニーズにあった形でデータを表示することが可能になった。 オブジェクト才旨向プログラミングとモデルピュ アコントローラ ( m o d eI ‑ vi ewer c o n tr o1 1er: M V C )へ移行し、テープ〕レエテrィタの機能は実行時のデータ表示を可能にし、画面 設計者の悩みの種である画面設計のデータ表示の元データ構成の不安を解消したのである。 D W Aは画面設計者にパラメ タを提供し、それに従って画面が表示されるように設定されるの である。 MVCの解説でよく見られるものに、「通常 MVCとは 1つのモデルに複数のビューアを持たせ、 ユーザのニーズに合わせて表示させるもの」と記述されている。今回のアプリケーションでは 逆のアプローチを取った。使用されるビューアはいつも同じだが、実行時はデータを表示する よう選択した際、デ タにふさわしい表示がされるよう複数のデータモデルが接続されるよう になっている。 データウェアハウスの構築の初期からわかっていたことであるが、データによってはデータ セットで表示されるのと同じ形で表示した方がよいものも有り、またデータによってはビュー ワに表示される前にサマリ する必要があるものもある。サマリ が必要な際は、どのように サマリーしたらよいか説明がテーブルエディタに表示されるようになっている。 しかし方法論は急速に進歩する。新しいデータのサマリ 法( m u l t i d i m e n s i o n a l database:MDDB)が SASインスティチュー卜で開発されている最中である。 MDDBはサマリーさ れたデータでありながら、ドリルダウンする機能ももった柔軟な表示機能を提供する。これは データを各種の方法で確認する機能を高め、 SASシステムツール群でも強力なレパートリーと なってる。 7 . データドリブンデータウェアハウスのプログラミング 効率よいデータウェアハウスのビジュアル設定のため、画面表示は前述のとおり 2つの「イ ンデックスデータセット jでコントロールされている。デ タ表示に使用している S C Lプログ ラムの ENTRYステートメントと SASマクロの変数である。これらのエリアはデータウ工アハウ スの表示設定を変更するために使われる。データ表示をコントロールする S C Lコ 静的でメンテナンスの必要がなく、ユ ドは非常に ザから表示設定の変更の要望がない限り、変更する必 要がない。 phu ︑ ηu n u
データライブラリーの選択 ユーザがメニュー画面より必要なデ タを選択した際、下記のような S C Lラベル部分が稼動 する。 S C L コーテεィング m工SC: call display('indw.dw.viewdata.f工 面ne' 'm工sc'); I 工 eturni 表示エントリの後の C ALLDISPLAY ステートメント内のパラメータは、表示したいデータサ ブジェクトのデータセットのライブラリ参照名を持った E NTRYステートメントとして VIEWDATAフレームに渡される。 データ表示フレームの初期化 下記の S CLコ ドには I N I T部分の全てが含まれている。この部分で S C Lプログラム全体で 使用されるインデックスデータセット変数がオープンされており、このアプリケーションのデ ータ・ドリブン性の特徴である首尾一貫したネーミングルールを実行している。函面設計者は 表示指定されるデータサブジェクトに関する情報をいっさい知らないし、またまったく知る必 要もなし、。なぜなら DWAが管理しているパラメータを利用して全てのデ るようになっているからである。 タは画面に表示され 凋守 口 U RU
S
C
Lサンプル
ent工y dlib $B;
lnlt:
attrlist = ma)
くe
l工st();
/
合 Attr
ュ
butes for table 合/
holdlist = makel工st(
);
/
合
first
= makelist();
/* First columns to "HOLD 合/
All columns to "HOLD" 合/
last
= ma)
くe
list();
/
合
Last columns to "HOLD */
/*一一一一一一一一‑ Open the エndex of data set var
エabユes for ‑一ー 一一*/
Use throughout the program
/合→一一
一一一一一一ー金 i
vdユsd = open(trim(dlib)1
l
' .indexvar','i');
vnuml = varnum{vsェ
d,'varname'}j
明
1
u
r
n
2 = varnum{vsェ
d,'actユonづ;
明
1
u
r
n
3 = varnum(vsid,'varnum')j
vnurn4 = varn山 n(vsid,'varfmt');
‑‑‑ Bu
ェld the Toolbar
/*一一一ー
一一一一一一一*/
lェ
nk settools;
/*‑‑‑‑‑‑‑‑‑ Load the data model used ヒo display data ‑‑‑‑‑‑‑*/
tabcl =
ユ oadclass('SASHELP.FSP.DATA̲M.CLASS');
= setnitemc(attr
ェ
ユ st,'Y','COMFORM̲COLUMNS');
rc
( table','̲SET̲ATTRIBUTES̲',
attrlェ
st);
call notify・
dsnarne = nameユtem(dlュ
st,ユ);
xact
ニ
getユ
ヒ emc(sumlist,
l);
/*一一一一一一一一一 Gユ
ve the descrユptエon of the data seヒ to ‑‑‑‑‑‑‑*/
/*
一一一一一一
the exヒended ヒext enヒry fie1d at the top
合/
cal1 notify('title','̲SET̲TEXT̲,
・ get
ェtemc(dlisヒ
, 1
));
/*
/*
ー一一一一一
"pr工me" ヒhe ユnエ
ヒ ial dispユay of the table
ーー一一一 Display data as 工 s in the data set or
合/
合/
ム
胃
︐r
ト
ー
レ
S
ト
ー
レ
手ム
d
e
s
a
a
*
︐︐︐︐ z
︒
/*‑‑‑‑‑‑‑‑‑ summerize it based on ACTION エn the INDEX ‑一ーー 一日*/
ェf xact = ・ then do;
tabid = instance(tabcユ); /* Create ユnstance of DATA̲M */
calユ noヒ
エ fy(・
tab1e','̲ATTACH̲', dsdemo);
nk checkco1;
lェ
end;
else do;
5
0
5
end; return; リンクしたルーチンを作成し、モジュール化したツールパーを生成するようにした。 S C Lサンプル / 脅 Fill the toolbar w工th availabel data set names. 合/ /* Also set up list contaエning data set names and dェ splay 合/ /* action to occur when the data set is displayed ェ n the */ 合/ /* table editor. settools: ' ェ ,) ;/ 台 Index of data sets dsid = open(dlibll'.index', 合/ call set(dsェ d); /*‑‑‑‑‑‑‑‑‑ Keep track of data sets to switch between ‑ーーーーーー*/ /*ーーーーーー一一一 and actエons to perform each data s et. dlist ‑‑‑‑‑‑‑*/ =makelェst(); sumlist = makelェ st( ); /*一一一一一一一一一 Refer to Figure 1 below for the ‑‑‑‑‑‑‑*/ /台ーーー一一一一一一 populatec 1ェ st of button informatュ on. ‑‑‑‑‑‑‑*/ buttonlist = makelist(); ntoolbar = attrn(dsid, ・ NOBS'); do ユ= 1 to ntoolbar; rc =fetchobs(dsid,エ); rc = setintemc(button, image, 'IMAGE'); rc = setintemn(button, ilabel, 'LABEL'); rc = setnitemn(button, ユ , trエm(left(put(エ , 2)))); 'SPACE'); dsname = upcase(trim(dlib))1 1 " .1 同 upcase(trim(member)); , descript,ユ, dsname); rc = 工n sertc(dlist rc = insertc(sumlist,action, ‑1,dsnarne}i endi /*一一一一一一一一一 Gユve the toolbar the new list and ェ ts 5エze /*ーーーー→司日 Refer to Fエgure 2 below for the populated call send(̲FRAME̲,'̲GET̲WIDGET̲','toolbar', toolェ d ); rc = setniteml(toolid,buttonlェ st, 'BTNLST'); d, ntoolbar, 'NUM・); rc ニ setnitemn(toolェ call notify('toolbar', '̲UPDATE̲'); 5 0 6 ‑‑‑‑‑‑‑*/ ‑‑‑‑‑‑‑*/
rc = close(dsid}; 工 eturni 上記のループする部分が繰り返し実行された後、リストに保管されるツールボタンの情報の E T N I T E M Lステートメントが実行された際、ツールパーの 例が次のプログラムである。これは S E T I T E M Lが実行された後の " d i s p l a yN "の 説明部分に挿入される「リストのリスト Jである。 S ツ J レバーのオブジェクトの内容を確認して欲しい。このデータサブジヱクトに含まれる個々 のツールパーボタンのイメージの名前や、ツールパーボタンに表示される説明ラベル、そして ボタンの聞に置かれるスペースなどの属性情報が含まれている。 S C Lコーデイング:データウェアハウスツールパーボタンの属性 ( B1 =( lMAGE='SHOW' Hi工 es/All' LABEL=・ SPACE=ユ ) 11429 B2 =( lMAGE=, SHOW' LABEL='Hires/Full・ SPACE=ユ ) 1ユ387 B3 =(工 MAGE= SHOW' 目 LABEL= HireslPa工 ttime' 目 SPACE=l ) 11387 B4 =( lMAGE='SHOW' LABEL='Open Positions' SPACE=l ) 11369 B5 =( lMAGEニ 'ACTIVE' LABEL= Vendo工 Expense' 目 SPACE=l ) 11355 } 11403 ツールパーオブジェクトの内容は上記の部分の ̲ U P D A T Eメソッドが実行された後に取得さ れ、下記で表示される。この論文に重要でない点はスペースの関係上割愛した。 1 ボタンリス トJのリストの要素は挿入され、ツールパーのインスタンスのデータの一部となっている。イ G r a y "が U P D A T E ̲メソッドの実行結果として含まれていることに注 ンスタンスの 1つである " 意して欲しい。下記の例ではツールパーが作成されたらどのツールパーボタンも ‑507‑
" G r a y " (灰色)にはならない。 S C Lコーディング:データウェアハウスのためのツールパークラスの属z性 ( NAME='TOOLBAR' LABEL='TOOLBAR' BTLIST=( Bl( 工MAGE=・ SHOW' LABEL='Hires/All' SPACE=l GRAY='N' ) 11429 B2(工 MAGE='SHOW' LABEL='Hires/Full' SPACE=l GRAY='N・ ) 11387 B3( lMAGE='SHOW' LABEL='Hires/Parttime' SPACE=l GRAY='N' ) 11373 B4( 工MAGE='SHOW' LABEL='Open position' SPACE=l GRAY='N' ) 11369 B5( 工MAGE='SHOW' LABEL='Vendor Expenses' SPACE=l GRAY='N' ) 11355 ) 11403 BTNW 工DTH=15 CONFORM='Y' POPULATE̲='L工STOF̲VALUES' LOCATE=・ g TYPE ='N' ‑508一
NUM=5 NROWS=l NCOLS=l 目 DESC='ToolBa工 ) 8801 表形式の表示の作成 テ ブルエディタの生成に聞してはこの論文の趣旨に添って、データを表形式で表示する点 こ解説したい。表形式に関する指示はインデックスデータセットの ACTION変数内の値 を中心 l で画面が作成される。 DWAはデータの表示形式をサマリーされた形にするかどうかの選択を、 全体のトータルを表示するか、それとも全体のトータルとサブト タルを追加した形で表示す るかのいずれかを選ぶことでできる。 A CTION変数の値はこれらの選択を反映する。 DWAがどのようにデータを表示するか決める際、その他の要素もデータセットの変数の表示 によって決定される。画面作成はインデックスデータセットより情報を取り出し、条件に従っ てこれらの変数の値に応じた SCLコードを実行する。 デ タを表形式で表示する場合、スクロールしでも常にカラムに表示された方がよい変数、 また表示されない方がよい変数などがある。これらの変数の振舞いは DWAによってインデック スデータセット内の ACTION変数に記録される。インデックスデータセット内の変数の ACTION フィ ルドの "HOLD"=固定表示の値により画面作成はどの変数がテーブルで固定表示される か判断し、必要なメソッド呼び出しをテーブルに送る。同じように "HIDE"=非表示の値がテ ブルに必要なメソッド呼び出しを送り、変数を表示しないようする。 サマリーされたテーブルを作成したい場合、 A CTION変数内の "CLASS"と"ANALYSIS"が画面作 成に指示を与え、 CLASS変数として扱われる。これらの変数は TABULATEプロシージャのよう にサマリーされる。 追加として、データウェアハウスがデータセットを再生成した場合、 DWA~j 変数をテーブル 上で表示されるのと同じ順番でデータセットを並べ直す。配置はデータセット変数の CONTENTS プロシージャが生成するインデックスデータセットの VARNUM変数による。 表エディタ一内でのカラムの非表示と固定表示 サブルーチンの CHECKCOLがインデックスデ タセット内の変数で特殊な作用を行うものを 探しだし、適切なアクションメソッドをテープ.ルに送って表示か非表示か指示する。このサブ ルーチンは SCLプログラムの二個所から呼び出される。上記のように、 CHECKCOLは条件的に ‑509
行われるテーブルの初期化の際、実行される。あるデータセットがフレーム上のツールパーか ら選択できるように表示するよう、 D W Aカずにインデックスデータセットに変更を加えた場合に もこのコードは実行される。 C H E C K C O Lサブルーチン checkco1: /* Information gathered from the INDEX of 一一一 /* ー */ 一 一 data set var ユab1es(工NDEXVAR). 一一一一一一 */ /*一一一一一ー‑ Spec工 fy co1umns(variab1es) to HOLD when 一一り ーー‑‑‑ disp1aying data set ユn the Tab1e Ed 工t or. 一 /* xnum */ = sum(index(dsname,' .' ) ,1 ); xmember = substr(dsname, xnum); mwhc1sl = "upcase(action)='HOLD'''; 他 er= ' ' ' 11 xmember1 1 ' "勺 mwhc1s2 = " and me rc = where(vsid, mwhc1s1, mwhc1s2); rc = c1ear1工st(ho1d1工st); rc = clear ュ ユ st(first); rc = c1ear1ュ st(last); /*一一一一一一一 Get position number(VARNUM) of var工ab1es 一一一一一一一*/ /脅一一一一一一一 in the data set be工ng d工sp1ayed that are ‑‑‑‑ーーー*/ /*一一一一一一一 f1agged as ones to HOLD. ーーーー 脅/ do whュ 1e (fetch(vdsid) ^= ‑1); 白n e = getvarc(vds工d, vn 山 n l ); xvarn xvnum = getvarn(vdsid, vnum3;); rc = insertn(ho1d1ist, xvn 山 n ,ユ); end; /*一一一一ーーーー‑ Pos工tion numbers of variab1es become /* ーーー一一一 ー一一一一一一*/ coordinates of the co1umns to ho1d 工n the ‑‑‑‑‑‑ー合/ /台一一一一一一一 ー Tab1e Editor when scro11工ng right and 1eft. ‑‑‑ー一一一脅/ if 1工st1en(ho1d1ist) > 0 then do; rc = sort1ist(ho1d1ist,' A ',l,‑l); /*ーーー一一一一 Get f斗 rst co1umn to HOLD,others maybe ‑ーー */ rc = insertn(first, popn,(ho1d1ist),‑1); ュ ユst) > 0 then 工f l istlen(ho1d / 台 More than one */ rc =ユ nsertn(first, popn,(ho1dlist,‑1),‑1); if 1ist1en(first) > 0 and 1ist1en(last) > 0 ca11 not工 fy('tab1e','̲SET̲HELD̲COLUMNS̲', f工rst, 1ast); e1se ca11 notify('table','̲SET̲HELD̲COLUMNS̲', first); end; U 円 EA 唱 にU
‑‑‑‑ Now specェ fy colurnn(var工ables)to HIDE. 一一一一一一一*/ / 台 mwhclsl = upcase(action)='HIDE'": 出 e工= '" I lxmembe工 11 '"勺 mwhcls2 = " and me 工 = whe工 e(vsid,mwhclsl,mwhcls2); c mwhcls2); do while (fetch(vdsid, mwhclsl, d, vnuml); xva工name = getva工 c(vdsュ call notify('table','̲HIDE̲COLUMNS xva工name); ← 工 etu工 n; ツー jレバーよりデータセットを選ぶ 最後の S C Lコード抜粋にはツールパーよりデータセットを選択するラベル付き部分が含ま れている。ユーザが新しくデータセットを表示用に選択した際、この部分が新しいデータセッ トと、それに伴う " a c t i o nr e q u e s t s "のような他の情報といっしょにテーブルエディタに送っ て表示するよう実行する。 SCLコード抜粋 toolba工 call notエfy('toolba工 ' , '̲GET̲LAST̲SEL̲', ndx, selected); /安一一一一ー一一一一 工 f ndx > /合一日 Data set selected f工om toolba工 Data set selected f工om toolba工 一 一 一 一 */ 0 then do; 一一一 台/ delete its instance befo工e a new instance 一一一 / 合 ー一一 /* 一一一 ー ー of another data model is c工eated ユf xact ^= 一台/ ‑ 一一一一ー合/ 'then do; end; f xact ニ, else ュ , then d o; call notェfy( 'table','̲DETACH̲'): calユ send(tabib,'̲TERM̲'); end; st .ndx); dsname = nameitem(dlュ xact = getェtemc(sumlist, ndx): getitemc(dlist . ndx)); call notify('title','̲SET̲TEXT̲', /*一一一一 一 P工epare for dェ splay of next data set ‑‑‑一一 台/ Fhu
if xact = 'then do; tabid =ユnstance(tabcユ}; /*New ユnstance of DATA̲M 合/ call notify(・ tabユe ','̲ATTACH̲',tabid}; d, '̲SET̲DATASET̲ , ・ dsname); call send(tabュ link checkcol; end; else do; end; end; returnj データ・ドリブンにしたためこのデータウェアハウスアプリケーションの柔軟性と操作性は 大いに向上した。新しいデータセットが加わっても画面設計者に確認を取る必要がない。実 際、このプロジェクトが終了しこの論文作成が始まってから相当の時聞が経過しているのに、 画面設計者は(訳者追加:画面設計を変更することが無く)この数ヶ月の聞に色々なデータ変 更が行われているのに大変驚いている。この期間にユーザのニーズはどんどん変化し、新たに データセットが加えられ、削除され、結合されたりしている。これこそがこのプロジェクトの 目的であるシステムの簡易性と「データ・ドリブン」が成功した証拠であり、現在も成功して いる証拠である! 8 . SAS ! W arehouseAdministrator プロダクト SASシステムはすでに強力なデータアクセス機能、解析、プレゼンテーション機能を持って おり、 SASユーザにとってデータウェアハウスを槍築するのには十分適したツールであった。 現在開発中の SAS /WarehouseAdministrator プロタクトは、データウェアハウジングに必要 な SASプロダクトファミリーの機能を 1つの調和したインターフェースとし、なおかつ現在の SASシステムプロダクトでは提供されていない機能を付加している。 SAS /WarehouseAdministrator プロダクトで提供される特徴は 3つの大きなカテゴリーに 分けられる。 臥J iI d :ピルド データウェアハウスを構築・メンテナンスを行うために必要なすべての機能を網羅。ビルド とはデータウェアハウスを構築する手始めのフェーズから、次々に必要になるシステムの修正 と拡張を示す。メタデータの作成/変更も行う。 ム 唱E にリ qru
Uanage :マネージ 日常のオペレーションに必要なデータウェアハウス管理の機能。この機能力、らジョブスケジ ューラなどを用いメタデータを変更することも可能。 k澗 ss:アクセス エンドユーザがデータウェアハウスにアクセスするための機能。この機能ではメタデータの 変更は不可能。 DWAは SAS! WarehouseAdmi ni s tr a t o r プロダクトのビルドとマネ ジの機能を主に使い、と きに応じてアクセスの機能も用いる。 DSSアナリストとビジネスユーザは個人用のデータウェ アハウスを作成する際ビルドとマネージを使用するかもしれないが、 DWAによって構築された データウェアハウスへのアクセスのためにアクセス機能を用いるのが主になるだろう。 データウェアハウスでのデータエントリとデータエンティティー聞のフローの定義を容易 にするため、ビルドには次のようなインターフェースが用意されている。 ・ ・ ・ ・ ・ ‑ データウェアハウス内のサブジェクトの定義 異なるデータコレクションの定義、例え(;:f詳細デー夕、サマリ一、データマ ト 色々なデータ抽出の定義 通常業務データからデータウェアハウスデータ変換を行う定義 色々なデータサマリーの定義 データウェアハウス内でターゲットファイルを生成 ウェアハウスカf定義されるごとに、ウェアハウスエンティティとリレーションを記述するメ タデータが SAS! WarehouseAdministratorによって生成されメンテナンスされる。 データウェアハウス環境とは単なるプロセス指向のアプリケーションではなく、ビジネスエ W arehouseAdministratorに ンタープライズの重要なサブジェクトから構成されている。 SAS! よってサブジェクト別のウェアハウスデータ定義は柔軟に行える。それぞれのサブジェクト は多種多様なデータコレクションをサポートし、 SASデータセットや Oracleのデータベース テーブルも可能だ。データは細かいレベルに収集され、いくつかのグループにサマリーされ る。これらのサマリーグループは時間男J Iのサマリーレベル、例えば週、月、年などのレベルに 分けられる。また部署別、ユーザ男J Iにデータ表示が利用できるようカスタマイズした データマートを加えることもできる。これらのデータマートはどのような保管形式でも保存で きるが、マルチテ M D D B )として保存すれば データ分析などに利 ィメンショナルデータベース ( 用するのに大変有効なものとなる。 SAS! WarehouseAdministratorは次のフオ マットで通常業務デ トする。 • SASテεー タ セ ッ ト ま た は ビ ュ ー • SASjACCESSエンジンを介した DBMS タへのアクセスをサポー にU ' 1ム q a
‑ 外部ファイル、フラットファイル、 または VSAM 通常業務データソースは SAS/CONNECTソフトウェア、 SAS/SHAREソフトウェア、 ODBC、6 ." のファイルネームエンジン ( F T P、S O C K E T )などを用いてネットワーク上に配布することが可能 だ 。 DWAは前回のデータ移行からデータの変更点だけ抽出するか、または全てのデータをコピ ーするか指定できる。またデータ移行のフェーズでデータクリーニングなどを行うサブセット 基準なども設定できる。ユーザが作成した抽出プログラムもサポートされる。 通常業務データから抽出するソースと抽出方法を定義した後は、 DWAがデータウェアハウス を常に業務に適応させてためにも様々な変換方法が必要となるだろう。数式ピルダーや確認テ ーブルピルダ一、範囲テーブルチェッカーなどが DWAの通常業務ソースからデータウエアハウ スにデータを移行する際に大いに役立つだろう。例えは'ポンドで処理されているデータをキロ グラムに、 Mと Fとだけのデータを " M A L E " (男性) " F E M A L E " (女性)に、などの変換作業が簡単に 行えるようになるのである。抽出に関して SAS l W arehouseAdministrator ユーザは自分で変 換プログラムを作成し、プロダクト上に萱録することもできるのだ。 データサマリーコンポーネントは詳細データを、日ごと、隔週ごと、月、四半期、年などの レベルにサマリーし、経過レポートの作成や長期間に渡る動向の分析なども行える。暦通りで はなくユーザサイトのビジネスとって重要な会計年度に合わせてレベルを設定することもで きる。緊密に統合化されたメタデータやデータサマリーコンポーネントによってユーザはポイ ント&クリックで、データに必要なレベルのサマリーを保管するか、どの統計をメンテナンス するか選択できるのである。時間ベースではないサマリ一作成もサポートされている。従来の サマリ一作成では、サマリーを行う際に全てのデータが必要である。この問題を乗り越えるた め、データサマリーコンポーネントではインクリメンタルサマリーをサポートしている。これ によりユーザは定期的にデータウェアハウスに口 利用することができる。 PopuI ati o n( デ ドされるデータの様々なサマリー結果を タ移植)はデータウェアハウステーブルへの物理的デ ータローディングのことである(詳細デー夕、データマート、アーカイブなど)0 SAS l W ar e h o u s e Administratorはデータウェアハウステーブルの総置換え・追加もサポートする。ピルド機能 は会社全体レベルのデータウェアハウスも作成できるし、個人のデータウェアハウスの作成も できる。これらのデータウエアハウスは 1つのプラットフォームで集中させることもできる し、ネットワーク環境で分散させることもできる。 データウェアハウスの稼動テストや実稼動を行う際には、マネージ機能を利用すれば DWAは データウェアハウスの通常業務を容易に行える。特に DWAにとって有効なインターフェースと して、下記がある。 ・ ・ ‑ メタデータ定義からコードを生成する ジョブのようなコードのスケジューリング • SAS口ク、 SASアウトプットを表示するジョブログビ ューア 例外的なデータ処理や、例外プロセスのハンドリング機能 514
通常業務ソースよりデータを口 ドする際、以前定義されたメタデ タから SASコードを 変換するコードジェネレータが呼び出される。そしてコードはジョブスケジューラを介してス ケジューリングされジョブとして実行される。 ジョブスケジューラとは独立した機能で SAS ! WarehouseAdmi ni s tr a t o rのツ ルである。ユ ーザが使用しているプラットフォームに固有なスケジ、ューリング機能に合わせてジョブのサ ブミットやスケジューリングが可能になる。ユーザは自分が使用している CRONや SAS提供の スケジューラなどを刺用できる。いろいろなスケジューリング機能がサポートされており、例 えば第三火曜日にジョブを実行、平日のみ実行、などの設定ができる。ジョブログビューアが 提供され、ジョブスケジューラによってスケジューリングされたジョブ、実行されたジョブの ログが確認できる。それぞれのジョブに関係している情報、例え!i'返却されたコードなどが表 示される。ユーザは希望のジョブログや実行結果を参照できるのである。 データウェアハウスを構築したらビジネスユーザに簡便にアクセスして引用してほしいも のである。ビジネスユーザが簡単にデータウェアハウス内の情報やデータの内容を把握できる よう、 SAS ! WarehouseAdministratorではメタデータフラウザを提供している。これによりユ ーザはデータウェアハウス内を簡単に探索でき、興味深いデータにアクセスできるようにな る。ビジネスユーザが有益なデータを見つけたらもっとそのデータについて情報を探そうと し、データを分析をしたいと思うだろう。提供される SASマクロによってエンドユーザは自分 が使用しているプログラムやアプリケーションから簡単に必要とするウェアハウスデータに アクセスできるのである。 企士三各 都口日間 1995年の 8月の稼動開始した SASインスティチュートのデータウェアハウスには横々なサ ブジェクトが加えられたが、まだ一度も大きなアプリケーション設計変更などは必要となって いない。このデータウェアハウスの設計の大きな特徴として SASシステムリリース 6 . 1 1が稼 動する限り、どのプラットフォ ムへもポートができるのである。本論文の作成中に、このデ ータウェアハウスをパーソナルコンビュ タに移行する計画が立てられていた。このパージョ ンは S U G I 2 1のカンファレンスまでに準備できるはずである。 SASインスティチュートにてこのデ タウェアハウスが開発されてから、 SASシステムその ものにも様々な機能追加や強化が絶え間なく行われ、データウェアハウスアプリケーション開 発のツールとしてさらに強力なものなってきている。新しい機能の 1 つとしては SAS ! Warehouse Administratorであり、 SASインスティチュート内での強力なデータウェアハ ! W arehouseAdministratorはカスタマーにと ウスアプリケーションツールとなっている。 SAS ってもデータウェアハウス構築にかかる時間と作業を大いに削減するし、ビジネスにおいて競 争力ある武器となるだろう。ウェアハウスフレームワークに企業全体の情報を保管することに より、基幹業務処理データから有益な情報となり、組織をより顧客サイドに立ったレスポンス のよい組織に変えることができるのである。 戸 FhU h u 1ム
参考文献 W.H.lmmon ( 1 9 9 5 ), W h a ti s aD a t a Warehouse? ヘ Prism Solution, 1( 1 ) , 1‑15 SAS/APS o ft w ar e : F R A M ECI a s s Di c ti o n ar y,Versi on 6 Fi r s t SAS I n s ti t u t eI n c .( 1 9 9 5 ), 宅 Edition,Cary,NC:SAS I n s t i t u t eI n c . SASSAS Institute I n c .( 1 9 9 5 ), SAS/APSoftware:FRAMEA p p li c a t i o nDevelopment Concepts, Version 6,F i r s t Edition,Cary,NC:SAS I n s t i t u t eI n c . SASScreenC o n t r o lL a n g u a g e : Reference,Version 6,Second SAS I n s t i t u t eI n c .( 1 9 9 4 ), Edition Cary, NC:SAS I n s t i t u t eI n c 弔 謝辞. jimGoodnight、 EmiI yWaII ace、 Richard Roach、 G a iIK r a m e r と彼らの貴重な協力に感 謝したい。 Harriet janes,SAS I n s t i t u t eI n c .,1 0 0 SASCampusD r ., Cary,NC 27513 919‑677‑8000,ext.7104, 弔 e ‑ m a i l [email protected] n s t i t u t eI n c .,1 0 0 SASCampusD r ., Shirley Dixon,SAS I Cary,NC 27513,919‑677‑8000,ext.7104, e ‑ m a i l [email protected] Terry Lewis, AS I n s t i t u t eI n c .,1 0 0 SASCampus D r ., Cary,NC 27513,919‑677‑8000,ext.7104 宅 e ‑ m a i l [email protected] phu nhU 4ai
日本 S A Sユーザー会 (SUG I‑J) SASプログラミングのいろいろ 鈴木一彦 テクニカルサポートセクション 株式会社 SASインスティチュートジャパン AvarietyofSASprogrammingtechniques KazuhikoS u z u k i T e c h n i c a lS u p p o r tS e c t i o n, SASI n s t i t u t eJapan,L t d . 要旨 本論文では、 SASシステムの中で特にデータ加工に多く利用されている DATAステップを用いた基礎的なプログ ラミシグ例について紹介する。 キーワード. SASPROGRAMMINGTECHNIQUES 1 はじめに 以下rc.DATAステップの記述例を示す。 最近 SASイシスティチュートジャパシのテクニカノレ DATA CLASS; サポートには、 SASjAFソフトウェア、 SASjEISソフ INPUT CODE NAME $ SALARY; トウェアを使用した、オブジェクト指向プログラミング CARDS; に関する質問が増加したのと同時に、大容量データから 1 山田 250000 必要となるデータ抽出を行う上で有効な DATAステッ 2 鈴木 230000 プに関する質問も増加してきた。とのととから、 SAS 4 佐藤 220000 システムも情報系システムの再構築のツーんとして利用 されているととがわかる。 との DATAステップの実行により、 SASプログラム 本論文では、データ加工処理で多く利用されている 内に記述したデータや、外部ファイノレまたは、 SASデー SASシステムの DATAステップに関しての基礎的なプ タセァトに格納されているデータの読み込みが行われ、 ログラミング例について紹介する。 新しいデータセットを作成する ζ とができる。 2 DATAステップとは 2 . 1 DATAステップとコンパイル DATAステップは、 BaseSASソフトウェアが提供 する機能で、主に SASデータセットを作成するために 用いられ、 SAS言語が提供するステートメントや関数 DATAステップは、インタプリタ形式の言語ではな しそれぞれの実行環境に合ったマシシ言語を SASシ ステムのコードゼネレータがメモリー上に生成し実行さ を使って記述する ζ とができる。 れる、コンパイル・アンド・ゴー形式の言語である。 ﹁ 同 ー ワU
従って、インタプ Pタなどに見られる同ーのロジックが 100000 <==オプザベーショシ数 処理件数分繰り返されたととによる処理速度の低下はな く、常にコードが最適化され実行されている。また、コ ATAステップによる処理例と SQLプロシジ 上記の D ンパイんした際に生成される中間コードを保存するとと ャによる処理例の実行時間、処理時間を比較した場合、 も可能であり、実行する時にその中間コードを用いると とで、コンパイルレスで実行するとともできる。 時聞に大差があるととがわかる。との理由は、 SQLプ ロシジャの COUNTステートメントは、全オプサ・ぺー ショシをカウシトした後にマクロ変数 C NT2Kセット 3 DATAステップの使用例 DATAステップは、コシパイノレ しているのに対して、 実際に D ATAステップを用いたプログラム例を記述 し説明する。 ETステートメントの NOBS=オプション 時において S に指定された変数にオプザペーション数が自動的にセッ トされるため、実際にカウントするととなくオプザペー 3 . 1 データセットのオブザベーション数を得 ション数を得るととができるため、処理時聞に大差が出 たと言える。 る プログラミングにおいて S A Sデータセットのオプザ ベーション数を得たい場合がよくあるが、その様な場合 KDATAステップの SETステートメントの NOBS=オ プショシを用いると便利である。 以下に、オプサ・ベーション数 1 0万の S A Sデータセッ トを D ATAステップを用いて処理した易合と、 SQLプ ロシジャを用いて処理した場合の例を記述する。 3 . 2 SASデータセットの存在のチェック プログラミシグにおいて、 SASデータセットの存在 の確認を行いたい易合がある。 その様な場合に有効な D ATAステップとマクロ言語を 用いたプログラムを紹介する。 とのプログラムのボイシトは、 S A Sシステムが提供 するライプラリ参照、名 S ASHELP中に存在するピュー 名 VMEMBERを利用しているととである。 • DATAステップによる処理例 ピュー名 VMEMBERを読み込むととで、実行環境に A Sデータセット名をライプラリ参照 存在する全ての S options nodsnferr; data ̲null̲; 名、メンバー名、タイプに別け情報を得るととができる。 call syrnput('cnt', left(put(cnt, 8.))); との情報を活用し、データセットの存在の有無を判定す stop; るととが可能となる。 set a nobs=cnt; ス globa ユ exist; run; NOTE: DATA staternentで以下のシステム ' l . r n a c r o existchk(lib=WORK, data=); 司ム D e ︐ . c a e r o n s e + L V 0 司ム n‑ 0 O・ n︐ 叫 s n n‑ 4 0 ・ 0.07 秒 D a 0.11 秒 CPU 時間 +hv+ν 実行時間 ・ 1a ス do; リソースを使用しました: retain exist "0"; set SASHELP.VMEMBER(冒 here= ' l . put &cnt ; 100000 <==オプザペーショシ数 options dsnferr; ( r n e r n t y p e = ' D A T A ' and libn叩 e="&lib")) end=end; if r n e r n n a r n e = " & d a t a " then exist="1"; • SQLプロシジャによる処理例 if end then ・﹃ R 事 ν + ︑ l‑r E 内 ︐h + L V o n c l n ν + a u ︐ ︑ r︐ t 叩 m ム o u no C 1 q t sc ︽︾ cl r s D call syrnput("exist", exist); run; f r o r na ; options notes replace; quit; ' l .if &exist=1 ' l .then 父do; /ホ存在する易合の処理事/ 日 put NOTE: ' l .upcase(&lib..&data) が存在します。; ' l .end; ' l .else χdo; NOTE: PROCEDURE SQLで以下のシステム リソースを使用しました: 2.10 秒 2.09 秒 CPU 時間 実行時間 ' l . put &cnt2; 518
1 *存在しない場合の処理 * 1 %put WARNING: %upcase(&lib..&data) data trans; input code $ n出 n e$ ; cards; はありません。; , I うend; 003 YAMADA 日end; %mend existchk; 001 SUZUKI 004 SASAKI ‑マクロ指定例 ‑マッチング処理を行う SASデータセットのキ一変 % 巴xistchk( lib=SASUSER, data=CLASS); 数を昇順にソートする。 proc sort data=master; by code; 3 . 3 文字型変数を数値型変数に変換する run; 既に存在する SASデータセット中の文字型変数を数 proc sort data=trans; 値型変数に変換するには、 DATAステップを用いて IN‑ by code; PUT関数により変数の型変換を行うととができる。 n江 1; 以下にフ.ログラム伊jを記述する。 ‑マッチシグ処理を行う。 data a ; data ̲null̲; test='123'; merge master(IN=M) tr日 s(IN=T); run; by code; data a ; i fMむl d T then set a ; put 'マッチしたキ‑ , CODE=; test2=INPUT(test, 3.); i f not M and T then put 'MASTERK存在しないキー, code=; drop test; run; ren出 n e test2=test; ‑実行結果 run; マッチしたキー CODE=OOl 文字型変数 TESTを INPUT関数により数値型に変 換し、一時的に変数 TEST2にセットし、終了時に DROP マッチしたキー CODE=003 ステートメシトおよび RENAMEステートメシトを用 MASTERK存在しないキー CODE=004 いて変数名を入れ換える。 3 . 5 SASデータセットを CSV形式のデータ 3. 4 SASデータセットのマッチング 一般的なマッチ/マージ処理を DATAステップで行 に変換する CSV形式のデータとは、各データ値の聞がカンマ(,) うととができる。との場合、 MERGEステートメント 記号で区切られているデータを示す。とのデータをマイ を使用し、キ一変数は、 BYステートメントで指定する。 クロソフト社の EXCELソフトウェア等は、変換しシー 以下に、二つの SASデータセットのマッチング処理 を記述する。 のプログラム伊l トに読み込むととが可能である。 一般に PC環境では、 DDE、 OLE、 ODBCを利用 し異なったプロダクト聞のデータ交換を行なうのが普通 ‑マッチング処理を行う各々のテストデータを作成 する。 であるが、データが異なったプラットフォーム上に存在 する場合には、そのデータを受け渡す際に CSV形式の data master; データを作成し、他プラットフ才一ムに転送し利用する e$ ; input code $ n出 n ととが有効な方法のーっと言える。 cards; とのデータを作成するには、 DATAステップにて 001 SUZUKI PUTステートメントを利用し、外部ファイノレに出力す 002 TANAKA る方法が考えられる。 003 YAMADA 以下に簡単なプログラム例を記述する。 ‑519
3 . 7 ユーザー定義のグローパル属性のマクロ ‑テストデータを作成する。 変数を全部リセッ卜する data test; input char1 $ num1 char2 $ num2; cards; マクロ言語を用いてプログラミシグしている時に自 分自身で定義した全てのグローパノレ属性のマクロ変数を リセットしたい場合がある。 ABC 123 DEF 456 ) 11)ース 6 . 1 1以降から、ピュー名 VMACROを読み • CSV形式のデータとして外部ファイノレに出力する。 込むととにより、全てのマクロ変数の状態を知るととが filen四 e out '/users/test/test.csv'; できる様になった。とれを利用し、 DATAステップで 各マクロ変数を Pセットするための %LETステートメ ントを生成し、 EXECUTE関数にて動的に実行するプ ログラム例を以下に記述する。 data ̲null̲; set test; file out; put char1 ' , ' num1', ' char2 ' , ' ‑テスト用のグローパルマクロ変数を定義する。 %let test1=aaaaa; num2; %let test2=bbbbb; %let test3=ccccc; run; %let test4=ddddd; ‑外部ファイノレに出力されたデータの内容 %let test5=eeeee; ABC , 123 , DEF , 456 ‑ピュー名 VMACROを読み込み、 %LETステー トメントを生成し、実行する。 3 . 6 CSV形式のデータを SASデータセット data ̲null̲; に変換する set SASHELP.VMACRO ( 官here=(scope='GLOBAL')); CSV形式のデータを読み込み SASデータセットに変 STMT='%LET ' 1Itrim(name)11'=;'; CALL EXECUTE(STMT); 換するには、 DATAステップの INFILEステートメン トを用いて行うのが一番良い方法と言える。 run; 以下に簡単な CSV形式のデータを読み込むプログラ ム例を記述する。 ‑ユーザー定義グローパJレマクロ変数の値を SASロ グに出力する。 ‑読み込む CSV形式のデータ内容 %PUT̲GLOBAL̲の指定は、1)1)ース 6 . 1 1か ABC , 123, ,456 らサポートされた機能であり、との指定により、 ユーザーが定義した各グローパル属性のマクロ変 • CSV形式のデータを読み込む。 数の{直を SASログに出力するととが可能である。 filename in '/users/test/test2.csv'; data test; INFILE IN DLM=', ' DSD MISSOVER; %put ̲GLOBAL̲; 3 . 8 GPLOTプロシジャで の横軸の値をデー タの出現1慎序で表示する input char1 $ num1 num2 num3; run; GPLOTプロシジャて・は、横車d lの値は標準て・昇1 1 闘と proc print; して並び換えられ表示される。そとで、入力する SAS データセットの変数の値の出現1 1 闘に表示するには、 AXIS run; • SASデータセットの内容 OBS CHAR1 NUM1 1 ABC 123 NUM2 NUM3 456 ステートメントの ORDER=オプションとマクロ変数を 組み合わせて使用すると便利である。 以下 KDATAステップを用いて、 AXISステートメ ントの ORDER=オプションに指定する値を生成する プログラム例を記述する。 520
data a ; input ユ ot $ y ; 日 ユ etds = %upcase (&ds); cards; %let out= 父upcase (&out); 112 12 105 15 1 * 131 16 * 940512 Richard A . DeVenezia 100 27 * 1 fiユename osfi1e '/tmp/̲REORD̲・SAS'; data ̲nuユ ユ ー ; 1ength order $200; 実行環境 K合わせ変更が必要である。 retain order ' ' ; set a end=eof; %if %index (&ds,.) %then %do; by 10t notsorted; %let 1ib=%scan(&ds, 1, . ) ; if 1ast.1ot then 日1et mem=%scan(&ds,2,.); order=trim(order)[[", , [[ %end; trim(put(lot, 4.))[["" ; スe1se %do; %let lib=WORK; if eof then ca1 ユ symput('order', order); %let mem=&ds; %end; run; 日if (&out = ) %then ス 1et out=&ds; proc gp10t data=a; proc sq1; p10t y*lot/haxis=axis1; axis1 order = &order ; create tab1e ̲reord̲ as run; where 1ibname="&lib・ quit; and memname="&mem" se1ect * from DICTIONARY.COLUMNS 6 Aua 企 AA 叩A n u J‑m en DATAステッフ.を用いて SASデータセット中のデー D r y a r o tv m ey m‑b ‑dr m 白 3 . 9 変数名の並び換えを行う quit; タを加工処理した際 K、各変数の並びに規則性が念く data ̲nu ユ1̲; PRINTプロシジャ等で出力した時念どレイアウトとし A S て問題がある場合がある。との様念場合、既存の S データセットを D ATAステップで再読み込みし、 LENGTH ステートメントあるいは、 A TTRIBステーメントを用 set reord̲ end=end; file osfile; if ̲n̲ = 1 then do; いて変数の並び換えの処理を行う必要がある。との処理 put "DATA &out;"; を一部自動化するととにより、容易に変数の並び換えを put" ATTRIB"; 行恋うととができる。 end; 以下 K、指定した S ASデータセット K含まれる全変 数名の A TTRIBステートメントを生成するマクロプロ put It DATA ステップと同様にデータ加工を行う上で有効念 S QLプ QLプロシジャの処理とし ロシジャを利用している。 S て、対象と在る S A Sデータセットの変数情報を D I C T I O ‑ NARY.COLUMNSより入手し、その情報を基 K各 変 TTRIBステートメントを生成している。 数 K対する A 尚、との R EORDERマクロは、米国の SUGII'Cて提 1 1 n担 n e $8. +1 "length=" 唖 ; グラムを記述する。とのマクロプログラム中では、 ・ 企 ・ 4EE D 供出噂痢山W 4EE 企 ++ "命令 四" HUU ntt 企 =D e D ne yes 4ム thl te ・ 1 put ユength 3 . +1 唖 ; 供されたサンフ.ルプログラムである。 if 作成者 RichardA .DeVenezia format 肉 ̲ " then put format= ; +1 唖 if informat ‑= "" then 日macro reorder (ds,out=); ; put informat= +1 也 Fhd ' Eょ 白 っ
5 参考文献 has̲q1 = index (label, " , , , ) ; • SASランゲージリファレンス V e r s i o n6F i r s t has̲q2 = index (label, ' ' ' ' ) ; E d i t i o n i f label ‑ =" " then • SAST e c h n i c a lNews if has̲q2 then • SASS o f t w a r eChangesandEnhancementsRe‑ ( ー1 ) ・・ ' "也 ; put "label='" label + . 1 1 l e a s e6 else put 'label='" label + ( ー1 ) ''''也; put; if end then do; put";"; put" SET &DS;"; put "RUN;"; end; rnn; proc sql; drop table ̲reord̲; quit; 伽 " p g r n ; clear; inc osfile"; % r n e n d ; . ‑<?クロ名 REORDERの指定例 %REORDER(SASUSER.CLASS, OUT=TEST); ‑生成されたプログラム DATA TEST; ATTRIB NAME e " length=$ 8 label="First nむ n SEX length=$ 1 label="Gender" AGE " length= 8 label="Age in yeむ s HEIGHT length= 8 label="Height in inches" WEIGHT length= 8 label="Weight inpounds" SET SASUSER.CLASS; RUN; 4 おわりに SASシステムの DATAステップは、 SASデータセッ トの作成を行うための言語であると同時に、 PROCス テップで処理する前に、処理しやすいデータに加工する ための言語でもある。既にオフ・ジェクト指向プログラミ ングが幅を効かす時代でも、情報系システムの基本は、 如何に大容量なデータから有益なデータを抽出し、活用 できるかにある。 DATAステップの様に柔軟にデータ のノ、ンドリングが行える機能を提供しているととは、 SAS システムの特徴とも言える。 一522‑
日本 S A Sユーザー会 (SUG I‑J) Windows版および 08/2版 8A8システムの DDE機能の紹介 0細 川 忍 技術部テクニカルサポート ASインスティチュートジャパン 株式会社 S I n t r o d u c t i o no fDDEf u n c t i o no f8A88ystemf o rWindowsand08/2 S h i n o b uH o s o k a w a e c h n i c a lD e p a r t m e n t T e c h n i c a lS u p p o r tS e c t i o n,T SASI n s t i t u t eJ a p a nL t d . 要旨 Windows版 SASシステムおよび O S / 2版 SASシステムと他の DDEサーバ対応アプリケーション聞 における DDE機能を使用したデータ交換の方法をプログラム例などを交えて具体的に紹介する。また その他に、 O S / 2の Windowsエミュレーション機能である W I N ‑ O S / 2環 境 で DDEを使用するための 設定方法、そして DDE機能使用時における各種疑問に対する回答例なども紹介する。 キーワード DDE,Windows,O S / 2,E x c e l , A c c e s s,Word,L o t u s,Q u a t t r oP r o,F o x p r o,P a r a d o x 1 .はじめに SASシステムは実に多くのプラットフォームに対応しているが、その中で W i n d o w s版および O S / 2版 SASシステムの特徴としてあげられる機能のひとつとして DDEがある。本論文では SASシステムと他の DDE対応アプリケーション聞における DDE機能の使用方法について解説を含め紹介する。 ASシステムリリース 6.08から対応されている機能なので、既にこの機能を使用し なお、 DDE機能は S たユーザアプリケーションを構築されているユーザも多々おられるが、本論文は特にまだこの DDE機能を お使いになられていないユーザの方々への紹介という趣旨で記述作成した。 また、 DDEに関してこれまでテクニカルサポートへお問い合わせがあった内容も網羅したので、参考に なれば幸いである。 2.DDEとは DDE(DynamicD a t aE x c h a n g e )は そ の 名 の 通 り 、 動 的 に デ ー タ を 交 換 す る 機 能 で あ る 。 こ の 機 indowsア プ リ ケ ー シ ョ ン 問 で あ れ ば デ ー タ を 直 接 的 に や り と り す る こ と が で 能をサポートした W きる。 DDEはクライアント/サーバ方式によるプロセス開通信であり、クライアント機能またはサ 門 ペU RU つG
ーパ機能のどちらか一方のサポート、または両機能のサポートなど、アプリケーションによって サポート形態が異なる。 Windows版 SASシ ス テ ム 自 体 は 現 在 ク ラ イ ア ン ト 機 能 の み が サ ポ ー ト さ れているので、 SAS シ ス テ ム か ら 他 の サ ー バ ア プ リ ケ ー シ ョ ン へ の ア ク セ ス は で き る が 、 他 の ク ラ イ ア ン ト ア プ リ ケ ー シ ョ ン か ら SASシステムへのアクセスはできない。 3 .DDE使用時の各ステートメントの構文 DDEクライアントが、サーバにデータを要求する場合、データのタイプを識別するために次の 3つの文 字列を使用する。 1 ) アプリケーション名 • DDEサーバとなるアプリケーション名。それぞれ固有の名前がつけられている。 2 ) トピック名 .2 つのアプリケーション聞の DDE の項目を指す。ファイルを対象として操作を行うほとんどのア プリケーションでは、ファイル名がトピックになる。アプリケーション自身について情報を得るため の特別なトピック名に、 System がある。 3 ) アイテム名 ・データ交換の対象となる範囲。 これらを総称して DDE トリプレットと呼ぶ c 構文は次の通りである。 'アプリケーション名│トピック名!アイテム名' SASシ ス テ ム で DDEを使用するには、 FILENAMEス テ ー ト メ ン ト を 次 の よ う な 形 式 で 定 義 す る 必要がある。 FILENAME ぐプアイノル参府多 >DDE <'DDEトリプレット'または、 CLIPBOARD'>[<DDEオプション>]二 SASシステムでは DDE トリプレットの代わりに特殊ファイル名 CL lPBOARDを使用することもできる。 これは、 DDEサーバアプリケーションの DDE トリプレットとなる部分をクリップボードにコピーしてお けば、あとは自動的に DDE トリプレットを認識するため、明示的に DDE トリプレットを記述する必要が なく大変便利である。 FILENAMEステートメントを指定したあと、 SASシ ス テ ム か ら 他 ア プ リ ケ ー シ ョ ン へ デ ー タ の 書 き 出 し ま た は コ マ ン ド 発 行 を 行 う 場 合 は FILEス テ ー ト メ ン ト お よ び PUTス テ ー ト メ ン ト を 使 用し、また、他アプリケーションから SASシ ス テ ム に デ ー タ の 読 み 込 み を 行 う 場 合 は INFILEステ ー ト メ ン 卜 お よ び INPUTステートメントを使用する。 読み込むデータに欠損値を含んでいる可能性がある場合は、 INFILE ス テ ー ト メ ン ト に DSD, MISSOVERオプションを指定しておくが、特に DDEの場合は更に NOTAB,DLM=オプションを指定す 0 9 ' xを指定する。 る。この時、通常は DLM=オプションにタブコード ' Fhd A 川古 ワu
DLM= 区切り文字を指定する。 NOTAB アプリケーションから送られたデータの中のタブをスペースに変換しないようにする。 DSD 区切り文字が 2つ連続した場合は欠損値として扱う。 MISSOVER: INPUT ステートメン卜が現在のレコードの終わりに到達した時に見付からなかった変数値が 欠損値として設定される。 / *INFILEステートメント使用例り f i l e n a m巴 i ndde' e x c e l[ [ bo o k 1 ] s h e et 1! r 1 c 1 : r 3 cダ; d a t ao u t ; i n f i l ei nd l m = ' 0 9 ' xnotabdsdm i s s o v e r ; i n p u tname$abc ; r u n ; また逆に欠損値が存在するデータを他アプリケーションへ書き出す場合は、 FILE ステートメン卜に NOTABオプションを指定し、更に PUTステートメン卜において変数と変数の聞にタブコード ' 0 9 ' x を指 定する。 / *FILEステートメン卜使用例り f i l e n a m eo u tdde' e x c e l[ [ bo o k 1 ] s h e et 1! r 1 c 1 : r l O c 2 ' ; d a t a̲ n u l l ̲ ; s e ti n ; 日巴 o u tn o t a b ; t = ' 0 9 ' x ; putv a r 1tv a r 2 ; r u n ; 4 .SASシステムと他のアプリケーションとの親和性 前文で説明した通り、 SASシステムは DDEクライアン卜である。ここでは、 SASシステムに DDEのサ ービスを提供することのできるいくつかの DDEサーバアプリケーションとのデータ交換の方法および制限 について解説する。 先ず下記の表を見るとわかるように、各アプリケーションが提供する DDE機能には制限がある場合があ る 。 SASシステムへの送信機能についてはいずれもほぼ問題はないが、逆に SASシステムからの受信機能 および Syetem トピックを使用したコマンド受信の対応ができない場合があるので注意して頂きたい。 アプリケーション SASシスナムへの SASシスナムからの SYSTEM トピック i こ データ受信機能 ( F I L E,PUT) 可 可 不可 可 不可 可 不可 よるコマンド受信 MS‑Exce13,4,5 MS‑Word2,6 MS‑Access1 ,2 QuattroPro MS‑Foxpro Lotus1 ・2 ‑ 3 Paradox データ送信機能 ( I N F I L E,INPUT) 可 可 可 可 可 可 可 可 可 可 可 不可 可 不可 巳U 巳u qL
次に SASシステムにおいて各アプリケーションとデータ交換を行う場合のプログラム例を表記する。 ・ MS‑Excel ( M i c r o s o f t社製の表計算ソフトウェア)の場合: DDE トリプレットの取り出し 1 ) MS‑Excelで、"ファイル"→"開く…"で例えばサンプルの AUTOFIL L .XLSを開く。 2 ) 対象とするセル範囲をドラッグしてマークする。 3 ) "編集"→"コピー"を選択すると、選択したセル範囲が "DDE トリプレット"に取り込まれる。 .DDE使用例 / *MS‑Excel4の起動およびワークブックのオープン*/ o p t i o n snoxwaitn o x s y n c ; x' d :¥e x c e 1 4 ¥e x c e ld :¥e x c e 1 5 ¥b o o k l . x l w ' ; / *MS‑Excelが立ち上がるまで 2, 3分 待 つ り d a t a̲ n u l l ̲ ; X二 s l e e p ( 2 ) ; r u n ; / *MS‑Excelにマクロコマンド を送って処理させる。*/ f i l e n a m ecmdsdde' E x c e lI 泣並旦盟'. d a t a̲ n u l l ̲ ; 五l ecmds; put' [ a p p . m i n i m i z e O] , ; / *MS‑Excelのアイコン化*/ put' [ s e l e c t ( " r l c l : r 5 c 2 " ) ] ' ; /*セル選択*/ put' [ s o r t ( l, " r l c l ", l ) ] ' ; /*ソート処理*/ r u n ; /*ソート済みの MS‑Exce14のスプレッドシートを読み込み、データセット作成、出力*/ ilenamei ndde' E ̲ 茎 旦1d : ¥e x c e 1 4 ¥ [ bookl .x l w ] d d e d a t a ! r l c l : r 5 c 2 'n o t a b ; d a t at e s t ; i n f u ei nd l m = ' 0 9 ' x ; i n p u tab$ ; p r o cp r i n t ; r u n ; / *MS‑ E x c e l5ではワークブックとタブ付きシートに分かれている。 下記は SASシステムから MS‑Excelへのデータ送信の基本的な例である。*/ fuenameo u tdde' E ̲ 玉 虫1 I [ bo o k l ] s h e e t l ! r l c l : r l c 3 ' ; d a t at e s t ; a = 1 ; b = 3 ; c ニ9 9 ; i l eo u tn o t a b ; puta' 0 9 ' xb' 0 9 ' xc ; r u n ; Fhu ハ O ηL
・
Q
u
a
t
t
r
oP
r
o(
B
o
r
l
a
n
d社製の表計算ソフトウェア)の場合:
DDE トリプレッ卜の取り出し
1
) MS‑Excelの場合とほぼ同様。
.DDE使用例
/古書き出し吋
f
i
l
e
n
a
m
eo
u
tdde皇
'PWlc:¥qpw¥notebkLwb1!$a:$a$1..$c$1';
d
a
t
at
e
s
t
;
aニ 1
;
b
=
3
;
c
=
9
9
;
i
l
eo
u
tn
o
t
a
b
;
puta'
0
9
'
xb'
0
9
'
xc
;
r
u
n
;
・
L
o
t
u
s1
・2
‑
3(
L
o
t
u
s社製の表計算ソフトウェア)の場合:
DDE トリプレッ卜の取り出し
1
) MS‑Excelの場合とほぼ同様。
.DDE使用例
戸読み込みり
f
i
l
e
n
a
m
et
e
s
tddeよ
'23Wlc:¥123r4w¥五l
e
O
O
O
L
w
k
4
!
a
:
a
1
.
.
a
:
c
3
'
;
d
a
t
at
e
s
t
;
i
n
f
o
r
m
a
tabc8
.
;
formatabc8
.
;
i
n
f
u
et
e
s
tdlmゴ 0
9
'
xn
o
t
a
b
;
i
n
p
u
tabc
;
r
u
n
;
/古書き出し打
五lenamet
e
s
t
2dde'123WI
c
:
¥123r4w
¥日e
OOO1
.w
k
4
!
a
:
a
5
.
.
a
:
c
7
'
;
datat
e
s
t
2
;
s
e
tt
e
s
t
;
五l
et
e
s
t
2
;
a=a 1
0
0
;
b
=
b1
0
0
;
c
ニC 1
0
0
;
putabc
;
r
u
n
;
脅
脅
脅
/
*SYSTEM ト ピ ッ ク の 使 用
f
i
l
e
n
a
m
el
o
t
u
sdde'123W1.eY旦豆旦'.
d
a
t
a̲
n
u
l
l
̲
;
i
l
el
o
t
u
s
;
put'
[
r
u
n
(
{
臼e
‑
o
p
e
n"
c
:
¥123r4w
¥s
ample¥t
e
s
t
.
w
k
4
"
}{
b
r
e
a
k
}
)
]
'
;
r
u
n
;
data̲
n
u
l
l
̲
;
f
u
el
o
t
u
s
;
put'
[
r
u
n
(
{
s
e
l
e
c
ta
:
a1
.
.a
:
c
1
;
a
:
a
1
}{
e
d
i
t
‑
c
o
p
y
}{
s
e
l
e
c
ta
:
a
5
}{
e
d
i
t
‑
p
a
s
t
e
}
)
]
'
;
run;
一5
2
7
・ MS‑Word ( M i c r o s o f t社製のワードプロセッサソフトウェア)の場合: MS・WORD2.0における DDE トリプレットの取り出し 1 )M S‑Excelの場合とほぼ同様。 .MS‑WORD6.0における DDE トリプレットの取り出し MS・WORD6.0では通常のようなクリップボード経由での "DDE トリプレット"の取り出しができない。 1 ) MS ・ WORD6.0 上でデータ交換の対象場所をマークするかカーソルを位置付ける。 2 ) MS‑WORD6.0 のメニュー"編集"→"ブックマーク…"にてブックマーク名を付ける。例えば、 "ABC" とする。 3 ) SASシ ス テ ム 側 で 次 の よ う な FILEN 品四ステートメントを実行する。 例): FILENAMEMYWORDDDE'WINWORD1 文書 l ! A B C ' ; 4 ) 以降は通常と同様。 .DDE使用例 〆読み込み安/ fuenameworddde'W 旦宜旦41a: ¥d d e . d o c ! d d e ̲ l i n k l ' ; d a t at e s t ; l e n g t hname$ 2 0 ; i n f i l ewordd l m = ' 0 9 ' xnotabdsdm i s s o v e r ; i n p u tname$ages e x$h e i g h tw e i g h t ; r u n ; p r o cp r i n t ; r u n ; /安書き出しり fuenameworddde' W i 旦宜♀r d la :¥d d e 2 . d o c ! d d e ̲ l i 叫 ,2 'n o t a b ; d a t aword̲dde; s e tt e s t ; f i l ew o r d ; putname$' 0 9 ' xage' 0 9 ' xs e x$' 0 9 ' xh e i g h t' 0 9 ' xw e i g h t ; 盟主 ・ MS‑Access ( M i c r o s o f t社製のデータベースソフトウェア)の場合: DDE トリプレットの取り出し 1 ) MS‑ACCESSで、"ファイル"→"開く…"で例えばサンプルの NWIND.MDB を開く。 2 ) 例えば、"商品区分"というテーブル名をシング、/レクリック(反転表示)し、"編集"→"コピー"を選択 す る と 、 選 択 し た テ ー ブ ル 範 囲 が 句 DE トリプレツト"に取り込まれる。 .DDE使用例 〆読み込み安/ 五lenamem saccessdde'MSA 旦些呈 I d :¥a c c e s s ¥n wind.mdb;TableC a t e g o r i e s ! a U ' ; d a t ac a t e g o r y ; l e n g t hc a t i dcatnamep i c t u r e$20d e s c r p$ 6 0 ; i n f u emsaccessd l m = ' 0 9 ' xnotabdsdmissovert r u n c o v e rf r r s t o b s = 2 ; inputc a t i d$catname$d e s c r p$p i c t u r e$ ; にU nノω o o
p r o cprmt; r u n ; / *SYSTEM ト ピ ッ ク の 使 用 f i l e n a m ecmds1dde'盟SA旦些呈 I~担並旦 !Sysitems'; f i l e n a m ecmds2dde'堕 SA旦些呈 I~ヱ註em!Status'; f i l e n a m ecmds3dde' 盟SA 旦些呈│皇旦並旦! F o r m a t s ' ; f i l e n a m ecmds4dde'盟SA包盟主 I~ヱ邑旦旦 !Topics'; d a t a̲ n u l l ̲ ; i n f l i ecmds1paddsdnotabd l m = ' 0 9 ' x ; i n p u tcommands$@@; putcommands; r u n ; ・ Paradox ( B o r l a n d社製のデータベースソフトウェア)の場合: DDE トリプレットの取り出し 1 ) MS‑Excelの場合とほぼ同様。 .DDE使用例 戸読み込み打 f i l e n a m eparadoxdde'PDO 玉WINI : w o r k : d i v e p l a n ¥b i o l i f e . d b ! ̲ t a b l e ' ; d a t ab i o l i f e ( d r o p = o b n u m ) ; i n f o r m a tspec=nocomma9.2; formatspec̲nocomma9.2l e n cml e n ̲ i n6 . 2 ; l e n g t hc a t e g o r y$15comname$30specname$ 4 0 ; i n f i l eparadoxd l m = ' 0 9 ' xnotabdsdm i s s o v e r ; i n p u tobnumspec̲noc a t e g o r ycomnamespecnamel e n 一cml e n ̲ i n ; p r o cp r i n t ; varspec̲noc a t e g o r ycomnamespecnamel e n 一cml e n ̲ i n ; r u n ; 一 DDEで SASシステムからのデータを受けとれない場合の対応例 (MS‑Accessの場合) 1 ) 下記のようなプログラムにて、 SAS データセットを作成し、それをコンマ(,)区切り (CSV形式)のテ キストファイノレにする。 d a t at e s t ; i n p u tnumnum2num3ch$ 6 .ch2$ 4 . ; c a r d s ; 1 02030aaaaaabbbb 305070c c c c c cdddd 406080e e e e e ef f f f d a t a̲ n u l l ̲ ; s e tt e s t ; 日正 c : ¥m s a c c e s . t x t ' ; putnumγch' , 'num3; r u n ; 2 )MS‑ACCESSを起動し、"ファイル"→"新規作成"で例えば DBl .MDBを開く。 529‑
3 )"ファイル"→"インポート"→"テキスト(区切り記号付き) "を選択する。 4 )1 )で作成した外部ファイル M8ACCE8.TXTをインポートする。 5 . その他の情報 1 )リリース 6 . 1 1では DLGDDEコマンドが追加された。 ・コマンドにて"クリップボード上の DDE トリプレット"ダイアログ表示が可能である。 2 )08/2版 8A8システムと WIN‑08/2上の Windowsアプリケーション聞の DDEを可能にする設定手順を 以下に図示する 0 ・この設定を行わずに DDEを使用した場合、使用方法が正確であってもエラーメッセージが出力され るので注意。 操作手順 書 昼 間 国 OS/2 システムー+システム設定一~ W I N ‑ O S / 2設 定 一 + ① お よ び ② ① WIN‑DDEメッセージの共有化 ・" WIN‑08/2全画面"を選択し、 "WIN‑08/2設定"ボタン含クリックする ε 一 ー ¥ Fhu 司U ハU
." 羽 司 N・08/2設定"を選択する。 一 一 ¥ ‑下図の状態で保管する。 RU ‑ L η a
②データ交換方法 (DDE,クリップボード)の共用化 ・下図の状態で終了する。 6 .DDE機能関連問答集 以下は DDE機能に関してこれまで当テクニカルサポートで、扱った Q & Aの中からいくつかを抜粋したも のである。 Q1 .SASシステムから M S‑Exce15.0の V i s u a lB a s i cを実行することはできるか? A1 .V i s u a lB a s i cで Subプロシジャを作成し、 SASシステムから MS‑Excelのマクロ関数である RUN を 使用して実行することができます。 S‑Excel側で次のような V i s u a lB a s i cのプログラムを記述したとします(これは、 " S U G I ‑ J ' 9 6 例えば、 M へょうこそ"というメッセージを引数で指定された回数分、出力するものです)。 SubWelcome(Num) ← こ の Welcomeとし、うのがマクロ名となります。 Fori=1ToNum MsgBox" S U G I ‑ J ' 9 6へょうこそ" Nexti EndSub Subプロシジャ作成時、上記のプログラムを例えば MS‑Excelのディレクトリ内に PERSONAL.XLSとし て保存した場合、これを、 SASシステムから実行するには、次のようにします。 ‑532一
o p tlOnsnoxwmtn o x s y n c ; ilenamecmdsdde' e x c e lIs y s t e m ' ; x' c : ¥m s o f f i c e ¥e x c e 1 5¥e x c e l ' ; d a t ao u t : i l ecmds; put'[OPEN("C: ¥MSOFFICE ¥EXCEL5 ¥PERSONA L .X L S " ) ) ' ; put' [ R U N ( " W e l c o m e ( 3 ) " ) ) ' ; put' [ Q U I T O ] ' ; r u n ; Q2.MS‑Excelの 2つのファイルを 1つの SASデータセットにする方法は? A2. 以下に 2通りの方法を紹介します。 1 )Xステートメン卜で MS‑Excelを起動するときに引数に MS‑Excelのファイル名を 2つ記述することによ って 2つのファイルがオープンできます。 x' c :¥m s o f f i c e ¥e x c e 1 5 ¥e x c e lvba1v b a 2 ' ; 上記の場合、 MS‑Excel起動時に MS‑Excelのファイル VBA1 .XLSと VBA2.XLSの両方が同時にオープン されます。 .XLSの s h e et1にある A1セルの文字と、 VBA2.XLSの sheet1にある A1 これを利用して、例えば、 VBA1 のセルの文字をマージして 1つの SASデータセットにするような場合には、次のようにすればできます。 o p t i o n snoxwaitn o x s y n c ; f i l e n a m ei n 1dde' e x c e lI[VB A1 .XLS]sheet 1! r 1 c 1 : r 1c 1 ' ; 五lenamei n 2dde' e x c e lI[VB A2.XLS]sheet 1! r 1 c 1 : r 1 c 1 ' ; x' c :¥m s o f f i c e ¥e x c e 1 5¥e x c e lvba1v b a 2 ' ; d a t a̲ n u l l ̲ ; r c=s l e e p ( 7 ) ; r u n ; d a t aout 1 ; i n f i l ei n 1 ; i n p u ta$ ; l n 五l ei n 2 ; i n p u tb$ ; r u n ; p r o cp r i n t ; r u n ; 2 )MS‑Excel起動時にファイルはオープンせずに、次のように MS‑Excelのマクロ関数を使用して 2つのフ ァイルをオープンすることもできます。 x' c : ¥m s o f f i c e ¥e x c e 1 5 ¥e x c e l ' ; d a t a̲ n u l l ̲ ; r c=s l e e p ( 5 ) ; r u n ; phu q u q u
f l i e n a m ecmdsdde' e x c e l[s y s t e m ' ; d a t a̲ n u l l ̲ ; f l i ecmds; put' [ o p e n ( " v b a 1 " ) ] ' ; put' [ o p e n ( " v b a 2 " ) ] ' ; r u n ; Q3.MS‑Excelの日付データを SASシステムに読み込むと正しく読み込めないが、どうすればよし、か? A3.MS‑Excelから SASシステムに日付データを送る時は、 SASシステムのインフォーマットを使用すれ ば正しく読み込めます。 MS‑Excelの A1セルに 1 9 9 5 / 0 1 / 0 1と入力し(このように入力すると、 MS‑Excelが日付データであると自 動的に判断します)、 SASシステムで次をサブミットすると正しく 1 9 9 5 / 0 1 / 0 1と表示されます。 r e 町 0 ・ ' 田川 v ιι bd am dum Vν 同w x mx nι . 1 E ku ︐ 戸 m hbp c 工 n n Onh 1 ・ 1 ・ r p f l i e n a m emydatadde' e x c e l[ 肋o o k 1 ] s h e e t l ! r1 cl : r1 c 1; ' d a t ao u t ; r u n ; &l 噌Eム 司 nU 司 d d Vν m m r u n ; MS‑Excel から SAS システムに日付データを送る時は、 MS‑Excel が 内 部 で 保 持 し て い る 数 値 デ ー タ (MS‑Excel 独 自 の 日 付 値 ) を SAS システムに送るの ではなく日付そのもののデータ(つまり文字列 ' 1 9 9 5 / 0 1 / 0 1 ' ) を送ります。 これとは逆に、 SASシステムから MS‑Excelに日付データを送る時には、注意が必要です。 SASシステ ムは MS‑Excelに、数値データ (SAS日付値)として送るため MS‑Excel側では、単に送られた数字が表示 されるだけで、日付が表示されるわけではありません。例えば、 SAS システムから日付 ( 1 9 9 5 / 0 1 / 0 1 )を 送ると MS‑Excelでは、 12784と表示されるだけです。ですから、 SASシステムから MS‑Excelに日付デー タ (SAS日付値)を送る場合には、意図的に日付を文字値として送る必要があります。 f l i e n a m emydatadde' e x c e l[ 肋o o k 1 ] s h e e t 1 ! r1 c 1 : r1 c 1 ; ' d a t atmp; i n p u txyymmdd10.; c a r d s ; 1 9 9 5 / 0 1 / 0 1 d a t a̲ n u l l ̲ ; s e ttmp; f i l emydata; s t rニ p u t ( x,yymmdd10.);1 女文字値に変換してから送るり puts t r ; r u n ; Fhu A性 qd
Q4.DDE トリプレットで一定ではない領域を設定したいがどうすればよし、か? A4.DDEにおいて一定ではない領域を設定したい場合、マクロ変数を使用して引き渡すことができます。 ,&COL とします。 以下を参考にしてください。なお、ワークシートの行列をそれぞれ SCL変 数 &ROW 例): f i l e n a m et e s tdd 旦" e x c e l[ d a t a . x l s ! r l c l : r 金ROW.c 生COL"; (引用符(")とピリオドにご注意くださしつ Q5.SCLを使って SASデータセットを MS‑Excelに出力するにはどうすればよいか?ただし、 DATAステ ップを使用しない方法。 A5. SCLの FILEN 泊 四 関 数 を 用 い て DDE デ パイスタイプを指定すれば、 FPUT 関数等によって直接 SCLから MS‑Excelへの書き出しが可能です。以下のサンプルプログラムを参照してください。 例): maln: r c ニ i l e n a m e ( ' a a γ e x c e l[ s h e e t l!r l c l : r l c 3 '' ,d dぜ ) ; f i e l d i d = f o p e n ( ' a a ', ' o引 koml二 123;kom2ニ456;kom=789; kom=koml[[ '' [[kom2[[ " [[kom3; 五l e, kom); r c = f p u t ( r c ニf w r i t e ( f u e i d ) ; r c ニf c l o s e ( f u e i d ) ; r e t u r n ; その他の方法として、パフォーマンス的にはあまりお勧めできませんが、 SAS/AFソフトウェアの SCLソ ースプログラム内で SUBMITブロックを使えば、 DATAステップやプロシジャを定義できます。また、入 力フィールドの値を SUBMITブロック内で使うには、先頭にアンパサンド(&)をつけたフィールド変数に 指定します。 Q6.DDE機能を使って SASから MS‑Excelにデータを渡す際、文字タイプが数値タイプに置き換わってし まう。文字タイプのまま MS‑Excelに渡す方法はあるか? A6. できません。値が数値の場合、 MS‑Excel に渡ったときに数値タイプに設定されてしまいますので、 MS‑Excel側で書式を変更してください。 Q 7 .SASデータを M S ‑ E x c e lに読み込むと途中からデータが切れてしまうことがあるがどうすればよい 1 J 'マ A7.SASデータを MS‑Excelに読み込む場合、 f i l e n a m eにおいてシート指定範囲を MS‑Exce15.0のスプレ 5 3 5
ッドシートセル数の範囲内(最大 16384行 、 256列)で設定していただきますと、指定したすべての変数 およびオブザーベーションを読み込むことができます。 ilenamee x c e ldde' e x c e l le : ¥m s o f f i c e¥e x c e 1 5¥[ s u m i t o m o . x l s ] s h e e t 1 ! r 1 c 1 : r 1 0 0 0 0 c 3 皇宮; ではなく filenamee x c e ldde' e x c e l le : ¥m s o f f i c e¥e x c e 1 5¥[ s u m i t o m o . x l s ] s h e e t 1 ! r 1 c 1 : r 2 c 3 ' ; Q8.SCLプログラムでのデータセット変数の使用はできるか? A8.データセット変数と SCL変数を混在して使用することはできません。このような場合はマクロ変数 に割り付けてそれを SYMGETN で取り出して使用するか、以下のようにデータセットから取り出す方法 が考えられます。 例): 1出 t : r e t u r n ; ロl a l n : (中略) datai n e x c e l ; i n f l i ei n c t r l ; inputcnor n o ; r u n ; endsubmit; d s = o p e n ( ' i n e x c e l γ1 ' ) ; j * データセットのオープン打 r c = f e t c h ( d s ) ; j * オブザベーションの読み込み合/ cno=getvarn(ds, l ) ; 〆 第 1変数の取り出し *j rno=getvarn(ds, 2 ) ; 〆 第 2変数の取り出し *j r c = c l o s e ( d s ) ; 〆データセットのクローズ打 rdata=501+ c n o ; (中略) r e t u r n ; t e r m : r e t u r n ; Q9.Windows3 . 1(MS ‑ E x c e l5 . 0 )では問題なかった下記の DDEプログラムを Windows95で実行するとエ ラーとなるが、どうすればよし、か? アプリケーション: SASSystemR e l e a s e6 . 1 0 MS‑Exce17.0 にU b ハ qu
実行内容: f i l e n a m ei n v a rdde' E x c e l JC :¥SASLIB ¥[ SUGIJ94.XLS]ex3!R35C2:R35C3'l r e c l = 1 0 0 0 ; d a t atmp; i n f i l ei n v a r ; i n p u ta$b$ ; r u n ; エラー内容: ERROR:E x c e l JC :¥SASLIB ¥[SUGI94.XLS]ex3!R35C2:R35C3 がありません. A9.SASシステムリリース 6 . 1 1で同様のエラーになりました。 Windows95上でも、 MS‑Excel5 . 0を用い るとエラーが出ないので MS‑Exce17.0に問題がある可能性もあります。 回避策としてひとまず、 [SUGIJ94.XLS]の前のディレクトリ名を記述せずに実行してください。エラーは 出なくなります。 . 0は Windows3 . 1には対応されていません。 (テス卜した組合せ) :MS‑Excel7 プラットフォーム SASリリース MSExce15.0 MSE x c e l7 . 0 Windows3 . 1 Windows3 . 1 WindowsNT3 . 5 1 WindowsNT3 . 5 1 Windows95 Windows95 6 . 1 0 6 . 1 1 6 . 1 0 6 . 1 1 6 . 1 0 6 . 1 1 正常 使用不可 正常 使用不可 正常 異常 正常 異常 正常 異常 正常 」 異常 QI0. MS‑Excel のフォーマット¥柑,:1#耕のデータを読み込むと文字変数になってしまうがどうすればよい か? AI0.数値データとしてこの値を読み込むには、 SASシステムのインフォーマット YENw.d (w 全体の桁 n f o r m a tYENw.dを指定することで、 MS‑Excelのデータを文字で 数 d 小数点以下の桁数)を用います。 i はなく、フォーマット付の数値として読み込みます。 例): rh 託 噌Eム n u nu n e v d qム r a v 噌Eム n u n u n ' ed ・ ワ 白 V VM 訂吐 ヴ釦 JU 庄 VM &qv 刊 川 向hDAnk r 川町 h nnn 沼 剖 1ii d 白l enamemydatadde' e x c e l Js h e e t l ! r l c l : r l 0 c 2 ' ; r u n ; 上記の場合、 i n f o r m a tv a r l yenl0.0var2y e n l 0 . 0 ;を追加すると、 varlvar2の値が、単に数値ではなく ( 1 0 0 0 0 0 ) 、¥ 100, 000のようなフォーマット指定した数値としてデータセットに書き出します。 QILSAS/ASSISTソフトウェアを使用して、マウス操作だけで MS‑Exce14.0に SASデータセットの内容 を出力することができるか?もしこれが無理であれば、 SAS/AFソフトウェアで対話式に MS‑Excelに出力 537‑
できるようにしたいが、どうすればよいか? A11 .SAS/ASSISTソフトウェアのマウス操作だけでは、不可能ですので、 SAS/AFソフトウェア(例えば FRAMEエントリ)でアプリケーションを作成してください。この場合、 SASシステムから MS‑Excelへ データを送る方法として DDE機能を用います。作成するアプリケーションは次の例を参考にしてください。 例): 1 ) SASUSERライブラリに " e x c e l " という名前のカタログを作成する。 (SASシステムのコマンド行で、 " b u i l ds a s u s e r . e x c e l " と入力。) 2 )d a t a o u t企 ameというエントリを作成する。 2 . 1 ) メニュー「ファイノレ/新規作成… Jを選択。 「エントリ名」に " d a t a o u t " と入力。 「エントリタイプ」に "FRAME" を選択。 3 )d a t a o u t 企 ameの DISPLAYウインドウ内に「プッシュボタンJ オブ、ジェク卜を作成する 3 . 1 ) メニュー「アクション/リージョンの作成 J を選択。 3 . 2 ) メニュー「プッシュボタン」を選択。 ・プッシュボタンの属性で「名前」に "BTN" と入力。 「ラベル」に "MS ・ E x c e lへ出力"と入力して、"了解"ボタンを押す。 4 )SCLプログラムの記述 4 . 1 ) メニュー「ローカノレ/一般属性」を選択し「作成時オプション」の「自動コンパイル j チェックボツ クスをオンにして、"了解"ボタンを押す。 4 . 2 ) メニュー「ローカノレ/SCLプログラム編集」を選択し、次のプログラムを記述してください。 I N I T : submitc o n t i n u e ; / *DDEを使用して、 SASシステムから M S‑Excelへデータを書き出す例。 合 /M S‑Excelの実行ファイル但 XCEL.EXE)は、ディレクトリ C : ¥EXCEL4り /合にあるものとします。 合 / 合 / S‑Excelを起動する時は、 noxwaitnoxsync女 / /合この例の様に SASシステムから M 〆オプションを設定する り o p t lOn snoxwaitn o x s y n c ; / *M S‑Excel を起動します女/ x' c :¥e x c e 1 4 ¥e x c e l ' ; 女 /M S‑Excelの起動を待って 5秒間スリープします合/ d a t a̲ n u l l ̲ ; s l e e p ( 5 ) ;〆 こ の 数 値 は お 使 い の マ シ ン に よ っ て 変 更 し て く だ さ い x= r u n ; RU q u o o
/ *MS‑Exce1 の s heet1の 1行目 1列から 1 5行目 5:71]までの領域 (A1~E15) に*/ F データを書き出すように設定する f i l e n a m eo u tdde' e x c e 1[ s h e et 1! r 1 c 1 : r 1 5 c 5 ' ; 巴n dsubmit; BTN: 〆データセット SASUSER .CLASSのデータを MS‑Exce1に 出 力 す る submitc o n t i n u 巴 ; data̲ n u l l ̲ ; s e ts a s u s e r . c l a s s ; f u eo u t ; putnames e xageh e i g h tw e i g h t ; / *MS‑Exce1 にデータを書き出すり r u n ; endsubmit; 4 . 3 ) メニュー「ファイノレ/終了」で上記の SOURCEウインドウを終了し、続けて、メニュー「ファイノレ/ 終了」を選択して DISPLAYウインドウも終了します(この時プログラムが自動コンパイルされま す)。 5)AFプログラムの実行 5 . 1 ) コマンド行で次のように入力して AFプログラムを起動させます。(同時に MS‑Exce1も起動します。) a fc = s a s u s e r . e x c el .dataout.frame a s u s e r . c l a s sデータセットの内容が MS‑Exce1へ出力されま 5 . 2 ) "MS・Exce1への出力"ボタンを押すと s す 。 Q12.DDEを用いて SASデータを MS‑Exce1に送るとき LABELも送りたいが、どうすればよし、か? A12.c o n t e n t sプロシジャでラベルを取り出すとよいと思われます。サンプルマクロプログラムを参考にし てください。 例): o p t i o n sm p r i n t ; %macroe x c e l ; p r o cc o n t e n t sd a t a = s a s u s e r . c l a s sn o p r i n to u t = c o n t s( keep=nobsname1 a b e 1 ) ; r u n ; data̲ n u l l ̲ ; s e tc o n t se n d = e o f ; i f1 a b e 1eq, , then1abe1=name; c a l ls y m p u t ( ' c o 1 '[[ l e f tしn ̲ ), t r i m ( n a m e ) ) ; c a l ls y m p u t ( ' l a b '[[ l e f t しn̲), t r i m( la b e 1 ) ) ; i fe o fthend o ; c a l ls y m p u t ( ' c o 1 u m n s ', t r i m( le f tしn ̲ ) ) ) ; t r i m( le f t ( n o b s ) ) ) ; c a l ls y m p u t ( ' r o w s ', e n d ; r u n ; 戸 円同d hd q a
/六ラベル女/ f i l e n a m ee x c e ldde" E x c e l[ [Bookl]Sheetl!RlCl:RlC&columns"n o t a b ; data̲ n u l l ̲ ; hextabニ' 0 9 ' x ; f i l ee x c e l ; put %doi = l%to&columns; "%trim(&&lab&i)"hextab %end; r u n ; /*データり f i l e n a m ee x c e ldde" E x c e l[ [Bookl]Sheet 1!R2Cl:R%eval(&rows+l)C&columns."n o t a b ; datadummy; s e ts a s u s e r . c l a s s ; h e x t a b = ' 0 9 ' x ; f i l ee x c e l ; put %doi = l%to&columns; &&col&ihextab %end; r u n ; %mende x c e l ; % e x c e l ; 7 . おわりに DDE機能は BaseSASソフトウェアさえ導入されていれば他のアプリケーションとのデータ交換が可能 であり、大変手軽なデータ入出力機能と言えるだろう。また、 DDEは PC系プラットフォームにおいては 今後も有効な機能として提供されて行くと思われる。なお、 Windows版ではプロセス開通信機能として OLE(ObjectLinkingandEmbedding)もサポートされている。 OLEは他のアプリケーションとのリソース 共有が DDEとは異なる形で可能であり、 SAS/AFソフトウェアにおいては強力な機能である。是非お試し 願いたい。 参考文献 SASCompanionf o rt h eM i c r o s o f tWindowsE n v i r o n m e n t,V e r s i o n 6: SASI n s t i t u t eI n c . SASCompanionf o rt h eO S / 2E n v i r o n m e n t,V e r s i o n 6: SASI n s t i t u t eI n c . TheSASSystemandDDE‑TS325: SASI n s t i t u t eI n c . / J I f ← 540‑
日本 S A Sユーザー会 (SUG I‑J) マク口言語テクニカルガイド 石川亨 技術部テクニカルサポートセクション 株式会社 SASインスティチュ一卜ジャパン お1ACROL anguageT e c h n i c a lGuide ToruIshikawa TechnicalSupportSection TechnicalDivisionjSASI n s t i t u t eJapanL t d . 要旨 マクロは、使用しなけれ間可かができない、というものではありませんが、使 えると使えないとでは、 SASシステム自体の使い勝手をも左右します。そこ で、コンパイルと実行の仕組みを説明し、マクロの効果的な使い方と、デバッ グについて紹介します。 キーワード: MACRO, PROCESSOR, COMPILE, WORDCTOKEN), OPTIONS, %PUT メニュー 1.マクロ機能の概要 1.マクロ機能の概要 マクロ機能を一言で表すなら、実際に入力するべき 2.SASシステム処理手順 3 .マクロプロセッサの処理手順 4 .マクロのコンノ fイル コマンドやステートメント群を、あらかじめ定義され たマクロ名を入力するだけで、入力したことになる、 機能ということができます。 たとえば、同一ステートメントの反復やパラメータ を一部変更するだけの処理の反復などに効果を発揮し 5 .マクロの実行 6 .再帰的なマクロ ます。 ここに DATA1, DATA2, DATA3, …DATA10という ように 1 0佃の SASデータセットがあります。 PRINT 7 .ここまでのまとめ 8 .効率的なマクロの使用 プロシジ、ヤによって内容をプリントする場合、普通に 処理を記述すると、 PROCPRINTステートメントを 1 0回記述しなければなりません。 9 .マクロのデバッグ PROC PRINT DATA=DATA1; RUN; 1 0 .参考文献 PROC PRINT DATA=DATA2; RUN; 5 4 1一
PROC PR1NT DATA=DATA3; RUN; 引用符で固まれた文字列「リテラル」 PROC PR1NT DATA=DATA10; RUN; すが、特殊な例としてう 23MAY1996'D も 1ワードです。数値定数もワードで のような SAS 日付定数も数値定数と これをマクロで記述すると、次のようになります。 %MACRO PR1NT10; %DO 1=1 %TO 10; みなされます。 ( 2 ) SASコンパイラやディスプレイマネージャプロ セッサは、このワードキューを介してワードを PROC PR1NT DATA=DATA&1; RUN; 取得します。ワードスキャナは入力スタックが %END; 空になると一旦読み取りを中断します。コンパ ' i .MEND PR1NT10; イラはワードキューから「ステップ」の終わり これに含まれる %MACRO,%DO,%TOヲ %END, を読み取った時点で、コンパイル・実行を行い %MEND がマクロ言語の要素で、 &1 はマクロ変数 ます。 の展開を行います。これは定義部分ですので、実行す るには、 マクロ機能を使わない SASプログラムをサブミットし た場合には、プログラムの終わりに達するまで、上記 %PR1NT10 をサブミットする必要があります。そして、実際に生 成されるステートメントは前述の PROCPR1NTを 10回記述したものと同じになります。 の処理が繰り返し実行されます。この場合、 SASコン パイラは、ユーザがサブミットしたテキストそのもの を受け取ることになります。もちろん、 %1NCLUDE を用いたフ.ログラムでは、そのファイル内容が入力ス タックに入るため、「ユーザがサブミットしたテキス トそのもの」とはいえませんが。 2.SASシステムの処理手順 3 .マクロプロセッサの処理手順 では、マクロはどのように動作するのでしょうか。 それを理解するにはまず、 SASシステムがステート メントを処理する手順を知る必要があります。 ( 1 ) SASシステムは、ユーザがサブミットしたプロ マクロ機能を使った SASプログラムをサブミットし た場合には、「マクロプロセッサ」により新しい SASス テートメントが生成されるため、ユーザがサブミット グラムを「入力スタック」と呼ばれる場所に格 したテキストとは異なるステートメントが入力スタッ 納します。入力スタックには、プログラムが行 クに格納されることになります。仮に次のステートメ 単位で入ると考えてください。そして、「ワード ントがサブミットされたとします。 スキャナ」と呼ばれる機能を使って、入力スタッ 日LET L1ST=X3 X8 TOTAL; クの先頭にある文字列を 1ワードずつ読み取り、 それを「ワードキュー」に転送します。 ここでいう「ワード」とは、ステート これをトークン化すると次のようになります(トーク ・ ンの境を明確に表すために「・」を用います)。 メントを構成する最小単位で、「トーク 1 LET.LIST. = .X3.X8.TOTAL.; ン」と呼ばれることもあります。 SAS システムでは、 PROC、DATAなどの SASキーワードと、ユーザが任意に定 義できるデータセット名やライブラリ ところが、これが %LETステートメントの場合には、 あたかも次のようにトークン化されたように扱われ ます。 参照名、ファイル参照名、カタログ名、 ・ 2 LET.LIST=X3 X8 TOTAL.; 変数名、フォーマット名などの「名前」 を示すワードがあります。また、マク ( 1 ) ワードスキャナは、プランク以外の文字が続く ロ処理に欠かせないパーセント(%)や %記号をワードとしてワードキュー内に検出す アンパサンド(&)、セミコロン(;)やコ ると、マクロプロセッサを起動し、そのトーク ロン(:)といった「特殊文字」もそれぞ ンをコンノ Tイラではなくマクロプロセッサに i f f します。 れが独立したワードとみなされます。 ‑542‑
( 2 ) マクロプロセッサは、渡されたトークンを調べ、 それが%LETステートメントであることを認識 します。その後、マクロプロセッサは、セミコロ ン(;)を認識するまでワードを要求します。 ( 3 ) マクロプロセッサが要求したワードは、マクロ プロセッサ専用のワードキューに格納されます。 マクロプロセッサは、専用のワードキューから 「マクロ変数名」とその値を取り出し、それらを 「シンボルテープル」に格納します。 的のマクロ変数がシンボルテープルに存在しない場合、 下のようなメッセージを出力します。 WARNING: 記号参照 x を展開していません. マクロ変数参!11i¥の展開によって生成されたテキストは、 現在の入力スタックの先頭に格納されます。これによっ て、コンパイラは、ユーザが入力したプログラムとは 異なる文字列(マクロの展開結果)を受け取ることにな ります。 そして再び、ワードスキャナがメインワードキュー ワードスキャナがマクロプロセッサを起動してからマ を使って処理を続けていきます。 クロプロセッサの処理が終了するまで、すべての処理 はマクロプロセッサ専用のワードキューを介して行わ れます。マクロプロセッサ専用のワードキューは、コ 4 .マクロのコンノ fイル ンパイラが要求したワードを格納するワードキュー(こ れを「メインワードキュー」と 1手びます)と同じように マクロのコンパイルと実行は、マクロプロセッサに 動作しますが、両者はそれぞれ独立したワードキュー よって行われるプロセスであり、他の SASシステムに です。マクロプロセッサが処理を行っている問、メイ よるプログラム処理とは異なります。 ンワードキューおよび SASコンパイラの動作は停止 次に示すサンプルプログラムは、 します。マクロプロセッサの処理が終了すると、ワー ドスキャナは処理を再開します。 実行日が「金曜日(Fri d a y)Jならば、ライ ここでシンボルテープルに格納されたマクロ変数 ブラリ参照名 iSAVEJ 内のデータセット LISTを用いたプログラムの処理について説明します。 iSALESJに 、 WORKライブラリ内のデー タセット iCURRENTJ を 、 APPENDプ PROC PRINT DATA=TEST; ロシジャによって追加する VAR &LIST; RUN; というものです。参照されているマクロ変数 SYSDAY は 、 SASシステムが提供する「自動マクロ変数」のひ まず¥ワードスキャナは PROCPRINTステートメン とつで、現在の SASセッションを開始した日の曜日が トをメインワードキューに読み込み、各ワードを SAS 英語で格納されます。 コンパイラに転送します。 コンパイラが PROCステートメントを受け取ると、 次のような処理が行われます。 ( 1 ) コンパイラがワード要求すると、ワードスキャ ナは、現在の入力スタックの先頭にあるワード をワードキューに読み込みます。 ( 2 ) ワードスキャナは、プランク以外の文字が続く %MACRO SAMPLE; l .THEN %IF &SYSDAY=Friday ' %DO; PROC APPEND BASE=SAVE.SALES DATA=CURRENT; RUN; ' l . END; &記号をワードキュー内に検出すると、マクロプ 1 門E ND SAMPLE; ロセッサを起動した後、そのトークンをコンパ %SAMPLE イラではなくマクロプロセァサに渡します。マク ロプロセッサは、渡されたトークンを調べ、それ がマクロ変数参照であることを認識します。そ のf 麦、マクロプロセッサは、シンボルテープル を検索し、指定のマクロ変数に対応する値を取 り出します。 上記のプログラムをサブミットすると、 SASシステム は、このプログラムを入力スタックに格納します。そ の後、 SASコンパイラがワードを要求すると、ワード スキャナは、入力スタックからトークン(ワード)をひ とつずつ読み込み、それをワードキューに転送します。 %LETのところで前述したように、ワードスキャナ マクロプロセッサは、シンボルテープルを検索するこ は、プランク以外の文字が続く%記号をワードとして とによってマクロ変数参照を展開します。この時、目 検出すると、マクロプロセッサを起動し、そのトーク ‑543一
ンをコンパイラではなくマクロプロセッサに渡します。 ロネストしたマクロ定義 度されたトークンを調べ、それ マクロプロセッサは、 i が、マクロ定義の開始 (%MACRO)であることを認識 ロマクロ関数(ただし、 %STRと%NRSTRはコン パイルされます) すると、「マクロのコンパイル」を開始します。 マクロのコンパイル中に、マクロプロセッサは以下 の処理を行います。 ロマクロ名、マクロパラメータ名、およびマクロパ ロマクロ式(算術式および論理式) ロローカルマクロ変数の名前と値 ラメータのデフォルト値(指定されている場合) を保存します。 口 %PUTステートメントによって出力されるテキ スト ロマクロ内に含まれているすべてのマクロプログ ラムステートメントをコンパイルし、その結果 を保存します。 ロマクロ内に含まれているテキストのうち、マク 口 %WINDOWステートメント内のフィールド定義 口定数テキスト ( SASステートメントやディスプ ロプロセッサによってコンパイルされない部分 レイマネージャコマンドなど) をテキストとして保存します。 マクロプロセッサは、マクロのコンパイル中に構文エ ラーを検出した場合、エラーメッセージを表示した後、 コンパイルを続行します。ただし、この場合、マクロの たとえば、この節の冒頭で紹介したマクロ SAMPLE の場合、マクロプロセッサは、以下の下線が引かれて いる部分だけをコンパイルします。 コンパイル結果は保存されません。このようにコンパ イル結果が保存されないマクロのことを、「ダミーマク ロ」と呼びます。たとえば、 %IFに対応する %THEN の%を忘れてしまった場合などに、次のように出力さ PROCAPPENDBASE=SAVE.SALES DATA=CURRENT; れるのがそうです。 ERROR:必要な %THENステートメント RUN; がありません.ダミーマクロをコンパイル % E N D ; ZMEND S A M P L E ; します. マクロをコンパイルすると、指定のマクロ名と同じ名 マクロプロセッサによってコンパイルされないテキス 前を持つ MACROエントリが WORKライブラリ内の トのうち、以下のものに関しては注意が必要です。 SASMACRカタログに作成されます。 SASシステム オプションの MSTOREDと SASMSTOR=オプショ ンを併用することにより、永久ライブラリ内の SAS MACRカタログに作成することもできます。このカ ロマクロ関数 マクロプロセッサは、 %STRと%NRSTR タログエントリには、コンノ Tイルされたマクロプログ 関数を除くすべてのマクロ関数を、そ ラムステートメントと、マクロ内のテキストのうちマ れらがマクロ内に記述されていると クロプロセッサによってコンパイルされない部分が保 おりのテキストとして扱います。ただ し 、 %STR関数と %NRSTR関数はマ 存されています。 マクロプロセッサによりコンパイルされる部分(マ クロコンパイル時に実行されるため、 クロプログラムステートメント)とコンパイルされな マクロプロセッサは、これらの関数本 い部分(テキスト)の区別は、後述する「マクロの実 体をテキストとしては扱わず、関数の 行」時に非常に重要となります。 実行結果だけをテキストとして保存し ます。 %STR関数と %NRSTR関数に マクロプロセッサがコンパイルしないテキストは次 ついてはマニュアルのリファレンスを の通りです。 参照してください。 ロマクロ変数参照 ロネストしたマクロ呼び出し ロネストしたマクロ定義 544‑
( 4 ) マクロプロセッサは、渡されたトークンを調べ、 マクロプロセッサは、マクロ内に記述 されているマクロ定義の開始を認識す それがマクロ変数参照であることを認識しま ると、ネストされているマクロ定義の す。マクロプロセッサは、このマクロ変数参照 %MENDまでのすべてのトークンをテ &SYSDAYをシンボルテーブルから印見り 1 ' ,した キストとして保存します。ネストされ 値に展開し、その結果を再度入力スタックの先 ているマクロが実際に定義されて実行 頭に出力します。 可能になるのは、現在定義されている ( 5 ) ワードスキャナは、入力スタック内のテキスト 外側のマクロが実行されたときです。 を lトークンずつワードキューに読み込み、そ れらをマクロプロセッサに渡します。たとえば、 自動マクロ変数 SYSDAYの値が F r 吋a yであっ 5 .マクロの実行 た場合は、マクロプロセッサは、 %IFステート riday=F r i d a yとい メント内の条件式として、 F マクロの実行とは、 SASプログラム内でマクロを呼 うテキストを受け取ります。 び出した場合に実行される、一連の単純な動作の繰り ( 6 ) マクロプロセッサは、式 Friday=F r i d a yを評価 返しからなるプロセスです。 マクロ呼び出しの場合にも、前述したとおり、ブラ します。この場合の結果は「真」となるので、マ ンク以外の文字が続く%が検出されるので、ワードス クロプロセッサは、 %THEN節以下の処理を行 キャナは、トークンをマクロプロセッサに波します。 います。もし、結果が「偽」となった場合には、 マクロプロセッサは、波されたトークンを誠べ、それ %IFの終わりまで(この場合 %END)をスルーし がマクロ呼び出しであることを認識すると、マクロの て 、 %ELSEがある場合には、 %ELSE以下の処 実行を開始します。 理を行います。結果が「偽」となり、 %ELSEが ないときは、 %IFの次のステートメントを処理 マクロの実行中、マクロプロセッサは以下のような します。 処理を行います。 ( 7 ) %THEN節の直 f 変には、コンパイルされた %DO ロコンノ fイルされたマクロプログラムステートメ ントを実行します。 ステートメントがあります。マクロフ.ロセッサ は、この %DOステートメントから、それに t ナ 応 、 ロコンパイルき札ていないテキストを入力スタツ する %ENDステートメントまでの部分をひとつ クの先頭に出力します。 の単位として実行します。 ロワードスキャナカf入力スタックからワードキュー ( 8 ) マクロプロセッサは、 %DOステートメントの直 に転送したトークンを受け取ります。 後にあるコンパイルされていないテキストを認、 たとえば、前述したマクロ SAMPLEの実行では、次 識し、このテキスト (PROCから RUN;まで)を のような処理が行われます。 入力スタックの先頭に出力します。 ( 1 ) マクロプロセッサは、コンパイルされた %IFス ( 9 ) ワードスキャナは、入力スタック内のテキスト を 1トークンずつワードキューに読み込みます。 テートメントを実行します。 %IFステートメント を実行するためには、 %IFキーワードの直後に これらのトークンには、プランク以外の文字が続 記述された式を評価することが必要となります。 く&記号や%記号は含まれていませんので、ワー ( 2 ) マクロプロセッサは、コンパイルされていない ドスキャナは、マクロプロセッサを起動せずに、 テキスト (&SYSDAY=Friday)を認識し、この そのトークンを SASコンパイラに渡します。 テキストを入力スタックの先頭に出力します。 ( 1 0 ) そして、 RUNステートメントがコンパイラに ( 3 ) ワードスキャナは、入力スタック内のトークン よって解釈された時点で、 PROCステップが実 をワードキューに読み込みます。プランク以外 行されます。 の文字が続く&記号をワードキュー内に検出した 結果、ワードスキャナは、マクロプロセッサを ( 1 1 ) マクロプロセッサは、 %ENDステートメント により %DOグルーフ。の終了を認識し、続いて します。 %MENDステートメントを認識します。 にU 4にU 起動し、そのトークンをマクロプロセッサに渡
( 1 2 ) マクロプロセッサが%MENDステートメントを ロ SASコンパイラおよび SASシステムの他の部 実行した時点で、マクロ SAMPLEの実行は終 分は、ワードキューを介してワードを要求しま す 。 SASコンパイラは、ワードキューを介して 了します。 受け取った SASステートメントをコンパイルし 上記に示したように、マクロ SAMPLEの実行は、い ます。 くつかの単純な動作の繰り返しから構成されています。 ネストしたマクロ定義やネストしたマクロ呼び出 ロ SASコンパイラが完全な DATAステップまたは しを含むマクロを実行した場合も、マクロ実行時に PROCステップを受け取ると、そのステップが %MACROをコンパイル・保存し、マクロ呼び出しを 実行されます。 検出した時点で実行を行うので、「マクロのコンパイ ロマクロのコンパイル中には、その環境内でのマ ル」と「マクロの実行」を繰り返すものです。 クロの実行や、他の SASシステムによるプログ ラム処理 (SASステートメントのコンパイルや 6 .再帰的なマクロ 実行など)は行われません。 ロマクロの実行が開始された後も、 SASコンパイ 直接または間接的に自分自身を呼び出すマクロのこ ラや SASシステムの他の部分はワードスキャナ とを、「再帰的なマクロ」と呼びます。次に示すマクロ を介してワードを要求します。マクロの実行中、 FACTは、マクロパラメータ NUMの階乗を生成する マクロプロセッサは入力スタックに生成したテ 再帰的なマクロです。 キストを出力します。ワードスキャナがそのテ ~~acro キストを処理している聞は、マクロプロセッサ fact(num); による処理は中断されます。ワードスキャナに &num=O o r &n山 n = l ~.then 1 ; ' l .else ' l .eval(&num*' l .fact(' l .e val(&num‑l))); ~.if ~~end よってワードキューに読み込まれたワード(トー クン)は、その内容に応じて、マクロプロセッサ f a c t ; か SASコンパイラのいずれかに渡されます。こ 上記のマクロは、 %EVAL関数の中でマクロ FACT自 こで SASコンパイラが完全な DATAステップま 身を直接 1ヂぴ出しています。マクロプロセッサは、マ たは PROCステップを受け取ると、そのステッ クロ FACTの実行中に、 %EVAL関数内に記述されて プが SASシステムによって実行されます。 SAS いるマクロ FACTの呼び出しを検出し、再度マクロ システムによる DATAステップまたは PROCス FACTを実行することになります。たとえば、次のよ テップの実行中には、ワードスキャナによるテキ うにマクロ FACTを呼び出すと、 スト処理やマクロの実行は中断されます。 SASシ ステムによるステップの実行が終了すると、 SAS ' l .p ut 車車*'l.fact( 4 )車 車 車 車 ; コンパイラはワードスキャナを介してワードを 再度要求します。その後、ワードスキャナが現 次の結果が得られます。 在のテキスト処理を終了すると、マクロの実行 車車 *24車 車 * が再開され、新しいテキストが生成されます。 再帰的なマクロは特殊なテクニックであり、通常のマ クロプログラムで使用することはほとんどありません。 8 .効率的なマクロの使用 それに、脱出条件を誤ると、無限ループに陥る可能性も あるので、構築の際には、特に細心の注意が沼、要です。 マクロを用いた場合には、マクロを使用せずに直接 7 .ここまでのまとめ SASステートメントを記述した場合に比べて、特に 入出力が増加します。それは、マクロ機能が「直接ス テートメントを入力する」という人的資源を省く代わ 以上のように、マクロプロセッサによるマクロのコ りに、ある程度のコンピュータ資源を利用するからで ンパイルおよび実行は、他の SASシステムによるプロ す。したがって、「効率的なフ.ログラミング」とは、い グラム処理と Eいに関係しながら進められます。両プ かに人的資源とコンピュータ資源をバランス良〈利用 ロセスの関係や機能の違いを以下にまとめて示します。 できるか、ということです。それを支援するのがマク 546
1 本コメント ロ機能であって、マクロ機能を使うこと自体が目的で はないのです。 のように記述します。 マクロの定義や呼び出し方法にはいくつかの稀類が このように少し気を配るだけでかなり効率的なプロ あります。これらは、定義されるマクロの性質(汎用 グラミングにつながります。他にもいくつか注意する 的か否かなど)によって使い分けられるべきです。 点を上げてみましょう。 ロプログラムとして、定義と呼び出しを対話的に ロマクロを利用しないで済むなら、できるだけ SAS 行う方法。 ステートメントで記述します。 対話セッションで、その都度プログラ 口不要なネストや分岐、ループはできるだけ避け ムを記述しているとき、マクロを使え てください。 ば、明らかな労力の削減がはかれると 思われる場合などに利用します。 ロマクロ関数や自動呼び出しマクロにある機能を ロマクロ定義プログラムだけをテキストファイルに できるだけ利用してください。 保存して、 SASシステムオプション SASAUTOS の示すディレクトリに置き、自動呼び出し機能 9 .マクロのデバッグ によって、呼び出し時にコンパイルと実行を行 う方法。 汎用的に利用できるタイプのマクロ マクロには、デバッガの機能は今のところありませ で、特に利用頻度が少ない場合、利用 ん。しかし、 SASシステムオフ。ションや、 %PUTな するのに適しています。特に、マクロ どを利用すれば、ある程度体系的なデバッグ作業を行 をネストして定義している場合に有効 うことが可能です。 です。 マクロに関する SASシステムオプションは次のよ うなものがあります。 ロストアードマクロ機能を用いて、永久 SASデー タライブラリにコンパイルされた形で保存して IMPLMAC おき、呼び出し時に実行だけを行う方法。 ステートメントスタイルのマクロ呼び アプリケーションに組み込まれた定型 出しを{吏えるようにします。 t jい場 処理などの、比較的利用頻度がi 合、コンパイルに要する時間やメモリ MACRO を節約できます。 SASプログラムでマクロ機能を使え もちろん、どの場合でも、定義されたマクロが無駄の るようにします。 ないものであることはいうまでもありません。 たとえば、プログラムを記述する上で、「コメント」 MERROR は、メンテナンスを考える場合には不可欠です。 SAS マクロ呼び出しを展開できないときに ステートメント内や SCLソース内に記述するコメン マクロプロセッサが警告メッセージを トは、 出すようにします。 本コメント; SERROR /本コメント本/ のように記述しますが、マクロはテキストを生成する マクロ変数参照を展開できないときに ものですので、これらも立派なテキストとして扱われ、 マクロプロセッサが警告メッセージを マクロプロセッサは「処理」してしまいます。そして、 出すようにします。 SASコンパイラに波されて初めて「コメント」と認識 MLOGIC されるので、コメントの量が増えると、処理するため に使用するメモリやコンパイル後に保存されるエント マクロの実行をトレースします。 リのサイズが増えて、実行時の負荷が大きくなります。 にU ワ 4t マクロプロセッサが「処理」しないコメントは、 MPRINT
マクロの実行によって生成されたすべ AUTOMAT1C SYSDAY Friday てのステートメントを表示します。 GLOBAL̲ SYMBOLGEN すべてのユーザ作成グローパルマクロ マクロ変数参照の展開結果を表示し 変数を出力します。下記のように、先 ます。 頭の IGLOBALJ に続いて出力され ます。 MAUTOSOURCE GLOBAL GBLMVAR TEXT3 自動呼び出し機能を使えるようにし ます。 ーLOCAL MRECALL 現在参照可能なユーザ作成ローカルマ 未定義のマクロを見つけるために自動 クロ変数を出力します。先頭の文字列 呼び出しライブラリを再検索するかど は、現在実行中のマクロ名になります。 たとえば、次のように %TEST1を実 うかを指定します。 11‑したときには SASAUTOS ' l . MACRO TEST1; 自動呼び出しライブラリを指定しま ' l .DO 1=1 ' l . TO 2; す 。 ' l .PUT ̲LOCAL̲; ' l .END; MSTORED ' l .MEND TEST1; 保存されたコンパイルマクロコードを ' l . TEST1 実行します。 次のように ITESTIJが先頭文字列に SASMSTOR なります。 コンパイルマクロコードを含むライブ TEST1 1 1 ラリ参照名を指定します。 TEST1 1 2 また、マクロ実行中のマクロ変数の値を知る方法とし USER̲ て、最も一般的なのが、 %PUTステートメントを利用 する方法です。 現在参照可能なユーザ作成マクロ変数 これまでの %PUTステートメントでは、テキストし を出力します。グローパル変数の場合 か出力できませんでしたが、先頃リリースされた「リ には IGLOBALJ、ローカル変数の場 . 1 1 J では、大幅に拡張がなされました。この リース 6 合には、現在実行中のマクロ名になり リリース 6 . 1 1で拡張された、 %PUTステートメント ます。 に使用できるキーワードを紹介します。 これらのキーワードを利用するには次のように指定し ̲ALL̲ てください。 すべての参照環境で現在定義されてい ' l . PUT ̲ALL̲; るすべてのマクロ変数を出力します。 ' l .PUT ̲AUTOMAT1C̲; ' l .PUT ̲GLOBAL̲; ̲AUTOMATIC ' l .PUT ̲LOCAL̲; すべての自動マクロ変数を出力しま ' l .PUT ̲USER̲; す。出力される自動マクロ変数は、イ ンストールされたフ.ロダクトとオペレ また、マクロのコンパイルエラーの大半は、マクロ ーテイングシステムに依存します。下 ステートメン卜やマクロ関数のスペルミスです。主な AUTOMATICJ 記のように、先頭の I メッセージとそれに対する一般的な対処方法を列挙し に続いて出力されます。 ます。 548
WARNING:記号参照 x xを展開していません. SUBMITを繰り返してしまうと、そのネストが深まっ て、結局復旧のために SASセッシヨンを終わらせて 1 &名前」の形で参照されるべきマク しまったという経験をお持ちの方も少なくないと思い ロ変数が定義されていないか、参!!告で ます。 きないローカルマクロ変数を指定し そのような場合には、次のステートメントを何度か ています。一番多いケースが、 DATA 実行することによって、様々なエラーメッセージの後、 ステッフ.インタフェースとして CALL DATAステップの処理の終了を示すメッセージがログ SYMPUTにより定義するマクロ変数 に出力されれば、オープンされたクオート処理関数や を、同じ DATAステップ内で参照し %MACROがクローズできたことになります。 ようとする場合です。 % * ) ' l ,MEND ;DATA ̲NULL̲ ;RUN ; CALLSYMPUTは 、 DATAステップ が SASシステムによって実行される 出力されるメッセージ ときに動作するのに対して、マクロ変 NOTE: DATA statementで以下のシステム 数参照は、 DATAステップ実行以前に リソースを使 解決されようとするからです。 ERROR:必要な %THENステートメントがあり ません.ダミーマクロをコンパイルします. mしました: 実行時間 X.XX 秒 CPU 時間 X.XX 秒 そして、プログラムを正しく修正してください。 %IF‑%THEN‑%ELSEや %DO‑%TO‑ %END ,%MACRO‑%MEND など 1 0 .参考文献 は、必ず対になっていなくてはなりま せん。このようなエラーが発生した場 合は、%が欠落していたり、キーワー ドのスペルミスがほとんどです。 口 IBaseSASソフトウエア SASマクロ機能使用法 およびリファレンス V e r s i o n6 .SecondE d i t i o n J まれに、記述上は正しく対になっているが、認識され (SAS出版局) ないという場合があります。この場合は、クオート処 理関数で括弧が足りないために、それ以降のマクロス 口 テートメントをすべて取り込んで、、 %MENDさえも ISASS o f t w a r c Changes and Enhanccmcnts, R巴l e a s e6 . 1 1J(SASI r 国 i t u t eI n c . ) 認識できない状態に陥っています。何度か RECALL う 549
日本 S A Sユーザー会 (SUG I‑J) RapidDataWarehousingにおける SASシステムの利用 井上憲樹 セールス&マーケティング、本部マーケティング、部コンサノレティングセク、ンョン 株式会社 SASインスティチュートジャパン U s i n gt h eSASSystemf o rR a p i dD a t aWarehousing N o r i k iI n o u e a r k e t i n gD e p a r t m e n t, S a l e sa n dM a r k e t i n gD i v i s i o n C o n s u l t i n gS e c t i o nM ラ SASI n s t i t u t eJ a p a nL t d . 要旨 現在、データウェアハウスとしヴキーワードで各社が様々なシステム構築の提案を行っている。 SAS社では、データウェアハウスの構築から利用まで、のすべてのソリューションを提供している。 本論文およびフォーマルデモンストレーションで、おこなう同一タイトノレのデモで、は、 SASシステム が提供してしも機能を基に、データウェアハウスプロトタイプ。モデルを作成するためのラヒ。ッド、デ、 ータウェアノ、ウスプログラムの概要を紹介する。 キーワード: データウエアハウス、 BaseSAS、SAS/AF、SAS/EIS 1 .はじめに SASシステムは、 1 9 7 6年に統計解析用のソフトウェアとして開発され、現在までユーザーニ ーズを吸い上げ必要とされる機能を追加拡張し、データウェアハウスの構築から利用までのす べてのソリューションを提供で、きるまで、に成長してきた。日本では SASシステムとし 1うと統計の利 用者を想像する人が多いと思うが、実は、米国ではシステム部門のツールとしてもトップ、ンェア を持っている。もちろん日本でも実験、研究またビ、ジネスデータ分析の分野で、多くのユーザー に支援、利用されている。分析用のデータ形態は、利用しているコンピュータやデータを入れ たソフトウェアによって様々である。それらのデータを分析するためには、分析用のソフトウェア に合わせてデータ形式を変換しなければならない。入力形式がソフトウェアによって一様で、は ないために、データ変換用のプログラムを作成することになる。通常、データの蓄積と分析は別 のソフトウェアを利用することが多い。そのデータを分析しようとすると、蓄積しているデータを抽 出、変換し、分析ソフトウェアに読み込み分析に入る。複数のソフトウェアの組み合わせで、この ような処理の流れを作ると必然的にユーザーが覚えることは増える。そこで SASシステムを当初 F にU 1i ヘU
開発するときから様々な形態の分析対象データを処理できるようにデータ入力、加工用に基本 ステップで、は、メイ 機能の中に DATAステップとしづプログラム言語を用意したので、ある。 DATA ンフレームの S M F ( S y s t e mM a n a g e m e n tF i 1 e ), R M F ( R e s o u r c eM a n a g e m e n tF i l e )とし、ったシステ ム管理用のデータから一般的なキャラクターデータまで広範囲なデータ形式や複雑なレイアウ トのファイノレを扱えるようになっている。また、 RDBMSの利用に合わせて S QLのサポートや各 種 DBMSを簡単に利用するためのデータベースエンジン ( S A S / ACCESSソフトウェア)も用意し ている。データウェアハウス構築には、このようなデータの変換、加工機能が必須である。この 部分をデータに合わせて複数のツールや言語を組み合わせて利用するのは、各ツールの習 得やツール聞のインターフェースの接続確認、保守に時間がかかり、システム構成や管理も複 雑になってしまう。 SASシステムを利用することにより、様々なデータソースからのデータ抽出、変換等が l本化 でき、構築のための時間を短縮できる。ここまで、データを分析(利用)するための前処理につい て簡単に述べてきたが、利用するための集大成がデータウェアハウスで、あると言っても良いだ ろう。データウェアハウスとしづ概念ができてからそれに必要な機能を用意したのではなく、 S AS 社で 1 9 9 3年より提唱してきたインフォメーション・デ、リパリー・ソフトウェアとしづ概念、が、ピル・イ ンモン氏の提唱するデータウェアハウスの概念により一般化されたのだ、と考えられなくもない。 実際に S ASヨーロッパで、は、 1 9 9 4年からデータウェアハウスの概念と同様のアプローチで、ユー ザーに受け入れられており、現在までに 300サイト以上の実績が上がっている。 では実際に、データウェアハウスを構築するために、どのように S ASシステムが利用できるの かを説明する。 2 .データウェアハウス構築へのアプローチ デ、ータウェアハウスの構築に必要な S ASシステムで提供してしも機能を見る前に、何のため に構築するのか、どのように構築していけばいいのかを考えてみる。 データウェアノ¥ウス構築のためには、 1 )確 認 ゴ、ール:会社(組織)レベルで、の承認を得る データウェアハウスの定義 会社としてのメリットの定義 90日間で効果測定可能な結果の定義 I T部門とビジネスユーザ一部門の協力体制のあり方 プロジェクトの範囲の概要定義 計画の概要定義 検討書類のまとめ U RU ︐ ヮ Fhu
2 ) 構築に必要な情報の収集 ゴ、ーノレ:ITとエンド、ユーザーの正確な要求を定義するための処理を繰り返す プロジェクト範囲の決定 ビジネスルールの決定 インタビ、ュー 現状のプロセスの確認 現在必要としているレポート等がデータウェアハウスから利用で、きる、 e t c 要求定義書の作成 計画の確認 計画書の作成 3 )デザイン/モデリング ゴ、ール:データウェアハウスの構造、内容、取り込み方法の決定 論理モデルの定義 目的別、多次元、時系列 非正規化 集中型、分散型 物理モデ、ルの定義 スタースキーマ 多次元テーブル サマリーテーブル データ変換モデ、ルの定義 フ。ロトタイプ作成 4 )実装 ゴ、ール:管理、編成、利用の 3レベルのデータウェアハウスを構築する 管理 データ抽出、変換、ローデ、イング、スケジュール、メタデータ管理 編成 データウェアハウスリポジトリ、メタデータリポジトリ、集中型、分散型、 e t c 利用 データマイニング、 EIS、OLAP、分析、 e t c 5 ) レビュー 短期レビュー どうすればより良しものができるか? 即座に享受できるエンドユーザ、一部門の利益は何か? 即座に享受できる IT部門の利益は何か? 正しいツールの選択をしたか? ‑553
中期レビ、ュー どのような結果を出したか? どのようにして結果を出したか? 出した結果は企業レベノレのものか? 長期レビュー デ、ータウェアハウスは企業を前進させたか? デ、ータウェアハウスは競争力つけたか? 投資の結果は何か? 他の部門はデータウェアハウスから利益を得られるか? 期待したことと結果に違いがなし、か? X) プロジェクト管理 このような lから 5まで、のステップとそれをまとめるプロジェクト管理が必要である。また、情報系 システムとしてデータウェアハウスの構築、利用は、 l度作成したら終わりではなく、これらのステ ップを繰り返し進めていくことが必要である。データウェアハウスを中心としたシステムは、 1度 仕 様を決定したら、それをそのまま長期に渡り運用するのではなく、ユーザーのニーズを満たし会 社の競争力を常に高く保つために繰り返し、構築、利用してしてものである。 3 .ラピッドデータウェアハウスプログラムの目的 第 2章で、述べたデータウェアハウス構築、利用のための 5つのステップからなるアプローチの 内、まず始めの確認、のステップで、 IT部門とエンドユーザ一部門のプロジェクトチームで、どのよう にデータウェアハウスが構築、利用できるのかを評価しなければならない。そこで、紙と鉛筆で の評価表を作るだけでなく、実際のデータを利用して具体的な例をプロトタイプとして作成し、 必要となる項目を評価することが望ましい。このとき、注意しなければならないのは、エンドユー ザーの求める利用部分であるレポートやデータ分析、ユーザーインターフェースとし、ったフロン トのシステムだけでなく、構築のための管理、編成についてもプロトタイプで、評価することで、ある。 管理、編成、利用の 3つのパートの組合わせを確認して、初めてデータウェアハウスの評価、確 認ができるのである。もちろん、あくまでもプロトタイプでの評価であるため、大規模なシステムを 作成する必要はなく、まず、基幹システム上のクリテイカノレなデータを使用して、一連の評価の 流れを確認できればよい。このような評価を行うことにより、検討するシステムのメリット、デ、メリッ トが明確になり、次のステップへうまくつなげることがで、きるので、ある。 ‑554‑
4 .ラピッドデータウェアハウスプログラムで提供するもの ここで SASインスティチュートジャパンで、は、 9 6年 3月より「ラピッドFデータウェアハウスプログF ラム」としづサービスを開始した。このサービスの目的は、 SASシステムを利用することによりし、か に早くプロトタイプが作成で、きるか、またデータウェアハウスの 3 つのパートにどのように適用で、 きるのかを確認して頂くためである c ‑現状のヒヤリング .システムの確認、 ・ユーザーニーズ、の確認、 .プロトタイプの作成 .教育セミナー ・プロトタイプ評価 といった内容を含んで、いる。 このサービスにより、プロジェクトチームのスタッフが検討する時間、コスト削減、ニーズの顕在 化を手助けする。これは、約 3ヶ月で、ステップ 1 を完了させる目的で、プロク守ラムしている。 I T部門の方の中にはシステム開発品、うと、システムの最終形をターゲ、ットに大規模にシステ ム開発を進めるとしづ基幹系システム構築に良く見られるような方法をとる方が見受けられる。 データウェアハウスで、は、ユーザーニーズを全て洗い出し、それに合わせてデータソースやデ ータストレージ、フロントのシステムの選定、開発とし、う lつのシステムを長期間かかって構築す るやり方では、タイムリーな情報提供、情報分析が行えない。このような開発の進め方ではシス テムが出来上がったときには、既にシステムが陳腐化していることになる。よって、データウェア ノ、ウスの構築で、は、ニーズの出てきた部門から小さく始めて大きく育ててし、くことが大切である。 まずは、プロトタイプからデータマートへ、そしてエンタープライズデータワェアハウスへと進めて 行くべきであると考える。 F内U RU RU
5 .データウエアハウスを構築するための SASシステムの機能紹介 ここでは、 SASシステムによるラピッドデータワェアハワスプログラム用に進めているツールを 元にデータワェアハワス構築に関する幾つかの例を紹介する。 デ、ータワェアハワスを管理、編成、利用と 3 つのレベルに分けてシステムを構築していくこと が実際の利用を考えた場合、利用しやすい。 5.1管理 まず、管理では、基幹データや、その他のシステム上に点在しているデータをデータワェア ノ¥ワスへ利用者の使いやすい形に変換、整理して蓄積していく。 これは、基本的に I Tスタッフの仕事となる訳だが、定型的な処理や、 lつ lつのデータソース からデータワェアハワスへデ、ータのローデ、イングをする流れを登録してやるような管理者用のメ ニューシステムを作るのが便利である。下図は、データワェアハワス管理者向けの管理、編成 作業用メニューの l例である。ここで注意が必要なのは、データの変換は、目的により違うため 全てが機械的に処理できなし、ことである。この部分について SASシステムでは、データ加工、 変換等で有効な DATAステップ。としち言語や PROCステップとし、うパラメータ形式のプログラム ライブラリを提供している。 ! S A SWarehouseManagerI l ' l m p o r t S巴qu巴 nti aI Data Add S巴quential Data (REG) iAdd SAS DBMS Tables lCreate DBMS Views/Tabl巳S Add Preconsolidat巴d Tabl巳 :Basic Consolidation IOLAP Consolidation ~Bui I d OLAP Exploitation E 図1.データウェアハワス管理メニュー例 一5 5 6
5 .1 .1データ抽出 データ抽出は、各種 DBMSに対してのアクセスエンジンを用意しているので、 DBMSのテー ブルから必要とするデータを簡単にメニューで、指定し、抽出することができる。もちろん SQLベ ースのデータ抽出を行うこともできる。下図は、テキストファイルからデータを抽出するメニュー 例である。このような GUIベースのデータ抽出メニューも SASシステムリリース 6 . 1 1からは容易 に作成できる。 Fie!d Name │DEPT Descriptive Labe! I IDepartment name ! )C haracter 仁三百D1J亡=コZ コ E了 ‑ ヨ│ ! i l l : 到 : oNumeric ピ)日5 t E J l 、附 rb~iC;H 図2 .データ抽出メニュー例 Fhu F 町U ワ ‑
5 .1 .2データ変換 データの変換ステップで、は、様々な抽出したデータの形式を統一し、値のエラーチェック、ク リーニング、要約をし時間の流れに沿って整理、統合する。データの値の非正規化や整理には、 SASシステムで提供しているフォーマット機能を用いることにより簡単に処理できる。下図は、抽 出したデータから要約データへ変換するメニュー例で、ある。 舗器盤鰭盤踊寵轄露鰭盤欝鑓欝韓欝醸鍾盤麓饗欝鐘畿鐘議題鍾嚢翠│ I n p u tT a b l巴 │ I N F O D B .SALES│圃 O u t p u tT a b le I D W D A T A .S A L E S I D e s c ri p ti o n s 0Short 巴L o n g 1 C o n s o li d a t巴 t a b l巴 o fP r o d u c tS a l e s ) [ 1 ] ] [ 1 ] CI a s si f yB yr S Y S T E MC O U N T R YP R O D U C T A n a ly s el L Y E A RS A L E SB U D G E T S t a ti s ti c I S U M )[ 1 ] S u b s e t IN O │ 圃 p r e a ti o n 直 占bS p e c i f i c a t i o n 図3 .データ変換例 5 .1.3データローディング データ抽出、変換で利用する DBMSエンジンや S QLまた B a s eSASソフトウェアに含まれい るデータ要約機能等を使ってデータウェアハウスへ統合整理したデータをロードする。 また、この時には、同時にデータソースからの抽出からローディングまで、の処理ログ、も保存して おく。保存したログにより、正しくデータがローデ、イングされたかを容易に確認できる。 5 .1 .4スケジューリング 作成(生成)した処理プログラムは、データの性質により目次、月次等の間隔で自動的に追加 されるように、ジョブをシステムで提供してしもジョブ、スケジューリングソフトウェアに登録する。 ‑558‑
5 .1 .5メタデータ管理 S ソフトウェアで、提供しているメタデータ デ、ータウェアハウスのメタデータについては、 SAS厄 I 登録機能と SASデータセットのディスクリプタ情報が利用で、きる。 D e s c ri p ti o n T y p巴 C r巴a ti o nD a t巴 L a s tU p d a t巴 D司t巴 。「巴 a ti o nJ o b C r巴司tionF r巴q u e n c y N e x tE x e c u ti o n P a r巴n t D A T A 25APR96:20:43・02 25APR96:20・43:02 I N F O D B .J O B S .S A L E S .S O U R C E D a iI y 2 5 A P R 9 6 S A SC o n s o li d a t i o n . . S A S 図4 .テープ、ル情報表示メニュー例 5 . 2編 成 編成は、データウェアハウスにロード、されたデータのディクショナリー管理を行う。 また、 SASシステムでは、 DBMSのように OLTP等を目的とした頻繁なデータ更新のためのオ ーバーヘッド、を持たないためデータウェアハウスとして適したパフォーマンスを提供している。 5 . 3利用 テeータウェアハウスに貯えられたデータに対して、 SAS システムでは、 DSS、E1S、OLAP、時 系列予測、統計解析、その他様々なユーザーニーズを解決する機能を提供している。 ‑559‑
6 .将来の展望 SAS社では、現在提供してしも機能をより強化するための下記のような機能を SASシステム リリース 6 . 12以降に予定している。 SPDS ‑スケーラプルパラレルデータサーバー デ、ータウェアハウスのストレージとして並列データ検索、ローデ、イング機能を提供する。 ユーザーは、既存の S ASデータや DBMSのビューと同様に扱えるのはもちろんデー タウェアハウスからの高速なデータ抽出が行える。 MDDB ‑多次元データベース S A S I E I Sソフトウェアへの拡張として予定している OLAP対応データベース機能を提 供する。多次元データピ、ューアやド、リノレダウンレポート等で、の高速なデータスライスア ンドダイスやド、リルダウン機能に対応する。 SAS 川 E REHOUSEADMINISTRATOR データウェアハウス構築時の管理、編成を UIベースのツーノレ 行う G デ「ータウェアハウス管理者が、マウス操作で、簡単にデータの抽出ジョブ、の作成、登録 からメタデータの管理までが行えるようになる。 以上のような機能拡張、追加により S ASシステムは、データウェアハウス構築、利用に関しての 適正、効率化をいっそう進めていくことだろう。 最後に、本論文で、紹介した内容がユーザーの'情報系システム構築の手がかりになれば幸いで ある。 ρhu 巳 u ハU
日本 S A Sユーザー会 (SUG I‑J) iSASシステムにおけるデータウェアハウス・メソドロジ」 ・ ‑D ataWarehouseM e t h o d o l o g yu s i n gt h eSASS y s t e m ‑ ‑ ( 株)SASインスティチュートジャパン セールス&マーケティング本部 ソリューション営業部 青物J I 恭弘 SASI n s t i t u t eJapanL t d . S a l e s&MarketingD i v i s i o n S o l u t i o nS a l e sDepartment Y a s u h i r oA o y a g i 要旨 現在データウェアハウスにおいてビジネスでの構築要望は非常に大きな盛り上がりを示しております。但し 現状では、まだまだデータウェアハウスの計画と構築において充分な資料及び、成功事例における見本的なメ ソドロジは数少ないと思います。 データウェアハウスが、日本での必要な情報系のキーコンセプ卜になり始めた、 1994年度からデータウェ アハウスへのビジネスソリューションを提供してきた SASシステム。 SASシステムにおけるデータウェアハウスの管理、編成、利用における 3つのコンポーネントにおけるメ ソドロジーと、構築の計画に対するビジョン・メイキングそしてこれからのデータウェアハウスの変遷を論じ ます。 キーワード: ・データウェアハウス ・データウェアハウス・コンポーネン卜(管理、編成、利用) .メソド、ロジ ‑データウェアハウス計画ヒ守ジョン .SASシステム 1.データウェアハウスとは? 現在米国、欧州にて新しい情報化戦略が創造され活用されております。この現象は、まさしく情報インフラ の新たなる方向であり、インターネット、イントラネット、ワークフロー、マノレチメデ、イア等の情報公開のト レンドと併合して、ビジネス環境における情報活用のイニシアチィブを取ろうとしております。この現象の創 造は、過去の成功が今や引き続き未来に渡り、その栄華を保ち続けることができない現在、 大競争目寺代、グ ローノ〈ノレネットワーク社会 メガチェンジ時代、ワンツーワンマーケティング企業は、し、かに適切な戦術、 戦略で生き残りと繁栄を導き出し、そして有効な意思決定と仮説検証を行う必要があります。 また、 1 9 6 0年からデータのコンビュータ化が始まり、企業のビジネスマンは、年々 1% ずつのデータ処理の 増加がなされているとの情報もあります。これは、 1960年を仮に 1 , 000レコードとすると現在、多かか少な かれビジネスマンは、 35,000レコード相当のデータから、様々な判断及び事実把握をしなければなりません。 そしてこのデータ増加傾向は、毎年正規的ではなく 2次曲線で増加を続けています。今後、データは、私たち のビジネス環境ばかりでなく生活環境をも左右する重要な位置付けになることは、間違いのない事実だと考え られます。 5 6 1ー
現在日本企業の多くが行っている事業計画、営業方針、新製品開発等を考察すると、ある限られたデータを 基にその専任部隊が、各々の問題を解決して来たのではないでしょうか。勿論この手法し、わゆるサッカー型チ ーム方式は、日本に数々の成功をもたらして来ました。しかし、現在の状況は、まさしく混沌としたノ fラダイ ム・シフト社会であり、あらゆる要因が密接に連携して動き、それも時空を越えた環境で、大きな事象が誕生 してます。現在私たちビジネスマン特にホワイトカラーの知的生産労働者が求められている姿は、まさしく平 均的な人物像ではなく、卓越した知性と気力を持ち、アグレッシブに実行ーする人間で、はないでしょうか。つま りこなしと仕掛けの仕事をバランス良く行い、過去の成功からの延長ではなく、いつで、も先進の問題や行動に チャレンジするタイプが今後の厳しいビジネス社会に求められていると考えられます。 ここで、臼々増えてして判断とその成果、そして果敢にチャレンジしなければ生き残れないコア・コンピタ ンス(卓越性)な時代に、それを実行させる経営者、ナレッジワーカーは、何が必要になるでしょうか? また、現在の情報基盤において揺るぎない自信を持たれている経営者は、どれだけし、るのでしょうか? そして、現在適切な情報を使用して洗練されたビジネス環境で仕事を探求しているビジネスマンがどれほどい るでしょうか? ここに大きなチャンスがあることを、米国、欧州の先進情報化企業は知っていました。これらの会社の現在 の成功は、データをし、かに情報化して使用できる環境を再構築するか、また、現在の環境からその仕組みを構 築するのか、いわゆる情報基盤の再編成に大きな成功の要因があると考えられます。 また、意思決定に何が必要なのかも充分研究し、現在がし、かに意思決定にふさわしくない環境でのデータ利 用であったかを、独自の手法で完成させて行きました。 では、意思決定に必要な条件とは何か? それは、私たちの経験と感をし、かに刺激して新たなシナリオを創造させることにあります。つまりワクワクす るようなことが、意思決定の重要なキーワードになるわけです。 現在私たちは、コンビュータの画面に向かし、ワクワクするような情報をキャッチし、その情報から綿密なシ ナリオを創造することが出来るでしょうか?これは非常に困難な状況にあると考えられます。 現実問題、情報は、何処にあるのか? どのような形態で保存されているのか? 今、利用できるのか? そのデータの内容はどのようなものなのか? 様々な障壁を越えなければ、企業の金庫にあるデータは、利用できません。 なぜ、利用できないのか? 安全性、機密保持、パフォーマンスの問題、情報リテラシーにおける問題。 このような理由てベ私たちは、孤島化した情報を正確な情報と思って利用するしかありません。また、利用出来 たとしても、データはあくまでも情報ではなくコンビュータの処理の方向で相生してますので、まるで宇宙語 を読むように難解で、意味のない状況にあります。 そして、長い時間をかけてたくさんの人の力と時間を使用し、データを利用できたとしても、現在の環境で はせいぜい 2次元のテーブルを眺めて、グラフを作製し、そのデータの持つ意味を、右下がりなのか?右上が りなのか?を見て「エイヤー」っと分析するだけです。 しかし、データはそれ以降何も私たちに語つてはくれません。 何故でしょうか? 現在私たちが使用しているツールを考えて見ましょう。企業には、様々な職種の方が居ます。そして、様々 な歴史と経験を持っています。このような違った顔を持つ人々でありながら、現在使用しているツールは、み な同等なものではないでしょうか?高い給与を貰っている人も、大量の品閣を抱えている人もいない人も、 皆同じツーノレを利用し、そこで生成される結果に満足してしまっている現状があります。これで本当の意思決 定ができ、そして人が考え付かないことが生まれてくるのでしょうか? 現在、情報基盤の再構築において私たちの取るべき手法は、まさしくこのような環境をインテグレートする ことであり、ビジネスをし、かにインテリジェンス化することにあることは、紛れもない事実です。 そして、この手法を実現するための近道が、データウェアハウスです。データウェアハウスとは、 「データ を情報に変え、快適な情報化戦略を行う」ことであり、まさしく噌大する情報を適切に把握し、次の戦術、戦 略へと導く手法であります。データウェアハウスにより、今までなかった新しい情報が誕生し、企業をまさし く大きな発展へと導き、決練された車邸裁体へと変遷して行きます。 ‑562‑
2 .データウェアハウス・コンポーネン卜 2・1.データウェアハウスの管理層 データウェアハウスを構築する際のコンポーネントとして図 1にあるように管理、編成、利用の 3つのコン ポーネントがあります。下記にこのコンポーネント毎の構築の SASシステムにおけるメソドロジとそれに対 するソリューションを説明します。 管理 利用 経営情報システム メタペι スマネージャ l 3 喜望gr;デー金分析呈 データウェアハウス管理者 データウェアハウス利用者 図l ( データウェアハウス・コンポーネント) データウェアハウスの基本定義は「基幹系システムデータを物理的、論理的に分離運用し、↑知直な情報系シ ステムを支援、活用する Jことであり、まず第一に成し遂げなければならないことは、 (ひデータのアクセス技術 基幹系システムデータ形式のハンドリング、スキャニング などのアクセス技術が上げられます。現在基幹系 システムの大半は、メインフレームにて稼動しておりそのデー夕、ファイル、テーブルは、様々な形式で保持 されております。 SASシステムは、このような様々な形式のデータ群において、最適なアクセス技術を提供 しております。 P データ群としては、テキスト形式のデータや DB2、ADABAS 、 ORACLE、 SYBASE、 INFOR l ¥ 直X、 INGRES、 ODBCなどの代表的な RDBを 、 SASシステムの共通インターフェースからアクセスできます。また、アク セス手法もテーブルをスキヤニング、し、物理的にコピーを行し、情報支援系での分析、解析などの高速化を実現 する SASデータセットと呼ぶリレーショナルなテープ、ル形式にすることが可能です。 なおかつ、基幹系データをダイナミックに利用する論理型データ利用も可能です。これは、 RDBのテーブ ルイ青報を SASシステムの共通インターフェースにてスキヤニング.し、アタッチした RDBのテープ、ルイ青報や カラム情報を SASシステムのアクセスディスクリプタの定義により、 VIEW形式の利用が可能になります。 このアクセスデ ィスクリプタ定義の利用で、データの二重持ちの必要がなく、いつも最新のデータを利用で き、その上 SASシステムからの定義により必要な項目を限定し利用でき、項目のフォーマットの変更や項目 を共通な名称、に統合することも可能になります。また、 VIEWを複数構築することで、複数のテープ、ルを論理的 にマッチマージやジョイン卜することができますので、ユーザーは、複数からなるデータ群を意識することな く利用ができます。 この 2つのアクセス技術によりデータウェアハウスの管理者は、様々なデータ群に対して共通のインターフェ ρ り にリ q u
ースでスキヤニングでき、データウェアハウスにデータを搬送するためのコピーを中心とする物理ファイルか ら、データを透過的に利用する論理ファイノレの利用を可能にし、柔軟なデータアクセス手法を可能にします。 各 種 RD 己 Engine F i l e s 物理的 Views 透過的 図 タ・アクセス技術 (めデータ統合技術 様々なデータ群のアクセスの次にくる課題は、データウェアハウスへの適切なデータ形式での移送になりま す。この際に行うことは、データの統合化でありま吹戸つまりエンドユーザーからの要望及びデータ提供シス テムからし、かにデータを簡易化及び、パフォーマンス化させるかにあります。 ここで必要になることはターゲットソースデータのジョイント及。曹数化にあります。データウァアハウス におけるピノレ・インモンのデータ定義であるデータの統合化、データのサブジェクト化、データ 0ノ世代思 I J化と いう、利用者の最も意思決定に向いている形式にデータ処理を予めここでイ示、ます。 まずは、データの統合化ですが、 SASシステムは、非常に高度な統合技術を持っております。それは、前 段でも述べました、項目の統一化を実現できるばかりでなく、項目長や項目タイプの違いをも SASシステム が吸収してくれます。 DataWarehouse I n f o r m a t i o nData 薗寵菌 日邑雲量 図昌 図3 ( データ統合テクノロジー) また、データ統合の重要な鍵をしめるデータのサブジェク卜化に対しでも図 3に示すように重要な技術を既 に利用可能であります。これはデータソースからの 1:1、 1:N、N : M への物理的、論理的運用を意味し ます。 SASシステムはこの点につきましでも、簡易な 4GL及びノンプログラミングでの運用を可能にして おります。 また、データの世代別化においても、データのある一定期間での要約、つまり年、月、週、日ゃある期間で ‑564
のデータの要約を簡単な操作及びプロシジャーでできます。 このように SASシステムは、データのエンドユーザーへの公開及び、利用を促進を可能にすることに対し、 重要な役割を果たすことができます。 ( 3 )データのローデ?イング技術 次に様々なデータ群をローディングし、データウェアハウス内に送り込む必要があります。データを統合的、 さらに期間系システムのパフォーマンスを損なうことなしにエンドユーザーへ提供するために、データウェア ハウスへのローディングは確実に行わなければなりません。この日寺に必要になることは、データの施可差に対す るスケジュール管理とローディングに対するパフォーマンスの最適化にあります。 SASシステムは柔軟で高速にアプリケーション開発が可能な、 4GL及びオブジェクト指向での開発が可 能であり、また、パッチ処理でのアプリケーション実行が可能です。図 4にありますようにデータ管理者は、 開発、管理、運用の面でスケジュール管理を行うことが可能になり、その上パイロット→プロト→サービスシ ステム→変更、修正などの処理を簡単に操作することができます。 また、ローデイングに対しても SASシステムは高速化を実現しております。 SASシステムにおけるロー デイング技術の高速化は、通常の RDB でのローディングの 5~10 倍の高速化を既に実現しております。こ の技術の裏付けとしては、メインフレームにおいて SASシステムは、各1/ 0 においてチャネルをジェネレー トする部分を独自に達成することや、各1/ 0やファイル、メモリ、 C P Uに対してかなり詳細な設定を行うこ とが可能であり、メインフレーム環境の有効的な利用も促進できます。 2 ‑ 2 .データウェアハウスの編成層 インテグレーションされた、データウェアハウスのデータをどのように保持し、エンド、ユーザーへ提供する のか、これはデータウェアハウス構築において最も重要な部分です。つまりエンドユーザーへの提供に対して のメタデータの作成が大きなユーザーへのデータ公開の窓口に成るといえます。メタデータは、データウェア ノ、ウスにおける管理者と利用者の両側面のインターフェースを持ち、データアバウトデータの意味を持つデ ータの目次および、目録の役割を果たします。簡単に説明しますと、データの 5WIH的な役割を持ち、それ を利用者へ簡易的なインターフェースにて探索、利用を可能にするものです。 SASシステムは、各テーブル、カラム情報をスキャニングする技術があり、各テーブル、カラム情報を取 得することができます。つまり管理者は非常に簡単にメタデータを作成でき、なおかつ SASシステムの高速 なアプリケーション開発技術により、短期間で作成することが可能です。また、エンド、ユーザーには使い易い ‑565
GUIを駆使したポイント&クリックにて操作ができる画面提供が可能ですので、自分の欲しいデータの探索、 利用を促進します。 さらにメタデータは、データの意味だけでなくデータの概略をも提供できなければなりません。データをダ ウンロードをして数値データのある項目での合計のロジックを実行させてはじめて、データの合計がわかるよ うなアクションでは、到底データの持つ内容や傾向などを把握するための処理としては、多大な時間を要する ことになります。そこで、初等レベルの統計値、つまり合計、平均、最大値、最小値、標準備差などを 1アク ションで見られる必要があります。そうすることにより、いち早くデータの持つ意味を掴め、データがデスク トップ環境に来てはじめてデータの内容が分かるとし寸、余計な手聞を大幅に削減できるこのことが、快適な 情報系、ンステムを構築するためにも大きなパックアップになります。もちろん、データを見ることや、レコー ドの件数がどのくらいあるのかとしづ基本的なことは、メタデータの中に網羅すべきことです。 SASシステムは、このような初等レベルの統計分析から最先端の高度な統計手法まで、すべてをプロシジ ャー化しておりますので、メタデータを作成する際に別の言苦 (3GL)を使用することなくこのような要望 に対処できます。 2・3 .データウェアハウスの利用層 データウェアハウスは、様々な環境で利用されます。その分野は、職種で分ける場合(営業支援、財務支援、 経営支援、生産支援等)もありますが、重要なことは、様々なレベノレのユーザーが企業内には、存在し、各々 経験やパックグラウンドも多種多様であることは、現在の企業経営において当然のことであります。 現在の企業のコンピュータ利用において、データのボリューム、または、レスポンスタイムを重視したコン ピュータ環境を、エンドユーザーへ提供を行っているのがほとんどではないでしょうか。もちろん、大企業に おいて各個人を対象としたコンビュータ環境への投資は莫大なものになり、また、管理面においても多様なソ フトウェアとハードウェア環境つまり、オープンなコンピュータ環境が、やもすれば、予想のつかなかった中 間経費の追加投資の必然性を生んでいることも隠しようのない事実であります。 ただし、ここで投資効果の部分を強調するあまりに、本質を見失っている情報リテラシーもあることは事実 ではないで、しょうか。つまり、データウェアハウスにおいて最も重要な投資効果と目標は、エンドユーザーに よる自立的なデータ利用はもちろんでありますが、さらに発展したビジネス・インティジェンスの実現にあり ます。 現在企業の求めているものは、ナレッジワーカ一つまり知的生産者の生産性の向上に代表される、クイック レスポンスと次のアクションを生む企業のコア・コンピタンス(知識レベル、技術レベルでの卓越性)の実現 にあります。 結論としていうならば、企業における各人への平等的な情報リテラシーが足を引っ張り、かなりの時間とビ ジネスチャンスを逸しており、潜在的な情報利用への危機が埋没されてしまってます。その問題をクリアにす るために米国では、ビジネス・インテリジェンスというキーワードにて情報系システムにおける情報利用分野 を活性化させる動きがあります。 ビジネス・インテリジェンスは、情報系のコンサノレティング、アナリスト会社であるガートナーグループが 提唱したものです。ビジネス・インテリジェンスに必要な機能として SASシステムでは、データを情報にイ ンテグレートし知識から知恵を生むためのアクションへの支援を行える、情報利用環境であると考えておりま す 。 そこで情報化されたデータを知識化させるために、どのような手法が必要であるかというと、 RDBの提唱 者であるE. F .コッド博士の oLAP(OnL i n eAn a l 件i c a lP r o c e s s i n g )の 1 2ヵ条にあるように、データ聞の結 びつきをどのように把握し、データの項目聞やレコードを関連つけて表現するかにあります。 この技術が最 近話題の多次元データ分析です。図 5にありますようにこの技術は、データを次元と階層表現することにより テーブルの潜在するデータを動的に探索できるもので、今までの詳細データからの集計ではなく、集計データ から動的な探索を可能にすることで、人間の意思決定の思考基準である大別→中別→詳細→アクションへの対 応をスムーズに行えることに大きな意義があります。 566一
. . J ! l 品 7M 以D ~-^l(!llわ冗岨ルト勺唖明智一 ー16 G : J l i 0 1困 医晶画置極誼温極量圃圃圃圃圃圃圃圃圃圃 固E s c 専亙芸王宮孟 豆1 4 手l E計 阪 = 区間)) ∞ 4 0 0 : m : o ‑‑司 斗寸﹂ ~: 9 3李 ,E錦 叫 年E血両量比E 凪国 1扇 2 0 C 同 1c四)) 。 埼玉 1草 神高) 1 1 平車 一主二j CげY 一 長 コ 」 ζi 晶巴は前年Eからの噌董 仁 二 二?でごご二ご三二千 ー SASシステムは、このようなアクションを支援するためのロジックをノン・プログラミングで構築でき、 オブジェクト指向による開発が可能ですので、プロト開発、 EUDの促進を計ることが可能です。 また、 SASシステムの持つオブジェクト群は、部品で、のオブ ジェクトではなく、ビ、ジネスプロセスを抱 合したプロセスオブPジェクトにより、目的データにおけるアクションのロジックをも自動的に作成できます。 ただ人間の思考回路は、テーブル内だけで、なく、様々な要因の因果関係から派生しますので、 SASシス テムは、多次元データ分析だけでなく、その場で関連するデータ群をマッチマージやジョイントする技術や、 データ群を複数のグラフ及びデータと連携し、 I f文、羽もe r e文などを使用しないで、目的のデータ利用をも 実現できるデータ探索技術を提供しております。 不!J用は様々であり、その人の求めているソリ ビジネス・インテリジェンスの分野におきましては、ツーノL ューションによって、大きくツーノレを変えなければならないのが現状です。 SASシステムはこのような複雑な環境を網羅するための 20以上ものプロダクトラインナップと多くのプ ロシジャーにての簡易実行が可能であり、なおかつ EUCに対応した開発コンセプトを持っておりますので、 シングルツールによる様々なビジネス・ロジックへの対応を可能にします。また、コンビュータ環境が違っ ていても、 SASシステムのマルチベンダーアーキテクチャにより、プログラム、データ保護はもちろんの こと、情報リテラシーの教育の保護をも実現できます。 3 .データウェアハウス計画ビジョン データウェアハウス構築への STEPとしてそのビジョン作成と計画を行い、情報系システムにお ける新たな挑戦をしてし、かなければなりません。そこで、以下に簡単ではありますが計画とビジョン 作成のサンプル的な方法を説明します。 3 ‑1.現状の調査 データウェアハウス構築の計画に対して一番大切なことは、現状の情報システム上での問題点と利用者にお ける問題点の把握にあります。現状をし、かに効率良くそして情報公開にあたる指針を作成するかが大きなデ ータウェアハウス構築と利用の成功につながります。調査における主な点は、 (1)情報系システムへの会社、情報システム、エンドユーザーレベルでの満足度調査 一現状にで会社として'情報系システムにおいて満足な意思決定が、できる仕組み になっているか? ‑‑現状の意思決定支援に問題はなし、か?また、意思決定支援に対する認識が多少現状の 問題の把握とズレていなし、かを再度検討する。 o ×ーー なぜ現状に問題があるのか、その要点を 5~lO 個あげてみる。 ムー 現状で足りない部分と発展的な意思決定支援に対する意識を 3~5 個あげてみる。 ‑567
( 2 )情報系データの利用度 →データの種類、ボリューム、頻度、形態、使用ツール、満足度 一使用している o rしたいデータの内容 e x . 過去 3年の部門別実績営業データと予算データ ー使用している o rしたいデータのボリューム e x . 生データ (250Mb) →月毎の要約データ(10Mb) 一使用している o rしたい頻度 e x . 月に一度 一使用している o rしたい形態(目的) e x . 月毎営業方針決定の基礎データ 使用している o rしたいツーノレ e x .M / F→P C( x x x x L i n k ) 、P Cでのレポート ( x x x G U I ) 3 ‑ 2 .調査における短期、中期、長期目標設定 調査における結果をまとめ短期、中期、長期目標の設定を行し、ます。その中に含める要因は、 (1)拡大計画の指針作成 ー中期、長期計画への移行時の拡張点と柔軟点の指針を作成する。 途中期において変更のある場合は、その変更理由を明確にし、当初の指針と照ら し合わせる ( 2 )抽出データの段階的な要件設定の作成 一各種要望データの概要人数とアクセス頻度の概況を把握し、そのデータの要約度の 仕様を作成する。 抽出データの形態にするのか、論理データとして使用するのかを決定する。 ーデータの保持する場所を中期、長期に合わせて予め設定する。 一抽出データのクリーニング、更新のタイミングを設定する。 ( 3 )基幹系システム計画との同期合わせ 一基幹系システムの短期、中期、長期の変更および、追加計画に同期を合わせ、 その時点で変更、修正可能な指針をたてる。 ( 4 )意思決定支援の会社規模、部門規模のルール化の作成 意思決定に対する社員教育、訓練のスケジューリングと実施方法を作成 会社として全社的と部門毎に意思決定の手法および理念を設定する。 ・短期、中期、長期に対する考えかた 一どの部分から始めるのか?の基本指針作成 *特定パイロット部門を設定して始める *データ要望のプライオリティ順に始める *基幹システムデータの種別より始める *マネジメント→スタッフ→ラインの会社の層に応じて始める 3 ‑ 3 .ハード ウェア任吉明弘ソフトウェア ( S 爪ワ選定について 概念レベルと組織レベルでのビジョンと構築への方法論が策定されましたら実際の技術的要件整理 と方針を決定する必要があります。この部分で大切なことはビジネス上での問題点を把握して初めて 技術的な要件調査、整理、方針に入ることにあります。今迄の基幹系システム構築にあたる SDLC(Sy stemDevelopmentL i f eC y c l e )的なアプローチでなくここでは、 DSLC(DecisionSupportL i f e Cyc l e )におけるアプローチが必要になります。ここでの要件は、 八 九 人 S八 九7レベルでの技術的問題の把握と解決案の作成 ( 1)H 現状のH川 7レベルでの問題点の把握と短期、中期、長期の導入計画の立案 →デスクトップ環境の差異 → OSの差異 →ネットワーク方法の差異 →黍直、水平連携での問題点 568‑
→今後の指向と現状のすりあわせ 一現状の S川 7レベルでの問題点の把握と短期、中期、長期の導入計画の立案 →データウェアハウス構築ツールとしての適正調査 →現状の基幹系システムデータをどれだ けハンドリングできるか?できない場合 対処方法は? →中期、長期導入計画にたいして柔軟な拡張が可能か? ( 2 )短期 長期計画に見合ったツールの選定 一中期、長期計画における技術的要件は満たしているか? 複雑なビジネス・ロジックに対応可能か? データ管理技術において柔軟性と適応力があるか? 増大するデータ量とユーザー数に対応できるか? 未来に対する安全性とツールの持つ開発コンセプ卜は大丈夫か? 4 .データウェアハウスの将来像 インターネット、情報ハイウエ一、 CALS、 EC但 l e c t r i cCommerce)などに代表されるように、今迄の 情報利用が大きく変化をしようとしています。過去の情報システムはコマンド&コントロール型の利用であ り、システムの細分化、単純化、標準化から、現在では、上記の言葉の持つ意味を考えますと、情報の共有 化とクイックレスポンスへの自動化をどのように企業文化へ発展させるかに、大きな企業変革へのゴールが あると考えられます。 そこで果たすデータウェアハウスの役割は、大変重要なものになります。もちろん今後このデ タウェア ノ¥ウスとしづ言葉が引き続き使われるかは疑問ですが、企業が今まで成し遂げられなかった、また、取り組 むこともしなかった情報系分野において、大きなキーチャレンジの門戸を開いてくれます。 それは、今までの個人や部門ではなくゴールとしては、コーポレートワイドな情報系支援のインフラにな り、現在の期間系システムで成し遂げられなかった情報への仕掛けにたいするアクションをも可能にします。 つまり、データウェアハウスにより企業は、情報の管理、編成、利用としづ分野全般において今までにない 変革を遂げ、本当の意味でのビジネスでのデータ利用が可能になります。 データウェアハウスは、今後創造から育成段階へと進むわけですが今までの期間系システムの様々な問題 点をデータウェアハウスにより抱合し、今後の期間系システムのデータ構造をも変革する力も潜在しており ます。企業は基幹システム→情報系システムへとシステム構築をしてきましたが、今後は、現在抱える基幹 系システムの問題点をデータウェアノ¥ウスにより補完し、なおかつ次期基幹系システムのデータモデリング や付加分散への投資効果をも生むと考えられます。 今後のデータウェアハウスは、 2 0 0 0年頃には、ブロードウェアハウスに変遷しており、情報の共有化はも ちろんのこと、情報のフィルタリング、情報の適材適所への分配、情報のアラーム機能化へと進化し、より 大量のデータから鮮度の高い情報や知識を導き出す倉庫へと変遷していくでしょう。 5 . 参考文献 • W.H. lnmon.B u i l d i n gt h eDataWarehouse.AWilet‑QEDP u b l i c a t i o n . •V i d e t t eP o a .B u i l d i n gaDataW a r e h o u s e .P r e n t i c eH a l l . .Kar enW a t t e r s o n .C l i e n t J S e r v e rT e c h n o l o g yf o rM a n a g e r s .A d d i s o n ‑ W e s l e yP u b l i s h i n gCompany. 飴 e 位町 r 咲平野勇夫訳). トム.ピ一夕一ズズ、の経営創造.TBSフブ矛リ夕ニカ. .TomPet ・萱野真一郎.多次元データ分析 OLAPの実際.月間 DATABASESYSTEM96年 3月号.ソフトパンク. .RandyB e t a n c o u r t .TheSASSystemi naDataWarehouseE n v i r o n m e n t .SASI n s t i t u t eI n c . phd 円同d ハhu
6 .謝辞 当論文を完成させるにあたり様々なヒントと現状でのデータウェアハウスのポジショニング、をご、教授頂いた 日本ヒューレット・パッカード(株)藤本康秀氏と、 SASシステム環境におけるデータウェアハウス構築メ ソドロジ実現に向けて技術的な支援を頂いた萱野 真一郎氏、並びに経験、知識共に未熟な著者に様々な企 業の問題点と、そのソリューションの方向性をご指示頂いた数々のお客様に深く感謝申し上げます。 7 .著者について 当論文における疑問点及び質問は著者までご連絡下さい。 ( 株)SASインスティチュートジャパン セールス&マーケテイング本部 ソリューション営業部 青柳恭弘 TEL:03・3533 ・6 921、FAX:03・3 5 3 3 ‑ 6 9 2 7、E ‑M a i l : j p n y ae l ! 匂p n . s a s . c o m Fhu ハU ︐f η
日本 S A Sユーザー会 (SUG I‑J) SASシステムによるランダムサンプリング方法について 0今城義高 (株) SASインスティチュートジャパン セールス&マーケティング本部 ソリューション営業部 RandomSamplingTechniquesUs i n gt h eSASSystem YoshitakaImaki SASI n s t i t u t eJapanL t d . i v i s i o n S a l e s&MarketingD S o l u t i o nS a l e sDepartment 要旨 データ全体の傾向をおおよそ把控する上で、ランダムサンプリングは有効な手段として用いられてきた。つ けることなく、できる限り少ないデータ量てデータ全体の性質を偏りなくオ)ノミビ まり、母集団すべてを観揖l ューするには、コスト的にも時間的にも効率的な方法と言える。ランダムサンプリング、ロジックそのものは極 めて単純であるが、ここでは SASシステムのデータアクセス、データ加工機能の特性を活かした方法を紹介 する。 在P LING 、DATAステップ、 S AS/ACCESS、SAS/CONNECT キ ー ワ ー ド : RANDOM S M 1.はじめに 一脚旬に統計学の世界で用いられるデ、ータのサンプノL 教はそれほど1 駄ではなく、せし、也教百件から数千 件であり、数万件もあれば大容量データと言われている。しかしながら、コンピュータ掛青の進化とともに、 データベースに格納されるデータ量は、数千万件という規模にまで膨らんできている。針子、カード会社、通 販会社などにおける顧客データベースはまさにこれに匹敵する。この中から人聞が判断できるような形、つま り情報として取り出す(例えば、このような属性を持つお客帯の傾向はこうだから、次はこのようなアクショ 乱統苦情勃庁の手法を用いて検定を行い、最終的にビジ ンをとろう)には、ランダムサンプリングを行い、あと l ュアノレ化を行なう方法が考えられる。 2 . 乱数の生成 ランダムサンプリングにおいてまず頭に浮かぶのは乱数の利用である。乱数を生此するためにはいろいろな 去が考えられるが、 SASシステムでは、 SAS関数の中に RANUNI関数が提供されている。 RANUNI関数 方i は呼び出す度に 0から 1の範囲内で一様乱数を返す。これを用いれば極めて簡単にランダムサンプリングを行 なうことが可能である。 3 . サンプルコーデ、イング ここでは、ケースパイケースで、具附句な SASプログラムを紹介する。 RANUNI関数以外にもし、くつか SAS 571‑
関数、その他を用いるが、その詳細については、 r S A Sランゲージリファレンス」を参照してほしし L 3. 1 サンプノL 教を合わせた抽出 必要とするサンプル教のみを抽出するには、必要サンプノL 数分 S A Sデータセットを読み込むことである。 この際、 R ANUNI関数で発生させた乱数を用いて、読み込むべき S A Sデータセットのオプザベーション番号 を求め、 S ETステートメントの P O INT=オプションにより、ダイレクトアクセスする。この例では、母集団 より 1∞件のサンプリングが行われる。 d a t a田 m p l e ( d r o p = せ ) ; doi=lω1 白e l e c 炉問立( r a n u n i ( O ) * ω句 1 ) ; s e tm a s t e rpo 血七= s e l e c tnobs = ω t a l ; ou 全 p u t ; e n d ; はo p ; r u n ; ∞ ; ただ、上記方法を利用する場合の注意点として、同じオブザベーションが抽出される可能性があるとし、う点、 P O INT=オプション付き SETステートメントは、圧縮された S A Sデータセット、 S A S / A C C E S Sピュ一、 SQL ピュ一、テープエンジンなどダイレクトアクセスが許されていない S A Sデータファイノレに対しては利用で、き ない点が挙げられる。 3 . 2 重複オブザベーションの削除(1) サンプリングしたオブザベーションから重複したオブザベーションを削除する場合には、 S QLの DIS 官 NCTキーワードを用いるのがもっとも簡単である。 p r ∞sql; c r e a t et a b l e田 mplea s s e l e c td i s t i n c t*企' o m田 m p l e ; q u i t ; SQLプロシジャを用いる以外に、 SORTプロシジャの NODUP 、N ODUPKEYオプションを用いてもよい。 3. 3 重複オブザベーションの削除 (2) SORTプロシジャを用いて重複オフ守ザ×ーションを削除する場合には、 NODUP、NODUPKEYオプ、ンョ ンを用いる。 B aseS A Sソフトウェアに SQLプロシジャが追加されるまでは、 S A Sユーザはこの方法を利用 してきた。 d a t a田 m p l e ( d r o p = せ ) ; doi=lω1 s e l e c 炉明自( r a n u n i ( O ) * 的 匂1 ) ; o bs = s e l e c t ; s e tm a s t e rp o i n t = s e l e c tn o bs = 句 切1 ; ou 旬u t ; e n d ; はo p ; ∞ ; ‑572
r u n ; p r ∞ ,o o r t d a t a 二 回m pleou 炉 問m p l e ( d r o p 司 b s )n o d u p k e y ; b y o b s ; r u n ; この方法は、ランダムサンプリングにこだわらず、その他の場面でも十づ封舌用できる知っていると便利な方 法である。 3 . 4 重複オフ守ザベーションを含めないサンプリング ( 1) 前述した POI NT=オプション付き SETステートメントで読み込む場合、重複オプザンくーションを含めない NT=オプションに指定するオブザベーション番号の算出を重複しないように求める ようにするためには、 POI 工夫が必要であった。 重複オプザλ ーションを含めなし、ようにサンプリングするには、 SASデータセットを順次読み込み、抽出す るタイミングがランダムになればいいわけである。これは意外と簡単に記述できる。 d a t a回 m p l e ; s e t m a s t e r ; 出( 0 ) く=0. 2 5 ; 正ranu r u n ; RANUNI関数は呼び出す度に、 0‑1の範囲内で乱数を発生するわけだから、上記プログラムのサブセッ トI Fステートメントは、発生した吉明財"0 . 2 5以下の場合のオプザベーションのみが抽出されることになる。 つまり、 0 . 2 5以下の百閣坊主発生する確率は、全体のおおよそ 25% ということになり、母集団から約 25%の サンプル教が期待できる。 3 . 5 重複オプザン〈ーションを含めないサンプリング(2 ) さらに、上記方法を応用しサンプル教を合わせるには次のようにすればよし、 d a t am a s t e r 2 ; s e t m a s t e r ; 司 a nu 血( 0 ) ; random r u n ; pr ∞o o r td a t a =ma s t e r 2 ; byrandom; r u n ; d a t a回 m p l e ; s e tm a s t e r 2 ( o bS=1 1 ) ; ∞ r u n ; コーデ、イングについては説明するまでもないと思うが、要は乱数変数を元デLータに追加し、次に乱数変数を キーに並ひ変えにの時点でトオプザンくーションの並びはバラバラになる)、最後に必要なサンプパ教のみ抽出 する。 同じ方法を S QLプロシジャで用いると次のように記述できる。 ∞ ; p r ∞sqlouωbs=l c r e a t et a b l e回 mplea s Fhu ワt qd
a l e c tr a n u n i ( O )a srandom,*企ommaster o r d e rbyr a n d o m ; q u i t ; コーディングそのものは極めてシンプル ( S Q Lの構文を知っていればの話だが)になる。ただ、ここでー勺 S A Sシステムの優位性を語らせてもらうならば、 A N S I準拠の SQLのレベルでは、 RANUNI関数などの気 の利いた関数は提供されていない。したがって、 S QLのみで(RDBMSのみでと言っても過言でないであろ う)同じことを実現しようとすると実は非常に苦労するようである。したがって、通常は R DB1 目上に乱数テ ーブル等を作成し、マスターテープツレとジョインするか、テープ、ル内一意の項目の特定析数を見て抽出する(例 'のものだけ)方法が用いられるようである。 えば、顧客コード下一桁が 2 3 . 6 ヒットする確率を変える , αxlイ牛から 1 ∞件のサンプリングを行なう場合には、最初にヒットするオプザベーション 例えば、母集団 1 の確率は、 1 , αxl分の 1 ∞ ( 0 . 1 α氾)とし、最初のオプザン〈ーションがヒットしたら、次のオフ守ザベーション 9 9分の 9 9 ( 0 . ω 9 1 )となるように、ヒットする確率を動的に変えてして方法を用いる。 がヒットする確率は、 9 d a t a田m. p l e ( d r o p = kn ) ; r e t a i n k1 n ; i f̲ n̲ =1t h e nn= t ot a l ; doi=lωωtal; 正r a n u n i ( O ) < = k 1 n也e n d o ; a l p o 泊同; atm a s t e rn o bs=旬t o u t p u t ; k = k ‑ 1 ; e n d ; n= n ・1 ; 正k=O也e n s t o p ; e n d ; r u n ; ∞ 4 . パフォーマンス ランダムサンプリングに限らず程よいパフォーマンスを発揮するためには、可能な限りデータアクセス回数 を少なくすることである。ここに挙げたサンプルプログラムの中には同じ結果を生むものもあるが、パフォー マンスはそれぞれ異なるはずである。 元データから抽出するデータの害[J合が比較的少ないランダムサンプリングにおいては、 POINT=オプション E Tステートメントを使って対象オプザベーションを取り出す方が、全件を読み込む方法より速し、ケー 付き S スが多いであろう。これはインデ、ックス機能を有効に利用するケースに似ている。 実際のパフォーマンスについては試していただきたい。 5 . クライアントサーバ環寛での利用 サーバ上にある元デLータに対してランダムサンプリングを行い、その結果を手元の P Cクライアントに持っ てきたい場合は、 SAS/CONNECTソフトワェアを利用するのが極めて便利である。前述したプログラム群を サーバl こリモート実行させ、サンプリングされた S A Sデ、ータセットをダワンロードすればよい。 PCクライア ントより実行するプログラム例は次のようになる。 t Fhu 4 ワ
/*サンプリング、ロジックをリモート実行 * 1 r s u b m i ts e r v e r1 ; d a t a回 m p l e ; ; doi=lωω旬1 i f r 担 u n i ( O ) < =O . 2 5也e n d o ; setm回 t e r p o i n 同 n o bs=旬旬1 ; o u t p u t ; e n d ; e n d ; E旬以 r u n ; p r ∞downloaddata=回 mpleout=sample; r u n ; e n d r s u b m i t ; /*サンプリングされたデータを SAS 江N SIGillソフトウェアで視覚化 * 1 p r 田 泊s i g h t d a t a = 回 m p l e ; r u n ; 6 . RDBMSに対するサンプリング ぜ術的こいろいろな方法が考えられるが、結論から言うと、一度 SASデータセットにコピーして行なう方 がもっとも簡単でカり効率がよい。なぜならば、ランダムサンプリングは、ある程度目的意識を持った分析担 当者が行なう性質のものであるから、 SASシステムの世界(SAS言語のみで)でクローズできる方が利用者に とっては望ましし九また、サンプリングは何度もトライ&エラーで繰り返すことも多いので、一度 SASデー タセットにコピーさえすれば、 RDBMS を何度もアクセスすることによる負荷を軽減することにつながる。 RDBMSから SASデータセットに変換するためには、 S A S / A C C E S Sソフトウェアを用し、ればよい。 母集団が大きくて SASデ、ータセットにコピーすることが環境的にむずかしい場合には、なんらかの方法で RDBMS内において絞り込みを行なう必要がある。そのためには、同様のロジックを RDBMSで提供されて いる言語で記述するか、乱数テーブノレを発生させ、マスターテープ、ルとジョインする方法が考えられる。その 際に、乱数テーブルの作成 RDBMSへのロード、ジョイン処理などには、 SASシステムのデータ加工機能、 データアクセス機能が利用できるであろう。 7 . おわりに ある程度 L 数万件以上)のデータ量を分析するにあたり、ランダムサンプリングは有効な手段であると恩わ れる。この背景にあるのは、本来統言情執庁手法そのものが、できる限り少ないデータ量て古データ全体の傾向を 語るために生まれてきたものであるからとも言える(決して SASシステムで提供されている統言雨続庁機能に データボリュームの制約があるとしづ話ではない)。 ただ、実際サンプリングによる分析では、そのサンプル教によってはかなりデータの傾向が異なって見える ケースもあり、また誤差が含まれることも免れない。 一方、ハードウェアの進化により、今まででは考えられなかった大容量のデータを保持し、かっ高速に検索 することが低コストで実現できるようになってきた。最近よく耳にする S: M P (Syn 即 位icM 叫t i p r 悶 悶n g ) : M P PC M a s s i v e l yP a r a l l e lPr , 田e s s i n g ) ぜ術がそれである。 そこで、今注目されている一つの手法がデ、ータマイニング、である O データマイニングとは複雑にからみあう 属性デ、ータの中から業務で利用可能なパターンを見つけ出す方法で、ある。針子、カード会社、通販会社におい ては、データボリュームもさることながら、属性項目は数十から数百にものぼる。この中から意味のある情報、 つまり実際に業務で遁用できるように人聞が耳説草できる情報として取り出すには、単なる仮説検証型の分析方 u に に u ー ワ
法には限界があり、やはり失晴能発見型のアプローチが必要であろう。今回 SUGI‑Jにおいてもデータマイニン グに関連した発表がいくつか行われるので、是非参考にしていただきたい。 SASシステムは、その中においてデータアクセス、データ加工、統言明勃庁などの持ち味を活かしたかしこし、 情報系システムを構築するにはかかせないソフトウェアと言えるであろう。 参考文献:S i m p l eRan domSamplingandSub白e t t i n g S 仕a t β g i e sUsing也eSASSo 氏w are DonBoudreauxandK e i 也C r a n f o r d Th eT e c h n i c a lJ o u r n a lf o rSASS o f t w a r eU s e r s , O b s e r v a t i o n s : T h i r dQ u a t e r1 9 9 5 Fhu 7t ρ0
データ・ウェアハウスにおける 多次元データモデルについて JohnMc Intyre SASI n s t i t u t eI n c . 鈴木真弓松平和人(訳) 株式会社SASインスティチュートジャパン マーケティング部営業推進セクション Multi‑dimensionalDataModelE x t e n s i o n st oDataWarehouse. JohnMc Intyre SASI n s t i t u t eI n c . MayumiSuzuki& KazutoMatsudaira MarketingD e p t . S a l e sPromotionS e c t i o n, SASI n s t i t u t eJapanL t d . 要約 OLAPは全てのレベルのビジネスユーザの能力を高めるテクノロジーである。ァー M u l t i ‑ O e m e n s i o n a lO a t a b a s e ) タ・ウェアハウスと OLAPが統合された環境では、 MOOB( の要約情報は、エンドユーザにとって有益な形になっている。本論文は、この様なデ や多次元データモデルについて、米国 SASI n s t i t u t eI n c . ータ・ウェアハウスの中の OLAP J o h nMc In t y r eが SUGI21で、発表した論文を翻訳したものである。 キーワード:データ・ウェアハウス、ビジネス・インテリジェンス、 OLAP、多次元データモデル、 MDDB 1 OLAP がもたらす意味 OLAP( O n ‑ l i n eA n a l戸i c a lP r o c e s s i n g )はユーザによって全く異なる意味を持つテクノ ロジーである。 I T( In f o r m a t i o nT e c h n o l o g y )部門のスタッフにとっての OLAP。 ‑ ビジネスユーザ(仕事としてプログラミングを行わず、本当の意味での ユーザ フレンドリー"な環境においてコンピュータテクノロジーを利用する必要がある 人)に対して、必要な時に適切なビジネス情報へアクセスする方法を提供するも のである。 ‑577
‑ さらに魅力的な点として、エンドユーザに対してテーブルの情報ではなく、理解 しやすいビジネスの次元で構造化された形で、アクセスを可能にする。 I T 部門の責任者にとっての OLAP 。 ‑ データストレージにかかるコストはどうか(データの格納方法が新しくなったた め、より多くのディスクスペースが必要になった場合、どれだけ多くの費用がか かるか、など) ・ ネットワークトラフィックはどうか(ユーザがクエリーを発行することにより、 ネットワーク上を巨大なデータが流れる必要がでてくるか、サーバーに大きく負 担をかけるか、など) ・ 現在構築中、または計画中のデータ・ウェアハウスの戦略とそのアーキテクチャ ーを統合化するためのコストはどうか。 ・ パフォーマンスはどうか(多次元データモデルを作成時間、など)。 ・ 最終的なメインテナンス(アップデート機能やパックアップ、など)はどうか。 0 0 以上の点が重要だろう。さらに、オンラインアップデート時の、パフォーマンスにつ いても考慮する必要がある。 OLAPに望む事は? •I n f o r m a t o i nT e c h n o r o g y部門 ・ビ、ジネスユーザ oエンドユーザが要約データ へ迅速にアクセス可能 oデータ・ウェアハウス内 oビジネスのビジョンに有益 なデータの要求を満たす o探索的な分析。可能性のあ での管理が容易 る解答を見つける手助け o構築、メインテナンス、 o詳細データのサブセットへ パフォーマンス能力に注目 の照会が可能 oハードウェアとネットワーク o簡単な(スプレッドシート の要求に遠目 のような)アクセス ビジネスユーザにとっての OLAP 。 データへアクセスした際、それを自分たちにとって意味をなす項目で組織化してく れるものである。この場合のデータは、さまざまなレベルで要約されている。これら のレベルのうち、最も重要だと思われるのは 時間"であり、この 時間"により、 関連の製 過去方向にも未来方向にも傾向を把握することができるようになる。 OLAP 品のほとんどは、スプレッドシートやテーブル形式のようなユーザインタフェースで データへのアクセス方法を提供している。これにより、要約されたデータの中から意 味ある情報を取り出すために、新しいことを覚える必要がなくなる。 2 OLAPの構成要素 OLAPは、データ・ウェアハウス及びビジネス・インテリジエンス環境におけるさ まざまな 構成要素"にまたがるテクノロジーである。それらは、データ・ウェア ‑578一
ハウスにおいて、データモデルを物理的に組織化したりメタデータの登録を決める ときに必要なモデルのひとつである。 一方、 OLAPはレポート作成の場面で重要な役割を持っている。 OLAPの基本的な 機能は、大規模なデータへの多次元的なアクセスを可能にすることである。つまり ビジネスニーズに従ってデータを要約し、その要約を通常の ビューワー"スタイ ルのインタフェースを通じてアクセス可能にすることである。 クライアント・サーバ型意思決定支援関連の製品において OLAPエンジンは、広く 使われている ERP型データシステムなどで多次元的にデータアクセスするための鍵 となる。 OLAPを含むビジネスインテリジェンス・アーキテクチャ D a t aW a r e h o u s e 回s I n t e l l i g e n c e B u s i n ウ ェ ア ハ ウ ス ア ト 寺 ミ ニ ス ト レ ー タ 抽出 ト ラ ン ス7オ ー ム 洗い出し 値の追加 3 OLAP 実現のための代表的な機能 売り上げデータを、支庖ごとに、今期と去年の同じ時期とを比較し てみよう。さて、それをプロダクトグループごとに分けてみう。よし、 そうしたら、プロダクトグループAだけ見てみたいな...でも、過去6ヶ月 聞が見たい.最後に、各支庫内でのセールスグループごとに過去6ヶ月 間にわたったプロダクトセールスグループ Aを見たい." このような要求に応える機能が スライス&ダイス"であり、この用語がOLAPに おいて 分析"を示すメタファーになっている。この言葉は目的のデータを串刺しに するという動きを説明していて、あらかじめ決められた方法ではなく、自由にどんな 時にもユーザ自身が次にどうするのかを決められるということを示してる。このよう M u l t i ‑ d e m e n s i o n a lD a t a b a s e )と 、 SAS/EISソフトウ な多次元ナビゲーションは、 MDDB( ェアにおける多次元ビューワーによって可能になる。 円同d RU ηI
ユーザはウェアハウスのデータを リーチ・スノレー"する ビジネスユーザが、多次元ビューワーを利用したアプリケーションでビューしてい る要約データの元となる詳細データを取り出せるということは、データ・ウェアハウ スや OLAPにとって大変重要な機能である。この機能は リーチ・スルー"と呼ばれ、 先ほどのユーザの例に当てはめると、要約の元となる個々のセールスに対するレコー ドを取り出すことである。このように、元となった詳細データテーブルに戻ることが 可能であると、顧客プロファイリングのような詳細データにアクセスする必要がある 場合、エンドユーザが詳細データをサブセット化し、レポート作成や分析アプリケー ションで利用できるようになるのである。 データ・ウェアハウスと OLAPが統合化された環境では、 MDDB中の要約情報の元 になるウェアハウスの情報は、エンドユーザで、も理解し易い形になっている。なぜな ら、データ・ウェアハウスを作成する時にデータの一貫性を保つために、変換や洗 い出しなどが行われているので、 MDDBのデータについても、このような一貫性が保 証されているということである。仮に OLAPのMDDB構造が直接 OLTPデータを指し示 すようしてしまった場合、 OLTPデータがアップデートされても、データ・ウェアハ ウスの中のデータはアップデートされない可能性がある。 MDDB中に作成された結果 についてもデータの一貫性のチェックが行われないという危険を犯す可能性があ る。その結果、意図したものとは異なるデータを使ってしまうという 異なったデー タの問題"が存在することになる。 クライアント/サーバー環境では、 MDDBサーバーはさまざまなプラットフォーム 上に置くことが考えられ、そして、さまざまなクライアントのプラットフォームから クエリーが発行される可能性がある。 SASシステムのマルチ・プラットフォーム・サ ポートにより、 SASシステムの MDDBは全てのプラットフォーム上で作成・保管が可 能になる。 PCやUNIXのクライアントはリモートの MDDBサーバーに対して、ローカ ルにコピーされた MDDBにアクセスするのと同じように、アクセス要求を送ることが できる。 MDDBは、全ての次元の値の組み合わせに対して指定された全ての統計量を格納 するセントラル・ファクト・テーブルと、パフォーマンス向上のため、このテーブル を要約した複数のサブ・テーブルから構成される。この様に、セントラル・ファクト・ テーブルとサプ・テーブルを持つ MDDBの構造から、クライアントからの要求に対し て、最も効率よく答えることができる構造を特定するインテリジ、エントな ルータ ー"が必要となってくる。クライアントアプリケーションは、この ルーター"にメ ソッドコールを行う。このメソッドコールは、新しい SASIEISソフトウェアリリース 6 . 1 2ビジネス・オブジェクト・ライブラリ (BOL)の中に実装されている。つまり、 BOL のオブジェクトが MDDBを利用できるということである。これらのオブジェクトは、 引き続きテーブル形式のデータに対しても動作する。その場合、これらのオブジェク ‑580
トは一時的に MDDBを作成する。 これにより要約する際に E I Sオブジェクトとして必 要とされるパフォーマンスを向上させることが可能になるのである。アプリケーショ ン開発者は、 BOL オプジ、ェクトがMDDB モデルかテーフルかのどちらかを指定する ことができる。いず、れの場合も、柔軟性を増しながらもパフォーマンスも向上してい る 。 OLAPは全てのビジネスユーザの能力を向上させるテクノロジーである。インタフ ェースが提供されることにより、さまざまな要求が湧き起ってくる。ビジネスユーザ にとってはレポート・ギャラリー機能(レポートを作成するのに、テンプレートをカ スタマイズし、個人的な フォルダー E I S "アプリケーションに格納する機能)の利 用が可能になる。 より分析的な仕事に携わるユーザには、 OLAPアフリケーションを作成する為に SAS 厄I Sソフトウェアにおいてビューワーが利用できる。さらに、新しい MDDB構造 AS を構築する機能、詳細データへの リーチ・スルー"機能、抽出されたデータを S システムのレポート作成や解析機能に引き渡す機能が追加されるのである。 OLAP:テーブルと多次元モデル クライアント/サーバ一般的な アプリケーション アプリケーションニーズ ‑ r〉 オ 王 子 "py{可能 メ イ 〉 子 す Jl!簡単 n ' ) 1 "; 1 の7 十 タ イr 詳簡に適する OLTPデータヘ"" J , 4 テーブルと多次元モデル データ・ウェアハウスと OLAPを包括的にソリューションとして提供することによ り、ビジネスユーザはさまざまなデータモデルの中にある情報へのアクセスが可能 になる。モデルが適切であるかどうかは分析やアプリケーションの要求によって判 定される。例えば、要約や、多次元モデルは財務上のレポート・アプリケーション に向いてる。なぜならば、財務に関する多くの分析やレポート作成は経理上の慣行 にしたがって構成されているからである。既に定義されている次元は、アレンジし 直すことにより新しく分類が作成される。多くの場合 ファクト・テーブル"にお ける要約方法に変更を加えると、新しいレポートを作成することができる。 その他のアプリケーションでは、元になる詳細データから計算した値を利用するこ とがある。代表的な例は顧客のプロファイル情報の分析で データ・マイニング"と して知られている。この分析は事前にデータの構造に対する仮定を何も置かず、ユー ザが新しい 分類"を探すというものである。 クライアントアプリケーションに提供される多次元性により基本的に拡張される点 は、アクセスしたデータをビジネスユーザが彼らの仕事で理解できる方法で編成可能 ‑581
なことである。具体的には、ビジネスにおける次元を定義し、そして、それらの次元 の定義に従ってデータの要約を行う。これにより、ユーザは対象となるデータの編成 を知らなくても数多くの要因(例えば、地理、時問、製品、予実対比)を含んだ、よ り典型的なクエリーの発行が可能になる。 テーブル対多次元データモデル Jon~5 1 1 2S cP I 抽│山" Srn 1 8 . 3 7 21.~ 五78 I J w吋 p I H~nl~r 抑 2S e 原. 3 . 7 8 1&31 2 .22 京協売上、 5月&A307 テーブル、あるいはリレーショナルテーブルは、データ・ウェアハウスの中で、基 本的にはサブジェクト別に編成されている。これによりエンドユーザが答えを出すた めにテーブルを ジョイン"する回数が減少する。こういったテーブルや他のデータ モデルをうまく統合することは、プロの開発者でも面倒なテーブルからデータを取り 出すための SQL 文作成などの作業を、エンドユーザが行わなくても済むようにするデ ータ・ウェアハウスのデザインにおいて重要な鍵となる。 5 データ・ウェアハウスの中の MDDB データ・ウェアハウスの中の九四DB 多次元的要約 マ ヤl 璽 星 空 初.. y ‑1" ウェアハウスの テープルやビュー N‑WayC r o s s i n g 多次元データクラス SASシステムにおける MDDBオブジェクトは、エンドユーザアプリケーションへ多 OLAPスタイル)アクセスを提供するにあたって二つのステップから構成され 次元 ( る方法論に従う。最初のステッフは、指定された次元のすべての値の組み合わせに対 して統計量を計算したテーフルの作成である。これはMDDBの生成フェイズの中で、 指定された組み合わせの全てのリストを指定する ファクト・テーブル"のことであ る。値のある組み合わせだけが格納される。つまり、最初のフェイズにおいてこのよ 5 8 2
うな、 スパーシティー" (まばらさ、希薄性。例えば、いくつかの製品は、ある期 間ある地域では全く売れていないという場合、複数の次元が交差する所には、対象と なるデータが存在しない。このような欠損値がどのぐらいあるかということを、デ ータの スパーシティー"という言葉で表現することがある。)の問題が起こってく るのである。このステッフでは、元になるテーフルと比較してデータのサイズがかな り減少する。もとのテーブルの一部のカラムだけ保持することが、サイズ減少の原因 のーっとなる。この、 ファクト・テーフル"が作成された後、アプリケーション・ プログラマは二つのオプションを付けることができる。ある場合には、定義された階 テーブルを作成し、格納するというものであ 層構造について統合・整理された MDDB テーブルは、中央の ファク る。これらの階層構造に対する統合・整理された MDDB ト・テーブル"と同じ場所に格納することができ、アプリケーションからのリクエス トに応じてアクセスされる。あらかじめこのような統合・整理された階層構造に対し てテーブルを用意しておくのは、クライアントアプリケーションからのリクエストに 応じたアクセスのパフォーマンスを向上させるためである。 MDDBは通常ベーステーブルまたは作成されたテープルよりもかなり小さくな る。その理由は MDDBには、基本となるレベルの詳細は格納されない。 必ずしも計算結果は格納されない。 可能であれば要約のレコードは圧縮される。 各レコードをサイズ、を小さくするため、次元ラベルはテーブルと別の場所に格納 される。 ・ ・ ・ ・ 実際のレコードサイズの減少は、さまざまな要因により左右される。次元が数多く ある場合、より少ない次元の場合に比べて大きな MDDBとなる。分析変数(次元を構 成する カテゴリ")の数はサイズに影響する。つまり、より多くの分析変数を持て ばより大きなサイズになる、ということになる。計算により算出されるカラムが格納 されるかどうかも、同様にサイズに対してかなりの影響を与える。また、サブセット 上で、より効果的な計算が行われることが多く、場合によってはクライアントマシン 上ですばやく計算することができる。事前に計算を行い、その結果を格納すると、構 築した MDDBは巨大になる。 サイズの関係: ベーステーブノレ対 MDDB 次元 演算ー スパーシティー 調 多次元データクラス ウェアハウスの テープルやピュー SASシステムの MDDBは、欠損値あるいは値のないセルをセントラルファクトテー プルや、サプテーブルに格納しない。これにより実際のインフ。ットセル (MDDB モデ ルにインプットされた実際のレベルを計るもの。オリジナルのファイルが各顧客向 けのひとつひとつのトランザクションを含んでいた場合、実際の インプット"テー 5 8 3
プルは顧客ごと日ごとまで集計されたものになる可能性がある。これによりかなりの サイズが減少する)は、データのまばらさに応じてポテンシャルセル(ポテンシャル セルにスパーシティーがなかった場合の、可能性のあるインフ。ットセル)の数よりも 小さくなるであろう 実際に保管にかかる領域と最低保管にかかる領域の差はサブテーブルの保管に費 やされている。最低保管に必要な領域は、サブテーブルをまったく作らないでセント ラル・ファクト・テーブルだ、けを作った場合の領域に相当する。このような形での利 用が可能な場合、全てのクライアントの要求に対して、この大きなテーブルから要約 データを取得しなければならない。クライアントアプリケーションのパフォーマンス のを向上させるために、セントラル・ファクト・テーブルに加えて多くの要約のサプ テーブルを作成することができる。 最近のテストケースでは、 MDDBを構築する際に上記の理由からサイズの減少が みられた。このモデルはPC上で作成された。このため、 PCネットワーク環境、場合 によっては、 モービル"環境においても利用することができるのである。 これまでの説明から、この MDDBモデルにおいては、ベーステーブルよりサイズ が減少するのは明らかなことである。さらに、データが実際にあるセルだけを格納す ることにより、 ハイパーキューブ'モデルが持つスパーシティーに関する問題を、 この MDDBモデルでは効果的に避けることができる。 MDDBはどこで作成されるのか? ‑ J r 841 一 日3ン1: ア 斗 4 ミ ノ ト sM 'I Eク 町一列 一 ・‑昌司ヨサ EE EKW 又Sで 二7 動ク ロ プ 111L44EAr j レ回目 量覇瞳昌曹︑ m F 移/ ス﹃ でも{ B セ一一一司一一一二) Dク一 一一雪国ニザ liIRH ア 占 ‑ c HU R でム P フヤE ンジは イシ又 JF 7 MDDBの作成及び使用 MDDBモデルは、 SASシステムがサポートされているすべてのプラットフォームで 作成することができる。最も特徴的なのは、メインフレーム上でも MDDBが作成でき ることである。なぜならば、全てではないが、多くのデータ・ウェアハウス・プロジ ェクトはメインフレームのデータから始まり、メインフレーム上でMDDBモデルが作 成できれば、 サーバー"プラットフォームへのデータの移動を大きく減少させるこ o処理の多いア とができるからである。また、メインフレームは、サイズの大きい v プリケーションを走らせるプラットフォームとしては、最適なプラットフォームの地 位を保ちつづけるであろう。このような理由から、 MDDBを作成するプロシジャは、 BaseSASソフトウェア ( 6 . 0 9 Er e l e a s e )の一部として出荷される。これにより MDDBモ デルをホスト上で作成することができるのである。 ‑584
縄開董 縄開 同 開 ⁝覇軍⁝ 一 明 ]縄開霊 UNIX や PCのプラットフォーム上では、 BaseSASソフトウェアのプロシジャにより MDDBを作成できるだけでなく、 SAS/EISソフトウェアの機能としてポイント・アン ド・クリックによる MDDBの作成機能を利用することができる。 MDDBモテソレは SASデータ構造のーっとなるので、 SAS/CONNECTソフトウェアを 使って他の サーバー"プラットフォームに移動したり、リモート・ライブラリ・サ ービス CRemoteL i b r a r yS e r v i c e :以下 RLSと省略)を通じてクライアントプロセスから のアクセスすることができる。利用者は MDDBを作成するプラットフォームを自由に 選択することができ、そして、実際に利用するときには別のフラットフォーム上に移 して利用することができるのである。 SASシステムがサポートされているプラットフォームならどこにでも MDDBモデル を置くことができることから、さまざまなクライアント/サーバの構成が可能にな る 。 ITのスタッフは以下の点に注意して構成を考えることになるだろう。 利用可能なテ'ィスクスペースはどのぐらいあるか 構築、アップデートのために CPUをどのぐらい利用できるか ネットワークケーブルの太さと、そこを通るデータ量はどのくらいか. ネットワークとサーバーはどのくらい利用できるか(モービルユーザー) アプリケーションからはどのようなパターンでアクセスされるのか ・ ・ ・ ・ ・ リモートに MDDBを置くことができるので、多次元モデルをセントラルサーバー環 境に置いておくことが可能になる。 Cそうすれば、その元となるウェアハウスのデー タへ簡単にアクセスできる)クライアントアプリケーションから MDDBに対するアク セスために、 RLSCSAS/CONNECTソフトウェアまたは SAS/SHAREソフトウェアによ る)を利用することになる。 RLSを使った MDDBへのアクセスは、それまでRLSが使われてきたデータテーブル をレコード単位でアップデートするためにロックするという機能とは、かなり性格の 違うものである。つまり、ネットワークを通じて情報をより大きな 束"にして送る 事ができるようになったわけである。これにより分散環境においてパフォーマンスが 向上する。 5 8 5
8 結論 以上説明してきたように、 SASシステムに新たに実装される MDDBは、既存の MDDB システムが持っていたディスクスペースの問題点や特定のプラットフォームでしか 稼働しないというような制限を受けずに、 PCから大型汎用機まで真にスケーラプル な環境で利用できるのである。つまり、今まで非常に限られたユーザが限られた用途 にのみ利用してきた多次元データ解析が、さまざまなユーザによってさまざまな利用 ニーズに対して適用できるようになるわけである。 SASシステムの MDDBを利用する ことにより、すべてのユーザが自由にデータにアクセスできる必要があるデータ・ウ ェアハウスをさらに強力に構築できるのである。 くく参考文献>> 萱野真一郎 ( 1 9 9 6 ) r データウェアハウスの実践 P a ロ2SASシステムによるデータウ エアハウスの構築 J、D a t a b a s eS y s t e m1 9 9 6 年3月号 萱野真一郎 ( 1 9 9 6 ) r データウェアハウスの実践 P a 凶多次元データ解析 OLAPの実 際」、 D a t a b a s eS y s t e m1 9 9 6 年3月号 一5 8 6
日本 S A Sユーザー会 (SUG I‑J) SASシステムと wwwを結ぶ CGI‑SASインタフェースの作り方 0久 保 元 治 株式会社 SASインスティチュ一卜ジャパン 技術部 B r i d g eb e t w e e nt h eSASS y s t e ma n dWWW B u i l d i n gCGI‑SASI n t e r f a c e MotoharuKubo SASInstituteJapanLTD. TechnicalDivision 要旨 WorldWideWeb(WWW)を利用した情報伝達が注目を集めている。本論文では、 爆発的に利用者が増加しているインターネット、イントラネットで、 SASシス テムによるレポートやグラフを W W Wのブラウザ上に表示するための Common GatewayInterface(CGI)の考え方と実例を紹介する。 キーワード WorldWideWeb(WWW), CommonGatewayI n t e r f a c e( C G I ),SASSystem,I n t 巴r f a c 巴 はじめに 活用して情報化を進めること、またその基盤と なるネットワーク。 昨年あたりから、日本でもインターネットの普及が インターネットとの親和性が高く、内外のコミュ めざましい。またイントラネットということばも見か ニケーション方法を容易に統ーできるという利 けるようになってきた。これらの普及を大きく促進し 点を持つ。 ているのが、 WorldWideWeb(WWW)である。まずこ れらのことばを簡単に定義しておこう。 WorldWideWeb(WWW) いわゆる「ホームページ」を実現するための技 インターネット 術。ネットワーク中の全 W W Wサーバにまたが TCP 江Pプロトコルを基盤としたコンピュータネ るハイパーテキストシステムとも言える。サー ットワーク問を相互に接続する相互接続ネット バからテキストやイメージをダウンロードして ワーク。電子メール、 W W W、USENETニュー 表示するだけでなく、クライアントからサーバ ス、FfP、 TELNETなどのアプリケーションを に処理パラメータを渡すこともできる。情報公 通じて、地球レベルでの情報交換ネットワーク 開手段として、またオンラインショッピングや情 を実現している。 報検索システムなどの応用が始まっている。 イン卜ラネット / lPベースで整備 企業内でのネットワークを TCP し、電子メール、 W W W、グループウェアなどを 株式会社 SASインスティチュートジャパンも何年 1 2月からホームページを開設し、会社紹介、商品紹 介、技術情報の提供などを行っている(図 1 )。 ‑587‑
のとおりである。
クライアント/サーバ方式のサービス
情報を提供するサーバと、情報をリクエストし
受け取った情報を表示するクライアント(プラウ
ザ)で檎成される。
y
p
e
r
t
e
x
t
クライアントとサーバ問の通信には H
o~~i!~Y~~" は⑮ P宅E罫?ZT
⑮竺7
:
R
J
7
1
γ
Tra
n
s
f
e
rP
r
o
t
o
c
o
l(
H
T
I
P
)が使われる。 l回の
セッションは、クライアントからのリクエスト
O~竺;問屋
とサーバからの応答(ファイル転送)で構成され
る。ファイルの転送ごとにセッションが切れる
ょうこそ SA
.Sインスティチ 1 ートソャバンの不ームペーソにお唖し〈にさいまし λ.
上旬固刑随所の丸、、語、タノを I~ して <r:.さ.、
ため、クライアント、サーバともに負荷が軽減
弘ヒものホームベー::;!.:.関するこ恵比こ揮~!.こ要望を t弘、お官、ぜくとさい
伝送リ先ほ w由 同 事 国 @jpn.J百四mです.
されるが、前回の接続のステータスを引き継ぐ
ことはできない。
"'t:-:J ・_1'-'é~~"-_.';'_-::_' :1=:_~入
印p
o
.
.
t
'
t
i
g
ht(
r
}l7)~ ~^5 !nJt山~JK戸 , Ud
l
.
utDl国 i
t
i
e
d
‑ThuSO"o'l
O1
4加 1
1
1
四3
HTMLの採用
H
y
p
e
r
t
e
x
tMarkupL
a
n
g
u
a
g
e(HTML)で記述さ
れたテキストを情報伝達に用いる。 WWWでは、
見出し、箇条書きなどの文書の構成要素を HTML
のタグでマークする。これによって、ブラウザ
図 l:WWWによるホームページの例
側で文書をわかりやすくレイアウトして表示で
きる。
クライアン卜/サーバからネットワークセント
ハイパーテキスト機能
他の文書へのリンクを定義できる HTMLタグが
リックへ
用意されている。このタグでマークされた部分
インターネット、イントラネットの普及は、業務別の
は、ブラウザで強調表示され、ユーザがここを
閉じたネットワークから、相互接続され閃かれたネッ
クリックすることによって別の文書を表示でき
トワークへの転換を意味する。
る(ハイパーテキスト機能)。
これまでのクライアント/サーノ fコンピューテイング
他文書へのリンクは U
n
i
v
e
r
s
a
lR
e
s
o
u
r
c
eL
o
c
a
t
o
r
は、業務システム単位でのサーバとクライアントの協
(
U
R
L
)という形式で表現される。 URLは 3つの
調分散処理を意味していた。インターネット、イントラ
要素を組み合わせたもので、次の書式を持つ。
ネットのもとでは、これとは次元の異なる新しい情報
protocol://host/filename
システムが生まれる。つまりネットワークセントリッ
クコンピューティングである。
ここで protocol は接続に使うプロトコル名
ネットワークセントリックとは、ネットワークその
目 TIPサーバに接続するときは
h
t
t
p
"
)、host
ものが中心的な意義を持つことを言い表している。こ
は接続先サーバのホスト名、 filenameは取り出
れは、従来の端末ーホストの関係や閉じたネットワー
したい情報のファイル名である。
クでのクライアントサーバの関係とは異なる。つま
接続したいサーバや使うプロトコルも指定でき
り、ネットワーク仁に目的別の多数の情報サーバが存
るので、ネットワーク上の任意のサーバに順次
在し、各クライアントは必要な情報を最適のサーバに
接続できる。また HTIPだけでなくFfPによる
接続して取り出せるのである。このときにサーバ、ク
ファイル転送なと¥他プロトコルによるアクセ
ライアントの両方で中心的な役割を果たすと期待され
スも指定できる。
ているのが、 W
o
r
l
dW
i
d
eWebである。
マルチメディア対応
グラフイツクユーザインタフェース (GUI)を備
WorldWideWeb
えたブラウザを使うと、複数の害体やサイズの
W
o
r
l
dW
i
d
eWeb(WWW)は
、 1
9
8
9年にスイスの
フォントを使い分けたり、イメージや音声、ピ
デオなども扱える。
CERNで開発が始められた。主な機能と特徴は、次
5
8
8一
NCSAおよび CERNが開発しているフリーウェ 他の処理プログラムとの連携 通常サーバはリクエス卜された文書をクライア アのサーバだけでなく、 1 出自の拡張を行った l i 石 ン卜に転送し、ブラウザはこれを表示する。 川のサーバ製品もいくつか存在する。 しかし拡張機能として、サーバは他の処理プロ クライアント グラムを起動し、その結果をクライアン卜に転 クライアン卜としてイ史うのは、 N e t s c a p e、Mosaic 送できる。また、起動する処理プログラムと処理 などのブラウザである。ブラウザは、サーバか 条件等のパラメータをブラウザで指定すること ら受け取った HTML文書を整形してウインドウ もできる。このためのもっとも一般的なインタ に表示する。 GUI対応の場合は文字のフォン卜 n t e r f a c e(CGI ) フェースカ人 CommonGatewayI やサイズを使い分けて、見やすく表示できる。さ である。 らに、文書に埋め込まれたイメージファイルを さらに一部のブラウザでは、ダウンロードした 別途ダウンロードして、所定の位置にイメージ 文書のタイフ。や埋め込まれたタグにもとづいて、 ! ! の 。 を表示することもできる(図 1参 クライアント側のアプリケーションを起動する HTML文書にフォーム機能が使われている場合、 機能も備えている。 ブラウザはチェックボックスやテキス卜入力フ ィールドなどを表示し、ユーザからのパラメー wwwのサーバとクライアン卜 タの指定を受け付ける。ユーザが指定したパラ メータは、サブミットボタンが押された時点で サーノ fとクライアン卜の役割、働きを簡単にまとめ サーバに送られる。 ておく。 サーバ 簡単な CGIスクリプ卜の例 サーバの基本的な動きは単純である。サーバは クライアントから情報のリクエストを受け取る。 まず初めに、 SASシステムを起動して PRINTプロシ リクエストがファイルなら、サーバは指定され ジ、ャを起動し、その結果をプラウザに返す簡単な CGI たファイルの内容(多くは HTML形式のファイ スクリプトを紹介する。 ル)をクライアントに送る。 リクエストが CGIの処理が必要なものなら、サー CGIスクリプ卜の要件 バは要求された CGIスクリプトを起動し、クラ イアントから受け取ったパラメータを渡す。そ CGIスクリプトは、必要なときに www サーノくから して CGIスクリプトが返してきた結果をそのま 呼び出される。 CGIスクリプトは処理に必要なパラメー まクライアントに送る。 タを標準入力から受け取り、処理結果は通常 HTML形 式で標準出力に出力しなければならない。 って CGIスクリフ。トは、 したカt ト … l二 口実行可能なプログラムでなければならない。パ イナリでもかまわないが、変更の容易きなどの ↑↓ 点で、 UNIXではシェルスクリプトや p e r lスク リプトがよく使われる。 一 一 一 a菅一 一 → l‑‑d‑ ー←一一泊一 口「フィルタ」として動くものでなければならない。 ‑A SASシステム自体も設定により、標準入力から読み 込んで標準出力に書き込むことができるので、 CGIス クリプトとすることもできる。しかし柔軟な対応を行 e r lスクリプトから呼び出す形式を うため、ここでは p とった。 民U Qd o o 図2 :CGIの処理の概念
1: 書 !/usr/local/bin/perl
2
:書
3
: 書 CGIプログラムのもっとも基本的な伊J
4
:書
(sasuser.classをプリント表示)
5
:書
6
:
7
: $sas :
; "/users/jpnmak/tmp/sasprog.sasll;
8
: $lst ; "/users/jpnmak/tmp/sasprog・1st";
9
: $log ; "/users/jpnmak/tmp/sasprog.log";
1
0
:
1
1
: print IIContent‑type: text/html¥n¥n";
1
2
:
;
1
3
: open (5A5PROG, ">". $sas )
1
4
: print SASPROG 1I1
i
b
n
a
r
n
e s 'sarnpleJ;¥n";
1
5
: prユnt SASPROG lIoptions 15=72 ps=60;¥n";
1
6
: print SASPROG Iproc print data=s.class;¥n";
1
7
: print SASPROG I
I
r
u
n
;
¥
nll ;
1
8
: close (5A5PR口G )
;
1
9
:
t ‑log $log';
20: 'sas $sas ‑print $ls
21:
22: print lI<html>lI;
23: print "<title>S田 nple output from 5A5611";
24: print "</title>";
25: print "<h1>5A5プログラムの実行結果 </h1>¥n¥n";
26:
27: print "<pre>¥nll ;
28:
29: open ( 5A50UT,$lst )
;
30: 叫1ile ( <5A5日UT> )
31: {
32:
print $̲;
33: }
34:
35: print "</pre>¥nll;
36:
37: print "<hr><address>";
38: print I
I
T
h
i
s page 1
5 generated by perl script
.
ln a
bove 1
5 generated
3
9
: print 11田 d results shot
.
lh
ich are executedll ;
40: print "by the SAS systemt
41: prユnt lIon 11,fdate;',n by I J 't.lho副司 i
';
42: print "</address></htrnl>¥n";
43:
44: unlink( "/users/jpru
日 k
/tmp/sasprog.sas" )
;
45: unlink( "/users/jpnmak/tmp/sasprog.lst" )
;
46: unlink( "/users/jpnmak/tmp/sasprog.log" )
;
2
0行目:
SASシステムを起動し、ファイル $
s
a
sの中のプ
ログラムを実行させる。
22‑251
子目:
HTML文書として必要なヘッダを標準出力に直
接書き込む。
2Hr目
、 3
5f
r目:
くp
r
e
>と
くI
p
r
e
>というタグは、これで挟まれた部
分を整形せず、改行も含めてまったくその通り
に表示することを指示している。
29‑33
1
'
r目:
SAS システムの実行結采(プロシジャ出力)を
ファイルとして読み込み、各行を標準出力に書
き込む。
37‑421
1
'
日
:
HTML文書としてのフッタを標準出力に直接書
き込む。 4
1行目では実行日や実行したユーザ名
を UNIXコマンドを使って取得している。
44‑461
1
'
目
:
SASプログラム、 SASログ、 SASプロシジャ出
力のファイルを削除する。
このプログラムの実行結果を図 3に示す。
・
~
gpt:圃福助句揖
.......
睦 陶 凶
伊唱P
:
:
i
z
i
:
;
二t
n
ごん閣情
~J
SASプログラムの実行結果
簡単にこのスクリプトの働きを説明する (
p
erIなら
SA~
〆テ~
l
u
r
d
a
y
.4>0
1;
)
.13~ 。
(2:4~ Sa
びに HTMLの詳細は省略する)。
B・
0
"
・
"
・
r
.
.
'
,
f
.
1t
:
‑
.
y
S
;
o
町
r
,
4
γ
I
!:
.
a
r
:
r
.
B
E
7‑9行目:
同
SASシステムに与えるプログラム (
$
s
a
s
)、実行
白!~~
,
"
匝
・
G
u
l
d
o
"
四
・z
1
A
5
4 1
3
4
・む1
F
t
J
、
r
・
Y
結果のログ (
$
I
o
g
)プロシジャ出力 (
$
I
s
t
)のファイ
p
e
r
lでは変数名は先頭に $"を付
ルを定義する (
11ι~
:~:.!;r
1
,
.
.
川 和 叫
1~'
ける)。
Wl)
.
.
"
,
色
、
.
、
,
1
" ,
ι
.,
宅
"
1
"
}
,
;
"
2
"
3
弓
勾
~õ.
もu
1
込ら b
.
J
4
t
F
t
手
,
.
n弓
"
l
S
"
:
.
J
t
l
.
S
J
~:
『
ち
炉~.
"
"
"
"
" n
"
~ ~.
ヲL O
~
.
;
内
弓
"弓
白
・r
<
,
'
.
f
B
仇弓
?
吋 C
L
ヰ..
乞
"
.
J
~
~
1
'
:
.
!
0
2
.
1
1
2
ε
・1
"ζ
2
l
J
.
l
'
L
4
.l:
ω
1
.
I
!
.
O
.
[
)
喧
"
F
"
ι
1
~
~
~"l .r
~
~.r.
"'.戸,.“ Ifl'ml(td Py pu; ,crf'llUld 市 1t11..1t。岨~1J,m問伽t 付",晶'sr; 'f.m 叫叫
C'~tUJ(_ ltltd 側兵v ベp' 1_' ,V40 o.Jn;r/~~(. η)1""悩詰
1
1行日
p
e
r
lの p
r
i
n
t文は、デフォルトで標準出力に内容を
ontent‑type: text/htmlは、以
書き込む。 C
下の出力内容を HTML文書として扱うよう、ブ
ラウザに指示するものである。
竺必!:iiI!S~ 金土bど~E!竺l.'!!>..::刷抑 :'Òc;~e 叩町
13‑IHr目:
図3
:簡単な CGI‑SASスクリプトの実行結果
実行させたい SASプログラムを $
s
a
sに指定した
ファイルに書き込む。
5
9
0
フォームの利用
46: print J<select n副 司 e;"mvarll>J・
"¥n";
47: open (SASOUT. $varlist )
;
48: while ( <SASOUT> )
49: {
50:
print lI<option> $̲"
51:
unless ( $̲ =̲ /(none)/ )
;
5
2
:}
5
3
:
"
¥
n
l
l
;
54: print J</select><p>J,
HTMLのフォームを利用すると、ユーザはブラウザ
から処理パラメータを指定できる。ここでは次の課題
にもとづいて考えてみる。
S
A
Sデータセット webdemo.carsaユes には、車種
(
C
A
R
)、営業所 (
O
F
F
I
C
E
)、営業担当者 (
S
A
L
E
S
)別の
5
5
:
5
6
: print 'SUBGROUP変数..
57: print J<select n四 e;lIsvar勺 J,1I¥n";
58:
59: open ( SASOUT. $varlist )
;
60・ while ( <SASOUT> )
6
1
:{
̲
1
1
;
62:
prユnt "<Optユon> $
6
3
:}
64・
65・print J</select><p>',
'
I
¥
nl;
66:
6
7
: print J<INPUT TYPE;lIsubmit"J;
6
8
: print • VALUE="実 行 勺 J.1I¥n";
6
9
: print II</form>¥n<br>¥n";
70・
71:
72: print "<hr><address>lI;
73: print "This page is generated by perl 1
1
;
74: print "script 田 d results shoyn above i
s 11;
75: print IIgenerated by the SAS system yhich 1
1
;
1
;
76: print lIare executed on 1 tdate;t ,1 by 1
77: print f
yho副 司 i
'
. "</address></html>¥n";
78:
79: #unlink( $sas )
;
80: #unlink( $lst )
;
81: #unlink( $log )
;
82: #unlink( $varlist )
;
売上明細データが入っている。このデータから、営業
所別、車種別、担当者別などの集計を行い、グラフに
表示する。ただし、営業所別に分類し、さらに車種別
の内訳を表示できるようにしたい。なお、他のデータ
への応用を考慮し、プログラムはできるだけ汎用的に
作成する。
ユーザがブラウザからパラメータを指定できるよう
にするために、ここでは「選択メニュー」を使ってみ
A
Sシステム
た。選択メニューに表示する選択肢は、 S
を起動して作成する。
このための C
G
Iスクリプトを下に示す。
1
: #!/usr/local/bin/perl
2
:審
3
: # carsalesにもとづくグラフを作成、表示する
4
:#
5・
6
: $sas
= lI‑jpnrnak/tmp/sasprog.sasl1 ;
7: $lst
= "‑jprunak/tmp/sasprog.lst";
8
: $log
=,
,
‑jpnmak/tmp/sasprog.log";
9
: $varlist = lI‑jpnmak/tmp/varlist.lstl ;
1
0
:
1
1
: open (SASPROG. ">". $sas )
;
l;
1
2
: print SASPROG "1ibname webdemo 'yebdemo';
¥
nl
1
3
: print SASPROG Iproc contents¥nl;
1
4
: print SASPROG 1
1 data=¥Jebdemo.carsalesl1 ;
1
5
: print SASPROG 1
1 out=contents noprint;¥n;lI;
1
6
: print SASPROG "run;¥n;lI;
1
7
: print SASPROG I
I
d
a
t
a ̲null̲;¥n;lt;
1
8
: print SASPROG 1 set contents¥n";
1
9
: print SASPROG "
(where=(type=2));¥n;";
20: print SASPROG 1 file ¥"$varlist¥";¥n;";
21: print SASPROG" if ̲n̲=l then¥n";
;
¥
n
;"
;
22: print SASPROG 1
1
put J(none),
23: print SASPROG" put n国 ne;¥n;";
24: print SASPROG "run;¥n;lI;
25: close (SASPROG )
;
26:
27: tsas $sas ‑print $lst ‑log $logf;
28:
29: prユnt "Content‑type: text/html¥n¥n";
30:
31: print "<HEAD>¥n";
32: print "<TITLE>II;
33: print "CGI Interface to SAS</TITLE>¥n";
34: print "</HEAD>¥nll;
35: print "<BODY>¥nl;
36: print "<H1>SASシステムとのインタフェース".
37: print "</Hl>¥n";
38:
39: print "分類変数、 subgroup変数を指定して".
40: print It実行ボタンを押してください o¥n";
'
<
h
r
>
¥
n
¥
n
l
'
;
41・ print I
42:
43: print • <FORM METHOD="POST"';
44: print JACTION;I'test4‑sas.cgi">
',"¥n";
45: print J分類変数...
このスクリプトについて間単に解説する(前のプロ
グラムと重複する部分の解説は省略する)。
6~9 f
y目:
SASシ ス テ ム の 処 理 に 必 要 な フ ァ イ ル を 定 義
する。
1
1~2Hÿ 日:
SASシステムに実行させるプログラムをファイ
ルに書き込む。
43~4Hÿ 日:
フォームの開始タグ。このタグにはサブミット
したときに実行したい C
G
rスクリプト名を指定
する。
45~54 行目:
分類変数のための選択メニューを定義する。 S
E
‑
LECTタグは選択メニューを使うことを指定す
ELECTタグの NAME=オプションに指定し
る
。 S
、 C
G
Iスクリプトに引き渡すとき
た値 (mvar)は
PTION
のパラメータの名前になる。選択肢は O
タグで指定する。
56~65 f
y日:
同様に S
UBGROUP変数のための選択メニュー
‑591‑
を定義する。
</fo口 n
>
<br>
<hr><address>
This page i
s generated by per1 script and
results shown above is generated by the SAS
system W'hich 訂 e executed on
Sat Apr 13 02:59:42 EDT 1996 by j
p
n
r
n
a
k
</address></htm1>
r
67~69 1
'一
目
:
SUBMITタイプの「実行」ボタンを定義する。こ
のボタンを押すと、指定したパラメータが CGI
スクリプト t
e
s
t
4
‑
s
a
s
.
c
g
iに引き i
度される。
このスクリプトの処理結果の表示(図 4
)とスクリプ
トが生成した HTML文書(改行を入れて整形してある)
を下に示す。
ニニ;ごま託子1
r
s
柑両極端
:
;
j
l
,
.
"聞
[
平明
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
"
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
i
i
'
C
i
f
O
'
.
i
、
:
ブラウザからサーバへのパラメータの
引き渡し
f
;
:
:
;
.
:
:
:
;
I
r
r
:e
r
‑f
叩
司圃p
l,1),,,,,/.ノ同町出oorjpr時同:~:~~ •••••••••••••••••• ...................~
L
士三j
ユーザがフォームで指定した値は、次の形式でサー
バ経由で CGIスクリプトに引き渡される。
iSASシステムとのインタフェース
j用 問 a町叫四日量定して劃寺ボタン開日くださ川
H世 間
r
ω咽
; 日泊
日3
K
叩
R
削
且 担e
=value[&n四
e=valueJ...
正
岬コ;
:厄
恥
)
い
ば
三
三1
たとえば上のフォームで分類変数に OFFICE、SUB‑
GROUP変数に CARを指定すると、次の形式でパラ
メータが CGIスクリプトに引き渡される。
与
;i 逗
昼
笠;
mvar=OFFICE&svar=CAR
,
: T
h
i
Jp
aRtJ
.
S
g
a
I問 t
l
1
1t
f
j
ptT/
l(I'.抑 制 刑 制 仰 " " 叫 a加 ytllgfJI問r
a
1l
T
j陶 剖 . ssyl
何河川帥
;"
I
'
1
'U,", I
I
f
m
o
明白!t4pf!<~;:59 .f2 EDT19~( 勾 J,.....>.
このストリームにはひとつやっかいな特徴がある。
非印字文字(英数記号以外の文字)は、 1
6進表現で表さ
れるのである。 1
6進表現 2桁の先頭には %"が付加
きれる。たとえば空白文字は %20となるのである。漢
字などの 2バイト文字もすべて非印字文字と解釈きれ
るため、パラメータに日本語を使うのは面倒で、ある。
呼び出された CGIは、パラメータ自体を標準入力か
ら、付随する属性を 3つの環境変数、 REQUEST.
.
.
METHOD、
CONTENLTYPE、CONTENT
ム ENGTHから受け取る。ここ
2 坐担当盗主主副反日経担当差出単語足当~
図 4:SASシステムで生成したフォームの表示
J
.
.
.
ENGTH変数で、
でもっとも重要なのは CONTENT
パラメータ文字列の全長が入っている。
L
a
r
r
y
[
l
]はパラメータの分解を DATAステップで行
<HEAD>
<TITLE>CGI Interface to SAS</TITLE>
</HEAD>
<BOD1>
<H1>SASシステムとのインタフェース </H1>
分類変数、 subgroup変数を指定して
う方法を紹介しているが、次のような p
e
r
lスクリプト
で分解を行う方が、短いステップですむ。
read( STDIN,$buffer,
$ENV{ 'CONTENT̲LENGTH' } )
:
也p
arm = sp1it( /
&
/
, $buffer )
:
実行ボタンを押してください。
<hr>
foreach( 也parm )
f
<FORM METHOD="POST" ACTION="test4‑sas.cgi">
/([ =]+)=([白=]+)/;
$n町 田 =$1;
$va1ue=$2;
¥
lh
ュ1e ( $va1ue =・/.牟%([0‑9A‑F][0‑9A‑F]).傘/ )
分類変数:
<select name=lImvarl)
<option> CAR
<option> OFFICE
<option> PERSON
</se1ect><p>
SUBGROUP変数:
<select n田 ne="svarl)
<option> (none)
<option> CAR
<option> OFFICE
<option> PERSON
</se1ect><p>
<INPUT TYPE;Ilsubmitl V
A
L
U
E
=
I
I実行り
f
l,oct( "0xl
$char = pack( "Cl
l
.
$
1 ))
;
$value =
s/(.吋 %[0‑9A‑F][0‑9A‑F](.め /$1$char$2/;
〉
$mvar = $va1ue if ( $name =‑ /mvar/ )
;
$svar = $va1ue if ( $name =‑ /svar/ )
;
〉
このスクリプトは標準入力から読み込んだパラメー
タ文字列を &"で分解し、名前一値の各ベアを配列 parm
5
9
2
に1
)
又める。そして値の中の
%xx"(
x
xは 1
6j
t
t数)を服
4
8
: print S 11
data;webdemo.
carsales;¥
n
"
;
4
9
: print S 11
hbar $
r
n
v
a
r/
"
;
5
0
: print S 11
S田 n
v
a
r
;
;
s
a
l
e
sn
o
s
t
a
t
s
¥
n
i
l
;
5
1
: print S 11
l legend=legend1¥n";
r
n
a
x
i
s
;
a
xユs
l
5
2
: print S 11
subgroup=$svar¥n
5
3
:
unless($svar =
‑ /(
n
o
n
e
)/
);
;
¥
n
l
l
;
5
4
: print S 11
5
5
: print S 11
目ユ s
l value=(f=kanji h=1.5);¥n";
5
6
: print S" legend1 value=(f=kanji h=l);い".
5
7
: print S 11
pattern v
=
s
;
¥
n
l
l
;
l
l;
5
8
: print S "run;¥n
5
9
: close (
S)
;
6
0
:
6
1
:'
s
a
s $sas ‑print $lst ‑log $log';
6
2
:
6
3
: print "<html><title>";
6
4
: print "
S四 ple output from SAS611</title>";
6
5
:
6
6
: print "<h1>SASプログラムの実行結果 </h1>¥n¥n";
6
7
:
6
8
: print "
<
i
r
n
g src=¥"$gユf
¥
"
>
I
I
;
6
9
: print "<hr><hr><hr>¥n";
7
0
:
7
1
: prユnt "<hr><address>I';
7
2
: print "This page i
s generated hy perl "
;
7
3
: print "
scri
p
t and results shown above i
s 11;
7
4
: print "generated by the SAS s
y
s
t
e
r
n which 11;
7
5
: print "are executed o
n 11 fdate;t. 11 by
7
6
: print fwho四 ユ
"</address></htrnl>¥n";
7
7
:
7
8
: #unlュ
nk( "$sas" )
;
7
9
: #unlink( "
$
l
s
t
" )
;
8
0
: #unlユnk( n$log" )
;
S
C
I
I文字に変換している。こうして待ら
に対応する A
れた $mvarと$svarを使って、次のステップ、すなわち
グラフの作成に取りかかることになる。
グラフの作成とブラウザでの表示
S
A
Sシステムで作成したグラフをブラウザで表示す
る手順の多くの部分は、これまでの C
G
Iスクリプトと
ほぼ同様である。ただし、グラフなどのイメージファ
イルは別のイメージファイルとして格納し、 HTMLで
MGタグでそのファイルを指定することになる。な
はI
U
Iベースのブラウザのほとんどで、
おG
G
I
Fと J
P
E
G
がサポートされている。
スクリプトの例を下に示す。このスクリプトでは、作
I
F形式でファイルに保存し、 HTML
成したグラフを G
中では I
MGタグにファイル名を指定している。
・
.
1
: #!/usr/local/bin/perl
2
:怠
3
: #指定されたグラフを作成して表示する
4
:#
5・
6
: read( STDIN. $buffer.
7
:
$ENV{ 'CDNTENT̲LENGTH' } )
;
&
/
. $buffer )
;
8
: 哩parm= split( /
このスクリプトを実行し、分類変数に P
ERSONを
指 定 し た 場 合 の 結 果 を 図 5に 、 分 類 変 数 に O
F
F
I
C
E、
9:
1
0
: foreach( 哩parm)
1
1
:{
1
2
:
/([‑=]+)=([
‑
=
]
+
)
/
;
1
3
:
$name=$l;
1
4
:
$value=$2;
1
5
:
while($value=‑/ー
事
7
,
([
0
‑
9
A
‑
F
][0‑9A‑F]).キ/)
1
6
:
{
1
7
: $char = 阿
pack( "
c
1
8
:
$value =
)
7
,[
0
‑
9
A
‑
F
][
0
‑
9
A
‑
F
]仁 川 /$1$char$2/;
1
9
:
s
/
(
.市
2
0
:
}
2
1:
2
2
:
$mvar = $value if ( $name =‑ /mvar/ )
;
2
3
:
$svar = $value i
f ($name =‑ /svar/ )
;
2
4
:}
2
5
:
出 11;
2
6
: $dir = "‑jpnm
2
7
: $sas = lI$dir/trnp/sasprog.sas";
2
8
: $lst = "$dir/tmp/sasprog.lst";
2
9
: $log = "$dir/tmp/sasprog.log";
3
0
:$
句gi
臼f
n四a
me
ザ=
"g$$.
が
gi
f
"
;
3
1
: $gif = " 初 日 /tmp/$gifname";
3
2
:
SUBGROUP変数に CARを指定した場合の結果を図 6
に示す。
~
Q;戸"'"
N
o
別格
N;n拘戸柁"'"圃a'~
山 l}_>t~/Ir:r !k~er_ I$....)
r
四
,
融
当p
l
l~C: f~~i~.~~.i~;; 拙 11
ーは・
II
副 担 叩
豆~
SASプログラムの実行結果
iJlii~K_-ーーーー一
院冨
?三田島刊
,
/
l
rl
ff
>
dI'U'̲:羽 問 tdb
'
jp,
.'I.ui
p
!ω
吋
33: #このスクリプトの過去の実行で作成された
m
.
ω
.
.
'lrfl岨凶 I"1 M 5.lIAf'JJ i)~ 計四 ι T
3
4
: # GIFファイルを削除する
3
5
:'
f
i
n
d $dir/tmp/ ‑atime +1 ‑exec rm {} ¥
¥
;
'
;
3
6
:
l
3
7
: print "Content‑type: text/html¥n¥n ;
3
8
:
3
9
: open (S
."
>
"
. $sas )
;
n
l
l
;
4
0
: p口 nt S "filename sasgraph ¥"$gif¥11;¥
e
b
d
e
r
n
oJ
w
e
b
d
e
r
n
o勺 ¥
n
";
4
1
: print S 1I1ibname w
N
¥
n
"
;
4
2
: print S Itgoptions dev=imggif hsize=5.5 I
vsize=3.8 I
N border cback=gray";
4
3
: print S 11
4
4
: print S 11 gaccess=sasgastd";
gsfname=sasgraph";
4
5
: print S 11
gsfrnode=replace¥n11;
4
6
: print S 11
l;
4
7
: print S "
proc gchartl
,
岬 tJt̲Gν
'lIl
回 同t
atb
'
jt
l
:1日 Sl
'
fl
fv
.
t同 H
,
,
.
,
.
,.
:
I
y}
"
,
.
"
叫
!)~!・ trins!tr~ ・ m凶'"
~ι..d"'",'辺製 2竺」三主主j~ 恥川 1:lW: !::c.~p.川町
図5
:SASシステムで生成したグラフの表示(1)
円ud
Fhu
qu
なければならない。 p
e
r
lは、テキスト処理に適
lk
t 一一笠竺史ー笠型竺:...~!:史f竺ー‘竺笠一ー一一ー一一一一一一ー一一ー一一一三笠ー
r
:
:
:
:
.
"
!
地I.~I.~ 叫,vtfrQl'l拙ii---------
していてコンパクトなプログラムが書ける反面、
一 白
山|同ノノ'c:r itcm-叫トムぶ回4~ 叩
叱 ~-j
見通しの悪いプログラムも容易に書ける言語で
f
!SASプログラムの実行結果
ある。シェルや DATAステップで同じ機能を実
!t
̲
現すると、ステップ数が増えてしまう。
口複雑なパラメータ指定を実現しようとすれば、
HTMLファイル、 CGIスクリプトともに複雑にな
ってしまう。したがって、高度かつ複雑な処理を
要するアプリケーションは、当然ながら SASん旺
や SASAISソフトウェアで構築すべきであろう。
i冊 、 円Ifl.伊 同t<
<
lttpvlsu'
l
"
C
ll
l
d
r
e
f
l
tl
r
Js
山 四 ω同
i
S
g
C
I
l
f
J
'
f
l
tN勾 t
h
rs
'
'
l
.
S
:
r
y
Jtun曲 目 "
rtu<< ~t I'dOll."'"・ Ar., IJ ω r:.JJEDTI99l 勾Ji'"略法
(
J
ロクライアントからのアクセスのたびに SASシス
テムを起動/終了する必要がある。非対話モード
のため、処理自体は軽いが、起動/終了のオーバ
ヘッドも考慮する必要がある。
したがって、次のような条件が満たされた場合、 CGI‑
九
1) ~liI守恒包旬".冊p"包
SASインタフェースの採用を検討すればよいだろう。
主~;Ih 子~~~~~i~~.ほ~: ~~:i~~F~~~~;L~!~~:そ~~~ni'叩~ .~~:~~~~~~: Ë~i~ 刷令出空':'!
図6
:SASシステムで生成したグラフの表示 (
2
)
口指定するパラメータが少ない
口遠隔地や出先からなど、 SASシステムに直接ア
クセスできない場合に対応する必要がある
考察
口他の情報提供メニューとのユーザインタフェー
スを統ーしたい場合
W W Wのブラウザは、今日ではほとんどの主要なデ
スクトップ環境で利用できる。さらに CGIスクリプト
を使う方法は、ほぼすべてのブラウザ、と WWWサー
参考資料
ノT
カfサポートしている。したカすって CGI‑SASインタ
フェースは次のような長所を持つ。
口比較的簡単に、グラフを含めた SASシステムの
処理結果をブラウザ、に表示できる。
WWWをめぐるニュースやテクニックは、きわめて
数多くの雑誌、単行本に掲載されている。これらすべ
てを網羅することは不可能なので、本論文の記述にあ
たって発表者が直接参照したもののみを紹介する。
ロクライアント側にはブラウザ、だけがあればよく、
SASシステムは不要。
1
.L
a
r
r
yHoyle, C
o
n
n
e
c
t
i
n
gSASt
ot
h
eWorldWide
自
(l
e
:
/
/
f
t
p
2
.
c
c
.
Web‑FormsAccesst
h
eI
n
t
e
m
e
t
",
ロサーバ側の SASシステムは非対話モードで動く。
ディスプレイマネージ、ヤ・モードに比べて負荷が
軽くてすむ。
1
)
u
k
a
n
s
.
e
d
u
/
p
u
b
/
i
p
p
b
r
/
p
a
p
e
r
s
/
m
w
s
u
g
9
4
2 吉村信、家永百合子、鐙聡, I
インターネットホー
ムページデザイン J,淘泳社
一方、この方法には次のような欠点もある。
3
.L
a
r
r
yW
a
l
l,Rand
a
1L
.Schawartz著,近藤嘉雪訳,
口p
e
r
lやシェルのスクリプトを間に挟む必要があ
I
P
e
r
lプログラミング J,ソフトパンク
り、開発者は SASシステム以外の言語も理解し
594‑
日本 S A Sユーザー会 (SUG I‑J) DATAステップのデバッグと DATAステップデバッガ 谷川陸一 SASインスティチュートジャパンテクニカルサポート DebugofDATAstep&DATAstepdebugger RyuichiTanikawa Technicalsupportsection,SASInstituteJapanLtd. Japan Tokyo, 要旨 DATAステップにおいて発生するエラーについて考え、 デバッグ方法について説明します。 . 1 1で撞供された DATAステップデバッガについて また、リリース 6 説明します。 キーワード:DATAステップ, DATAステップデバッガ 1.はじめに 本論文では、 DATAステップで発生するエラーについて検討し、それをどのように解決していくかを考 . 1 1で追加された新しい機能、 えます。そして、リリース 6 r D ATAステップデバッガ」について説明しま す 。 r D ATAステップデバッガ」は通常のデバッグで有効であるのはもちろん、 C言語のような開発言語か ら 、 SASシステムの DATAステップを使用するようになったときの一種の混乱のを取り除く上でも役に立 つのではないでしょうか。私は、 r DATAステップデバッガ」を DATAステップに初めて触れる人にこそ 強くお勧めします。 2.DATA ステップの経験が浅い人へ nMd RU Ru
私自身そうだったのですが、最初に DATAステップに触れたときには、一種独特の感じがしました. 物分かりの悪い私には、どうしても 1オプザペーションずつ処理をしていく DATAステップのプログラミ ングが難しいものに思えました。最初に、 DATAステップデバッガがあれば、どんなに早く理解できたこ とでしょうか。 初心者の方は、ぜひデバッグオプションをつけて DATAステップを実行してみてください.ものは試し に、以下のプログラムをデバッガで STEP実行してみてください. d a t at e s t/ d e b u g ; s e ts a s u s e r . c l a s s ; 江s e x = ' M 't h e n /*このように書かないとデバッガでうまく見れないのが欠点ですが*/ o u t p u t ; r u n ; データが一件ずつ処理されていくのがわかるでしょう。 さて、以下の例はどうなるでしょうか。これは、 DATAステップを習得する際、最初にぶつかる問題です。 1234 o p t i o n sn∞e n t e r ; d a t at e st . ; mputa; t o t = . t o t + a ; c a r d s ; r u n ; この場合、 『割当ステートメン卜 J t o t = . t o t + a ; ではなく、 RETAINが機能する『合計ステートメン卜 J . t o t + a ; を使用するか、または、明示的に RETAINステートメン卜を使用しなければなりません。 3.DATA ステップの経験が長い人へ 特に言うことはありません。どんどん DATAステップデバッガを使用してください.長い処理を実行 する場合、 DATAステップデバッガは大きな力になるでしょう。 DATAステップデバッガについては、後で詳しく見ることにして、 DATAステップで発生するエラーに ついて見ていくことにしましょう。まず、エラーの種類から見てみましょう。 4 . エラーの種類 に 1U ハ b Qd
まず、 SASシステムで発生するエラーの種類について考えてみましょう。 エラーには ‑シンタックスエラー .データエラー ・実行時エラー があります。 4 . 1 シンタックスエラー 「シンタックスエラー Jはコンパイル時にエラーメッセージが表示されます。この場合 SASシステムの マニュアルを参照しながら確認作業を行います。 r シンタックスエラー」はプログラムを実行したとき、 LOGウインドウに表示されます。 ( 伊b ERROR1 8 0・3 2 2 :ステートメントは無効,又は[ J 原序が正しくありません. =概ねエラーの起きたコンポーネントを示します 実際のエラー内容はメッセージを参照してください。 DATAステップを実行する前に「文法チェック Jだけを行いたい場合には 〈文法チェック〉 d a t a̲ n u l l 一 ; r u nc a n c e l ; のように RUNステートメントに C ANCELオプションを付けて実行します。 o p t i o n sobs=O n o r e p l a c e ; を指定することにより、作成済のファイルを更新することなく、実行するこ とが可能です。これによっても、 「文法チェック」が可能です。 「シンタックスエラーでは、 LOGをよぐ見ること j が大切です。 4 . 2データエラー 説み込んだデータが、おかしい場合には、以下のように PUTステートメントが使用できます. d a t a̲ n u l l ̲ ; i n f i l ef i l e r e f ; i n p u t… put̲ i n f i l c ̲ ; r u n ; データについては、 たり、 上記のように、 PUTステートメントを使用したり、 P RINTプロシジャを使用し ONTENTSプロシジャを使用して確認することができます。 ライブラリウインドウや C ワ i nud phu
4 . 3実行時エラー 実行時に発生するエラーの場合、その原因は多様です。 'SASシステムの文法チェックが十分でないために尭生した(潜在的文法)エラー 実行時エラーではセミコロン(;)がぬけている場合、セミコロン(; )をコロン(:)と入力し 間違えた場合にも発生します。 セミコロン(; )をコロン(:)と入力した場合には、思いもよらぬエラーを発生させる場合があ ります。 (これは、 SASシステムの不親切なエラーメッセージの場合もあるのですが・・) ・ネットワーク環境や、メモリ環境など、システム環境に依存した原因によるエラー この場合、エラーメッセージとして、システム依存のエラーや、メモリー管理のエラーメッセ ージが表示されます。このようなエラーが発生する場合には、プラットフォームごとの調整が 必要となります。この種のエラーも現実問題としては、かなり発生します。本論文ではこの ような場合の対応については論じません。各プラットフォームごとのマニュアルを参考にし てください。 ・最後に考えられるエラーがロジックエラーということになります。 妥当します. 動作自体は、正常に終了しているが、思った結果が得られない場合が、これに E 基本的には、 DATAステップを小さく作り、データを少しずつ加工していけば、誤りを発見し やすいでしょう。 5 . 従来からのデバッグ方法 以下に DATAステップでのデバッグ方法をいくつかご紹介します。 5 . 1PUTステートメントの利用 変数の値を調べるには PUTステートメントが使われます。 PUTステートメントの使用例を以下に示 します。 p u tv a r 1 ; /*変数値の出力*/ p u tv ar 1 = ; /*変数名を表示して値を出力*/ p u t̲ a l l ̲ ; /*プログラムデータベクトルσD V)で管理しているすべての 変数の表示, ̲ ERROR̲,̲N ーを含む*/ p u t'DATASt 巴pt e s t1 ' ; /*文字列の出力*/ p u t̲ i n f I l e ̲ ; /*外部ファイルのデータをそのまま出力する*/ (使用例) d a t a̲ n u l l ̲ ; i n f I lef u c r e f ; i n p u t .……; Fhu n H υ o o
put̲ a l l ̲ ; e ̲ ; put̲II温l r u n ; 5.2DATA、 FILE、 INFILEステートメントオプションの別用 、FILE、INFILEの各ステートメントのオプションが利 ファイルデータの入出力チェックでは、 DATA 用できます.これらのオプションでは、特別な情報の値を保持する変数を指定できます。 .DATAステートメント IN=変数 オブザペーションを読んだ : 1 読まなかった : 0 • FILEステートメント COLUMN=変数 /*カラムポインタの現在の位置を値として持つ変数を定義*/ F lLENAME= 変数 /*現在の出力先の外部ファイル名を値として持つ文字変数を定義*/ LINE= 変数 / *N=オプションで指定された行数の中の、現在の相対行番号を値とし て持つ変数を定義*/ LINESELECT=変数/*現在のページの残り行数を値として持つ変数の定義*/ 'INFILEステートメント COLU1 町=変数 /*カラムポインタの現在の位置を値として持つ変数を定義*/ END=変数 /*読み込んだデータ行が最後の行になったときに値が 1になる変数を 定義*/ EOV=変数 /*一連の連結されたファイルの最初のレコードを読み込むときに 1とな る変数の定義*/ FILENAME= 変数 /*現在の入力ファイル名を値として持つ変数の定義*/ LENGTH=変数 /*入力行の長さを保持する変数を定義*/ LINE= 変数 /*N=オプションで指定された行数中の、現在の相対番号を値として持 つ変数の定義*/ START=変数 /*読み込みを開始するカラム位置を値として持つ変数を定義*/ 5 . 3SUBMITしても何も実行されなくなった場合 引用符( I )や二重引用符(" )が閉じていない場合があります。その場合には、 * ' . * " . * 1 ; ‑ " ; ‑ t ; r u n ; という 3行のコメント行を入力してみてください。これにより、引用符( I )や二重引用符(" )が閉じ ていない場合や、コメントが閉じていない場合から抜け出せます。 6 . SAS NOTES の利用 SASシステムと一緒に握供されている SASNO冗 S には、 SASソフトウェア使用上の注意事項や問題 点、および解決方法が記録してあります。 SASシステムを使用していて問題にぶつかった時には、ぜひ SAS ‑599‑
NOTES を調べて見てください。 7 .SASテ ク ニ カ ル サ ポ ー ト の 利 用 いよいよ、という時にはテクニカルサポートヘご連絡ください。しかし、論理的なエラーの場合には、 DATAステップデバッガを使用して調べてみましょう。意外な誤りが隠れているかもしれません。 8.DATAス テ ッ プ デ バ ッ ガ さて、いよいよ DATAステップデバッガの出番です。従来に比べるとシステム開発の規模は大きなもの ATAステップも大きな処理が必要になってきてい となっています。プロシジャによる処理だけでなく、 D ます.S A Sシステムリリース 6 . 1 1では新たな機能として DATAステップデバッガの機能が担供されます. 従来のように PUTステートメントをちりばめる必要はもうありません。 8.1DATAステップデバッガが作成された経緯 ここ数年の米国 S AS社による S A S w a r eB a l l o tによる投票の結果、 DATAステップのデバッグ機能に 対するニーズが非常に多いことがわかりました。そして、そのニーズを満たすために作成されたのが DATAステップデバッガなのです。 8 . 2何故 DATAステップデバッガが必要なのか デバッグというステップはどんな開発環境でも発生する作業です。通常 エラーに遭遇し、どうしても その原因を特定できない場合、 PUTステートメントなど変数のプリント機能を使用します. しかし、どうしても原因をつかめない渇合があります(それは、多分に思い込みの i 曇合が多いのですが)。 このような場合には、思い切ってステップごとにプログラムの動作を確認するほうが早いものです。 また、 DATAステップに不慣れな人の場合にも、 D ATAステップデバッガは効果があります. DATAステップの動作は、 C言語のような他の開発言語を使用していた人には一風変わった動作をする ように感じるでしょう。この DATAステップの動作を理解するよでも D ATAステップデバッガは格好の 機能となるでしょう。 8.3DATAステップデバッガなんて、めんどくさい? デバッガというものは、使いはじめるまではおっくうな気がします。 しかし、 PUTステートメントをちりばめてもなかなか解決しない場合には、ためらわずに使用するべきで す。ロジックミスは、自分では正しいと思っているところで発生するのですから、冷静に、自分のプログ ラムが 1ステートメントずつ実行されるのを確認しましょう。得てして、思いもかけない間違いが発見さ れるものです。 ‑600‑
8.4どんな時に使うのか .LOGにエラーメッセージは出ているが、因果関係がはっきりしない場合 .得られた結果が予想していたものと異なる場合 ・思ったような分岐が起きない場合 ・思ったようなループ回数にならない場合 データステップデバッガを利用すると.以下のようなことが可能です。 .BREAKコマンドによる指定位置での実行の中断 • EXAMINEコマンドで、ループ回数、分岐条件など、変数の値をチヱツクする。 .WATCHコマンドで、変数の値が変ったところで実行を中断する • DESCRIBEコマンドにより、変数の属性をチェックする • CALCULATEコマンドにより、計算式の値をチヱツクする ・瓜瓜1Pコマンドにより、実行順序の強制的な変更 .SETコマンドによる、変数値の変更 ・LISTコマンドによる、 i n f i l e, f u e,データセットの情報の表示 8 . 5起動方法 以下のようにして DATAステップデバッガを起動できます。 d a t at e s t/ d e b u g ; r u n ; 1行に 1ステートメントずつ記述するようにしてください。デバッガは、 1行単位でしか表示しません。 8 . 6終了方法 コマンド QUITを実行するか、メニューから終了を選択します。 U 円 ーよ PO
8 . 7画面 酉面としてはデバッガソースウインドウ、デバッガログウインドウが表示されます。 図1 :デバッガソースウインドウの酉面 図2 :デバッガログウインドウの画面 ηL nU FO
809‑ ー τ= 〆 μ ~:v 図 ーτ =〆 ー τ河: 8図 。~* ( l~~Çl- τ = ~"f./. c':f({)国土、利三l ー τ =〆 盟盟ー τ± 〆S " g
図5 :ブレークポイントメニュー 8 . 9コマンド 握供されるデバッガコマンドは以下のものです。 サポー卜されているコマンドは、 SCL言語でのデバッ ガ SCLデバッガとほぼ同様のコマンドがサポー卜されています。 • BREAK • TRACE • EXAlvIINE • LIST • WATCH • DELETE • DESCRIBE ER 'ENτ' • CALCULATE • QUIT • STEP • SET 'GO ・瓜JMP その外、コマンド行、コマンドウインドウで実行するコマンドとして、 RECALLコマンドがあります。 RECALL コマンドにより、デバッガログウインドウで実行したコマンドを 1つずつ呼び出すことができ ます。 以下、幾つかのコマンドについて細かく見ていきましょう。 <BREAK> 実行を中断する場所を盤定します。 (設定した場所の直前まで実行されます。) break (ラベル o r行番号) a f . t e r (実行回動 when(条件均; ‑604‑
<STEP> 一度に n個のステートメントを実行します。 s t e p(ステップ数) <GO> DATAステップの開始、再開を行います。 go( 場所) <EXAMINE> 1つ以上の変数の値を表示します。 examine(変数名) <WATACH> 指定した変数の値が変更されたときに実行を停止します. watch( 変数名) <QUIT> デバッガを終了する場合に使用します。 8 . 1 0ファンクションキーの利用 ファンクションキーにコマンドを割り付ける場合には、 DSDに続けてコマンドを記述します. (例) dsd ' e x a m i n e̲ a U ̲ : 例えば上記の記述をファンクションキ‑F2に劃り当てると、以降 F2を押すだけで全ての変数の値 をログに表示させることが可能になります。 8 . 1 1 マクロとの関係 DATAステップデバッガは、マクロ機能とは連動していません。マクロの展開については、 OPTIONSス テートメントの M PRINTや MLOGIC, S Y 百 四O LGEN等のオプションで行って下さい.マクロ自体のデ バッグは、上記オプションで表示される LOGを参照して行ってください. デバッガ中では、コマンドマクロを使用することが可能です。例えば、 %macroe c ;巴xaminep a r a l ; s . t e p5;%mende c ; と定義したマクロをデバッガのコマンド行で実行することができます。 これにより、デバッグコマンドの実行をマクロ化し、指定行での BREAKと変数値のチェックを行うデ バッグ用マクロなどを作成できます。 8 . 1 2SCLデバッガとの関係 SCLプログラムの中の SUBMITブロックで使用した場合、 TESTAFの中では、 DATAステップデバッ ガは機能しません。現在のところ、 S CL・‑マクロ今データステップと、シームレスにデバグすること はできません。サブミットブロックは、 S CLと別にデバッグしてください。 ロリ ハU ρ0
9 .おわりに DATAステップデバッガは、いろいろな意味で待ち焦がれた機能と言えるでしょう。 DATAステップデ バッガは、複雑化した DATAステップのデバッグに役立つばかりでなく、新たな SASユーザにとっても 便草 I Jなツールと言えるでしょう。 刷、 FRM 四エン 今後も、 SASシステムの開尭環境としての機能はますます強化されていきます o SAS トリでの開尭環境もどんどん強化されています。これらの開尭ツールを有効に利用し、効果的な開尭を行 ってください。 1 0 .参考文献 •T e c h n i c a lRepor . tE・1 0 5 J SASシステムリリース 6 . 1 1における変更点と拡張点 ・ SUGI20論文 rTheDATAS . t e pD e b u g g e r J i a mhe 缶l e r, SASI n s . t i t u . t eI n c ., C a r y, NC W辺l MarkSch a f I e r , s ASI n s t i t u t eI n c ., Cary, NC 6 0 6
日本 S A Sユーザー会 (SUG I‑J) UNIX版 SASシステムユーティリティの紹介 竹中京子 株式会社 SASインスティチュートジ、ャパン 技術部テクニカルサポート Thei n t r o d u c t i o no fu t i l i t i e s : SASSystemf o rUNIX KyokoTakenaka SASI n s t i t u t eJapanLTD. TechnicalDepartmentTechnicalSupportSection 要旨 UNIX版 SASシステムで用意されているユーテイリテイの機能を紹介する。 また、 1 )リース 6 . 1 1で追加された新しいヘルプシステムなどもあわせて紹介 する。 キーワード: U N I X .V 6 .U T I L I T I E S はじめに UNIX版 SASシステムでは、いくつかのユーティリテイコマンドが提供されており、 SASシステム本体のプロ セスから呼び出されるものや、環境設定のため単体で使用できるものなどがある。 リリース 6 . 1 1で新たに追加されたものも含め、 SASシステムの環境設定などに役立つものをいくつか取り土げ て紹介する。 ‑607‑
cleanworkユーティリティ c l e a n w o r kユーティリティは、不安な SASWORKディレクトリを削除するためのものである。通常 SASWORK ディレクトリは SASセッションの終了時に自動的に消去される。しかし SASプロセスを k i l lコマンドで強制的 に終了させた場合など、 SASWORKディレクトリが消去されずに残ってしまう場合がある。 rコマンドで削除することも可能でーあるが、動作中の SASセッション 残った SASWORKディレクトリは rm‑ が使用している SASWORKディレクトリを削除しないように注意しなければならない。 c l e a n w o r kユーティリ ティは動作中の SASセッションの SASWORKディレクトリを削除しないため、このユーティリティを使用した ほうが rmコマンドを使うより安全である。 c l e a n w o r kコマンドの書式は以下のようになる。 <pathname>cleむ l l J O r k<directory> <pathn日 e >は c l e a n w o r kコマンドがあるディレクトリのパス名である(通常は s a s r o o t / u t i li t i e s / b i n )。 directory>は SASWORKディレクトリが存在するディレクトリ名である。 また、 < usr/lib/sas611で SASWORKが /usr/tmpディレクトリ 例えば、 SASシステムのルートディレクトリが / にある場合は次のように指定する。 %/usr/lib/sas611/utilities/bin/cleanwork/usr/tmp . 1 1の場合は c o n f i g品 s 6 1 1 )の SASWORKディレクトリは、 SASシステムの環境設定ファイル(リリース 6 ‑WORKオプションに指定されているディレクトリの下に以下に示す名前をもっサプディレクトリとして作成さ れる。 リリース 6 . 0 3および 6 . 0 7 SAS#workXPID[ a ‑ z J リリース 6 . 0 9 リリース 6 . 1 1 SAS̲work[ a ‑ z JXPID SAS̲work[ a ‑ z JXPID P I D )を 1 6進表記した XPIDは、その SASWORKディレクトリを作った SASプロセスのプロセス識別番号 ( ものである。リリース 6 . 0 3から 6 . 0 9までは 4桁で表され、リリース 6 . 1 1では 8桁で表される。 a ‑ z Jは、同じ PIDをもっ SASプロセスが複数存在する場合に、混乱を避けるための識別文字である。 また、 [ c l e a n w o r kユーテイリティは、各 SASWORKディレクトリが現在使用されているかどうかを PIDにより判断 するしくみになっている。 また、過去のリリースの SASシステムが作成した SASWORKディレクトリも削除の対象となる。 patchnameユーティリティ patchnameユーテイリテイは、おもに SASシステムの起動モジュール ( s a s r o o t /s a s )に SASルートディレク トリの情報を書き込むためのコマンドである。 このコマンドを使用する必要があるのは、 SASシステムをインストールしたのちに SASルートディレクトリ を移動した場合である (SAS起動モジ、ユールに誤った SASルートディレクトリ名が登録されていると、エラーが 発生して SASシステムが起動できなくなることがある)。 patchnameコマンドの書式は次のとおりである。 <pathn日 e>patchn 日 e< filen日 e ><dirn四 e > 6 0 8一
<pathn目 的 は cleanworkコマンドがあるディレクトリのパス名である(通常は sasroot/utilities/bin)。ま 日 e >は SASルートディレクトリを登録する SAS起動モジュール、 <dirn目 的 は SASルートディレ た 、 <filen クトリの絶対パス名である。 例えば、 SASルートディレクトリが /usr/lib/sas611である場合は次のように指定する。 # /usr/lib/sas611/utilities/bin/patchname/usr/lib/sas611/sas /usr/lib/sas611 日本語処理ユーティリティ UNIX環境ではいくつかの日本語コードが使用されているため、リリース 6 . 0 7以降日本語コードを変換する ユーテイリテイコマンドが提供されている。 ke2j EUCテキス卜を J I Sコードに変換 ke2s EUCテキストを SJISコードに変換 kj2e J I Sテキストを EUCコードに変換 ks2e SJISテキス卜を EUCコードに変換 書式はコマンドの次に変換したいテキストファイル名を指定するだけである。 これらのコマンドは結果を標準出力に出力するため、 DATAステップで次のように使用することもできる。 filename sfile pipe 'ke2s eucfile.dat'; datatest; infile sfile; input . . . ; また、以下のように SASのプログラムを変換して実行することもできる。 fileanme infile pipe 'ke2s eucfile.sas'; ' l .include infile; X リソースのカスタマイズ ロリソースヘルパー リソースヘルパーは、 X リソース管理の詳細を意識せずに対話形式に X リソースを作成するためのツール である。 SASシステムのセッション中から l 呼び出す場合は、任意の SASウインドウから RESHELPERコ マンドを発行する(プルダウンメニューの"グローパル→アクセサリ→ X リソース…"でも可能)。 また、単体で使用する場合は、 sasroot/utilities/bin/reshelperコマンドを実行する。 図 1 リソースヘルパー 6 0 9
リソースヘルパーでは、フォント、キ一定義、およびカラー定義の X リソースを生成することができる。 上の初期画面で Keysのボタンをクリックすると、以下のような定義画面が表示される。 図 2 :キ一定義の設定画面 この画面の中でキーの動作を選択したのち、割り当てたいキーを押すことによりリソースが生成されるた め、ユーザはキーが発行しているコードなどを意識する必要がない。この他フォントやカラーを定義する画 面も同様にわかりやすいレイアウトになっている。 ロリリース 6.11で追加された X リソース ここでリリース 6 . 1 1から新たに追加されたリソースの中からいくつか紹介する。 startUpLogo: xpm‑filen剖 n e l N o n e l1111 SASシステム起勤時に表示する XPMファイルを指定する。空の文字列を指定するとデフォルトの SAS ロゴが表示される。 defauユtCo= 叩 d oWindow: TruelFa ユse SASシステム起動時にコマンドウインドウを呼び出すかどうかを指定する。リリース 6 . 1 1より、コマ ンドウインドウは図 3のようにコンノ Tクトなものになった。 図 3 :コマンドウインドウ defauユtToolBox: TruelFalse SASシステム起勤時にデフォルトのツールボックスを表示するかどうかを指定する。図 4がデフォル トのツールボックスである。 力ノ ス ツ ボ レ ・ 一一 ρ0 ツ叩 図 ・ 一 4
ツールボックスは、ツールエディタを使用してカスタマイズを行うこともできる。ツールエディタは SASセッション内で TOOLEDITコマンドを発行することにより表示できる。 オンラインヘルプ リリース 6 . 1 1より、 SASI n s t i t u t cで開発された X ウインドウシステム用のハイパーテキストヘルプシステム H c l p l u sが提供されている。 H e l p l u sは M i c r o s o f tWindowsヘルプにならって作られており、ブックマークの定義 や履歴の表示、キーワードでの検索など同様の機能を提供している。 リリース 6 . 1 1ではヘルプシステムとして、 CBTエントリで作成された従来のヘルプシステムか H c l p l u sを選 e l p l u sは HOSTHELP関数を使用して SASプログラム中から呼び出すこと 択できるようになっている。また、 H もできる。 data. . n ulL; rc=hosthelp("HELP̲CONTENTS", " / h o r n e /sas611/Xll/nativ巳.help/sasdoc.hlp"); run; 1 1 1道 明遺 SASJAFSoftware !~N)i討す;;, r:(円、f.'("唱。l~r'J間宮判 ::l!).^.~;;:,f : ; 合 伏 、 句 、 !務…A550ftwa 同 . ' ; . . s~j r:!:l・t L;都宮崎 ~J~.!!~_:~ぞ覗....:.e : . n、 . , " 日、. F ; ; 0 :5ASlACCE5SInterf 耳 目 '~_Si.t..!ζGS5:.., ~Yll.ð5f !Þ1, 15,,;~ : , 酌 ; . . . . ! I ' i l 5ASlTRADER50代ware "智 言 占 句、、旬、品、::;:.:j'..s!1 UA~:.:R 図 5: H e l p l u sウインドウ 今後のリリースでは、 H c l p l u s中のヘルフ.を P o s t S c r i p tプリンタ等に出力できる機能も追加される予定である。 ‑611ー
おわりに 今回取り上げたものの他にも、 UNIX版 SASシステム特有のユーテイリテイコマンドがいくつかある。 man ページが提供されているものもあり、環境変数 MANPATHに s a s r o o t / u t i li t i e s / m a nディレクトリを追加す ることにより参照できる。 これらのユーテイリティも SASシステムのより使いやすい環境作りに役立てていただきたい。 参考文献 口S AST e c h n i c a lR e p o r tE ‑ 1 0 5 J :SASシステムリリース 6 . 1 1における変更点と拡張点 口 UNIX版 S ASシステム使用の手引き 口S ASCompanionf o rUNIXE n v i r o n m e n t s :U s e rI n t e r f a c e 本文で使用されている商標は一般に各社の商標または登録商標です。 ‑612‑
日本 S A Sユーザー会 (SUG I‑J) W i n d o w s版 SASシステムにおける外音BDLLの呼び出し方法 川畑浩一 株式会社 SASインスティチュ一卜ジャパン 技術部・出版セクション I n v o k i n gDLLr o u t i n e sf r o mt h eSASS y s t e mf o rWindows K o i c h iKawabata SASI n s t i t u t eJapanLTD. PublicationsSection TechnicalD i v i s i o n, 要旨 Windows版 SASシステムリリース 6 . 1 1において、 DATAステッフ。からダイナ ミックリンクライブラリ (DLL)ルーチンを呼び出す方法を説明する。 Windows 3.1が提供する既存の DLLルーチンの呼び出し例を紹介した後、 PC用の C コ ンパイラ ( B o r l a n dC++3 . 1 )を使って作成した簡単な DLLルーチンの呼び出し 例を示す。この機能は、リリース 6 . 1 0から試験的に提供されていたが、リリー ス6 . 1 1において正式サポートとなったものである。 キーワード W i n d o w s版 SASシステム、ダイナミックリンクライブラリ、 DATAステップ、 Bor Ia n dC++3 . 1 1 はじめに リリース 6 . 1 1の W i n d o w s版 SASシステムでは、 DATAステップや SCLプログラムからダイナミックリンクラ イブラリ ( D L L )ルーチンを H 乎び出すことカすできる。 DLLとは、 W i n d o w sモジ、ュールが[浮び 出すことができる関数またはルーチンを格納したライブラリである。 DLL は、通常、 . D L Lという拡張子を持つファイルとして提供されるが、中には KERNE L .EXE、U SER.EXE、GDI .EXE などのように . E X Eファイルとして提供されているものもある。 DLL内のルーチンへの参照は、プログラムの実行時に解決される。これは、 DLL以外のライプラリに含まれて いるルーチンへの参照が、プログラムのリンク時に解決される lのとは対照的である。 i n 3 2A P Iルーチ 本稿では、まず DLLルーチンの呼び出し手順を概説した後、既存の DLLに格納されている W ンの呼び出し例を示す。また、応用例として、 P C用の Cコンパイラである B o r l a n dC++3 . 1を使って簡単な DLL を作成し、この DLLに含まれているルーチンを D ATAステップから呼び出す方法を示す。 2 DLLルーチンの呼び出し手順 DATAステップから DLLルーチンを I J 子びiJjすときの一般的な手順は次のようになる。 lこのようなライプラ,)へのリンクのことをスヲティッヲリンヲと呼ぶ場合がある。 6 1 3
(1)呼び出したい DLLルーチンの持つ引数や戻り値などについて記述したテキストファイルを作成する。乙の ファイルのことを属性テーブルと呼ぶ。属性テープル内には次の 2つのステートメントを記述する。 口 ROUTINEステートメント 口 ARGステートメント ( 2 )F 1LENAMEステートメントを使って、ステップ Iで作成した属性テープルにファイル参照名 SASCBTBLを 割り当てる。 ( 3 ) DATAステップ内で、 MODULEルーチン(または MODULEN関数か MODULEC関数)を使って DLLルー チンを呼び出す。 実際の│呼び出し例を以下に示す。 3 既存 DLLルーチンの呼び出し 本節では、 GetTempPathAという名前の Win32APIルーチンを呼び出すことにする。このルーチンは、システム における一時パスの名前を表す文字列を、ヲ│数として与えられたバッフ 7 に書き込むものである。 3 . 1 属性テーブルの作成 属性テーブルを作成するには、呼び出したい DLLルーチンのプロトタイプを確認する必要がある。 GetTempPathA ルーチンの C言語によるプロトタイプ宣言は次のようになる。 DWORDWINAPIGetTempPathA(DWORDnBuffer Le n g t h, LPSTRI p B u f f e r ) ; DWORD、LPSTRなどの変数型は、各社の Cコンパイラが提供するヘッダファイル WINDOWS.Hに定義されて おり、 DWORDは l o n g型に、 LPSTRは c h a r*型にそれぞれ相当する。各引数の意味と戻り f i l Iは次の通り。 n B u f f e r Length ルーチンに i 度すバッフ 7 の長さを指定する。 I p B u f f e r ルーチンに渡すバッフ 7 の先頭アドレスを指すポインタを指定する。 なお、 GetTempPathAは、バッフ 7 に書き込んだ文字列のバイト数を戻す。 これらの情報に基づいて、 GetTempPathAルーチン用の属性テーブルを作成する。この場合、属性テープル内に 記述する ROUTINEステートメントと ARGステートメントは次のようになる。 routine GetTempPathA 1 * ルーチン名 * 1 minarg=2 1 * 引数の最小数本/ maxarg=2 I本引数の最大数本/ stackpop=called I本呼び出された側がスタックをポップザ returns=long; I本戻り値は long 本/ arg 1I!-~ l-~.put byv?:l l!- e_.f?ロl_l<l:t=p~b4. . ; /本第 1引数には数値変数を指定、サイスは 4バイトで値渡しされる本/ arg 2 char update format=$cstr200.; ー/本第 2引数には文字変数を指定、この変数のサイズは 200バ イ ト で 参 照 渡 し さ れ る り 上記のステートメントを記述したテキストファイルを適当な名前で保存する。ここでは、 FOOI.DATという名前 で D ドライブに保存したものとする。 ‑614‑
3
.
2 ファイル参照名 SASCBTBLの割り当て
属性テープルとして作成したテキストファイルに、ファイル参照名 SASCBTBLを割り当る。ここでは次のよう
な FILENAMEステートメントをサブミットする。
(山田
e sascbtb1 "d:軒 ool.dat";
3
.
3 DATAステップの作成と実行
GetTempPa
出A ルーチンは数値を返すため、このルーチンの呼び出しには MODULEN関数を使う。 DATAステッ
プは次のようになる。
data nuユ1̲;
/*データセットを作らない DATAステップ*/
1ength path $200;
/*文字変数 PATHの長さを 200バイトとして定義*/
n=modu1en(
"*ie",
"kerne132,
GetTempPathA
,
"199,
path);
/* このルーチンは KE
問 EL32.EXEに格納されている。
第 2引数が 199なのは終端にヌル文字が付けられるため。*/
put n= patll=;
/
* 反り値とバッファに書き込まれた文字列を表示*/
run;
上記の DATAステップをサブミットすると、次のような SASログ出力が生成される。
NOTE: 変数 PATH は初期設定されていません
ーーー P
ARM LIST FOR MODULEN ROUTINE
事i
e)
CHR PARM 1 884C0148 2A6965 (
CHR PARM 2 884C0130 6B65726E656C33322C47657454656D705061746841
GetTempPathA)
(kerne132,
NUM PARM 3 884C0120 0000000000E06840
CHR PARM 4 884C0160
20202020202020202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202020
2020202020202020202020202020202020
‑‑‑ROUTINE GetTempPathA LOADED AT ADDRESS 90011EBC (PARMLIST AT 885D33AO)ー ー ‑
PARM 1 C7000000
<CALL‑BY‑VALUE>
PARM 2 885D2F9C
00000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000
一
一
一 VALUES UPON RETURN FROM GetTempPathA ROUTINE‑‑‑
PARM 1 C7000000
<CALL‑BY‑VALUE>
PARM 2 885D2F9C
433A5C444F5300000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000
VALUES UPON RETURN FROM MODULEN ROUTINE‑‑‑
NUM PARM 3 884C0120 0000000000E06840
CHR PARM 4 884C0160
433A5C444F5320202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202020
2020202020202020202020202020202020
N=6 PATH=C:苧DOS
NOTE: DATA statement は 2.35 秒を使用しました.
PUTステートメントによる出力は下から 2行自の N
=6PATH=C:¥DOSだけであり、残りは MODULEN関数によ
るメッセージ出力である。これらのメッセージは、 MODULEN閣数の第 l引数に文字列*誌を指定することによ
り生成される。メッセージが不要な場合は、 MODULEN関数の第 l引数を省略すればよい。上記のログを解析す
ると、 DATAステップで H
乎び出した MODULEルーチンに与えた引数が、適切な型に変換されて KERNAL32.EXE
内の G巴t
T
I
巴mpPathAルーチンに波され、続いて G巴t
T
巴
,mpPathAルーチンが処 J
I
!
!した他が SAS変数に戻されている
ことが確認できる。
615‑
4 独自 DLLルーチンの呼び出し
次は PC用の C コンパイラを使って簡単な DLLを作成し、この DLL内のルーチンを DATAステップから呼び
出す例を示す。
4
.
1 DLLの作成
今回は単純な r
H
e
l
l
o,
Wor
1d!Jタイフ・のルーチンである myhelloを定義し、そのルーチンを含む 1
6ピット形式の
DLLを自作してみた。
なお、以下のフ。ログラムの開発および実行環境は次の通りである。
OS
Windows3
.
1
コンパイラ
B
o
r
l
a
n
dC++3
.
1(日本語、 DOSN版)
マシン
プロセッサ:486DX2、メモリ:20MB
1andC++3
.
1の統合開発環境(IDE)では、プロジェクトファイル (
.
P
R
1
)を定義することによって、 DLLを含
Bor
む実行可能ファイルを容易に作成できる。ここでは、プロジェクトファイルを MYDL
L
.PRlとし、このプロジ、エク
L
.C を次のように定義した。
トが包含するソースファイルとして MYDL
1
*HANDLE、叩RD、LPSTRなどの変数型定義や、 LibMain関数のプロトタイプ宣言を含むヘッダファイ
ル *
1
#include "windows.h"
#include "stdio.h"
extern void FAR PASCAL ̲export myhello(char FAR 句 trl,char FAR 旬 tr2);
1
* ルーチン myhelloのプロトタイプ宣言 *
1
HANDLE hInst; 1
* インスタンスハンドルを格納するグローパル変数 *
1
1
* DLLのメインエントリポイント LibMain関数 *
1
int FARPASCAL LibMain(HANDLE instance,1
*DLLの イ ン ス タ ン ス ハ ン ド ル ザ
WORD wDataSeg, 1
*データセグメント (DS) レジスタの値が入る
WORD wHeapSize, 1
* ローカルヒープサイズが入る *
1
LPSTRpszCm
dline 1
*DLLロード時に指定されたコマンドライン
を指すポインタザ)
*
1
{
hInst=instance; 1
* インスタンスハンドルをグローパル変数に保存 *
1
return 1
;1
*初期化終了 *
1
}
1
* ユーザ定義関数 myhello *
1
void FAR PASCAL ̲export myhello(charFAR 句 trl,char FAR *str2)
{
1
*strlが指している文字列を加工して、 str2が指しているバッファにコピーするだけ *
1
7p
山 t
f(str2,"叫 0,'
l
.s
!
!川 山
1
6ピット DLLの場合、エグジットポイントは WEP関数になるが、これは B
o
r
l
a
n
dC++のランタイムライブラリ
に用意されているので、ユーザが定義しなくてもよい。また、 DLLの生成に必要なコンパイルオプションやリン
クオプションは、 B
o
r
l
a
n
dC++の IDEが提供するメニューを使って簡単に設定できる。今回は、指定の関数だけを
エクスポートするようなオプションを付け、メモリモデルとしてはコンパクトモデルを選択、 DLL自体は 1
6ピッ
トプログラムとして作成した。
.DLLが生成される。この DLLを Windowsが認識で
上記のプロジェクトファイルをコンパイルすると、 MYDLL
L
.DLLを WINDOWSディレクトリの下にコピーした。
きるように、ファイル MYDL
4
.
2 属性テーブルの定義
ルーチン m
y
h
e
l
l
o用の属性テーブル D:
¥MYHELLO.TBLを次のように定義した。
616
routine myhello minarg=2 maxarg=2 ユ ed stackpop=ca arch=bit16 / 本 この DLLは 16ピットプログラムとして作成 本/ stackorder=12r; /率引数を左から順番にスタックにプッシュする 本/ arg 1 char input format=$cstr10.; /率第 131数 本 / arg 2 char update format=$char20.; /率第 2~I 数本/ Winl6APIでは、 DLLルーチンの呼び出しには PASCAL呼び出し規約が使われる。 MYDL L .DLLは 16ピット プログラムとして作成したので、属性テーブルでは、 ROUTINEステートメントの引数として arch=bit16および stackorder=ユ 2rを指定していることに注意。 4 . 3 DATAステップの作成 実行 ルーチン myhelloは戻り値を持たないので、その呼び,' Iしには MODULEルーチンを使用する。 DATAステップ 手び出しは次のようになる。 での H /本ファイル参照名 SASCBTBLの割り当て本/ filen四 e sascbtbユ "d:動 lyheユlo.tbl"; data ̲nuユユ; /本データセットを作らない DATAステップ本/ ユength str1 str2 $200; /本文字変数 STR1と STR2の長さを 200バイトとして定義本/ str1="SAS"; / 本 DLLルーチンには文字 1i!1"SAS"を 渡 す り caユ module("吐 e", "mydll, myhelユo", str1, str2);/本myheユ oル ー チ ン の 呼 び 出 し り put str2=; / 本 myhelloルーチンが書き込んだ文字列を SASログに表示本/ run; 上記のプログラムをサブミットすると、次のような SASログ出力が生成される。 PARM LIST FOR MODULE ROUTINE (i e) CHR PARM 1 88530134 2A6965 事 CHR PARM 2 88530124 6D79646C6C2C6D7968656C6C6F (mydll, myhello) CHR PARM 3 88530150 53415320202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020 CHR PARM 4 88530218 20202020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020 ‑‑‑ROUTINE myhello LOADED AT ADDRESS 3DFF018B (PARMLIST AT 885D3D04) PARM 2 885D2FA2 2020202020202020202020202020202020202020 PARM 1 885D2F98 53415300000000000000 32‑BIT PARM PTR 885D2FA2 CONVERTED TO 16‑BIT PTR 3C3F2FA2. 32‑BIT PARM PTR 885D2F98 CONVERTED TO 16‑BIT PTR 3C3F2F98. VALUES UPON RETURN FROM myhello ROUTINE‑‑‑ PARM 2 885D2FA2 68656C6C6F2C2053415321210020202020202020 PARM 1 885D2F98 53415300000000000000 一‑‑VALUES UPON RETURN FROM MODULE ROUTINE‑ CHR PARM 3 88530150 53415320202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020 CHR PARM 4 88530218 68656C6C6F2C20534153212100202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020 STR2=hello,SAS!! NOTE: DATA statement は 2.68 秒を使用しました. 一 一 「 PUTステートメントによる出力は下から 2行自の STR2=hello,SAS!!だけであり、残りはすべて MODULEルー チンによるメッセージ出力である。上記のログを解析すると、 DATAステップで日子ぴ出した MODULEルーチンに 与えた引数が、適切な型に変換されて MYDLL .DLL内の myh巴1 1 0ルーチンに波され、続いて myhelloルーチンが 処理した値が SAS変数に戻されていることが確認できる。 617
まとめ 今回の試行によって、 W i n d o w sA P I関数が DATAステッププログラムによって操作可能であることを確認でき た。また、ユーザが定義した DLL内のルーチンを DATAステップから呼び出せることも確認できた。今後は実際 に役立つ DLLを作成し、それを S ASシステムから呼び出せるよう試行してみたい。 参考文献 口 A c c e s s i n gD y n a m i cL i n kL i b r a r yR o u t i n e sw i t hSASS y s t e mf o rW i n d o w s,D a v i dL .B a r r o na n dC h r i sHem 巴d i n g e r , O b s巴r v a t i o n s,F i r s tQ u a r t 巴r 1 9 9 6 口 BORLANDC ++3 . 0プログラマーズカゃイド,ボーランド株式会社編訳, 1 9 9 2 ロ SAST e c h n i c a lR e p o r tE ‑ I 0 6 J :W i n d o w s版 SASシステムリリース 6 . 1 1における変更点と拡張点, SAS出版局 編訳, 1 9 9 5 6 1 8
SASによる多変量解析法 前川長一 大学入試センター・研究開発部 A UnifiedRepresentationofMultivariateMethodsi nSAS S h i n ‑ i c h iMayekawa TheNa t i o n a lCenterf o rUn i v e r s i t yEntranceExaminations 要旨輔の目的は、所調矩形のデータ行列の分析のために SAS' こ用意されているプロシジャを、線形モデルと 最小 2乗法の観点から統一的に表現し、各方法の関連を明確にすることである。 キーワード:多変量解析法、回帰分析、因子分析、クラスター分析、冗長性分析、線形モデ、ル、最小 2乗法 1 多変量解析法と線形モデル 所謂 N x pのデータ行列 ( N個の個体の p変量による測定値3を取り扱う多変量解析の方法のうち、 SASに 含まれているものには、回帰分析 (procreg, glm, t r a n s r e g )、因子分析 ( p r o cf a c t o r )、主成分分析 ( p r o cprincomp, p r i n q u a l )、クラスター分析 ( p r o cf a s t c l u s, c l u s t e r, v a r c l u s )、正準相関分析 (procc a n c o r r )、冗酎生分析 ( p r o ct r a n ‑ s r e g )、等があるが、本稿では、これらの方法を線形モデ、ルおよび最小 2乗法の観点から統一的に説明する。一般 に p変量の多変量線形モデ、ルは Y Xβ'+E ( 1 ) 二 という形で書き表されるが、ここに、 Y は N x pのデータ行列、 X は N xqのデザイン行列、 β は pxqの回帰 係数行列、 E は N xpの 残 者7 列である。デザイン行列として観測不可能な駒主変数を含み、所謂データの最適 変換の可能性を考慮すれば、上に示した多変量解析の方法の多くは SASの疑似プ口、ンジャ proceglm(Extended GeneralLinearModel) として以下のように統一的に記述することが出来る。 PROCEGLM[ o p t i o n s ] ; MODEL基準変数リスト=説明変数リスト; [XVARo b s e r v e dI l a t e n tI c o n t i n u o u sI c l a s sI 同 n k = q ] ; [ TRANSFORMt 同 n s f o r m a t i o n (変換される変数のリスト)]; ここに、 XVARステートメントは説明変数の状態を指定するためのもので、 XVARステートメントが潜在変数の l a s sを記述する。また、冗酎生分析に際しては求めるべき冗酎生変 場合には latentを、カテゴリカルな場合には c mspline 数の数を rankニで指定する。さらに、 TRANSFORMステートメントは各変数の最適変換(monotone, 等)を指定するためのものである。上記の 4つのモデ、ルに関して SASのネイティブ なプロシジャと統一的な表 現を比較すれば以下のようになる。 回帰分析 PROC REG; KODEL Yl‑Yp = X l‑Xq; PROC EGLK; KODELYl‑Yp = X l‑Xq; 且 o bservedconti 且.uOUS; XVA 最適変換を含む回帰分析 PROC T R A J J S R E G ; KODEL m onotone(Yl) identity(Y2‑Yp) = PROC EGLK; KODEL Yl‑Yp = X l‑Xq; mspline(Xl) identity(X2‑Xq); 且.uo u s ; XVAR observed conti TRAJJSFORKm onotone(Yl) 回 619‑ pline(Xl)
因子分析(主成分分析) PROC FACTOR iF ACTORS= q ; VAR Y1‑Yp; PROC EGLM; H日DELYl‑Yp = Xl‑Xq; XVAR latent continuous; 最適変換を含む主成分分析 PROC PR工VQUAL > > FACTORS= q ; VAR Y1‑Yp; PROC EGLM; MODEL Yl‑Yp = Xl‑Xq; XVAR latent continuous; > > SFORKmspline(Yl); TRA TRA>> SFORK mspline(Yl) identity(Y2‑Yp); クラスター分析 PROC FASTCLUS MAXCLUSTERS= q ; VAR Yl‑Yp; PROC EGLM; 乱 Y 1‑Yp = Xl‑Xq; MOD XVAR latent class; 冗長性分析(最適変換は取り扱えなし、) PROC TR A > >SREG METH日D = . 且ED U > > D A > > CYMAXITE 且= 1; PROC EGLM; H日DELYl‑Yp = Xl‑Xq; XVAR observed rank = r : 。 MODEL identity(Yl‑Yp)=linear(Xl‑Xq): σrPUTredunda且 cy; なお、モデルに含まれる各パラメタ (β+潜在変数 X +最適変換のパラメタ)は、通常の線形モデ、ル同様、残 y ‑Xβ' 差の 2乗和 RSS二 I l Irを品川 2 最小 2乗法によるパラメタの推定 データとモデルの値との残差の 2乗和、 2 ご2 ごqj2 RSS 二(鈎j‑ xisjf ( 2 ) j二 1i 二 1 で定義される最小 2乗基準 RSSを最小とするようにモデルのパラメ夕、 β を推定する方法を最小 2乗法と呼び、 推定されたパラメタの値を β と記マ仁 残差の 2乗和 RSSをモデルのパラメタの関数と見た場合、その下限はゼロであるから必ず最小値が存在し、そ の点では RSSのすべてのパラメタに関する偏微分がゼロになっているはずである。従って、最小 2乗推定値を求 めるためには、正規方程式 δRSS 一一一ー 0, j二 1 , 2, . ., .p, l二 1 , 2, . . ., q 二 δsjl ( 3 ) を解けばよい。また、モデルが潜在変数を含む場合には X をもそデ、ルのパラメタとして取り扱い δRSS 0, i二 1 , 2, . . . , N, lニ 1 , 2 , . . ., q つτ一 一 二 oXil ( 4 ) を満たす X の推定値支をも同時に求めることになる。ただ、因子分析モデルの場合、 X と β の聞に乗算的不 定性が存在するため、一意な解を求めるためには何らかの制約を課す必要が生じる。また、クラスター分析モデ ルの場合には、 X の各行は一つの 1と q‑1個のゼロからなるとしづ制約を付ける。 最後に、データの最適変換を含むモデルの場合には、最適変換のパラメタを r , A とすれば、 RSSは p N 二乞乞(Tj(Yiiγ Ij) ‑ S(xiIA) 角) 2 RSS ( 5 ) j=liニ 1 と書き表されるが、この RSSを最小とするように最適変換のパラメタとそデ、ルのパラメタを同時に推定すること ) W になる。ただ、一般に、基準変数の最適変換を含む場合には、 IITj(Y同 を小さくすることにより附は限 T( I Y l r )12 で基準化した、規準化最小 2乗基準 りなくゼロに近づくため、 RSSを I RSS, = f ‑L~1(円(鈎jlγj) S( IA) i 一手~ ‑ 句 L~l(Tj(Yii Iγj))2 620一 β I j ) 2 ( 6 )
を最小化することが多い。すなわち、正規方程式 θRSS1 1, 2, . . ., p, eニ 1, 2, . . ., q ( 7 ) 0, i=1 , 2, .. , N, e=1, 2, . ., .q ) ( 8 ) 0, j 二 θβ' j f ( 互 竪S l θXiJ! θRSS1 θγj 0, j= 1 , 2 , . . . , p β R . ' > 只 唱 一 一 一 一 二 二 0, e=1,2,...,q θ入E d 阻 ( 9 ) ( 1 0 ) が解が求める最小 2乗推定値となる。この連立方程式が解析的に解けない場合には交互最小 2乗法 (ALS) を用 いて数値的に解を求めることになる。 3 モデルの適合度 モデ、ルの最小 2乗推定値を最小 2乗法で、パラメタを推定する場合、データへのモデ ルの適合度を表す指標とし て、分散説明率、 R2 を考えると都合がよい。いま、モデルの最小 2乗推定値を 11. d ︐ 一 却 斗4 ︿ 局μ ' た ま X 一 一 角引 3 ( 1 1 ) で表す。ただし、曾(j)は第 j番目の変数のモデルの最小 2乗推定値を要素として持つ N x 1のベクトノレで、ある。 こ の 記 法 お よ 捌 中 制 的 列J=I 占 11'を用いれば、第 j番目の変数の分散説明率 Rjは Rヰ J 竺立竺止 弘三色i v a r( Y( j ) ) ( 1 2 ) Y( j )JY(j) と定義されるが、これは、モデルの推定値の分散のデータとして得られる分散に対する比に他ならない。すなわ iが 1の場合には変数 jの分散の全てがそデ、ノレによって説明されたことになる。また、この値は、 Y(j) と ち 、 R 曾(j)の間の相関係数の 2乗 時= ( ω 作 Y r ( Y ( j ),( j ) ) ( 1 3 ) となっている。 基準変数が p個ある場合は全体の分散説明率をふた通りに定義することが出来る。一つは 2 L ; = 1var(川 口= 1var( Y(j)) R ; ι u a r( 的 )) 、 R; L ; = lvar(νω) 一 L ; = lvar(νω 一手~ L~=l var( Y ( k ) ) 、 、 r ( 1 4 ) で定義される、全分散説名率時であり、もう一つは 。 r ( 九 ) ) R~ =乞時 / p = 乞 varI 一 一/ p j = l j = l 、 … リ ( 1 5 ) で定義される平均分散説明率 ( A v e r a g eト珂u a r e dR~ である。 一般に、パラメタを最小 2乗法を用いて推定した場合、その値は分散説明率を最大とするようなものになって S Sを最小とするパラメ いることがし、えるが、データの最適変換がなくモデノレが潜在変数を含まない場合には、 R タを求めることにより時と時の両方が最大化され、どちらかを含む場合には、問Sl の最村包により R~ が 最大化されることになる。 ηノ Tよ nb
4 説明変数の寄与率 ひとつの基準変数を q個の説明変数で説明する際に、各説明変数がどの程度貢献しているかの測度を説明変数 2 の減少量を の寄与率と呼ぶ。寄与率の定義には様々なものが考えられるが、モデ、ルから X(k) を除いたときの R 持って寄与率の測度とすることが考えられる。この場合、第 k番目の説明変数 (X(k)) の寄与率 Ck を求めるため には、説明変数及びパラメタをを X =[X(K) X(k)] β=[.βK , β' k ] d 回 ( 1 6 ) ただし、 X(K) は全説明変数から X(k) を除いた N x q‑1の行列、と分割し、モデ、ル ν =X(K)ß~ ( 1 7 ) ν=X(K)βK+X(k)βk ( 1 8 ) で計算される R2 を R ?、モデ、ル で計算される R2 を ~とすれば、 ~-Rî Ck ( 1 9 ) u'(PxJPx‑ P K J P K ) y ( 2 0 ) Nv a r ( ν ) ) 2 X( y, ( ω ( QK 附 ) ( 2 1 ) 作 を計算すればよい。ただし、 P xおよび P K は X と X(K) の列空間への射影行列また、 Q K二 I ‑ PK である。 なお、この QKX(k) は 、 X(k) を X (町の線形モデルで、説明した場合の最小 2乗残差となっているが、上記の寄与 率の定義は、 X(k) から他の説明変数で説明でる部分を除いたもの(残差)と基準変数との相関係数の 2乗となっ e m i p a r t i a lc o r r e l a t i o nc o e f f i c i e n t )もしくは、部 s q u a r e ds ている。その意味で、寄与率は片側偏相関係数の 2乗 ( 分相関係数の 2乗 ( 此 c . ( 2 1 )の寄与率の分子 s q u a r e dpa o r r e l a t i o nc o e f f i c i e n t ) と呼ばれることがある。なお、Eq y p eI y p eI は 、 いわゆる調整済み平方和、 SASの t ISS (または t I ISS) であるが、このように定義された寄 与率は加算性を持たない。すなわち、全ての寄与率の和に叩r ( さ)/叩r ( v )を加えたものが 1とはならない。加算 y p e1SSをもとにして定義する事が出来るが、この場合に帥慎序依存性という欠点 性を持つ寄与率は SASの t が生じる。すなわち、閉じ変数が、説明変数行列の何番目に位置するかによって、その寄与率が異なってくる。 また、 X(k) が X(K) の全ての列と直交する場合は QKX(k)二 X(k) となるため、 y, X(k)))2 α (co ( 二 ( 2 2 ) 作 となり、単純な寄与率と一致する。 基準変数が複数個ある場合の説明変数の寄与率は、それを説明変数を除いたときの、~の減少量と定義するか 時の減少量と定義するかで異なってくるが、 R与を用いれば、 ω (r (助)) x ( 'L~=1叩 作 CTk " となり、 X(k)))2) ( y ( j ), QK ' L ; .1var(Y(j)) ( 2 3 ) 二 R~ を用いれば、 i z ( ω 噌 CAk ニ 2 バ KXω) P 作 ( Y ( 聞 となる。従って、基準変数の分散が同一の場合には CTk=CAk であり、説明変数の各列が直交している場合には、 円 GT 叫k 二 v a r似 附 町ν (ω ν( ( ω ω ρ ε 早L 払 川 )x ( ( い 叩 ι 1( ( j ) , X( 駅肋 駅均州 岨 ν ω ρ 歓( 似 川) ε ? L = 1 r( 叩 となる。 d CAk 三;土(町(町内 (k)))2(25) ηJU ηJU nb
日本 S A Sユーザー会 (SUG I‑J) SASによる回帰分析(新刊紹介) 芳賀敏郎,野津昌弘(東京理科大学) 岸本淳司 ( SASインスティチュートジャパン) R e g r e s s i o nA n a l y s i su s i n gSAS(BookR e v i e w ) T o s h i r oHAGA, M a s a h i r oNOZAWA( S c i e n c eU n i v e r s i t yo fT o k y o ) 吋iKISHIMOTO(SASI n s t i t u t eJ a p a n ) Ju 要旨 1 9 9 6年 3月 2 2日に発行された次の新刊書の内容と,その特徴を紹介する. 芳賀敏郎,野津昌弘,岸本淳司, iSASで学ぶ統計的データ解析 6 SASによる回帰分析 J,東京大学出版会 ( 1 9 9 6 ) キーワード: 回帰分析,数量化 1類 , p r o cr e g,p r o cglm 我々は iSASによる回帰分析J を東京大学出版会より出版した. 回帰分析に関する解説書は既に巷間に溢れている.今新たに出版するためには,今まで にない独自の特徴を持つ本でなければ意義がない.我々は,回帰分析を実際に使う人たち のために真に役立つ本となることを願って,以下に述べるような方針を採用した.読者諸 賢の評価を聞いたい. 従来の回帰分析の解説書は,回帰モデ、ル Y i= s O+sIXil+s 2Xi 2+. . .+Ci のパラメータを推定するための方法を説明するものが多かった.しかし,この式は ( x, I X2, ••• ;βs )+c i Y i= f を具体的に表した最も単純な式に過ぎない. qu つω c o
(線形)回帰分析は,パラメータ β に関して線形であれば,説明変数は zのどのような 関数で、あっても良い.目的変数に付いても同様である.説明変数の個数を 2個 ( X 1X 2 )と l しても,いろいろの回帰式が考えられる. f j= b 1 X 1+b 2 X 2+b l l x i+b22X~ +b 以 向 o+b 5 bo+b1(Z1+Z2)+b2」 」 二 ; [ , 1 1;[, 2 l o g ( ν )=b o g ( X 1 )+b o g ( x 2 ) 1l 21 o+b このように ,X と νの変数変換により,パラメータの線形式に表せるときには回帰分析 が使える. 「どのような回帰モデ、ルを考えるか」が,回帰分析で有用な情報が得られるかどうかの 鍵である.そのためには,回帰分析に先立つ事前検討と,残差の検討などの回帰診断を十 分に行うことが必要となる. この本は 3部 1 0章で構成される. 第 1部 単 回 帰 分 析 1 単回帰分析 2 単回帰分析における回帰診断 3 回帰モデルの改善法 第 2部 重 回 帰 分 析 4 2変数の重回帰分析 5 重回帰モデルの改善と回帰診断 6 変数選択 第 3部 回 帰 分 析 の 展 開 7 説明変数に質的変数を含む回帰分析 8 非線形回帰分析 9 重みつき回帰分析 10 回帰分析の数理 第 1部では,説明変数が 1個の場合について,全くの初歩から解説する.数式の使用は 最小限におさえ,その誘導はまとめて第 1 0章に回す. ) 2の等高線を使って,最小 2乗法の意味を b X1 ω ‑b 1 O‑ b O lb 1 平面で,残差平方和乞 ( 説明する.得られた回帰式 g二 b 1 xで , b 1 の標準誤差を考え,b O+b 1 を適当に丸めるの は良くないことを示し,正しい方法を説明する. 第 2章と第 3章で,回帰モデルの構築の基本を説明する. 第 2部では,まず,説明変数が 2個の場合について,説明変数聞の相関によって重回帰 分析の結果がどのように影響されるかを詳しく説明する . 2変数の場合が十分に理解でき れば,説明変数が多くなっても問題の解決方法を考え出すことができるであろう. ‑624一
6章は沢山の説明変数から,できるだけ少数の説明変数で uの変化を説明できる回帰式 を求める方法を説明する.変数選択の手順は用いるプログラムの機能によって異なる.こ の本では, p r o cr e gの総当たり法でベスト数個の回帰式を求め,し、くつかの診断統計量 と,固有技術から総合的に判断して回帰式を選択する方法を中心に説明する. 6 . 7節目帰分析適用の問題点では,回帰分析を適用するときの基本的な考え方を説明 する.この節の内容は著者らの私見を述べたもので、あって,この本独特のものである.こ の節には次の項目が取り上げられている. (2) (3) 予備解析 残差の検討 (1) 事前検討 (4) 変数選択が妥当でない場合 (5) 候補変数の選び方 (6) 実験計画法と重回帰分析法 (7) 探索的解析と検証的解析 次に,この節の中から 1つの図を紹介する. .1:回帰分析の手順 図表 0 第 3部では,通常の回帰分析を越える応用分野について解説する. 第 7章は,説明変数に質的変数が含まれる場合の解析を取り上げる.すべての説明変数 が質的変数(アイテム)であるときは,数量化 1類と呼ばれる手法である.この章では, 量的変数と質的変数が混合している場合の解析法を説明する.回帰分析でおはモデルの妥当 性の検討や変数選択をすることは常識であるが,数量化 1類の適用例ではこのような検討 がほとんどなされていなし¥.質的変数を含む場合に通常の回帰分析の進め方をどのように 適用するかを説明する.また,質的変数のカテゴリーによって量的変数の偏回帰係数が異 なる場合にも使える方法を説明する. p r o cr e gでも解析可能であるが,モデルが複雑に なると, progglmの方が使い方が簡単であるので, 使う. ‑625‑ 2つのプロシジャーを組み合わせて
第 8章は,変数変換などを工夫しでも,回帰式がパラメータに関して線形にならない場 合,すなわち,非線形回帰分析を, p r o cn l i nで解析する基本的な考え方と手順を説明す る.非線形回帰分析では逐次近似計算が反復されるが,この近似と近似解の意味を説明す る図表 8.4は他書には見られないものである. 最初に書いた回帰モデルで,誤差 ε4 の分散は tによらず一定である,すなわち,等分 散が仮定される.現実にはこの条件から大きく外れる場合がある.そのような場合に第 9 章の手1 ) 慣が役に立つで、あろう. 第1 0章は,本文で省略した回帰分析の数理をまとめたものである.回帰分析の数理は, 線形代数の基礎である行列やベクトルを使うと簡潔に表すことができる.しかし,あえ て,高等学校レベノレの数式展開で、回帰分析の基本数理を解説した. 説明変数が p個の重回帰式の残差の自由度は η p‑1であるのはなぜかとか,てこ比 の根拠やハットマトリックスの語源などについても解説しである. 付録 1は , p r o cr e gの機能一覧表と,それが使われている本文のプログラム番号の索引 である. 付録 2は , p r o cr e gで出力される項目の一覧表と,それを画面またはデータセットに 出力させるときの名前の一覧表である. これらの付録は,自分でプログラムを作成するとき, q u i c kr e f e r e n c eとして役にたつで あろう. この本の中の SASプログラムでは, SASで決められた単語は小文字で,ユーザーが決 める固有名詞は大文字で表す. SASに初めて接したとき,この区別が付かず悩まされた経 験にもとづいて,この規則を採用した. この本は,例題のデータを自分で肯勃庁を進めながら,読まれることをお奨めする.デー タとプログラムは, n i f 七 y s e r v eの SASフォーラムのライブラリ,または,インターネット のSASライブラリ URL://www.sas.com/japanからダウンロードして入手することがで きる.この中には,本に印刷された SASプログラムだけでなく, SASjGRAPHで出力さ れた図表を作成したプログラムも含まれている.これらは, SASjGRAPHの使用例とし ても活用できるであろう. 6 2 6
日本 S ASユーザ一会世話人会 代表世話人: 東京大学 大橋靖雄 副代表世話人: 藤沢薬品工業株式会社 松岡浄 世話人: 東京=菱銀行 青沼君明 東京大学 市川伸一 国際大学 大槻聴幸 株式会社日立製作所 小野寺徹 株式会社ニッセイコンピュータ 坂原将生 クインタイルズ・アジア・インク 西次男 キリンビール株式会社 本川裕 株式会社竹中工務庖 八木章 事務局 株式会社 SASインステイチュートジャパン内 干 1 0 4 東京都中央区勝どき 1丁目 1 3番 地 l号イヌイピル・カチドキ TEL0 3 ‑ 3 5 3 3 ‑ 3 7 8 0 FAX0 3 ‑ 3 5 3 3 ‑ 6 9 2 7