SAS 9.1と9.2の間におけるSAS/STATのプロシジャの変更点について

[OS] ALL
[リリース] 9.1, 9.2
[キーワード]SAS/STAT. Procedure, changes, updates

[質問]

SAS 9.1と9.2の間で、SAS/STATのプロシジャの変更点に関する情報を教えてください。

[回答]

当該リリース間における変更点について、まとまった情報や文献は米国SAS Institute Inc.からは特に提供されていません。
ここでは弊社SAS Institute Japanで把握している内容の一部をご紹介します。
ただし、以下の3点に関しては常に見直しや改善が図られることから、本項では原則として記載していません。

・数値演算の内部アルゴリズムに起因する計算結果のわずかな差異

・出力に現われる英語や日本語の表現

・SAS 9.1で見られた不具合の修正


このWEBページは、ご紹介すべき点が生じ次第、随時更新される予定です。


■GENMODプロシジャ

・DIST=BINをMODELステートメントで指定して二項分布に基づくモデルを扱う場合、SAS 9.2からは適合度評価の基準テーブルでデビアンスやPearsonカイ2乗などの統計量がデフォルトでは出力されなくなりました。もしそれらの統計量を出力したいときは、AGGREATEオプションをMODELステートメントで明示的に指定してください。この機能変更は、LOGISTICプロシジャやPROBITプロシジャで同等のモデルを解析したときの仕様と一致させたためです。

・ESTIMATEステートメントやLSMEANSステートメントで作成されるアウトプットオブジェクトで、出力内容が拡張されています。これにともない、リスト出力での表示内容や、ODS OUTPUTステートメントで作成されるSASデータセットで変数名が変更されたものがあります。詳細については、米国SAS Institute Inc.が公開しているUsage Noteを参照してください。

Usage Note 34686: Variable names changed in ESTIMATE and LSMEANS tables for GENMOD in SAS 9.2

■LOGISTICプロシジャ

MODELステートメントとSCOREステートメントで利用できるROCEPS=オプションのデフォルト値が変更されました。このオプションを指定しない場合には、SAS 9.1ではROCEPS=1e-4(=0.0001)が使用されますが、SAS 9.2では計算機イプシロン(machine epsilon)の平方根(およそ1e-8)が使用されます。この変更により、OUTROC=オプションで作成されるSASデータセットの内容が稀に異なる可能性があります。また、ODS統計グラフによるROC曲線の形状も同様です。SAS 9.1における結果を9.2で再現させるには、明示的にROCEPS=1e-4と指定してください。

■MULTTESTプロシジャ

デフォルトで使用される乱数生成アルゴリズムは、これまで使用されてきた乗算合同法からMersenne twisterに変更されました。したがって、リサンプリングに基づいて調整されたp値は、SAS 9.1以前とSAS 9.2以降で異なります。特にリサンプリングの回数が少ないとき、この差は顕著になります。
SAS 9.1以前で採用されていた乗算合同法による乱数列に基づくリサンプリングをSAS 9.2で行うには、RANUNIオプションをPROC MULTTESTステートメントで指定してください。

例) PROC MULTTEST DATA=test PERMUTATION SEED=123 RANUNI; /*RANUNIオプション*/

■NLINプロシジャ

パラメータ推定値に対する近似的な信頼限界の計算に関して、ALPHA=オプションを利用して信頼水準を設定できるようになりました。それに起因して、デフォルトで出力される95%信頼限界の計算でもアルゴリズムの改良が行われ、バージョン間で値がわずかに異なります。この点に関しては、SAS 9.1の結果を9.2で再現させる方法はありません。

■TTESTプロシジャ

出力の先頭に通常現われる基本統計量に関する出力形態が大幅に変更されました。SAS 9.1において「統計量」テーブルに出力されていた内容は、SAS 9.2以降では新しい「統計量」テーブルと「信頼区間」テーブルに分割されています。それぞれに対するODSテーブル名は、StatisticsとConfLimitsです。この点に関しては、SAS 9.1の出力形態を9.2で再現させる方法はありません。