ユーザーズ ガイド The Numerical Algorithms Group Ltd. 日本ニューメリカルアルゴリズムズグループ株式会社 目次 1. 本アドインを使用する前に ................................................................ ......................................................................................... ......................................................... 4 1.1. 2. 3. NAG Excel 統計解析アドインの基本操作(チュートリアル) 統計解析アドインの基本操作(チュートリアル)................................ ル).................................... .................................... 6 2.1. データを用意する..................................................................................................... 6 2.2. NAG Excel 統計解析アドインの関数を使用する.................................................... 6 2.3. リスト展開をする..................................................................................................... 9 2.4. 要素抽出をする(NAG Extract)........................................................................... 9 2.5. リンクコピーをする............................................................................................... 12 NAG Excel 統計解析アドインについて................................ 統計解析アドインについて................................................................ ..................................................................... ..................................... 14 3.1. 本アドイン搭載関数一覧........................................................................................ 15 3.2. NAG アドイン-1 第一部 基本統計.................................................................... 18 3.2.1. 分布関数.......................................................................................................... 18 3.2.2. 要約的統計量................................................................................................... 19 3.2.3. 分割表 ............................................................................................................. 19 3.3. NAG アドイン-2 第二部 相関・回帰、時系列法.............................................. 21 3.3.1. 回帰と相関 ...................................................................................................... 21 3.3.2. 時系列法.......................................................................................................... 24 3.4. NAG アドイン-3 第三部 実験計画、一般線形モデリング ............................... 29 3.4.1. 実験計画法 ...................................................................................................... 29 3.4.2. 一般線形モデル............................................................................................... 34 3.5. NAG アドイン-4 第四部 多変量解析 ................................................................ 38 3.5.1. 変数間の関係を見る変数主体の手法(たとえば、主成分分析) ....................... 38 3.5.2. 物体間の関係を見る個主体の方法(たとえば、クラスター分析).................... 39 3.6. 4. アドイン登録............................................................................................................ 4 NAG アドイン-5 第五部 ノンパラメトリック統計 .......................................... 45 サンプルファイルの解説 ................................................................ ........................................................................................... ........................................................... 48 4.1.1. サンプルファイルの見方。............................................................................. 48 4.1.2. サンプル表の色について、............................................................................. 48 4.1.3. コメントについて、........................................................................................ 49 4.1.4. 関数パラメター表の見方について、 .............................................................. 49 -2- 5. 4.2. 第一部 基本統計................................................................................................... 50 4.3. 第二部 相関・回帰、時系列法............................................................................. 52 4.4. 第三部 多変量解析............................................................................................... 61 4.5. 第四部 実験計画・一般線形モデリング .............................................................. 67 4.6. 第五部 ノンパラメトリック統計 ......................................................................... 74 良くある質問と回答(Q 良くある質問と回答(Q & A) A) ................................................................ ................................................................................. ................................................. 78 Q. それぞれの関数は内部的にどの様なアルゴリズムを用いて計算を行っているので すか? ............................................................................................................................ 78 Q. メニューバーに「NAG(N)」の項目がありません。 .............................................. 78 Q. NAG のツールバーが消えてしまいました。........................................................... 78 Q. 「アドイン 0 ベースコンポーネント」とは何ですか? ......................................... 79 Q. 関数の中に関数を入れるには(MM_GLM, MM_MLR 等)?.............................. 79 Q. 関数を作成した後(リスト展開後)に、関数の中で用いられている値を変更するに はどのようにしたら良いですか? .................................................................................. 80 Q. NAG Fortran ライブラリマニュアルの参照の仕方 ................................................ 80 Q. NAG Extract のオプションについて....................................................................... 81 6. ヘルプ機能やその他の情報 ................................................................ ....................................................................................... ....................................................... 84 6.1. ヘルプファイルの見方 ........................................................................................... 84 6.2. サンプルファイルの見方........................................................................................ 85 6.3. 最新の情報を知りたい場合には............................................................................. 85 -3- 1. 本アドインを使用する前に 本アドインを使用するには最初にアドイン登録が必要になります。アドイン登録は一度行 えば次回からは行う必要はありません。また、本ライセンスを取得していない状態でもト ライアル版として使用することが出来ます。ライセンス登録に関してはマシン管理者に問 い合わせてください。マシン管理者は「インストールノート」を参照することで、ライセ ンス取得の方法を知ることが出来ます。 1.1. アドイン登録 まず、エクセルを起動します。 ツール → アドイン を選択します。アドインというポップアップが起動します。本アド インが正しくインストールされている場合、 「NAG ….」というようなチェックボックスが あります。 この様に チェックをつけて 「OK」を押します OK」を押します -4- このうち前の図の様に、「NAG 0 ベースコンポーネント」以外のものにチェックをつけ てください。 「OK」ボタンを押すと、本アドインがロードされます。 この時、ライセンスが正式登録されていないと、 「トライアル版がロードされました。 」と いうメッセージが出ることがあります。その場合はマシンの管理者に問い合わせてライセ ンスを正式登録するようにしてください。トライアル版は使用に制限がありますが、本ア ドインを使用することは出来ます。アドインを使用する場合このメッセージに対して「い いえ」を選んでください。また同じメッセージが何度か出てきますが、全て「いいえ」を 選んでください。このメッセージは、正式にライセンス登録行うまで毎回、本アドインの 起動時に表示されます。正式なライセンス登録を行うと、このメッセージは出てこなくな ります。 「いいえ」を 選択します これで、アドインは登録されました。アドイン登録がされると、次の様にメニューとツー ルバーに NAG のエントリが追加されます。 以上でアドインの登録は終了です。 -5- 2. NAG Excel 統計解析アドインの基本操作(チュ ートリアル) ここでは簡単に実例を用いて本アドインの基本操作を解説します。実際に操作すると良く 覚えられるでしょう。 通常、本アドインは次の様にして使用します。 1. データを用意する 2. NAG Excel 統計解析アドインの関数を使用する 3. リスト展開をする 4. 要素抽出をする 5. リンクコピーをする 今回の例では、SUMMARY_STATS という関数を使用します。 2.1. データを用意する まず、次のようなデータを用意します。 2.2. NAG Excel 統計解析アドインの関数を使用する C1 のセルを選択し、挿入→関数を選択します。 (或いはツールバーの fx ボタンでも構い ません) -6- 次の様なファイルダイアログが起動します。 「関数の分類」から「統計」を選択してください。 この統計の部分に本アドインの関数が表示されます。 この中から、SUMMARY_STATS という関数を探してください。見つかったら、その関 数名をダブルクリックすると、関数ダイアログが立ち上がります。 この状態ですと使いにくいのでダイアログの位置を適当に移動させます。次に、X の横の テキストボックスをクリックしてから、A1 のセルをクリックします。マウスのボタンを押 し たまま、A10 のセルまでマウスを移動すると、以下の様になります。 -7- この状態で、マウスのボタンを離すと以下の様になります。 Weights はオプション引数なので、今回は使用しないことにします。この状態で OK ボ タンを押してください。 次の様になります。 -8- ここで、<List of 15>という文字が表示されますが、これは誤りではありません。実際に 計算された値を見るには、次のリスト展開が必要になります。 2.3. リスト展開をする 次にリストの展開をします。これまでの状態ですと何を計算しているのかわかりません。 そこで、リスト展開を行うことで計算結果を出力します。 まず、先程の関数の選択で出てきた <List of 15> と書かれたセル(C1)をクリックし ます。Excel の右下の方にある 「<List of ?>の展開をします」ボタンを押します。 すると、リストが展開されて、計算された数値を見ることが出来ます。 2.4. 要素抽出をする(NAG 要素抽出をする(NAG Extract) Extract) NAG Excel 統計解析アドインで計算された数値は、 1 つのリストとなって出力されます。 しかし、このうち平均値だけが必要という時もあります。この場合は、要素抽出(NAG Extract)を用います。 -9- E1 のセルを選択した状態で、「NAG Extract を起動します」ボタンを押してください。 次のようなダイアログが起動します。 「NAG 関数の出力位置」の右のテキストボックスをクリックし、次に、先程の計算結果 のある C1 のセルをクリックします。 - 10 - 次にダイアログの「検索」ボタンを押すと、以下の様になります。 平均・標準偏差の要素を抽出してみましょう。 まず、平均を選択して、配置ボタンを押してください。次の様になります。 - 11 - 次に、続けて他の値の要素も抽出することが出来ます。 再配置先の右のダイアログボックスをクリックしてから、F2 のセルをクリックします。 次にデータアイテムで「標準偏差」をクリックし、配置ボタンを押します。すると以下の 様になります。 全ての再配置が終了したら「終了」ボタンを押して終了してください。 2.5. リンクコピーをする もう一つ、「リンクコピー」というものがあります。通常のコピー&ペーストの場合、エ クセルでは、その値が直接コピーされるという形式を取ります。この場合、コピー元の数 値を変更しても、値そのものがコピーされているので、コピー先の値は変わりません。リ ンクコピーとはコピー元の値を変更すると、コピー先の値も変化するようにするコピーの 方法です。 - 12 - ここでは例として、歪度係数の値をリンクコピーしてみます。 まず、通常のコピーと同じように、コピー元のからコピーを行います。これには、C11 の セルを右クリックして「コピー」を選んでください。 次に貼り付け場所をクリックして(ここでは E5 のセル) 、NAG ツールバーの「リンク貼 り付け」ボタンを押します。すると値がリンクコピーされます。 実際にリンクコピーが行われているのかどうかを 確かめてみましょう。A10 のセルの値を 10→11 に してみましょう。これによって E5 の値が右の図の 様に変化するはずです。 - 13 - 3. NAG Excel 統計解析アドインについて Excel 用 NAG 統計解析アドインは Excel の環境で本格的な統計解析を行うことができる パワフルなアドインです。本アドインで使用されている計算アルゴリズムは 30 年の歴史を 持つ「NAG Fortran ライブラリ」をベースにしています。アルゴリズムの詳細が知りたい 場合には、 「NAG Fortran ライブラリマニュアル」を参照することが出来ます。 アドインは全部で5つの分野に分かれています。 NAG アドイン-1 基本統計 NAG アドイン-2 相関・回帰、時系列法 NAG アドイン-3 実験計画・一般線形モデリング NAG アドイン-4 多変量解析 NAG アドイン-5 ノンパラメトリック統計 - 14 - 3.1. 本アドイン搭載関数一覧 NAG アドイン1 基本統計 BETA_PPT ベータ分布の左側確率・右側確率の値を返します BETA_PROB ベータ分布の左片側確率から偏差を返します CHI_PPT カイ二乗分布に対する偏差の計算 CHI_PROB カイ二乗分布に対する確率の計算 F_PPT F分布に対する偏差の計算 F_PROB F分布に対する確率の計算 GAMMA_PPT ガンマ分布に対する偏差の計算 GAMMA_PROB ガンマ分布に対する確率の計算 MULTI_NORMAL_PROB 多変量正規分布に対する確率の計算 NORMAL_PPT 標準正規分布に対する偏差の計算 NORMAL_PROB 標準正規分布に対する確率の計算 S5PT_SUMMARY 五数要約(中央値,ヒンジ,極値)の計算 SUMMARY_STATS 平均,分散,歪度,尖度など,1変数,生データから T_PPT スチューデント t 分布に対する偏差の計算 T_PROB スチューデント t 分布に対する確率の計算 TWO_WAY_TABLE 2元分割表に対するカイ二乗棟計量 NAG アドイン 2 相関回帰・時系列法 ACF 一変量時系列,標本自己相関関数 ARIMA_APPROX_FIT 一変量時系列,予備推定,季節自己回帰和分移動平均モデル ARIMA_FIT 多変量時系列,多入力モデルの推定 ARIMA_FORECAST 一変量時系列,状態集合と予測,完全に特定化した季節自己 回帰和分移動平均モデル CORREL_MAT (オプションで重み付き)相関行列と共分散行列の計算 DUMMY_VARS 因子/分類変数に対する直交多項式またはダミー変数の計算 DURBIN_WATSON ダービン・ワトソン検定の統計量の計算 MULT_LIN_REG 一般(多重)線形回帰モデルのフィット PACF 一変量時系列,自己相関から偏自己相関 PARTIAL_CORREL_MAT 相関/分散・共分散行列から偏分散/分散・共分散行列の計算 SPECTRAL 一変量時系列,台形周波数(ダニエル)ウィンドウにより平 - 15 - 滑化したスペクトルを用いた平滑化標本スペクトル STAND_RESIDS 標準化された残差と影響の計算 TIME_SERIES_DIFF 一変量時系列,季節及び非季節階差 TRNS_FUNC_FORECAST 多変量時系列,完全に特定化した多入力モデルからの状態集 合と予測 NAG アドイン 3 実験計画・一般線形モデリング ANOVA_BLOCK 分散分析,乱塊または完全乱塊配置,処理平均と標準誤差 ANOVA_CONTRASTS 平均値の間の対比に対する二乗和の計算 ANOVA_FACTORIAL 分散分析,完全因子配置,処理平均と標準誤差 ANOVA_ROW_COLUMN 分散分析,一般的な行と列配置,処理平均と標準誤差 BINOMIAL_GLM 2項誤差をもつ一般化線形モデル・フィット GAMMA_GLM ガンマ誤差をもつ一般化線形モデル・フィット MULT_COMPN 平均値の間の階差に対する信頼区間の計算 NORMAL_GLM 正規誤差をもつ一般化線形モデル・フィット POISSON_GLM ポアソン誤差をもつ一般化線形モデル・フィット NAG アドイン 4 多変量解析 CLUSTER 階層的クラスタ分析 DISCRIM_ALLOC DISCRIM_TEST 後に選択したルールに従う群に観測量の 割り当て DISCRIM_DIST 群またはプールされた分散共分散行列に対するマハラノビ ス二乗距離 DISCRIM_TEST 群内分散共分散行列と判別分析のための行列の等価性のた めの検定統計量 DIST_MAT 距離行列の計算 FACTOR "因子分析モデルの母数の最大尤度推定値の計算,因子負荷, 共有性と残差相間" FACTOR_SCORE 因子得点係数(FACTOR 後の使用)の計算 GROUPS_FROM_CLUSTER クラスタ指示変数の計算(CLUSTER 後の使用) MDS ノンメトリック(序数)多次元尺度化 METRIC_SCAL 古典間隔尺度構成 - 16 - ORTHOG_ROTATION 負荷行列に対する直交回転の計算,一般化オーソマックス基 準 PRIN_COMP 主成分分析 NAG アドイン 5 ノンパラメトリック統計 BINOMIAL_TEST 2項検定 CHI_SQ_1 1つの標本に対するカイ二乗検定 CHI_SQ_2 2つの標本に対するカイ二乗検定 CHI_SQ_K k個の標本に対するカイ二乗検定 COCHRAN_Q 相互分類された二値データに関するコクランの Q 検定 CONTINGENCY_C 2元分割表に対するカイ二乗統計量 COX_STUART 2つのペアード標本に関する符号検定 FRIEDMAN k 個の一致しない標本に関する分散のフリードマン2元分析 KENDALL_CC ケンドールの一致係数 KENDALL_TAU ケンドールのノンパラメトリック順位相関係数 KOLMOGOROV_2 2標本コルモゴロフ・スミルノフ検定 KRUSKAL_WALLIS 非等サイズの k 個の標本に関する分散のクラスカル・ウォリ スの1元分析 MANN_WHITNEY 2つの独立標本に関するマン・ホイットニーの U 検定 MCNEMAR マクネマー検定 MEDIAN_TEST 非等サイズの2つの標本に関するメジアン検定 NONPARAMETRIC_INDEX ノンパラメトリック関数のリスト ONE_SAMPLE_CI ロバスト信頼区間,1標本 PROPORTION_CI 2項分布の母数に対する信頼区間の計算 RUNS_TEST Runs 検定 SIGN_PAIRS 2つのペアード標本に関する符号検定 SPEARMAN_RHO スピアマンのノンパラメトリック順位相関係数 TWO_SAMPLE_CI ロバスト信頼区間,2標本 WILCOXON ウィルコクスンの1標本符号付き順位検定 WILCOXON_PAIRS ウィルコクスンの1標本(一致したペア)符号付き順位検定 - 17 - 3.2. NAG アドインアドイン-1 第一部 基本統計 このアドインでは基本的な統計関数と確率関数が提供されています。これらは本来他の NAG アドインの関数をサポートするためにあるものです。多くの機能は既にエクセルで提 供されていますが、統計的分析の際に共通した計算コンポーネントを使用する方が良い場 合もあります。これらの機能は 3 つのカテゴリーに分類されています: 分布関数 要約的統計量 分割表 3.2.1. 分布関数 「値から確率を計算する関数」と「確率から値を計算する関数(パーセント/偏差値)」 は、以下の分布で使用可能です。 分布 正規 T χ2 F γ β 確率 NORMAL_PROB T_PROB CHI_PROB F_PROB GAMMA_PROB BETA_PROB 偏差 NORMAL_PPT T_PPT CHI_PPT F_PPT GAMMA_PPT BETA_PPT 注: ガンマ分布の密度関数の確率は以下で導き出されます x x exp (a − 1)log − b b bγ (a) a が位置母数で、b が尺度母数である時、平均は ab となります。このベータ分布をベー タ分布の標準形といいます。T、 F とχ二乗分布の自由度の設定は非整数でも構いません。 これら確率関数の精度はその用途により異なります。GAMMA_PPT、 BETA_PROB と BETA_PPT で は 、 必 要 と さ れ る 精 度 を オ プ シ ョ ン で 設 定 す る こ と が で き ま す 。 NORMAL_PROB、 NORMAL_PPT と GAMMA_PROB では、 精度はおよそ少数第16 位ほどが推奨されています。その他の関数では、通常使用の場合精度は少数第 5 位ほどが 推奨されています。 上記の単独変数分布のほかにも、多変量正規分布の確率を出す関数があります。 この関 数では分布分散共分散行列と平均ベクトルの入力を必要とします。 いくつかの NAG 分布関数では、分布の指定を以下のように行うことができます。 - 18 - 1. 右片側 2. 左片側 3. 両側(有意度検定) 4. 両側(信頼区間) 両側は対称形分布である、正規分布と T 分布でだけ選択可能です。有意度検定オプショ ンには上限値と下限値の確率の和が使われています。例えば5%水準での両側検定には 0.05 が使われます。信頼区間のオプションの場合、中央対称確率が使われます。例えば 95% 信頼区間の場合は 0.95 となります。 他の NAG 関数と違い、分布関数は配列で値を返すのではなく一つの値を返してきますの で NAG Extract ユーティリティは必要ではありません。 3.2.2. 要約的統計量 基本的統計量の計算のためには、二つの関数が用意されています。SUMMARY_STATS では平均、標準偏差、歪度・尖度係数、そしてグループ化されていないデータの最大値、 最小値を出すことができます。S5PT_SUMMARY では中央値、最大値、最小値、下側ヒン ジ、上側ヒンジを出すことができます。ヒンジとは、四分位数と同じものです。 五点要約 は箱ひげ図の元となるものですが対称を見るために使うこともできます。 3.2.3. 分割表 二種類の定性変数によりデータが取られた場合、2 方向分割表が必要となります。例えば、 性別 (男性 / 女性) と職業(事務職 / 技術職 / 総合職 / 一般職)の2つでデータを取った場 合、全部で8つの数値が出てくることになります。この8つの数値(これらは O(i,j)で表され る)を分析するために 2 方向分割表が必要となります。基本的な分析手法としては、χ二乗 検定があります。これは二つの定性変数が無相関だった場合各セルで予想される値(E(i,j)で 表される)を計算します。結果は以下で求められます。 (Oij − Eij )2 χ = ∑ 2 Eij 2 合計値は全てのセルにまたがります。 別の手法として尤度比検定があります。尤度比検 定は以下の計算で求められます。 - 19 - Oij − Eij G 2 = 2∑ Oij log Eij 各定性変数が 2 段階しかない場合、2×2 分割表のカイ二乗検定はイェーツの修正因数に よって精度を上げることができます。また、各部分の数値が小さな値である時、2×2 分割 表はフィッシャーの直接法で計算することができます。TWO_WAY_TABLE 関数は 2 方向 分割表に対してカイ二乗検定と尤度比検定の両方を行います。2×2 分割表の総標本数が 40 以下の場合、フィッシャーの直接法が行なわれます。ただし、各部分での期待値が 0.5 以 下の時、カイ二乗統計結果の分布がカイ二乗分布にあまり当てはまらないかもしれないの で、ワーニングが出力されます。 詳細は、Everitt(1977)などをご覧下さい。 - 20 - 3.3. NAG アドインアドイン-2 第二部 相関・回帰、時系列法 ここでは「回帰と相関」「時系列法」について扱います。 3.3.1. 回帰と相関 回帰と相関は両方とも変数の関係に注目します。相関の場合は、変数は 2 変数ごとに組み 分けされ、相関係数(ピアソンの積率相関係数とも言われる)を出すことでその 2 変数間の直 線的関係を見ます。つまり座標に置かれた点を直線に当てはめ、どれくらい直線に近くな るかということを見るのです。相関係数は-1 から+1 までの値を取ります。0 は 2 変数間に 全く相関が無いことを表し、±1 は完全な相関関係であることを表します。完全な相関関係 である場合、座標に置かれた点は正の傾き(相関が 1 の場合)又は負の傾き(相関が-1 の場合) の直線となります。CORREL_MAT 関数は全変数を 2 変数ごとに組み合わせ、全ての組の 相関を計算します。これを、相関行列といいます。相関は標準化された形での 2 変数間の 共分散とも見ることができます。また、CORREL_MAT では分散共分散行列も返します。 数値上 2 変数間に相関が出ても、直接的な相関があると解釈しないほうが良い場合もあり ます。それら 2 変数の相関は各々が第 3 番目の変数に相関していることもあるからです。 例えば、電気消費量と交通事故に大きな相関が出るような場合でも、これらは両方とも歳 月とともに増加しているものです。第 3 番目(もしくはその他の)変数を除外するために、部 分的相関係数を計算することができます。これは他の変数の相関を除外し二つの変数の相 関関係を計算するものです。PARTIAL_CORREL_MAT 関数は部分的な相関関係を計算し ます。 相関と違い、回帰は一つの変数が他の変数に直線的に関係しているかを見ます。この変数 は従属変数といわれ、多くの場合で表されます。その他の変数は独立変数といわれで表さ れます。独立変数が一つの場合、モデルは y = β 0 + β1 x + ε となります。 εは平均0の分散の誤差です。 このモデルは複数の変数に応用することができます。例えば、 y = β 0 + β 1 x1 + β 2 x 2 + β 3 x3 + β 4 x 4 + ε - 21 - は重回帰分析のモデルとなります。 二乗、などの特殊な多項式回帰モデルの場合、 y = β 0 + β 1 x1 + β 2 x 2 + β 3 x3 + ε ( x 2 ≡ x12 ) となります。 連続変数の代わりに分類またはグループ化された変数がある時、 重回帰モデルは一般線 形モデルと呼ばれます。(Searle(1971)参照)一般線形モデルでは分類された変数は各分類 又は水準を代表するダミー変数(0,1)に置き換えられます。例えば分類変数が色で、赤、緑、 青、茶のいずれかの値をとる時、次のようにダミー変数を使うことができます。 分類変数 赤 緑 緑 青 茶 赤 青 ダミー変数1 1 0 0 0 0 1 0 ダミー変数2 0 1 1 0 0 0 0 ダミー変数3 0 0 0 1 0 0 1 ダミー変数4 0 0 0 0 1 0 0 ダミー変数の合計は各観察ごとに1であるべきなので、各観察で平均を取ってもダミー変 数は各階級を表していることにはなりません。(各観察ごとに 1 に等しくなる) そのため通 常は第 1 ダミー変数は他のダミー変数と比較できるようにするために含まれません。(つま りこの場合赤は含まれない) 別の方法として、比較は一つ前の階級の最終値または平均値で行なうことができます (Helmert 行列)。各水準で量的変数が関係している場合、直交多項式で置き換えることが できます。 個別の分類変数による効果のほかに、2 つの分類変数による効果も考えられます。例えば、 上記の例に性別による分類もあった場合、色による効果、性別による効果、そして色と性 別の組み合わせによる効果の 3 通りが考えられます。女性が男性より効果が大きく、赤が 青、緑、茶色より効果が大きかった場合でも、緑と男性の組み合わせは予想より効果が小 さい可能性もあります。また、青と男性の組み合わせが赤と女性の組み合わせより効果が 大きいかもしれません。このような効果は交互作用と呼ばれており、変数を個別に観察す るより、色と性別の組み合わせのように組み合わせで分析するべきであることを示唆して - 22 - います。 MULT_LIN_REG 関数は多変量回帰モデルへの当てはめを行います。独立変数を指定す る方法としては、列に変数を入力していき配列を作ることでそれを行えます。こうすれば オプションで変数名をつけることと、0/1 インジケーターで変数をモデルから除外すること もできます。ダミー変数は DUMMY_VARS 関数で計算することができますが、より一般的 な方法としては下記に説明されている MM_MLR 関数を使うことができます。この関数は モデルの代数指定機能を使い自動的に必要とされているダミー変数を算出します。 回帰分析を行なうと、あてはめ値、分散分析表、パラメーター推定表、標準誤差、t 値、 相関、残差、てこ比が返されます。てこ比は観察がどれだけ当てはまり具合に影響してい るかと、回帰直線の信頼区間を計算するために使用することができます。残差のより詳細 な分析を行いたい場合 STAND_RESIDS 関数で標準化残差を計算することもできます。こ の関数では観察の影響を計算するクックの D 統計を行なうこともできます(Cook and Weisberg (1982)参照)。観察が連続的に行なわれているのであれば、DURBIN_WATSON 関数でダービン・ワトソン検定を行い、連続的な相関を見ることもできます。 モデル行列の指定 NAG の MM_MLR 関数はユーザーが自分で配列を作成せずに、モデル行列を指定するこ とができます。モデル行列関数 MM_MLR の入力項目は、 グループ変数とその変数名 共分散と共分散名 式 前述されているように、グループ変数とは分類変数(例えば目の色、性別など)のことで す。 これらの変数は文字(赤、緑、青)でも数値(100, 150, 300)でも可能です。 MM_MLR はこれらの値をまず整数値に置き換え(1,2,_,)そして回帰を行なうために必要なダミー変 数に変換します。共分散は通常の変数(重さ、温度など)を表します。 式は変数名や記号を使います +-*./()^ 式の例としては: グループ変数: a,b,c 共分散: x,z - 23 - a+x : グループ変数 a と共分散 x を回帰させます。 (異なったグループのた めの異なった切片の回帰モデル) x+x^2: x の 2 次元モデルを回帰させます。 a*b: a + b + a.b を回帰させます。a と b のメイン効果と a.b 交互作用(ク ロス分類モデル) a/b: a+ a.b を回帰させます。(入れ子モデル) (a+b)*c: c+b*c を回帰させます。(a + b + c + a.c + b.c) ^印は共分散使用時のみ使うことができます。交互作用の最大項数を設定するパラメター も使うことができます。 a*b*c(交互作用 = 2)は 3 項交互作用を除外した a + b + c + a.b + a.c + b.c を返します。 MM_MLR によって算出されるモデル行列は平均値も自動的に当てはめるように設定さ れています。平均値を除外する場合 DUMMY_VARS を使い、全ての水準のダミー変数を構 築しなければなりません。 3.3.2. 時系列法 ここでの時系列とは等間隔で観察された観察値の配列のことを指します。 例えば、 ある 物体の毎分の温度、株価の毎日の値、毎月の顧客数などです。時系列に関しては Chatfield (1982)をご参照ください。時系列は以下の3つの基本要素を持っています。: トレンド 周期的又は定期的な要素 不規則又はノイズの要素 トレンドは長期間の傾向 (例えば売上の増加) を表すのに対し、周期的又は定期的要素は 「冬より夏の方がセールの売上が多い」 や「金曜日の午後よりも月曜日の午前のほうが問 い合わせ数が多い」といった傾向を表します。不規則要素はトレンドと周期に関係した変 動を指します。回帰モデルと違い、時系列モデルのノイズは独立ではなく (自己) 相関であ ると想定されています。さらに、ノイズは通常平均がゼロで定常値として設定されていま す。定常値であるということは時点 t と時点 t+l 間の統計的関係が時点 t+t と時点 t+l+t の統計的関係が等しいことを示します。統計的関係は同時分布又は相関を見ることで関係 付けることができます。遅れ l とした時、時点 t の観測値と時点 t+l の観測値の理論上 の相関は ρlで表されます。 時系列分析の統計的モデルでは相関するノイズ (ωt で表される)は独立不規則要因または - 24 - 白色ノイズ (εt で表される)に関係するので、自己相関 ρlを説明します。 定常的な時系列のもっとも一般的なモデルは自己回帰モデルと移動平均モデルです。順序 p の系列 ωt 自己回帰モデルは wt = φ r wt −1 + φ z wt − 2 + L + φ p wt − p + ε t で、AR(p) で表されます。順序 q の移動平均モデルは w2 = ε t − θ 1ε t −1 − θ 2ε t − 2 − L − θ q ε t − q で、MA(q)で表される。この2式の違いは自己回帰モデルの自己相関は徐々になくなって いくのに対し、移動平均モデルの自己相関は遅れで q を切り捨てます。 データに周期的又は定期的要素(例えば曜日など)が関係してくる場合、季節モデルを適 用するのが適切です。例えば、火曜日の観測値は月曜日の観測値と前週の火曜日の観測値 の両方に関係しているかもしれません。季節モデルでは各項は季節的要素、s に関係します。 例えば、曜日は s = 7 となります。季節的自己回帰と移動平均モデルは wt = Φ r wt − s + Φ z wt − 2 s + L + Φ p wt − ps + ε t と w2 = ε t − Θ1ε t − s − Θ 2 ε t − 2 s − L − Θ Q ε t −Qs となります。これらのモデルは連結して季節的 ARMA モデルを出すことができます。 wt = Φ r wt − s + Φ z wt −2 s + L + Φ p wt − ps + et − Θ1ε t − s − Θ 2ε t −2 s − L − Θ Q ε t −Qs et = φ1et −1 + φ 2 et −2 + L + φ p et − p + ε t − θ 1ε t −1 − θ 2 ε t − 2 − L − θ q ε t −q et はモデル定義のための中間シリーズとなります。 シリーズ yt が定常値で無い場合、差分値又は季節的差分値を適用して定常値にする事が できます。 第1差分値は次の式になります。 ∇y t = y t − y t −1 第 1 季節的差分値は次の式になります。 ∇ s y t = y t − yt −1 差分値は定数項を代入し、次の式になります。 ∇ d ∇ sD y t = c + wt これと上記の ARMA モデルを連結すると、以下の7つの値で指定される季節的 ARIMA (自己回帰移動平均混合過程分析) モデルを出すことができます。 - 25 - (p, d, q, P, D, Q, s) 時系列モデル判別方法 適切な時系列モデルの判別の基本的なツールとしてはデータプロット、自己相関関数 (acf) そして部分自己相関関数 (pacf)があります。 データの作図で系列が定常かどうかを 見ることができます。そうでない場合は LOG や SQRT 等の基礎的な関数を使い系列を変 形させることができます。TIME_SERIES_DIFF 関数を使って差分値を適用することもで きます。 定常的な時系列を与えられた時、acf と pacf は ACF 関数と PACF 関数を使ってそれぞれ を出すことができます。 acf 関数より、 MA モデルの順序 q を計算することができます。 AR(p) モデルの pacf は遅れ p で中断されます。PACF 関数は部分自己相関関数と以下の式で示さ れる予測誤差分散率で与えられるオーダーの自己回帰モデルのパラメータを近似します。 Vl = var(el,t)/var(wt) ここで、var(wt) は定常シリーズの分散であり、var(el,t)は AR(l)が当てはめられた時の 白色ノイズの推定分散となります。 双方の手法が適切でない時、ARMA モデルを適用することができます。 ARIMA_APPROX_FIT 関数は ARIMA モデルのおおよその当てはまりを出すことができ ます。この関数はモデル判別時又は当てはめ時の初期値を出す際に有効となります。 時系列モデルの当てはめと予測 ARIMA_FIT 関数は最尤値または最小二乗値のどちらかを使い、ARIMA モデルを当ては めます。 ARIMA モデルは順序 p、 d、 q、 P、 D、 Q と s により指定されており、この関数 はパラメーター推定表、標準誤差、t 値と有意値を返します。結果を ARIMA_FORECAST に入力し、系列の予測値を出すことができます。 伝達関数モデル ARIMA モデルは単系列シリーズのために使うことができますが、 (出力された) 系列が 複数の入力系列に関係する場合、多数入力又は伝達関数モデルを使うことができます。伝 達関数モデルの形は、 y t = z1,t + z 2,t + K + z m ,t + nt - 26 - となります。 ここで nt は ARIMA モデルをとり、モデル、 zi,t の要素は入力された変数、 xi,t に関 係します。 zi,t は単純線形モデルで表すことができ、 zi,t = ωoxi,t となります。 また、zi,t は ARMA モデルで表すこともでき、 z i ,t = δ 1 z i ,t −1 + δ 2 z i ,t − 2 + K + δ p z i ,t − p + ω 0 xi ,t −b + ω1 xi ,t −b −1 + K + ω q xi ,t −b −q となります。 ここでの b は遅れとなります。伝達関数モデルは ARIMA_FIT のオプションから実行す ることができます。そして予測は TRNS_FUNC_FORECAST で行うことができます。伝達 関数モデルから出力されたシリーズを予測するには、入力されたシリーズの予測が提供さ れていなければなりません。さらに、入力されたシリーズの予測が ARIMA モデルを使っ てなされた場合、これらのモデルを TRNS_FUNC_FORECAST で使う事もできます。これ により予測に影響与えることはなく、予測の標準誤差を調整します。 スペクトル分析 時系列を見る時の別の見方として、時系列をいくつかの異なった周波数の正弦波/余弦波 が構成されたものとして見る方法があります。 (パワー)スペクトルはシリーズの分散がど れだけ異なった周波数に帰するのかを示しています。周波数に対してスペクトルのプロッ トはピリオドグラムと呼ばれています。 スペクトル分析は周期的要素の発見や、シリーズ 内の要素の発見に有効です。 算出された標本スペクトルは潜在するスペクトル密度を予想したり解釈する為に、滑らか な曲線にすることができます。SPECTRAL 関数はダニエル・ウィンドウとして知られる、 不等辺四辺形周波数ウィンドウを使い、標本スペクトルを滑らかな曲線にします。ウィン ドウの形は三角形から四角形をとり、滑らか度はウィンドウの幅でコントロールすること ができます。滑らかにされていない標本スペクトルの縦座標は帯域統計量によって出され た量だけ離れている時だけ独立になっています。スペクトルの分布は SPECTRAL によっ て出された自由度と変量の分布とほぼ同じになります。このおおよその分布はスペクトル の乗法的(またはログスペクトルが選択されている場合は加法的)信頼区間を出すことがで きます。 SPECTRAL 関数は高速フーリエ変換 (FFT)で標本スペクトルを計算します。効果的な計 算の為には、FFT に送るシリーズの長さは最低でも観測されたシリーズの二倍で、小さな 素数でできたものであるのが良いでしょう。こうするためには必要な長さになるまでシリ ーズをゼロで延長させることもできます。ゼロへの転換をスムーズにする為にはデータを - 27 - 両側で操作することもできます。波数分割によって出される FTT から算出される値の部分 集合のために計算されます。 FFT から標本スペクトルを計算する際、2πの除数が使われ ています。 - 28 - 3.4. NAG アドインアドイン-3 第三部 実験計画、一般線形モデリング 統計モデリング2では「実験計画法」「一般線形モデル」について扱います。 3.4.1. 実験計画法 背景 実験計画法とは実験物にある一定の制御された状態を与える計画のことを言います。実験 計画に対比するのが、自然と変化していく状態を観察する観察法です。制御された状態を 処置といい、実験物はユニット(またはプロット)に分類され、それぞれのユニットは異 なった処置を受けることができます。例としては 例 1. 鶏の食生活が成長に及ぼす影響の違いを見る実験で、鶏は小屋に分けられ各小 屋毎に異なった餌が与えられた。この場合、小屋がユニットで異なった餌が処 置となる。 例 2. 4つの素材の消耗度合いを比較する実験において、各素材からサンプルが取ら れ、消耗を再現する機械に入れられた。機械は4つのサンプルを一度に入れる ことができ、何回も実験することができる。この場合、処置は素材で、ユニッ トは各物質からのサンプルとなる。 実験計画法では、以下の原理が重要となります。 無作為化 実験の全体的な計画において、ユニットへの処置の実行は適切な無作為化の 後に行われます。これにより系統誤差の可能性を除去し、実験の統計的分析 のベースとなります。 反復 各処置は二回以上は観察されます。ゆえに、例2では各素材から二つ以上の サンプルがテストされるべきでしょう。反復により処置効果の変動予測をつ けることができます。 ブロック化 多くの場合、実験物は全て同質ということはなく、何らかの体系的な違いが あります。体系的な違いの影響を減少させる為、実験物はブロックに分ける ことができます。各ブロック内のユニットは似通っているが、ブロック間に は違いが出るようにします。例えば、動物実験においては同じ母親から同じ 時期に生まれた動物をブロックと見れますし、産業実験では一つのバッチか らの製品をブロックとすることもできます。 要因計画 温度の違いによる影響と圧力の違いによる影響、など、ひとつの種類以上の - 29 - 処置を考えているとき、多元配置では温度と圧力のすべての組み合わせを見 ます。異なった種類の処置は因子と呼ばれ、その実験内で因子のとる様々な 値を水準といいます。例えば、3種類の温度と4種類の圧力を扱っている時、 因子1(温度)は3水準あり、因子2(圧力)は4水準あり、配置は 3×4 になり 合計で 12 個の処置となります。この利点は因子の組み合わせの影響、つま り因子どうしの交互作用を見れる点です。 以下は標準実験計画の例です。説明内では、t 種類の処置があると仮定しています。 1. 完全無作為化計画 ブロックは無く、処置はユニットにランダムに割り当てられる。 2. 完全無作為ブロック計画 ユニットは t ユニットの b ブロックに分けられ、各処置は全ブロックに一度行われ る。ブロック内のユニットへの処置はランダムになされる。 3. ラテン方格計画 各ユニットはサイズ t のセルとして見ることができる。これは、各行と列によって 分類される。行と列は実験物質の変化量のもとを表している。この計画法ではユニ ットは各行と各列に一度ずつ処置がされるようになっている。 4. つりあい不完備計画 ユニットは t ユニットの b ブロックに分けられる。各処置は同数反復し、各ブロッ クに対し他の処置と同じ数されるようになっている。ブロック内のユニットへの処 置はランダムになされる。 5. 完全要因実験 全ての因子の水準から出される処置の組み合わせが t 組ある時、ブロックが無いか、 ブロックのサイズが t ユニットである。 その他にも、一部つりあい不完備計画、分割法、 交絡付き多元配置多元配置、部分多元 配置などがあります。実験計画法に関する詳細は Cochran and Cox (1957)、 Davies (1978) 、John and Quenouille (1977)を御参照ください。 さて、多くの一般的な実験計画法は NAG Excel Add-Ins の3つの関数で分析することが できます。 1. ANOVA_BLOCK は完全確率化法を分析します。その他にも同じサイズのブロッ クのブロック計画も分析します。例えば、乱塊法、 BIBs、 PBIB などです。 2. ANOVA_ROW_COLUMN は行と列の計画を分析します。例えば、ラテン方格法、 - 30 - 格子法などです。 3. ANOVA_FACTORIAL はブロックの(交絡されていない)完全多元配置を分析し ます。 他の計画法は関数を呼び出し、組み合わせることにより分析できます。例えば、ラテン方 格 法 の 多 元 子 要 因 実 験 は ま ず ANOVA_ROW_COLUMN を 使 い 、 そ の 結 果 を ANOVA_FACTORIAL で分析することができます。また、分割法、 ブロックを交絡した多 元子要因実験や、部分多元子要因実験の一部を分析することもできます。 分散分析 実験計画の分析は通常 2 段階あります。第 1 段階は、実験に潜在する分散推定の計算と処 置の全体的な影響の計算です。この結果が、分散分析 (ANOVA) 表となります。第 2 段階 では、それぞれの処置の影響を詳しく見ます。これは、適切な標準誤差を使って処置平均 の違いを見るか、直行対比を使うことで見ることができます。 分析結果により、 yij = µ + δ i + π + ε ij の直行モデルができます。 ここで yij はブロック i のユニット j の観察値で、μ が全体平均、 δi が i 番目のブロ ックの影響、πがユニットに与えられた l 番目の処置の影響、そして εij がこのユニットに関係した確率誤差となります。 εij の期待値はゼロで、分散は s2 となります。 分散分析では、 全体差違は全体平均の平方和によって計算され、 それはブロックによる 平方和(SSB) 、処置による平方和(SST) 、 残差または誤差平方和(SSE)に分割されま す。この分割はパラメーターd、 t と s2 に対応します。平方和の分割と平行して平方和に 関係した自由度の分割があります。これらから平方和を自由度で割った比率として平均平 方が計算されます。最後に、処置の全体影響の F-検定が処置平均平方の残差平均平方への 比率として計算されます。 これらの結果は通常以下のような分散分析 (ANOVA) 表で見る ことができます。 分散分析表 ソース ブロック 処置 残差 合計 自由度 b-1 t-1 n-t-b+1 n-1 平方和 SSB SST SSE SSTOT 自乗平均 MSB MST MSE - 31 - F 比率 MSB/MSE MST/MSE 有意度 行と列計画ではモデルは yij = µ + δ i + γ j + π + ε ij となります。 ここで、ρi が i 番目の行の影響で、γj が j 番目の列の影響です。通常行と列は直行にな っています。分散分析では全体差異は行、列、処置、残差に分けられます。 ブロック(行と列)が処置に直行でない計画の場合(不完備計画など) 、カノニカル効率因子 が非直行性により失われた情報量を測定します。 (John 1987 参照) このような場合計算さ れた処置平均はブロックの為に調整された平均となります。 有意な処置効果が調べられた後は適切な標準誤差で平均の違いを比べることでさらに詳 しく調べることができます。不統一な処置の場合、多重比較手法や同時信頼区間を使い調 べることができます。MULT_COMPN は Tukey -Kramer、 Bonferron、Dunn-Sidak な どの異なった手法を選択し、同時信頼区間の平均の差を計算します。 処置が統一されている場合は、対比を使って適切な比較検定をすることができます。例え ば、4 つの処置があり 1 つめが制御で、その他の 3 つが異なった量の薬品だった場合、薬品 がある場合と無い場合、そして薬品の線形的影響を対比させることができます。それらの 対比の平方和は適切な F-検定から計算することができます。ANOVA_CONTRASTS はユ ーザーにより定義された平均間の対比のための平方和を計算します。ブロックと処置が直 行でない場合は、ブロックに関係無い処置平均とブロックの為に調整した処置平均が出さ れていなければなりません。 多元子要因実験の場合、処置平方和と自由度は因子への主な影響と因子間の交互作用に別 れていなければなりません。因子の主な影響は他の全ての因子に対し平均化された因子の 影響です。2 因子間の交互作用は 2 因子の組み合わせに付け加えられる影響で、他の因子の 平均化を超え、二因子の更なる影響を超えるものです。A と B の 2 因子とブロックの多元 子要因実験の場合、I 番目のブロックの t 番目のユニットが因子 A の水準 l と因子 B の水準 k を受けた場合、そのモデルは yij = µ + δ i + (α l + β k + αβ lk ) + ε ij となります。 ここでαl と βk はそれぞれ因子 A と B の主な影響でαβlk は A の水準 l と B の 水準 k の交互作用となります。高い順番での 3 つ以上の因子の交互作用も似た形式で説明 することができます。 多元子要因実験では分散分析表は各項に対し行を含みます。ブロックのある 2 因子実験で 因子 A が水準 la を持ち因子 B が水準 lb を持つとき、その分割は: - 32 - ソース ブロック A の主影響 B の主影響 AB 交互作用 残差 合計 自由度 b-1 la-1 lb-1 (la-1)(lb-1) n-b-lalb+1 n-1 分散分析表の中の処置項の平均と共に、影響表も計算されます。影響表は項毎に、その前 項の影響を計算します。例えば、AB の影響は A の主影響と B の主影響と共に、AB の交互 作用の影響も計算します。 ANOVA 関数の使い方 ANOVA_BLOCK 関数では、データはデフォルトではブロック順で入力するようになって いますが、Block_order オプションを使ってブロックをまたがる順番で入力することもで きます。データは2方向の表にすることもでき、デフォルトでは行がブロックに対応する、 という設定になっています。処置は全処置を入力することもできますし、ブロック毎に処 置が行われていた場合は、全処置を引き出せる、処置の一覧だけを入力することもできま す。分散分析と標準誤差と処置平均と同時に、この関数は John (1977)のカノニカル効率因 子も返します。 ANOVA_ROW_COLUMN 関数ではデータは反復(あれば) 、列、行の順序なければなり ません。データは行と列に対応した2方向の表にすることもできます。 ANOVA_ROW_COLUMN では、全処置が入力されてなければなりません。 ANOVA_BLOCK と ANOVA_ROW_COLUMN では共分散を2方向の配列で返し、処置 の標準誤差を返します。この上三角形の部分は処置平均の分散共分散行列なので、対角線 成分が処置平均の分散をあらわすことになります。対角線の下三角形の部分は平均の対の 差の標準誤差を表します。完全確率化法やつりあい不完備計画などではこの値は一定でど の2処置間の差の標準誤差を表します。 ANOVA_FACTORIAL ではデータは因子毎の順番でなければなりません。つまり、デー タは因子 1 の次は因子 2、その次は因子 3 というふうになります。データが望ましい順番 ではないが、因子が使える時、'Data'からエクセルのソートマクロを使い、並び替えること ができます。平均と影響の表は列を説明する最終因子と、行を説明する他の因子の順序を 返します。例えば、A.B.C の平均表は以下のように、列は因子 C の水準で説明され、行は 因子 A の水準内の因子 B の水準で順序付けられます。 表 A.B.C 因子 A 因子 B - 33 - 因子 C 1 2 1 1 2 2 1 2 1 2 3つ全ての関数には、オプションのパラメーターとして自由度_調整があります。これは 例えば ANOVA_ROW_COL の次に ANOVA_FACTORIAL を行う、など複数の段階でデー タの分析を行なう際の自由度を調整することができます。 その他 データを一部不足した実験の場合は、その不足データは Healy and Westmacott 手順を使 うことにより補うことができます。詳しくは John and Quenouille (1977)をご参照くださ い。この手順は不足値を推定することから始まり、分析結果の残差をもとに調整をする、 というものです。調整後の値はその後の反復に用いることができます。 上 記 の 方 法 で 分 析 で き な い 実 験 計 画 の 場 合 、 MULT_LIN_REG 関 数 ( ま た は NORMAL_GLM の単位リンク) で一般線形モデルを当てはめることができます。 3.4.2. 一般線形モデル 背景 一般線形モデルは線形回帰モデルへの重要な拡張であり、MULT_LIN_REG 関数を使い 当てはめることができます。一般線形モデルの例としては: 1. 合理的多項モデル。正規誤差 y= 2. 1 +ε a + bx + cx 2 y が平均μの 2 項分布のロジスティック回帰モデル。 µ = η = ∑ β i xi log n−µ 3. y が平均μ のポアソン分布から出されている対数線形モデル log(µ ) = η = ∑ β i xi 一般線形モデルの入門は Dobson (1990)、詳細は McCullagh and Nelder (1989)を参照く ださい。 一般線形モデルは以下の 3 つの要素から成り立っています: 1. 応答変数 y の誤差分布 - 34 - 2. 分布の平均、 μから線形予測量、η=g(η) に続くリンク関数 3. 線形予測量、 Σβi xi NAG Excel Add-Ins では、以下のモデルを使うことができます。 誤差分布: 正規分布、二項分布、ポアソン分布、ガンマ分布 リンク関数: 正規、ポアソン、ガンマ分布では 単位、対数、 指数、平方根、逆数 二項分布では対数、プロビット、余事対数の対数 線形モデルは以下のように、入力された列または NAG MM_GLM 関数を使った式を指定 して作ることができます。 一般線形モデルは偏差を最小化することで当てはめることができます。つまり、 偏差 = -2×Log(尤度 Log(尤度) 尤度) - データ従属定数 正規誤差の場合では、これは単なる残差の平方和となります。反復再重み付き最小二乗ア ルゴリズムを使って最小化することができます。 詳細は McCullagh and Nelder (1989) を 参照するか、NAG Fortran ライブラリマニュアルをご覧ください。ガンマ誤差の場合応答 変数のゼロ値に対応する調整された偏差が使われます。 線形モデルのパラメターの他に、正規分布は分散という尺度母数を持ちます。これは残差 自由度を残差平方和で割った値で推定されます。 モデル有意度の検定 ここで二つの入れ子モデルがあったとします。例えば、 η = β1 + β 2 x と η = β1 + β 2 x + β 3 x2 追加項の有意度は(この場合 x2)二つのモデルの偏差の違いで見ることができます。二 項分布とポアソン分布では、その違いはχ2 分布と偏差に関係した自由度の差に等しい自由 度によって比較されます。正規誤差では、F-統計量は偏差 (残差平方和)の差を自由度の差 で割り、そして尺度母数の推定値で割ることにより、出すことができます。これは残差平 方和を大きい方のモデルまたは適切な最大モデルの残差自由度で割る、ということになり ます。 個別パラメーターは パラメーター推定値 / 標準誤差 - 35 - の統計量を使い、ゼロであるという仮説のもと、検定することができます。 これは二項誤差とポアソン誤差の正規分布の場合と比較することができます。正規誤差で は t-分布は 偏差または残差平方和に関係した自由度として使うことができます。 モデルのチェック モデルパラメーターの検定の他に、モデルの残差の検定も必要です。正規、二項、そして ポアソン誤差では、偏差残差が計算されます。正規誤差の場合は偏差の残差 は単に y-m. となります。ガンマ誤差では、y = 0 と定義される Anscombe 残差が使われています。 残差のほかにも、てこ比が計算されます。これらで観察の当てはまり値の影響を見ること ができます。大きな値が出た場合は、当てはめられたモデルが不当にその観察に影響され ていることを示しています。てこ比は残差を標準化するために作ることもできます。詳細 は STAND_RESIDS をご覧ください。 更に高度に使うために、一般線形モデル関数は反復再重み付き最小二乗アルゴリズム で 使われる線形予測量と重みを返します。分散標準化は二項、ポアソン、ガンマ分布のため にも使うことができます。 モデル行列の指定 簡単な項の選択は一般線形モデル関数の X の選択で選択することができます。これによ りモデルから X 配列の列が除外されます。もっと強力なモデル指定は NAG MM_GLM 関 数で行うことができます。 ユーザー自ら列を入力するのではなく、NAG 関数の MM_GLM を使いモデル行列を指定 することができます。モデル行列関数 MM_GLM への入力は 1. グループ変数とその変数名 2. 共分散と共分散名 3. 式 グループ変数は例えば、目の色、性別などの分類変数です。これらの変数は文字(赤、緑、 青)でも数値(100、 150、 300)でも入力することができます。MM_GLM ではまずそ れらを整数値に置き換え(1、2、など)次にモデルの当てはめに必要なダミー変数に置 き換えます。共分散は通常の変数(重さ、温度など)の変数です。式は変数名と +-*/()^ の記号を使います。 式の例としては: グループ変数: a, b , c - 36 - 共分散: x , z a + x はグループ変数 a と共分散 x に当てはまります。つまり、異なったグル ープの異なった切片の回帰モデルとなります。 x + x^2 は x の 2 次モデルに当てはまります。 a*b は a + b + a.b に当てはまります。つまり、a と b のメイン効果と a.b 交 互作用に当てはまります。(クロス分類モデル) a/b は a + a.b に当てはまります。(入れ子モデル) (a+b)*c は a*c+b*c に当てはまります。(a + b + c + a.c + b.c) ^ 印の注釈は共分散使用時のみ使うことができます。交互作用の最大項数を設定するパラ メーターも使うことができます。 a*b*c と交互作用 = 2 は 3 項交互作用を除外した a + b + c + a.b + a.c + b.c を返す。 MM_MLR によって算出されるモデル行列は平均値も自動的に当てはめるように設定さ れています。平均値を除外して DUMMY_VARS を使い、ダミー変数を出したい場合は全て の水準を表示した上で実行しなければなりません。 - 37 - 3.5. NAG アドインアドイン-4 第四部 多変量解析 多変量データとは、複数の物体や個人に関して複数の変数を持つデータのことを言います。 たとえば、複数の土の標本に対して複数の鉱物があった場合や、ある都市の複数の地域に 対して複数の社会指標があった場合などです。 3.5.1. 変数間の関係を見る変数主体の手法(たとえば、主成分分析 変数間の関係を見る変数主体の手法 たとえば、主成分分析) たとえば、主成分分析 ほとんどの変数主体の方法の場合、問題の多元性をできるだけ減らすために、直接関わっ ている変数だけを見つけようとします。最も一般的な手法は、主成分分析と因子分析です。 主成分分析とは、観測された変数と最大の差異があり、 観測された変数と直線的組み合 わせとなる変数を見つける分析を言います。必要とされている変数は標本分散共分散行列 の固有ベクトルとなります。固有ベクトルにより説明される差異の量は、対応する固有値 に比例します。最大の固有値に対応する固有ベクトルは第一主成分と呼びます。分散共分 散行列のほかにも、相関行列を使うことも出来ます。これは変数を同じ規模に標準化させ る、という効果があります。データのほとんどの差異を表すのには、多次元性(主成分) は小さくて済みます。小さい固有値を検定することで何次元必要なのかが分かります。固 有値の係数を見ることで、それがもとの変数にどのように関係しているのかを見ることが 出来ます。 個別の主成分変数の値は主成分スコアと呼ばれます。これらは各主成分の分散または平方 和 1.0 になるか、対応する固有値と等しくなるように標準化することができます。 PRIN_COMP 関数は主成分分析の固有値、各成分の差異の比率、必要な成分の検定を返 します。固有ベクトルの係数とスコアも返されます。 因子分析は主成分分析と似ていますが、異なるモデルが背景にあります。主成分分析同様 に、因子分析の目的は小さい数の潜在的変数または因子でこれらの共分散を表すことです。 これらの変数は独立で、単位分散があるという前提があります。因子分析では観察された 変数、 S、と因子の分散共分散の関係は、 S = LL' + y のモデルで表すことができます。 ここで L は因子負荷量の行列で、y は各変数の固有分散の対角行列となっています。1yi は全共同体的一致と呼ばれています。負荷量は観測された変数、 Y、 観測されていな い因子に関係し、 F.Y = LF + e.となります。因子と固有成分、 e、 の両方が独立正規分布 となると仮定された時、モデルのパラメーターである L と y、 は最大尤度で推定すること ができます(Lawley and Maxwell (1971))最大尤度推定値の計算は行列の固有値と固有ベ クトルを計算する反復作業となります。 S* = y-1/2Sy-1/2 - 38 - ここで S は標本分散共分散行列となります。最大尤度推定値を使うと言うことは、尤度 比検定は対数尤度を比べることにより必要とされている因子数を出すことができる、とい うことです。モデルのパラメターの推定値があれば、 「個別の因子の推定値」「因子スコア」 が計算できます。これは因子スコアの係数の計算も含みます。因子スコア係数の計算の最 も一般的な2手法は、回帰手法とバートレット 手法です。バートレット手法は因子スコア の不偏推定値を出すのに対し、回帰手法の推定値は偏りがあります。しかし、回帰手法の 分散はバートレット手法の分散より小さい値となります。詳細は Lawley and Maxwell (1971)を御参照ください。FACTOR 関数は負荷量と全共同体的一致を計算します。データ そのものか、相関 / 分散共分散行列を入力することができます。FACTOR_SCORE 関数 は因子スコア係数を計算します。 係数から因子スコアを計算するにはデータは標準化され、 その後因子スコア係数をかけあわさなければなりません。 主成分分析でも、因子分析でも、係数や負荷量のパターンは成分または因子の解釈の基準 となります。係数の絶対値がとても小さいか、とても大きい方が解釈は容易になります。 これは直交回転を使い達成することができます。最も一般的な二手法はバリマックス法と コーティマックス法です。 両方の手法では係数の四乗を含む基準を最大化させる回転が選 ばれます。詳細は Lawley and Maxwell (1971) や Krzanowski (1990)等をご覧ください。 ORTHOG_ROTATION 関数は直交回転を計算します。パラメーターG が1に設定されて いる場合、バリマックス回転が行われ、G がゼロに設定されている場合、コーティマック ス回転が行われます。G がゼロと1の間の値であった場合、2 手法の折衷手法が取られます。 3.5.2. 物体間の関係を見る個主体の方法(たとえば、クラスター分析 物体間の関係を見る個主体の方法 たとえば、クラスター分析) たとえば、クラスター分析 一般的に誘導された変数が固有となるのは、直交回転までです。ゆえに、元の変数の点に おいて、新しい変数の簡単な解釈につながるこれらの変数の適切な回転が存在するか見る のはとても有効なことです。 variable-directed 手法と同じデータ行列を扱いますが変数よりも物体や個人に重きが置 かれています。この手法は元々距離または非類似性行列がベースとなっています。つまり、 個人間の距離を示すのに対し、相似性行列は個人間がどれだけ近いのかを測る手段として 使われています。距離や相似性の形は変数の形によります。連続変数では何らかの形の(平 方された) ユークリッド距離が適切です。 Dxy = (x - y)2 その他にも一般的なのが、絶対距離とまたは市街距離です。 Dxy = |x - y| DIST_MAT 関数はこれらの距離を計算します。 - 39 - 変数適切な距離を出すために変数を一定の比例に拡大する必要が度々出てきます。離散変 数では、様々な相似性または距離をすぐ計算することができます。例えば、二項データで は非類似性の測定は、 0 個人が同じ値を取る 1 その他 となります。 DIST_MAT は更新オプションがあるので、このように計算された距離は上述のユークリ ッド距離と組み合わせることができます。 個人間の距離値があった時に、基本的に 3 つのタスクを実行することができます。 1. 個人のグループ化:つまり、他のグループの個人とよりも、同じグループ内の個 人との方が近くなるように個人をグループに分ける。 2. 個人の分類: つまり、何名かがあるグループから来る時、その個人をグループの メンバーシップが一番分からないグループに分ける。 3. 個人のマッピング:個人間の距離がダイアグラムでの距離となるように多次元ダ イアグラムを作る。 上記では、 (1) がクラスター分析、 (2) が判別分析、 (3)が尺度法となります。 階層的クラスター分析 クラスター分析へのアプローチは2種類有ります。階層的手法と、非階層的手法です。階 層的クラスター分析は個人から一つのクラスターまで重複し合うクラスターを作り、最終 的に一つのクラスターにまとめツリー構造にするという手法です。あるレベルでのクラス ターはその前のレベルのクラスターから作られています。階層的クラスター分析は、さら に二つのアプローチが有ります。個人レベルからクラスターを作り、最終的に一つのクラ スターになるまで作っていく凝縮的方法と、または一つのクラスターから始め、個人レベ ルに達するまでクラスターを分割していく対立法が有ります。このブックでは、一般的で ある凝縮的方法を取り扱っています。 階層的クラスター分析の段階は、通常は以下の通りです。 1. 距離行列を作る 2. 選択された基準を使い階層を作る 3. クラスター情報を樹状図形式にする、またはその情報を使いクラスターを作る n 個の個体の距離行列が与えられた時、凝縮的クラスター法ではまず各個体ごとに n 個 のクラスターから始め、n - 1 段階ごとに二つのクラスターを統合し、最終的に一つのクラ スターとなるまで統合していく、階層的ツリーを作っていく手法である。各段階毎に一番 近いクラスターが統合され、新しい距離行列が計算されます。 - 40 - 新しいクラスターとその他のクラスターとの距離の計算方法は、6種類あります。 1. 単リンクまたは一番近いクラスター 2. 完全リンクまたは最も遠いクラスター 3. グループ平均 4. 重心 5. メディアン 6. 最小分散 例えば、A、 B、 C の3つのクラスターがあり、その距離が A A B C B 1.0 C 2.0 3.0 であったとします。 次の段階で、クラスターA がクラスター B と統合されます。新しいクラスター とクラス ター C との距離は、単リンクが選ばれている場合、2 (A または B から C への最小距離) 完全リンクが選ばれている場合 3 (A または B から C への最大距離) となります。グルー プ平均はクラスターA と B の大きさを計算に入れます。ゆえに、クラスター A に6個の物 体があり、クラスター B に4個の物体があったとしたら新しい距離 C は 2(6/10) + 3(4/10) = 2.4 となります。 残りの3つの方法も A と B の距離を計算に入れます。メディアンクラスター法は、AB の距離の平均から AB の距離の四分の一引きます。つまり、 (2+3)/2- シ = 2.25 となります。 重心クラスター法はグループの平均距離を AB の距離で調整します。 2(6/10) + 3(4/10) - (6/10)(4/10)1 = 2.16 最後に、最小分散法は C の個体数を計算に入れます。C に物体が5個あった場合は最小 分散クラスター法での距離は ((5+6)2 + (5+4)3 - (5)1)/(5+6+4) = 2.93 となります。 これらの手法の詳細は Everitt (1974) または Krzanowski (1990)をご覧ください。 一旦ツリー構造となったら、必要とするクラスター数を指定するか、クラスター間の距離 を指定することによりクラスターを作ることができます。 CLUSTER 関数は上の6つの手法のどれかを使い、階層的クラスター分析ツリーを計算 します。 距離行列を入力するか、元データを入力しユークリッド距離を使うことができま す。GROUPS_FROM_CLUSTER 関数で必要とするクラスターを計算することができます。 - 41 - 判別分析 判別分析は配置基準をもとに個体を観察した結果をベースに、個体をグループに分類する という分析方法です。この基準はグループのメンバーシップが判明している暫定的グルー プから計算されます。 配置基準は個体間の距離とグループ位置の推定をもとに作られます。 通常の観察の距離値はグループ平均は平方された距離を変数の分散共分散行列により標準 化した、マハラノビス 距離により与えられます。 これは、グループの分散共分散行列またはそれが等しいと推定できるのであれば合同分散 共分散行列となります。この推定は検定することができます。詳細は Morrison (1967)をご 覧ください。距離の他にも、グループの事前確率を使うことができます。事前確率は異な ったグループから来る個体の尤度を見るという点で、ユーザーの視点を反映するものとな ります。 通常は変数は多変量正規分布となると推定されます。観察のグループのメンバーシップの 事前確率とグループの観察の確率を組み合わせることで、グループの事後確率を計算する ことができます。そして、最も高い事後確率の観察がそのグループに割り当てられます。 判別法の推定的アプローチとして、事後に現れる多変量正規分布のパラメーターは暫定的 グループの推定値により置き換えられます。グループ内の分散共分散行列が等しいと推定 された場合は、線形判別関数を使うことができます。その他の場合は、分散共分散行列が 等しくないと推定された場合は二次判別関数を使うことができます。ベイズの予測アプロ ーチでは、暫定グループからパラメーターの事後分布を与えることにより、非説明的事前 分布がパラメーターに使われています。予測分布はパラメーター空間を積分することによ り出されます。この予測分布は次に、事後分布の代りとなります。個体をグループに配置 するほかにも、各個体と各グループの C 指標を計算することができます。これは実際の観 察値よりグループに適している観察値が出る確率を表します。すべてのグループで高い非 典型的 指標が出た場合、観察が暫定グループでは表されていないグループから来ていると いうことを示します。 DISCRIM_TEST 関数は グループ分散を平等にするための検定統計量と判別分析を実行 す る の に 必 要 な 統 計 量 も 計 算 し ま す 。 DISCRIM_TEST で 得 ら れ た 情 報 は DISCRIM_ALLOC に流すことができ、そこでその情報をもとに観察をグループに割り当 てることができます。合同またはグループ分散、推定的手法と予測的手法、を選ぶことが できます。事前/事後確率と共に非典型的指標が計算されます。DISCRIM_DIST 関数は DISCRIM_TEST 使用後に、マハラノビス距離を出すことができます。グループ間平均ま たは観察とグループ間の平均を出すことができます。他の判別法としては、ロジスティッ ク判別があります。これは、データが正規分布であるという前提の下にない判別法です。 二つのグループがあった場合、ロジスティック回帰はグループ位置を示す応答変数と判別 分析の変数を説明変数として行なうことができます。配置は、当てはめられた応答変数を - 42 - もとに行うことができます。このアプローチは広い範囲の分布推定に適用することができ ます。BINOMIAL_GLM 関数は、第 3 部実験計画・一般線形モデリングにあります。 尺度法 尺度法は観察された非類似性や、個体間の距離をユークリッド空間での距離として表すた めの手法です。例えば、個体 A、B、C のそれぞれの距離が 3、 4、 5 だったとします。こ れらの距離は2次元空間の3点で正確に表すことができます。ここで重要なのは、それら の相対的地位であり、全体の点の集合は点間の距離を変えなければ回転させたり、動かし たりすることができます。1次元表示が必要であれば、最良の表示は 7/3、 10/3、17/3 と なり、近い値で表示することになります。もし距離が 3、 4 、8 である場合は、これらの 距離はたとえ2次元空間であってもユークリッド空間で正確に表示することはできません。 最良の表示方法は、3点を一直線にし、距離を3、4、7にすることです。 実際には、ユーザーがデータを何次元で表示したいのか設定しなければなりません。次元 数が低ければ低いほど、その情報は理解し易くなります。設定した次元数はデータをほぼ 表す物でなければなりませんが、設定した次元数が小さすぎたり、データ自体がユークリ ッド空間で表すことができないなどして、正確な表示ができないことが多いでしょう。 その非類似性の性質と分析する距離によって、2種類の手法があります。距離が計量不平 等性を満たせると推定できるなら、 d ij ≥ d ik + d kj 距離はユークリッド空間の点で正確に表示することができ、計量尺度法、古典尺度法、主 単位分析等の手法をを使うことができます。この手法は距離行列から出される固有値の行 列の計算を含みます。k 番目に大きい正の固有値に対応する固有ベクトルは個体の表示に最 適な k 次元を反します。METRIC_SCAL 関数は、このような尺度法を実行します。負の 固有値があった場合、ユークリッド空間で距離行列を表すことはできません。 METRIC_SCAL はこの推定をチェックできるように、全ての固有値を計算するというオ プションもあります。 上記のアプローチ(点からの距離をできるだけ個体からの距離に近づける手法) とは別に、 階数順の同値性だけが必要である場合があります。つまり、点間の距離の順序ができるだ けそれを表している物体間の距離と同じである、ということです。非類似性が主観階数が もとになっている場合、適切な手法になります。例えば、対象が食べ物で、複数の審査員 が味、食感、等で階数付けをした場合、結果として出される距離は必ずしも計量不平等性 に従うものではありませんが、階数順序がはっきりとします。その他にも、距離を階数順 序に合せるという制限をゆるめることで、距離行列を表す次元数を低くすることができま す。階数-順序平等性の制限は非計量的または順序多次元尺度法につながります。当てはめ - 43 - られた距離行列の観察された距離行列への近さを計る基準はストレスと呼ばれています。 非計量多次元尺度法ではストレスを最小化する点を算出します。 ストレスは点の集合が、もとの距離行列の順序をどれだけ保っているかを計るというもの です。 ストレス の計算は、観察距離の当てはめれらた距離への単調回帰を含みます。例 えば、 観察距離 当てはめられた距離 単調距離 1.05 0.93 0.93 1.25 2.62 1.85 1.75 1.21 1.85 2.6 3.55 3.55 ストレスは当てはめられた距離と単調距離の差の平方和を当てはめられた距離の平方和 で割った値となります。ストレスの他にも、距離自体より平方された距離のほうが適して いる場合は、平方ストレス、 S ストレス等を使うことができます。MDS 関数はストレス または平方ストレスを選択し、非計量的尺度法を行います。点の他にも、MDS はオプショ ンで当てはめられた距離と単調距離を返すこともできます。これらは入力された距離行列 に対応する距離行列としてか、観察された距離により順序付けられた配列として出すこと ができます。後者は手法の適正化を見るために、プロット化することもできます。MDS は まず始めに、点の集合の入力が必要となります。これは通常は METRIC_SCAL で出すこと ができます。METRIC_SCAL と違い、MDS は距離行列の中の不明値をマイナスの距離と して指定することができます。不明値が3分の2以下であれば、アルゴリズムを実行する ことができます。 - 44 - 3.6. NAG アドインアドイン-5 第五部 ノンパラメトリック統計 ノンパラメトリック統計は、分布を基にする統計に対し、二つの利点があります。第1点 目は、データの分布の形式に左右されないということです。一般的に、データは正規分布 であるという前提があります。この前提をもとに、様々な統計的検定が導き出されました。 しかしながら、データが正規分布ではないことも多く、また標本数が少ない場合は正規分 布を前提にすること自体が難しい場合があります。第2点目は、データが実測値である必 要はなく、種類(例えば、階級など)又は相対比較の形式でも良いということです。ノン パラメトリック検定は、通常は一組のデータに対し、ある特定の分類の数や階級のみが必 要となります。 この第2点目をさらに説明するために、名義尺度、 順序尺度、 間隔尺度、比尺度につい て説明します。 1. 名義尺度 データの分類のみに使われます。各分類に対し、分類を分かりやすくするた めに名前もしくは数字を割り当てます。例えば、赤、緑、青などです。 2. 順序尺度 観察の分類と共に、分類に順序を付けます。例えば、大、中、小、など、順 番が分かりやすい記号を各分類に当てはめます。(もっとも一般的な方法と しては、数字を割り当てる方法があります。事前にアルファベットが割り当 てられている場合は、その順番通りに数字に置き換えることも簡単にできま す。) 3. 間隔尺度 観察を分類し順序を付けるだけでなく、分類間の比較を定量化します。これ は例えば摂氏で計られた温度のように、原点と単位を適当に決めることがで きます。 4. 比尺度 絶対ゼロ値があるという点以外は、間隔尺度と同様です。例としては、グラ ムで計られた重さなどがあります。 ノンパラメトリック統計で扱うデータは、名義データと順序データに分けることができま す。高い水準のデータはどの検定でも実行できますが、情報が失われるかもしれません。 ノンパラメトリック統計はそのデータの種類で次の様に分類することもできます。 1. 一つの標本 2. 対の標本 3. 二つの標本 4. K 個の標本 5. 相関 4番目までは、最も一般的な関数は統計的検定のための関数です。順序データでは、ノン - 45 - パラメトリック検定は特に正規分布したデータでより一般的である t 検定と F 検定の補助 的な役割となるでしょう。階数をもととしている相関法は同時積率の相関係数の補助的な 役割となるでしょう。 名義データでは、2種類の状況を考えることができます。一つは、2つしか分類がない場 合で、データは二項分布から来ていると考えることができます。統計値のほかに、二項分 布の特性を使い、この種のデータには特別な検定法が存在します。例えば、対になったデ ータのマクネマー検定とk通りの標本のコクラン Q 検定などです。2つ以上の分類がある データの場合は、ほとんどの統計値は分割表の c2 検定がもととなっています。より複雑な 二項データや一般名義データのモデリングの場合は、一般線形モデルを使うことができま す。特にロジスティック回帰モデルと対数線形モデルなどです。これらのモデルは NAG Statistical Add-Ins for Excel のブック 2 にあります。 検定のほかにも、t 分布ではなく、階数をベースにした位置母数の区間推定 (信頼区間) を出すこともできます。これらは通常の手法に加え、強力な選択肢となります。 下の表はこのブックで使うことができるノンパラメトリック関数の一覧です。第一行が名 義データで、第二行が順序データとなります。 これらの検定の詳細は、ノンパラメトリック統計の標準レベルの文献をご覧ください。特 筆すべきは、Siegel (1956) と Conover (1980)です。 両方とも、より新しい版で見るこ とができます。サンプルで提供されているもののほとんどは、この Siegel のものとなって います。 標本種類 一つの標本 名義 二項検定 (BINOMIAL_TEST) 一つの標本のための カイ二乗検定 (CHI_SQ_1) 信頼区間の比率 (PROPORTION_CI) 対の標本 マクネマー検定 (MCNEMAR) 二つの標本 二つの標本のための カイ二乗検定 (CHI_SQ_2) - 46 - 順序 コックス・スチュアート検定 (COX_STUART) 一つの標本信頼区間 (ONE_SAMPLE_CI) ラン検定 (RUNS_TEST) ウィルコクスンの検定 (WILCOXON_PAIRS) 符号検定 (KOLMOGOROV_2) ウィルコクスン対の標本検定 (WILCOXON_PAIRS) 二つの標本のコルモゴロフ・ スミノフ検定 (KOLMOGOROV_2) マン・ホイトニー検定 (MANN_WHITNEY) メディアン検定 (MEDIAN_TEST) 二つの標本の信頼区間 K 個の標本 相関と連関分割係数 コクラン Q 検定 (COCHRAN_Q) K 個の標本のための カイ二乗検定 (CHI_SQ_K) ケンドールの合致係数 (CONTINGENCY_C) (TWO_SAMPLE_CI) フリードマンの検定 (FRIEDMAN) クラスカル・ウォリスの検定 (KRUSKAL_WALLIS) ケンドールの調和係数 (KENDALL_CC) ケンドールのタウ階数相関 (KENDALL_TAU) スピアマンの rho 階数相関 (SPEARMAN_RHO) 表は NONPARAMETRIC_INDEX 関数を使い、オンラインで見ることができます。 - 47 - 4. サンプルファイルの解説 4.1.1. サンプルファイルの見方。 サンプルファイルは、「スタートメニュー」→ 「NAG 統計解析アドイン」→「サンプルファイ ル」でサンプルファイルの一覧を開くことが出 来ます。サンプルファイルは各章ごとに1つづ つあり、エクセルのアイコンがついたものがサ ンプルファイルになります。 4.1.2. サンプル表の色について、 サンプル表の色分けは以下の「NAG 関数の計算セル」 「NAG Extract が配置したセル」 を色分けして表示しています。 - 48 - 4.1.3. コメントについて、 セルの右上の部分に赤い三角形のしるしがついている ことがあります。これはそのセルにコメントがついてい ることを意味しています。コメントを見るには、そのセ ルの上にマウスを移動させるか、セル上で右クリックし てから「コメントの表示」を選ぶことでも可能です。ま た、コメントのスペースが小さくて読みにくい場合は、 「コメントの表示」をしてからコメントボックスの変更 をすることも可能です。 4.1.4. 関数パラメター表の見方について、 サンプルの関数だけを見ても、どのパラメターにどの値が入っているかがわかりません。 このような場合には、NAG の関数のセルをクリックしてから、エクセルの「関数貼り付け」 のボタンを押すことで、どの引数にどの値が入っているかを見ることができます。 - 49 - 4.2. 第一部 基本統計 基本統計のサンプルでは、 「基本統計量」「分割表」「分布」の3つのシートに分割されて います。 基本統計 基本的統計量や、五点要約の出力を扱います。使用関数:SUMMARY_STATS, S5PT_SUMMARY, CHI_PPT, NORMAL_PPT 分割表 2 方向分割表にχ二乗検定を行ないます。データ数が 40 以下の 2×2 分割表の場 合、フィッシャーの直説法が用いられます。使用関数:TWO_WAY_TABLE 分布(標準、t、χ2、F、β、γ) 正規分布、t 分布、F 分布、カイ二乗分布、ベータ分布、ガンマ分布の6種類の 分 布 に つ い て 、 偏 差 と 確 率 を 計 算 し ま す 。 使 用 関 数 : NORMAL_PROB, NORMAL_PPT, T_PROB, T_PPT, CHI_PROB, CHI_PPT, F_PROB, F_PPT, GAMMA_PROB, GAMMA_PPT, BETA_PROB, BETA_PPT 分布において、それぞれ PROB と PPT の2種類の関数が用意されていますが、PROB が 確率(probability) 、PPT が偏差を求めます。尚、この分布の関数は、他の NAG 関数と異 なり、1つの値しか返さないので、リスト形式でなく値を直接返します。 基本統計 使用関数: SUMMARY_STATS, S5PT_SUMMARY, CHI_PPT, NORMAL_PPT 本 ア ド イ ン に 含 ま れ る 基 本 統 計 の 「 SUMMARY_STATS 」 と 五 点 要 約 の 「S5PT_SUMMARY」を使用した関数のサンプルデータです。 χ二乗検定を行う「CHI_PPT」はχ二乗分布の下側確率から偏差の値を返します。 基本統計で使用されているサンプルデータは、スクロールしている紙の上で ペンを手で固定して直線を書いた場合 手左右にを動かして曲線を書いた場合 上記の作業中、最初に瞬きするまでの秒数を計測した 12 件のデータです。 (データ:G B Wetherill (1972) Elementary Statistical Methods) 上記のデータの「曲線」から「直線」の引き算したデータ配列(D 列)に対して 「SUMMARY_STATS」で平均、標準偏差、歪度・尖度係数、そしてグループ化されてい ないデータの最大値、最小値を算出しています。 データは配列形式で出力されるので、 「NAG Extract」機能を使用して再配置しています。 - 50 - 「曲線」から「直線」の平均をとってデータ配列に対して「S5PT_SUMMARY 」では五 点要約である中央値、最大値、最小値、下側ヒンジ、上側ヒンジを出すことができます。 また「CHI_PPT」を使用してカイ二乗分布も行っています。 したデータ配列に対して標準偏差を返す「NORMAL_PPT」で下側確率の値で偏差値を 計算しています。 分割表 使用関数: TWO_WAY_TABLE このサンプルデータは精神病医が病院で受けた 3 科目のトレーニングに対する見解です。 これに対して、各病院でのトレーニングに差があるかどうかを、2元分割表に対するχ二 乗検定(TWO_WAY_TABLE)を使用します。 この関数の出力は、有意度、χ二乗値、尤度比、自由度、期待値、χ二乗寄与度が、リス ト関数となって出力されます。この出力では、有意度が、1.42208e-5 と有意度が1%未満 なので、トレーニングの見解は各病院において異なっているということが出来ます。また、 この時のχ二乗の期待値を NAG Extract を用いて展開したのが、B-D 列にあります。 (データ: Everitt B S (1977) The Analysis of Contingency Tables) 分布(標準、t 分布(標準、t、カイ二乗、F 、カイ二乗、F、ベータ、ガンマ) 使用関数: NORMAL_PROB, NORMAL_PPT, T_PROB, T_PPT, CHI_PROB, CHI_PPT, F_PROB, F_PPT, GAMMA_PROB, GAMMA_PPT, BETA_PROB, BETA_PPT サンプルデータを使用して「確率を計算する関数」 、 「確率から偏差を計算する関数」の分 布を計算しています。 分布の種類は正規分布、t 分布、F 分布、カイ二乗分布、ベータ分布、ガンマ分布です。 分布 正規分布 t 分布 χ二乗 F 分布 γ分布 β分布 確率を返します NORMAL_PROB T_PROB CHI_PROB F_PROB GAMMA_PROB BETA_PROB - 51 - 偏差を計算します NORMAL_PPT T_PPT CHI_PPT F_PPT GAMMA_PPT BETA_PPT 4.3. 第二部 相関・回帰、時系列法 相関 相関分析を行うサンプルです。相関係数・分散共分散係数・偏相関係数・偏分散 共 分 散 係 数 の 計 算 が 行 え ま す 。 使 用 関 数 : CORREL_MAT, PARTIAL_CORREL_MAT 回帰分析1 簡単な回帰モデルのサンプルです。使用関数:MULT_LIN_REG 回帰分析2 一 般 多 重 回 帰 モ デ ル の サ ン プ ル で す 。 使 用 関 数 : MULT_LIN_REG, STAND_RESIDS 回帰セレクション 独立変数を選ぶサンプルです。使用関数:MULT_LIN_REG 一般線形モデル 一般線形式のモデルを扱うサンプルです。使用関数:MULT_LIN_REG 多項式回帰 多項式による回帰計算を扱うサンプルです。使用関数:MULT_LIN_REG, DUMMY_VARS 時系列モデル判別 与えられた時系列データを分析するための時系列モデルを決定するための関数 群 の 使 用 方 法 サ ン プ ル で す 。 使 用 関 数 : SPECTRAL, ACF, PACF, TIME_SERIES_DIFF, ARIMA_APPROX_FIT 時系列モデルフィット 与えられた時系列データを ARIMA モデルにあてはめ、予測を行なうサンプルで す。 使 用 関 数 : ARIMA_FIT, ARIMA_FORECAST, MULT_LIN_REG, DURBIN_WATSON, TRNS_FUNC_FORECAST 相関 使用関数: CORREL_MAT, PARTIAL_CORREL_MAT このシートでは CORREL_MAT と PARTIAL_CORREL_MAT を使用しています。 CORREL_MAT 関 数 は 同 時 積 率 相 関 行 列 と 分 散 共 分 散 行 列 を 計 算 し 、 PARTIAL_CORREL_MAT 関数は CORREL_MAT 関数で計算された、相関行列と分散共分 散行列から偏相関行列と部分分散共分散行列を算出します。 サンプルデータは米国における州毎の犯罪率のデータです。説明変数として 51 州におけ - 52 - る犯罪の種類(殺人、レイプ、強盗、傷害)データをサンプルデータとしています。 A-O 列では相関行列の計算を行っています。CORREL_MAT 関数のパラメータ「X」に は変数の観測値を列形式で入力した配列を入力するため 51 州のデータを指定します。各観 察に連関した総観察数を指定する任意パラメータ「Frequencies」と各観察に連関した重み を指定する任意パラメータ「Weights」はこの例では指定していません。 J-W 列では、先に計算した相関行列を元に、偏相関行列の計算を行っています。 PARTIAL_CORREL_MAT 関数の必須パラメータ「Correlations」には CORREL_MAT 関 数で出力された相関行列を配列で指定し、必須パラメータ「Select_vars」にはどの変数が 「説明変数」でどの変数が「独立変数」であるかを指定します(K8:O8 の行)。Y を指定し た場合は説明変数、X は独立変数、O を指定した場合にはその変数は除外されて計算されま す。このデータの場合は犯罪の種類である「殺人、レイプ、強盗、傷害」が説明変数「Y」 を、犯罪の合計件数である「合計」は独立変数「X」を配列で設定しています。 回帰分析1 使用関数: MULT_LIN_REG このシートでは関数一般多重回帰モデルに当てはめて計算される MULT_LIN_REG 関数 を使用しています。サンプルデータはある化学物質の比熱と温度の変化の実験データです。 このデータでは「比熱」が説明変数であり。 「温度」が独立変数です。説明変数の観察値を 指定する必須パラメータ「Y」に「比熱」を指定し、独立変数を指定する必須パラメータ 「X」に「温度」を指定して回帰分析を行っています。 MULT_LIN_REG 関数の任意パラメータを指定したサンプルは「回帰分析2」で説明し ています。 また必須パラメータ「X」には上 MM_MLR 関数で計算された行列モデルを指定すること もできます。上 MM_MLR 関数を使用した例は「回帰セレクション」と「一般線形モデル」 「多項式回帰」で説明しています。 回帰分析 2 使用関数: MULT_LIN_REG, STAND_RESIDS 「回帰分析2」のシートでは「シンプルな回帰」シート同様に一般多重回帰モデルに当て はめて計算される MULT_LIN_REG 関数を使用しています。 明示的に変数を作成しないでモデル行列関数を使用する方法については「一般線形モデ ル」のシートの例を参照して下さい。 - 53 - サンプルデータデータ各変数の説明は以下のとおりです。 シーディング 人工雨のためのシーディングを行った場合1、行っていない場 合は 0 経過時間 6 月 1 日から経過した日数のデータ 適合性 適合性の基準値 雲の割合 上空での雲の占める割合 過去の雨量 1 時間前の雨量 雲の状態 レーダで観測時の雲の移動状態。移動していない場合 1、移動 しいている場合は 2。 シーディング×適合性 シーディングと適合性を掛けた値 シーディング×雲の割合 シーディングと雲の割合を掛けた値 シーディング×過去の雨量 シーディングと過去の雨量を掛けた値 シーディング×雲の状態 シーディングと雲の状態を掛けた値 雨量 降水量 N 列では、このサンプルデータをもとに多重回帰モデルのフィッティングを行います。必 須パラメータ「Y」には「雨量」が説明変数として指定します。必須パラメータ「X」には 独立変数が列形式になっている変数の配列である「シーディング」から「シーディング× 雲の状態」の変数を指定しています。また任意パラメータ「X_names」には「X」の独立変 数名(このサンプルデータの場合「シーディング」など)を指定しています。このように して計算された結果は、R-AA 列に NAG Extract を用いて再配置されています。 AC-AG 列では、先ほど NAG Extract を用いて再配置されたデータから、線形回帰の2種 類の標準化残差と2種類の影響度を計算(STAND_RESIDS)しています。STAND_RESIDS 関数のパラメータは全て必須であり、は MULT_LIN_REG 関数で出力されたデータを使用 して計算します。必須パラメータ「Residuals」には「残差」の配列を指定しています。回 帰によるてこ比を指定する必須パラメータ「Leverages」には同じく出力された「てこ比」 の配列を指定します。残差の平均の平方値を指定する必須パラメータ「RMS」には「残差 の平均の平方値」を、残差の自由度を指定する必須パラメータ「RDF」には「残差の自由」 をそれぞれ、ANOVA の表から指定します。このようにしてクックの距離などを計算するこ とが出来ます。 回帰セレクション 使用関数: MULT_LIN_REG - 54 - 「回帰セレクション」のシートでは「回帰分析 2」シート同様 MULT_LIN_REG 関数を 使用しています。このサンプルデータ「Heat」はセメント 1 グラムのあたりの発熱量(カ ロリー)を示しています。セメントに含まれる Ca3 Al、Ca3 Si、Ca4 Al、Ca2 Si の各化学物 質の量をパーセンテージで示しています。 必須パラメータ「Y」には説明変数である「Y」を、必須パラメータ「X」には Ca3 Al、 Ca3 Si、Ca4 Al、Ca2 Si の量を独立変数として指定していますが、で「X」で指定された配 列の中でどの独立変数の配列をモデルの中に含めるのかを任意パラメータ「Select_x」で選 択することができます。値が 0 より大きい値の場合、配列 X の j 番目の列に入っている独 立変数が回帰モデルに含められ、0 の場合その独立変数は除外されて計算されます。このサ ンプルでは Ca4 Al、Ca2 Si の配列には 0 を指定しているためこの 2 つの各化学物質の独立 変数は使用されずに計算されます。独立変数名(このサンプルデータの場合 Ca3 Al、Ca3 Si など)の名前を表示する任意パラメータ「X_names」も指定しています。 I-J 列の 10 行目以降の値は、A16:D16 の値(MULT_LIN_REG の Select_x が参照してい る値)を色々変化させてみた場合の回帰のセレクションです。それぞれの独立変数の影響 を除いた場合の残差の平方和の値を収集したものです。この値は、分散分析表の値からコ ピーすることで行います。 一般線形モデル 使用関数: MULT_LIN_REG こののシートでは例「回帰分析 2」と同じサンプルデータと同じ計算を別の標識で行って います。 「回帰分析 2」のシートでは、 「シーディング×適合性」等の値を計算して行いましたが、 ここでは、その部分は、H 列にモデル式として記述されているだけです。ここでは必須パ ラメータ「x」に、MM_MLR 関数で計算された行列モデルを指定する方法を説明します。 この関数はモデルの代数指定機能を使い自動的に必要とされているダミー変数を算出しま す。MM_MLR 関数は他の関数のように結果ファイルは Excel のシートに出力されません。 その結果は内部で行列モデルとして回帰分析時に使用されます。 MM_MLR 関数の引数には、任意パラメータの「Groups」はグループ変数又は分類変数 として認識されるべき変数で構成された配列として、Seeding の有無と雨雲の動きのデータ が指定されています。任意パラメータ「Group_Names」にはパラメータ「Groups」で指 定された変数の名前が指定されています。任意パラメータ「Covariates」には共分散として 認識されるべき変数で構成された配列として「経過時間」から「1 時間前の雨量」の変数が 指定されています。また「Covariates_Names」には「Covariates」で指定された変数の前 - 55 - 名を指定しています。このようにして、 「回帰分析 2」で行った計算と同じ値を出すことが できます。 2 つ目のサンプルデータは加硫したゴムの耐磨耗性についての 5×4×3 の要因実験のデー タです。本アドイン3分散分析の因子分析の例も参照して下さい。データは磨耗度、賦形 剤の量カテゴリ番号、ゴム作成時の手法の種類カテゴリ番号、ゴムの量カテゴリ番号のデ ー タ で す 。 こ ち ら も MULT_LIN_REG 関 数 と MM_MLR 関 数 を 使 用 し て い ま す 。 MULT_LIN_REG 関数の説明変数を指定する任意パラメータ「Y」には磨耗度のデータが 指定されています MM_MLR 関数の任意パラメータの「Groups」はグループ変数又は分類 変数として認識されるべき変数で構成された配列として賦形剤の量カテゴリ番号、ゴム作 成時の手法の種類カテゴリ番号、ゴムの量カテゴリ番号のデータデータが指定されていま す。任意パラメータ「Group_Names」にはパラメータ「Groups」で指定された変数の名 前が指定されています。MM_MLR 関数の交互作用内の最大項数を指定する任意パラメータ 「Interaction」に 2 を指定しています。 (指定する値は 1 以上)何も指定しない場合のデフ ォルトでは全ての交互作用項は含まれていることして計算されます。このようにして分散 分析を行うことが出来ます。 多項式回帰 使用関数: MULT_LIN_REG, DUMMY_VARS, A-L 列では、サンプルデータは収量における 3 つの要因を調査したデータです。このサン プルでは「一般線形モデル」シートと同様に MM_MLR 関数で計算された行列モデルを指 定する方法で分析しています。任意パラメータ「Covariates」には共分散として認識される べき変数で構成された配列として温度、濃度、反応の変数が配列で指定されています。ま た「Covariates_Names」には「Covariates」で指定された変数の名前を指定しています。 このようにして複雑なモデル式も扱うことが出来ます。 O-X 列のデータは人工的なサンプルです。yは unit 係数と 6 次の多項式です。まず、 MULT_LIN_REG 関数を使用してみます。このサンプルも必須パラメータ「x」に独立変 数が列形式になっている配列を指定する変わりに、MM_MLR 関数で計算され行列モデルを 指定する方法で分析しています。人工的なデータですので当然いいフィットをしています。 Z-AR 列では、DUMMY_VARS でダミー変数を生成して、そのダミー変数を使用して MULT_LIN_REG 関数を使用している例です。 - 56 - 時系列モデル判別 使用関数: SPECTRAL, ACF, PACF, TIME_SERIES_DIFF, ARIMA_APPROX_FIT このサンプルでは分析を行う際に使用する時系列モデルを決定し、その際に利用できる関 数群のサンプルになっています。通常時系列データ解析を行う際には、まず時系列データ が定常であるかどうかの判断が必要になります。もし定常でない場合には何らかの方法で データの定常化を行なって行きますが、この作業を行う際に必要となる各種計算関数群の 使用例がこのサンプルでは提供されています。非定常化データをどのように定常化するか を判断するために自己相関関数(ACF)及び偏自己相関関数(PACF)の計算が行なえます。 その他にも標本スペクトルを計算するための関数が用意されています。定常化を行なう方 法として、 (非季節)差分をとるための関数、季節差分を取るための関数が用意されていま す。定常化されたデータを元に時系列モデルへのフィッティングを行ないます。 A-C 列のデータは、カナダにおいて 1821 年から 1934 年までの間にオオヤマネコを罠で 捕まえた頭数のデータです。元データの定常化を行なうための一つの方法に対数を取る方 法がありますが、ここでは元データの隣の列に元データの対数値が表示されています。こ の対数データに元にして SPECTRAL 関数を用いてスペクトルを計算しています(E 列) 。 そのスペクトル出力をグラフ化する事で 9 年程度の周期がある事が確認できます。また、 ACF 関数で自己相関を計算(G 列)し、その出力を棒グラフで出力しています。ACF 関数 は「Series」パラメータに時系列データを指定します。 「No_of_Autocorrels」パラメータに いくつのずれまでの自己相関を出力するかを指定します。指定しない場合はサンプル数− 1又は 20 のどちらか小さい値が使用されます。ここでは指定していないので 20 個の自己 相関値が出力されています。同様に偏自己相関を PACF 関数を用いて計算(I 列)し、その 出力を棒グラフで出力しています。PACF は入力パラメータ「ACF」に、ACF 関数での計 算結果を指定します。そのため、PACF を用いる場合には ACF 関数も合わせて使用する事 になります。 定常化を行なう方法として、差分(季節的及び非季節的)を取るための 「TIMES_SERIES_DIFF」関数が提供されていますが、ここでは先程の対数データの季節 差分を計算しています(Y 列) 。時系列データの指定は「Series」パラメータに対して行な います。その後、季節差分の計算を行なう場合は「Seasonal_diff」パラメータに階数を指 定し、さらに「Seasonality」パラメータにインターバルを指定しますが、ここでは階数に 1を、インターバルには10を指定しています。非季節差分の計算を行なう場合には階数 を「Differencing」パラメータに指定します。 ここではさらにその差分データを元に ACF 関数を用いて計算を行ない、その計算結果を 用いて ARIMA(Auto Regressive Integrated Moving Average)モデルへのあてはめを行な - 57 - っ て い ま す 。 差 分 デ ー タ を 元 に し た ARIMA モ デ ル へ の あ て は め に は ARIMA_APPROX_FIT 関数を用います。この関数では「Model」パラメータに ARIMA モ デルのパラメータ値を含む数列を指定します(AJ 列)。この数列は以下のような構成にな ります。 p: 自己回帰の項数 d: 非季節的差分値の階数 q: 移動平均項数 P: 季節的自己回帰項数 D: 季節的差分値の階数 Q: 季節的移動平均の項数 s: 季節 ここでは一番上の自己回帰の項数を2と指定し、その他はすべて0を指定しています。ま た、「Variance」パラメータと「ACF」パラメータには ACF 関数よりの出力より「分散」 と「ACF」をそれぞれ指定しています。 時系列モデルフィット 使用関数: ARIMA_FIT, ARIMA_FORECAST, MULT_LIN_REG, DURBIN_WATSON, TRNS_FUNC_FORECAST このサンプルでもカナダにおいて 1821 年から 1934 年までの間に何匹のオオヤマネコを 罠で捕まえたかのデータを用いています。ARIMA_FIT 関数を用いて ARIMA モデルへの あてはめを行ないます。ここでは「Y_series」パラメータに時系列データを指定し、 「Model」 パラメータには ARIMA モデルのパラメータ値を含む数列を指定します(E 列) 。この数列 は以下のような構成になります。 p: 自己回帰の項数 d: 非季節的差分値の階数 q: 移動平均項数 P: 季節的自己回帰項数 D: 季節的差分値の階数 Q: 季節的移動平均の項数 s: 季節 ここでは自己回帰の項数には2、移動平均項数、季節的自己回帰項数、季節的差分値の階 数にはそれぞれ1、季節には 10 を指定しています。 出力として、偏差、自由度、分散、AIC、パラメータ推定値、パラメータ相関、残差が出 - 58 - 力されます。パラメータ推定値は ARMA モデルのパラメータ(自己相関、移動平均、季節 的自己相関、季節的移動平均)の後に伝達関数パラメータのオメガ及びデルタパラメータ、 そして最後に定数の順番で出力されます。ここでは伝達関数の指定をしていないため、伝 達関数関係のパラメータは出力されていません。 N 列では、モデルへのあてはめ後実際の予測を行なうためには、ARIMA_FORCAST 関 数を用います。ここでは ARIMA_FIT で算出されたパラメータ推定値を用いて予測を行な っています。「No_of_forecasts」に予測数を指定しますが、ここでは5を指定しています。 「Series」パラメータには時系列を、「Model」パラメータには ARIMA モデルのパラメー タ値を含む数列を ARIMA_FIT の指定と同様に行ないます。 「Parameters」パラメータに は ARIMA_FIT で算出された推定値を指定し、 「Constant」には定数をそれぞれ指定しま す。結果として予測値と予測の標準誤差が出力されます。 次の計算では MULT_LIN_REG 関数を用いています。この関数は一般多重回帰モデルへ のあてはめを行なう関数ですが、ここでは元データが 9 年の周期を持つ事から周期約9を 持つ以下の周期モデルを使用しています。 a*sin((2*PI/9)*t) + b*cos((2*PI/9)*t) ここで、2*PI/9 = 2*3.14/9 ≒ 0.7 であるので、Sin と Cos の列には 0.7 という定数が使 われています。パラメータ「Y」には従属変数として元データを指定し、 「X」には独立変数 として Sin と Cos の列を指定しています。その他に「X_names」パラメータには独立変数 の名前を含むセルを指定しています。MULT_LIN_REG 関数の結果として ANOVA、パラ メータ推定値、残差が出力されていますが、その残差を元にダービンワトソン統計量の計 算を行なっています(AD 列) 。ダービンワトソン統計量の計算は DURBIN_WATSON 関数 の「Residuals」に残差を、そして「No_of_params」に平均を含む独立変数の数を指定し て行ないます。DURBIN_WATSON 関数の出力結果を基に残差の自己相関があるか判断す る事などが可能です。 その後、上記の出力などを基に解析者が判断を下し、ARIMA モデルへのあてはめを行な う際のモデルを決定します。あてはめは ARIMA_FIT 関数を用いて行ないますが、今回の 例では伝達関数モデルを用いているので、 「T_Model」パラメータに伝達関数モデルを以下 の形式で指定している他、 「X_series」パラメータに伝達関数のもともとの値を含む列を指 定しています。 行1:遅延 行2:オメガパラメータの数 行3:デルタパラメータの数 行4:1=行1∼3が無視され伝達関数は使用されない、2=伝達関数を使用する(事前 観測期の影響をまったく受けない) 、3=伝達関数を使用する(事前観測期の影響を適切な 局外母数として扱う) その後、ARIMA_FIT の出力などを基に予測を行なっていますが、ここでは伝達関数を用 - 59 - いるので TRNS_FUNC_FORECAST 関数を用います(AO 列) 。パラメータ「Y_series」 には元時系列データを指定し、 「Model」 には ARIMA_FIT 関数などと同様の形式で ARIMA モデルを指定します。また上記の ARIMA_FIT での指定と同様に、 「T_Model」パラメータ に伝達関数モデルを以下の形式で指定している他、 「X_series」パラメータに伝達関数のも ともとの値を含む列を指定しています。さらに「Parameters」にはパラメータ推定値を、 そして「X_forecasts」には X_series と同じ順番で予測値を指定しています。結果として予 測値とその標準誤差が出力されます。 - 60 - 4.4. 第三部 多変量解析 多変量解析のサンプルは、以下の5種類のシートに分かれています。 主成分分析 主 成 分 分 析 を 行 う 関 数 の サ ン プ ル で す 。 使 用 関 数 : PRIN_COMP, ORTHOG_ROTATION 因子分析 因 子 分 析 を 行 う 関 数 の サ ン プ ル で す 。 使 用 関 数 : FACTOR, ORTHOG_ROTATION, FACTOR_SCORE クラスター分析 ク ラ ス タ ー 分 析 を 行 う 関 数 の サ ン プ ル で す 。 使 用 関 数 : CLUSTER, GROUPS_FROM_CLUSTER, DIST_MAT 判別分析 判 別 分 析 を 行 う 関 数 の サ ン プ ル で す 。 使 用 関 数 : DISCRIM_TEST, DISCRIM_ALLOC, DISCRIM_DIST 多次元尺度法 多次元尺度法を行う関数のサンプルです。使用関数:METRIC_SCAL, MDS 主成分分析 使用関数: PRIN_COMP, ORTHOG_ROTATION このサンプルでは主成分分析を行っています。分析対象となるデータは米国における州毎 の犯罪率を示しています。主成分分析は PRIN_COMP という関数を用いて行います。 「Data」引数には列方向に説明変量(本データでは殺人、レイプ、強盗などの人口 1 万人 に対する犯罪率)、行方向にサンプル(本データでは州)を持つ行列を指定しています。 「Matrix_type」引数では分散共分散行列(C)による方法を用いるのか、相関行列(V) による方法を用いるのかなどを指定しますが、ここでは相関行列による方法を示す「C」を 指定しています。 「Number_of_scores」引数ではいくつの主成分スコアを計算するかを指定 しますが、ここでは「2」を指定し、第二主成分スコアまで計算する事を指定しています。 L-Y 列では、計算結果として各主成分の固有値、比率、累積比率、係数(固有ベクトル) 、 そしてスコアが出力されています。その他にも AA-AE 列では第一主成分スコアと第二主成 分スコアを用いた散布図の例が出力されています。 主成分の判断には出力される係数を見ることとなりますが、その際に係数の絶対値が大き - 61 - いかあるいは小さいと判断が下しやすくなります。係数は ORTHOG_ROTATION という 関数を用いて回転し、より判断が下しやすい形に変換する事ができます。ここでは第二主 成分と第三主成分の係数部分を ORTHOG_ROTATION 関数の「Loadings」引数に指定し て回転を行っています。回転方法を指定する引数である「G」は空欄となっているためデフ ォルトのバリマックス回転(G=1.0)が行われます。バリマックス回転の他にコーティマッ クス回転等(G=0.0)が指定できます。 因子分析 使用関数: FACTOR, ORTHOG_ROTATION, FACTOR_SCORE このサンプルでは2種類のデータの分析を行っています。一つは220人の男子について 6つの課目間の相関係数を計算した相関行列データで、もう一つは主成分分析の例でも使 用されている米国における州毎の犯罪率のデータです。因子分析には FACTOR という関数 を用いますが、この関数は入力データとして、第一番目の課目データの例のような相関行 列データ、もしくは第二番目の犯罪率データの例のような変量行列データを使用する事が できます。 第一番目の A-R 列の課目データの例では、ゲール語、英語、歴史、算数、代数学、幾何 学の6つの課目間の相関係数行列を FACTOR 関数の「Correlation_matrix」に指定してい ます。相関行列を入力として用いる場合は観察数を指定するための「Number_of_obs」引 数も同時に指定する必要がありますが、ここでは 220 人分のデータなので 220 を含むセル を指定しています。必要とされる因子数は「No_of_factors」引数で指定しますが、ここで は「2」を指定しています。 計算結果として各因子の固有値、共通性、Psi(ψ)、負荷量、関数値、検定統計量、自由 度、有意度、残差が出力されています。負荷量は直交回転する事が可能で、その場合は ORTHOG_ROTATION 関数を使用します。ここでは第一因子と第二因子の負荷量を 「Loadings」引数に指定して回転を行っています。回転方法を指定する引数である「G」 は空欄となっているためデフォルトのバリマックス回転が行われます。バリマックス回転 の他にコーティマックス回転等が指定できます。 第二番目の U-BF 列の犯罪率データでは変量のデータを FACTOR 関数の 「Data_matrix」 引数で指定しています。因子数の指定は「No_of_factors」引数で「2」を指定しています。 ここでも各因子の固有値、共通性、Psi(ψ)、負荷量、関数値、検定統計量、自由度、有意 度、残差が出力されています。 - 62 - こ の 出 力結 果を 用 いて因 子 ス コア 係数 の 計算を 行 う こと がで き ますが 、 そ れに は FACTOR_SCORE という関数を用います。FACTOR_SCORE 関数は「Method」引数で因 子スコア係数を計算するための計算方法を回帰手法(R)とバートレット手法(B)のどち らかより選択しますが、ここではバートレット手法を表す「B」を指定しています。 「Loadings」には負荷量データ、「Psi」には Psi データ、 「Eigenvalues」には固有値デー タをそれぞれ指定しています。 因子スコア係数より因子スコアを計算するには、まずデータを標準化し、標準化されたデ ータと因子スコア係数を掛け合わせます(AN 列以降) 。ここではデータの各数値と平均値 の差を標準偏差で割ることでそれを行っています。その後 Excel で標準的に提供されてい る行列を掛け合わせる配列関数 MMULT を用いて因子スコア係数と標準化されたデータの 掛け合わせを行っています。MMULT 関数は配列関数なので行列の大きさに応じた結果が 複数のセルに返されます。複数のセル(この場合は、50×7 の行列と、7×2 の行列の積な ので、50×2 のセルを選択する必要があります)を選択後、数式バーにカーソルを合わせて Ctrl と Shift キーを押しながら Enter キーを押すことにより返された複数の結果を見る事 ができるようになります。 最後に第一因子スコアと第二因子スコアを用いた散布図例が出力されています。 クラスター分析 使用関数: CLUSTER, GROUPS_FROM_CLUSTER, DIST_MAT このサンプルではヨーロッパにおける産業毎の就業率のデータを分析します。クラスター 分析を行うには CLUSTER 関数を用います。CLUSTER 関数の第一番目の引数「Method」 はクラスタリング方法を指定しますが、ここでは最近隣法を意味する「1」を指定してい ます。クラスタリング方法はその他に、最遠隣法=2、群平均法=3、重心法=4、メデ ィアン法=5、最小分散法=6が指定できます。分析データを指定するさいに 「Distance_matrix」引数に距離行列を指定する方法と、 「X」引数に観察データを指定する 方法がありますが、最初の例(左側)では観察データを引数「X」に指定しています。引数 「X」を指定した場合、距離の計算方法を指定する必要があります。計算方法の指定は 「Distance」引数に「A」 (絶対距離を示す) 、 「E」 (ユークリッド距離を示す) 、 「S」(ユー クリッド平方距離を示す)のいずれかを指定する必要がありますが、ここではユークリッド 距離を示す「E」を指定しています。その他に「Names」引数に個体の名前を指定する事が できますが、ここでは国名が入っているセルを指定しています。この指定を省略するとデ フォルトの Obj_?の形式の名前が使用されます。 CLUSTER 関数はクラスター段階情報と樹状図情報を出力します(L-V 列) 。クラスター - 63 - 段階情報には各サンプルを構成する個体名と距離が出力されます。樹状図情報は3列で構 成されていますが、第 2 列目の個体名は上から順に樹状図の順番で出力されています。第 3 列目には距離が出力されています。実際に樹状図を作成するためには個体名を左から右に 並べ、その上に距離で示される長さの垂直な線を引きます。その後左から順番に線の最上 部より右に向かって水平線を引き次の線にぶつかったところで止めます。この作業を繰り 返す事で樹状図が作成できます。 CLUSTER 関数による分析により出力される樹状図情報より、クラスタ指標変数(どの 個体がどのクラスターに属しているかを示す数字)を GROUPS_FROM_CLUSTER 関数を 用いて行なう事ができます(V-X 列) 。GROUPS_FROM_CLUSTER 関数の入力データと しては「Object」引数に個体名を含む列を指定します。 「Distances」引数には距離を含む列 を指定します。いくつのクラスターに分けるかを指定する方法には 2 種類あり、クラスタ ー数を直接指定する方法と、クラスター距離を指定する方法を取る事ができます。ここで は距離を「Cluster_distance」引数に9という距離を持つセルを指定しています。クラスタ ー 数 を 直 接 指 定 す る 場 合 は 「 No_of_clusters 」 引 数 に ク ラ ス タ ー 数 を 指 定 し 、 「Cluster_distance」は空欄とします。 AA-BC 列では、異なる尺度を用いて距離行列を先に計算してから、クラスタ分析を行な う例があります。この例では DIST_MAT 関数を用いて異なる尺度の距離行列を計算してい ます。DIST_MAT 関数では「Distance」引数に、CLUSTER 関数と同様な方法で、距離の 計算方法を指定します。 (A=絶対距離、E=ユークリッド距離、S=ユークリッド平方距離) この例では「E」を指定しています。またユーザが与えるスケーリング値を使用した標準化 を行なう指定を「Scaling」引数に「G」を指定する事と、「S」引数に各変数に対するスケ ーリング値を含むセルを指定する事で行なっています。DIST_MAT 関数は距離行列を下三 角行列形式で出力します。 BE-BJ 列では、ここで出力された距離行列を元にクラスター分析を行なう例があります。 分 析 に は CLUSTER 関 数 を 用 い ま す が 、 入 力 デ ー タ の 指 定 を 「 X 」 引 数 で は な く 「Distance_matrix」引数に距離行列を与える事で行ないます。また、この例では個体名を 「Names」引数に指定していないため、デフォルトの名前である Obj_?を個体名として出 力しています(指定して個体名で表記することも出来ます)。 判別分析 使用関数: DISCRIM_TEST, DISCRIM_ALLOC, DISCRIM_DIST このサンプルでは 3 種類のクッシング症候群患者のデータを用いて判別分析を行ないま す。変数データとして 2 種類のステロイド代謝物の量を、尿よりの排泄量の対数を用いて - 64 - 行っています。判別分析を行うには、まず DISCRIM_TEST 関数を用いてデータの分析を 行ない(A-E 列)、その後その分析結果を用いて DICRIM_ALLOC 関数を用いて判別対象 デ ー タ が ど の グ ル ー プ に 判 別 さ れ る の か を 計 算 し ま す ( G-M 列 )。 こ こ で は DISCRIM_TEST 関数の「In_group」引数にこのデータの目的変数である 3 種類のタイプ が格納されているセルを指定します。「X」引数には説明変数データが格納されているセル を指定しますが、ここではステロイド代謝物の排泄量データが格納されているセルを指定 しています。 DISCRIM_TEST 関数の出力には検定統計量、自由度、有意度、判別情報、グループ内件 数、グループ平均などが含まれます。検定統計量はサンプル数が多い場合、ほぼχ二乗値 と同じになる尤度比検定統計量を表し、それとともに自由度と有意度が出力されますが、 有意度は分散共分散に違いがあるかどうかの判断材料として使用する事ができます。判別 情報は実際に判別を行なう際に DISCRIM_ALLOC 関数などで用いられるデータです。 DISCRIM_TEST 関数での分析結果を元に、実際に判別対象となる個体の判別を行なう事 ができますが、これを行なうのが DISCRIM_ALLOC 関数です。ここでは新たに 6 人の患 者とその患者のステロイド代謝物の排泄量のデータを元に、3 種類あるうちのどのタイプの クッシング症候群であるかを判別しています。DISCRIM_ALLOC 関数の「Info」引数には DISCRIM_TEST 関数の出力セルをそのまますべて含んだ形で指定します。 「X」引数には 新たな患者の排泄量データ部分を指定します。その他に「Equal」引数に分散共分散が等し いと仮定するか否かの設定を行ないますが、ここでは等しくない事を仮定する「U」を指定 しています。また、判別する際の方法を指定する「Approach」引数には予測的アプローチ を示す「P」が指定されています。 DISCRIM_ALLOC 関数は実際の判別を行ない、どの個体がどのグループに配置されたか を出力します。その他に事後確率、非典型的指標が出力されます。非典型的指標は該当す る観察よりもそれぞれのグループに適した観察値が観察される確率を表してます。そのた め、すべてのグループでこの数字が大きい場合には分析元データで該当する観察が表せて いない事を示しています。 DISCRIM_DIST 関数を用いると更に、マハラノビスの平方距離を計算する事ができます (O-S 列)。この関数も DISCRIM_TEST 関数での分析結果を利用します。分析結果の指定 は「Info」引数に DISCRIM_TEST 関数の出力セルをすべて指定する事で行ないます。 DISCRIM_ALLOC 関数と同様に、分散共分散が等しいと仮定するか否かの設定を「Equal」 引数に対して行ないますが、ここでも等しくない事を仮定する「U」を指定しています。更 に「X」引数には距離を測る対象データを含むセルを指定しますが、ここでは新たな 6 人の 患者のステロイド代謝物の排泄量データを含むセルを指定しています。 - 65 - 多次元尺度法 使用関数: METRIC_SCAL, MDS このサンプルでは多次元尺度法の例が2つ出ています。本アドインでは主座標分析(計量 多次元尺度法)を行なう METRIC_SCAL 関数と、非計量多次元尺度法を行なう MDS 関数 の2つが提供されています。それぞれ入力データとして距離行列を用います。このサンプ ルではヨーロッパにおけるねずみの数での非類似性の距離データが下三角行列形式で使用 されています。 N-Q 列では、METRIC_SCAL 関数の「Distance_matrix」引数には下三角行列形式の距 離データを指定します。 「Dimensions」引数にはデータを表現する際の次元数を指定します が、ここでは「2」を指定しています。計算結果として座標値と固有値が出力されます。 非計量多次元尺度法を行なう場合(S-V 列)、MDS 関数を用いますが、この関数も METRIC_SCAL 関数と同様に、下三角行列形式で与えられる距離データを用いて計算を行 ないます。さらに初期予測座標値を与える必要がありますが、初期予測座標値は METRIC_SCAL 関 数 で 計 算 さ れ る 座 標 値 を 用 い る 事 が 可 能 で す 。 こ の 例 で は 、 「Distance_matrix」引数には下三角行列形式の距離データを指定し、「Initial_x」引数に は METRIC_SCAL で出力された座標値を指定しています。計算結果として座標値、ストレ スが出力されています。 - 66 - 4.5. 第四部 実験計画・一般線形モデリング 実験計画・一般線形モデリングのサンプルは以下のシートに分かれています。 完全無作為化計画 ブロックの無い完全にランダムを仮定したモデルを扱います。使用関数: ANOVA_BLOCK 完全無作為ブロック化計画 ブロックわけされたランダムを仮定したモデルを扱います。使用関数: ANOVA_BLOCK つりあい不完備計画 使用関数:ANOVA_BLOCK 完全要因実験 要因実験を行います。使用関数:ANOVA_FACTORIAL 2 元配置 2 元配置問題を扱います。使用関数:ANOVA_ROW_COLUMN 対比 対 比 を 扱 う 問 題 を 扱 い ま す 。 使 用 関 数 : ANOVA_BLOCK, ANOVA_CONTRASTS 比較 比較を扱い問題を扱います。使用関数:ANOVA_BLOCK, MULT_COMPN 正規・ガンマ誤差分布のモデルフィット 正規・ガンマ誤差分布を用いてモデルフィットを行います。使用関数: NORMAL_GLM, GAMMA_GLM, 二項誤差分布のモデルフィット 二項誤差分布を用いてモデルフィットを行います。使用関数: BINOMIAL_GLM ポアソン誤差分布のモデルフィット ポアソン誤差分布を用いてモデルフィットを行います。使用関数: POISSON_GLM 完全無作為化計画 使用関数: ANOVA_BLOCK - 67 - 完全無作為化計画では、ブロック化されていないサンプルを扱います。 具体的に、A-K 列では、毛糸を洗うことにより毛糸の伸張性がどう変化するかの例である。 この時グループは、洗う(w)と洗っていない(c)に分けられる。毛糸の伸張性は毛糸が 切れてしまう限界張度で計っている。このサンプルに対して分散分析(ANOVA_BLOCK) を行います。ここで、無作為化計画の場合はブロックが存在しないので、ブロック数 (No_of_Blocks)は 0 にする必要があります。分散分析表は、ANOVA_BLOCK 関数の出 力結果を、NAG Extract で展開することにより得ることが出来ます。それが、F-K 列の分 散分析表です。この場合、有意度が、0.3595 ですから、毛糸を洗うことと毛糸の伸張性に は関係が無いことがわかります。 M-Y 列では、ドーナッツの調理中に吸収された脂肪の量を、4種類の脂肪について比較 を行っています。この例では、反復のある処置を扱っています。この場合の処置は脂肪の 種類になり、横軸に沿って繰り返されます。先の例と同じように、分散分析表と、処置平 均を NAG Extract を用いて配置したものが、T から Y 列にある。これにより脂肪によって 吸収される量が異なるのがわかります。 完全無作為ブロック化計画 使用関数: ANOVA_BLOCK ここではブロック化されている例を扱っている。 A-L 列では、被験者に直線と曲線の上をペンでなぞらせた時の瞬きをする率についての例 を挙げている。このデータに関して分散分析(ANOVA_BLOCK)をするのだが、被験者を ブロックとして扱うこととします。被験者はそれぞれ、s, o の別々の処置を行ことになりま す。ですから、ANOVA_BLOCK のブロック数(No_of_Block)は、12 になります。この 計算を行い、分散分析表を G-L 列に NAG Extract を用いて、ブロックも処置もどちらも有 意度が低く、被験者・処置のどちらにも差が大きいことがわかる。 N-Y 列では、A-L 列で扱ったデータを形式を変えて用いたものです。N-P 列と、A-C 列 のデータは形式こそ違いますが、データ自体は全く同じです。これも先のデータと同様に 分散分析(ANOVA_BLOCK)すると全く同じ結果が出てくるのがわかります。ここではつ いでに、 「処置平均」 「共分散と標準誤差」も NAG Extract を用いて展開しています。 「共 分散と標準誤差」の行列は、上側が共分散になっており、下側が標準誤差になっています。 AB-AM 列では、アセトアニリドの5種の異なるブレンドをした製品の損失率を3つのブ ロックに分けて、テストをした例です。これも同様に分散分析(ANOVA_BLOCK)します。 この時のブロック数(No_of_Block)は 3 になります。こうして分散分析表を出してみると、 ブロック・処理ともに有意度が 0.05 よりも大きく、ブロック・ブレンド間の差異は見られ - 68 - ないことがわかります。また、ここでは処置平均を出していますが、BACDE の順番になっ ています。これは、AC 列に出てきた順番になっています。もし、これを順番に並べ替えた い場合はエクセルの機能であるソートを用いてください。 つりあい不完備計画 使用関数: ANOVA_BLOCK A-K 列では、異なった効能を持つペニシリンを投与されたときに感じた痛みの度合いに関 する例である。このデータは3つのパテントで計測しており、10 のグループに分けられ、 No_of_Block は 10 になる。D 列で計算した ANOVA_BLOCK を NAG Extract を用いて展 開したものが、F から K 軸にある。分散分析表から、ブロック(10 のグループ) ・処置(薬 の効能)の両方とも有意度が 1%以下で、グループ・効能の両方に明らかな差異が認められ ることがわかった。 N から Y 列では、異なる合成物で出来ているタイヤをつけている車が何台あるかを、4 つのグループ(タイプ)に分けた例です。これも、ANOVA_BLOCK 関数を用いて分散分 析をし、その結果を NAG Extract をもちいて展開した結果が T-Y 列です。ブロック(タイ プ)・処置(タイヤの合成物)共に有意度が 1%以下で、タイプ・タイヤの合成物のそれぞ れに差異が認められることがわかります。 完全要因実験 使用関数: ANOVA_FACTORIAL A-L 列の例は、加硫ゴムの磨耗耐性実験を行っている例です。この実験では、フィルター・ 質・方法の 3 つの要因について、5×4×3 のデータを 1 次元的に A 列に並べてあります。 このデータを ANOVA_FACTORIAL 関数を用いて分析してみましょう。今回、ブロックは 存在しないので、No_of_Blocks は 0 になります。Highest_interaction はインタラクション の回数の最大値で、今回は各要素内の関係(インタラクション=1)と 2 つの要因同士の交 互 作 用 ( イ ン タ ラ ク シ ョ ン =2 ) ま で を 取 り 扱 い た い の で 、 2 を セ ッ ト し ま す 。 Highest_interaction はオプションパラメタで、デフォルトでは要因の最大数にセットされ ています。また、3 つの要因による交互作用を取り扱いたい場合には 3 をセットすればよい ことになります。G-L 列に分散分析表と、相互作用に分けた平均値を NAG Extract を用い て展開します。各要因と交互作用に関しては、有意度が全て 5%未満で、各要因内で差異が - 69 - みとめられ、また、各要素間にも交互作用が認められることがわかります。 O-Z 列では、芝の肥料による効果に関する 2×2×2×2 の要因(因子数 2 の要因が 4 つ) による実験の例です。これも ANOVA_FACTORIAL 関数を用いて分析してみましょう。こ のデータは更に 4 つのブロックから成っており、No_of_Blocks は 4 になります。 Highest_interaction は省略しているので、デフォルト値=4 になっています。こうして計算 した結果を NAG Extract を用いて展開したものが U-Z 列です。これより、まず、ブロック に関しては有意度が 5%以上で、ブロック間に差異は無いことがわかる。一方、M,N,P,K の 要因については、有意度が 5%未満でそれぞれに違いがあることがわかる。交互作用に関し ては M・K 間には交互作用がないことがわかります。 2元配置 使用関数: ANOVA_ROW_COLUMN A-L 列は、ライフル銃を撃ったときの高さ方向の誤差に関する例です。個の例は処置(サ ンプリング精度)によって 6 つのサンプルに分類されます。また、この 6×6 のラテン方格 の横軸はサンプルの順番、縦軸はサンプルされた場所を表しています。これには ANOVA_ROW_COLUMN という関数を用います。まず、6×6 の表なので、No_of_rows=6, No_of_column=6 をセットします。次にこの表では、6×6 の表の繰り返し数は 1 なので(繰 り返しがない) 、No_of_replicates=1 をセットします。また、Treatments(処理)に関して はオプションですが、ここではサンプリング精度を 1-6 に分けたものを扱います。この結果 を NAG Extract を用いて分散分析表を出すと、行方法(サンプルの順番)には差異はなく、 列方向(サンプルされた場所) ・処理(サンプリング精度)には違いが見られることがわか ります。 N-AB 列では前の例と同じ計算を行っています。違いはサンプルの表記の仕方で、前の例 ではデータが 1 次元的に配置されていたのに対して、こちらでは 2 次元的にデータが配置 されています。また、ここでは処置平均に関しても展開をしました。処置平均に関しては 順番がバラバラになっていますが、これはエクセルのソート機能によって並べ替えること が出来ます。 対比 使用関数: ANOVA_BLOCK, ANOVA_CONTRASTS - 70 - このシートでは、腐敗したジャガイモの硫黄による効果をインデックスで測定したデータ を用いています。この時の処置は、硫黄の量(0,3,6,12)と、いつの収穫(秋<F>と春<S>) によるものなのかを組み合わせたもので、「硫黄を含んでいるかどうか」、「収穫と関係が あるかどうか」の対比を行います。これには、ANOVA_BLOCK 関数を用いてから、その 結果を使って ANOVA_CONTRASTS 関数で計算をして、ANOVA_BLOCK 関数の分散分 析表と ANOVA_CONTRASTS 関数の分散分析表を組み合わせた複合分散分析表を作って 評価します。 まず、ANOVA_BLOCK 関数を用いて計算を行います。今回ブロックは存在しないので No_of_Blocks=0 とします。そして NAG Extract を用いて「分散分析表」 「処置平均」 「反 復回数」を展開します。しかし、硫黄の対比(I 列) ・収穫の対比(J 列)はこれでは出来な いので、これは自分で作成します。硫黄の対比については硫黄を含んでいるものを-1 とす ると、全体が 0 になるには硫黄を含んでいないものは 6 にする必要があります。収穫の対 比に関しては秋を 1、春を-1 にすると、硫黄を含んでいないものは 0 になります。こうし て作成されたデータをもとに、ANOVA_CONTRASTS 関数の計算を行います。 ANOVA_CONTRASTS 関 数 は 引 数 と し て 、「 ANOVA_BLOCK 或 い は ANOVA_ROW_COLUMN で計算された処理平均」 、「処理の反復回数」 、「残差の平均平方」 、 「残差の自由度」、「対比データ」を必要とします。これらのデータは先に与えられている ので、それを用いて計算を行います。 O-T 列では、複合分散分析表を作成していますが、この作成方法に関しては、まず、 ANOVA_BLOCK 関数から「分散分析表」を展開して配置し、次に ANOVA_CONTRASTS 関数から「分散分析表」を展開して配置し、ANOVA_BLOCK 関数の「分散分析表」の処 置と残差の間を 3 行空けて、そこに ANOVA_CONTRASTS 関数の「分散分析表」のデー タ部分の 2 行をカットアンドペーストで貼り込みます。そして、 「自由度」 「平方和」に関 して ANOVA_BLOCK 関数の出力した値から引いて計算します。平均平方の差に関しては、 「平方和」/「自由度」で計算されます。このようにして複合分散分析表が出来ます。 比較 使用関数: ANOVA_BLOCK, MULT_COMPN このシートでは、Winer B J (1970) Statistical Principles in Experimental Design で用 いられているデータを使用しています。このシートでもまず、ANOVA_BLOCK 関数を用 いて - 71 - 正規・ガンマ誤差分布のモデルフィット 使用関数: NORMAL_GLM, GAMMA_GLM, A-P 列では、標準誤差を用いたモデルフィットを扱います。A-B 列では、異なる密度を持 ったタマネギの平均収穫量を表しています。これに対して、H 列で標準誤差を用いた一般 線形モデルフィット(NORMAL_GLM)を行います。本アドインでモデルフィットを行う 関数は、NORMAL_GLM 以外に、GAMMA_GLM, POISSON_GLM, BINOMIAL_GLM の合計 4 つの関数があります。これらの大きな違いは使用している誤差分布が異なる点で す。NORMAL_GLM では標準誤差分布を使用しています。本アドインでモデルフィットを 行う関数では、第一引数は LINK となっており、これはリンク関数を表す文字引数になっ ています。NORMAL_GLM の場合、LINK 引数には、E,I,L,S,R から選択することになり ます。これは以下のような対応になっています。 E I L S R 指数関数 一次関数 対数関数 二乗根関数 逆数関数 ここでは、逆数関数(R)をリンク関数に指定してモデルフィットを行います。NAG extract を用いて、パラメーター推定をした結果を J-K 列に配置します。また、同様に「当てはめ 値」を C 列に配置し、A1:C11 までを選択して散布図を作成します。 次に、O-P 列では、NORMAL_GLM 関数に、MM_GLM 関数を用いたアドバンスドなし 使用をしています。MM_GLM 関数は、フィットに用いるモデル行列を指定するのに用い ます。今回の例では、二次関数を例にとっています。用いているモデル行列は O 列に記述 してあります。MM_GLM は、NORMAL_GLM 関数の「X」引数に使用します。このよう に MM_GLM 関数と組み合わせてn次関数などのフィッティングをすることが出来ます。 R-AG 列では、戦闘機のデータに関して、NORMAL_GLM 関数と GAMMA_GLM 関数の 2 つを用いてフィッティングを行っています。このデータは T3:X24 の「スペック値」 「飛 行距離」 「有料荷重」 「最大積載量」 「母艦着陸」 (X の値になる)と「初飛行日」 (Y の値に なる)の関係を導き出そうとしている。Select_x の行、はその列の値を反映させるか否か の値になっており、1 の場合はその列をモデルに組み入れ、0 の場合はその列をモデルに組 み入れないというものになっています。ここでは、 「スペック値」 「飛行距離」 「母艦着陸」 だけがモデルに組み込まれるようになっています。この様にモデルフィットをしたものが、 標 準 誤 差 を 用 い た も の ( NORMAL_GLM ) が Z 列 目 に 、 γ 誤 差 を 用 い た も の (GAMMA_GLM)が AG 列にあります。これから、パラメーター推定をしたものが、AB - 72 - から AE 列目に NAG Extract を用いて展開されています。引数は全く同じですが、結果は 多少異なっているのがわかると思います。 二項誤差分布のモデルフィット 使用関数: BINOMIAL_GLM A-J 列では、異なった加熱回数の鉄塊がローリング出来なくなる個数に関する例です。こ の例は二項分布になるので、BINOMIAL_GLM 関数を用いてモデルフィットを行います。 BINOMIAL_GLM ではリンク関数は、G,P,C から選択します。それぞれは、LOG(G) 、確 率(P)、相補 LOG-LOG(C)になります。BINOMIAL_GLM では、X、Y のほかに Denominator という必須パラメーターがあり、これは分母(サンプルの全体数)を表すも のです。このようにしてパラメーター推定したものが、G-J 列に NAG Extract を用いて展 開されています。 M-T 列では、異なる温度で損傷を受けたスペースシャトルの O リングの数に関する例に なります。Q 列はモデル式になり、このモデル式を用いて T 列で計算を行っています。R,S 列は T 式で行った計算の分散部分の値だけをカットアンドペーストしたものです。S 列は それぞれのモデルの分散の差を求めたものです。モデルが多項式になるにつれ、分散の差 も小さくなっています。 ポアソン誤差分布のモデルフィット 使用関数: POISSON_GLM A-J 列では、この 5×3 の分割表は宿題をやってきたかどうか、また教師が評価した宿題 の質によって、子供を分類した例を扱っている。これに対してポアソン誤差分布を用いて、 パラメーター推定を行います。ここでは、MM_GLM 関数を使用して、 「状態+評価」をモ デルに選んで計算を行っています。G-J 列はパラメーター推定をした結果です。 L-Q 列の例は、森の面積と巣立った鳥の数の関係です。これもポアソン誤差分布を用いて、 パラメーター推定を行います。また、MM_GLM 関数を使用して、「森*回数」をモデルに 選んで計算を行っています。G-J 列はパラメーター推定をした結果です。また森の面積の LOG を取ったものをオフセットとして用いています。 - 73 - 4.6. 第五部 ノンパラメトリック統計 ノンパラメトリック統計のサンプルは、元となるデータタイプによって、以下の 6 種類の シートに分かれています。 インデックス 本アドインに含まれるノンパラメトリック統計の関数の一覧を返す NON_PARAMETRIC_INDEX の 使 用 法 に 関 す る も の で す 。 使 用 関 数 : NON_PARAMETRIC_INDEX 1つの標本 標本が一種類の場合に用いる関数のサンプルです。使用関数:WILCOXON, ONE_SAMPLE_CI, PROPORTION_CI, COX_STUART, BINOMIAL_TEST, CHI_SQ_1, RUNS_TEST 対標本 標本が対になっている場合のサンプルです。使用関数:WILCOXON_PAIRS, SIGN_PAIRS, MCNEMAR 2つの標本 標 本 が 2 種 類 あ る 場 合 の サ ン プ ル で す 。 使 用 関 数 : MANN_WHITNEY, TWO_SAMPLE_CI, MEDIAN_TEST, KOLMOGOROV_2, CHI_SQ_2 K 個の標本 標本が K 種類ある場合のサンプルです。使用関数:FRIEDMAN, COCHRAN_Q, KRUSKAL_WALLIS, CHI_SQ_K 相関 相関を求めるサンプルです。使用関数:KENDALL_CC, KENDALL_TAU, SPEARMAN_RHO, CONTINGENCY_C 5 章の関数には、よく、Tail という引数があることがあります。この引数は、データの棄 却域を表すオプション引数です。この引数は通常、T, L, U から選ばれ、指定が無い場合は、 T が用いられます。それぞれの意味は、T(両側検定)、L(左側検定)、U(右側検定)と なっています。 また、このサンプルで用いられているサンプルデータは、特に注釈が無い限り、S Siegel の「Nonparametric Statistics for the Behavioural Sciences」で用いられているデータに なっています。 - 74 - インデックス 使用関数: NON_PARAMETRIC_INDEX 本アドインに含まれるノンパラメトリック統計の関数の一覧を返す NON_PARAMETRIC_INDEX の使用法に関するものです。 NON_PARAMETRIC_INDEX には CLASS, DATA_type の 2 つの引数がありますが、両 方とも任意引数です。A 列目では引数を取らないで、NON_PARAMETRIC_INDEX が使 用されており、ノンパラメトリック統計の関数の一覧表を出力しています。 B 列以降は、引数を指定した出力を行っています。引数には 2 種類あり、Class と DATA_type があります。関数マニュアルを読むとわかりますが、Class は標本の種類(一 つの標本<O>、対標本<M>、2 つの標本<T>、K 個の標本<K>、相関<C>、全て<A>)のい づれかで、DATA_type は(名義データ<N>、順序データ<O>、全て<A>)となります。両 方とも指定しない場合は、全て<A>が選択されます。 これにより、検定方法から関数名を知ることが出来ます。 一つの標本 使用関数: WILCOXON, ONE_SAMPLE_CI, PROPORTION_CI, COX_STUART, BINOMIAL_TEST, CHI_SQ_1, RUNS_TEST このサンプルでは、標本が一種類の場合に用いられる検定法を紹介します。 まず、最初のデータ(A から E)は、双子をそれぞれ、学校・自宅の別々の環境において その際に、社会観応力にどのような違いが現れるかを統計した表です。C 列は、A 列と B 列 の 差 を 表 し て お り 、こ の 差 に 対 し て E 列で は ウ ィ ル コ ク ス ン の符 号 付 順 位 検 定 ( WILCOXON ) と 、 こ の 例 の 区 間 推 定 を 行 う た め 、 95 % 信 頼 区 間 を 計 算 (ONE_SAMPLE_CI)を行う。尚、ウィルコクスンの符号付順位検定では中央値として 0 を使用している。 続く、G から I では PROPORTION_CI を用いて、2 項分布の成功確率 p の区間推定を行 っている。これは、試行回数(N) 、成功数(K)によって計算され、成功確率pの信頼区 間の上限値・下限値を計算できる。 K から L では、コックス・スチュアート検定(COX_STUART)を行っている。 - 75 - N か ら P で は 成 功 回 数 ( K )、 試 行 回 数 ( N )、 期 待 値 ( P0 ) と し て 二 項 検 定 (BINOMIAL_TEST)を行っている。 R から U ではχ二乗検定(CHI_SQ_1)を行っている。 最後に W から X ではラン検定を行っている。 対標本 使用関数: WILCOXON_PAIRS, SIGN_PAIRS, MCNEMAR A から F では、対標本に対するウィルコクスンの符号付順位検定(WILCOXON_PAIRS) と、符号検定(SIGN_PAIRS)を行っている。ここで用いられている WILCOXON_PAIRS 関数は一つ前の「一つの標本」というシートで用いられている WILCOXON 関数とアルゴ リズムは完全に同じです。両者の違いはインターフェースにあり、WILCOXON 関数では 1列の入力データを、WILCOXON_PAIRS では 2 列になっている入力データを扱う点だけ です。F 列では、A・B 列の符号検定を行っています。 H から K では、マクネマー検定(MCNEMAR)を行っている。 2つの標本 使用関数: MANN_WHITNEY, TWO_SAMPLE_CI, MEDIAN_TEST, KOLMOGOROV_2, CHI_SQ_2 A から F 列においては、口頭試験の出席者と欠席者の評価点の関係に対して、マンホイッ ト ニ ー 検 定 ( MANN_WHITNEY )、 区 間 推 定 ( TWO_SAMPLE_CI )、 中 央 値 検 定 (MEDIAN_TEST)、コロモゴロフ検定(KOLMOGOROV_2)を行っている。このマン・ ホイットニー検定では、右側判定(U)を行っている。 H から K 列では、コロモゴロフ検定(KOLMOGOROV_2)を行っている。ここでは左側 検定(L)を行っている。 M から Q 列では、χ二乗検定(CHI_SQ_2)を行っている。 - 76 - K 個の標本 使用関数: FRIEDMAN, COCHRAN_Q, KRUSKAL_WALLIS, CHI_SQ_K A から E 列では、フリードマン検定(FRIEDMAN)を行っています。 G から K 列では、コクラン Q 検定(COCHRAN_Q)を行っています。 M から P 列では、クラスカル・ウォーリス検定(KRUSKAL_WALLIS)を行っています。 R から X 列では、χ二乗検定(CHI_SQ_K)を行っている。R から U 列にある、「期待値」 「χ二乗寄与度」はχ二乗検定の結果を、NAG Extract を用いて展開したものです。NAG Extract を使用すると、リスト状になっている関数の計算結果から、このような表形式に抽 出しなおすことが出来ます。NAG Extract の使用方法については、ユーティリティの部分 を参照ください。 相関 使用関数: KENDALL_CC, KENDALL_TAU, SPEARMAN_RHO, CONTINGENCY_C A から I 列では、ケンドールの一致係数(KENDALL_CC)の計算を行っています。 K から M 列では、ケンドールのτ階級相関係数(KENDALL_TAU)と、スピアマンの ρ階級相関係数(SPEARMAN_RHO)を計算しています。 O から V 列も、ケンドールのτ階級相関係数(KENDALL_TAU)と、スピアマンのρ階 級相関係数(SPEARMAN_RHO)を計算しています。ただし、T から V 列は「ケンドール のτ階級相関係数」 「スピアマンのρ階級相関係数」を NAG Extract によって抽出した表 になります。 X から AD 列では、分割係数の計算(CONTINGENCY_C)をしています。 - 77 - 5. 良くある質問と回答(Q & A) Q. それぞれの関数は内部的にどの様なアルゴリズムを用いて計算を行っているのです それぞれの関数は内部的にどの様なアルゴリズムを用いて計算を行っているのです か? A. 本アドインの関数は、ほぼ全て NAG Fortran77 ライブラリのアルゴリズムを使用し ています。そして本アドインの関数が、NAG Fortran77 ライブラリのどの関数を使用して いるかの対応表があります。対応表の NAG Fortran77 ライブラリの関数には全て、英語の PDF 形式のマニュアルが付属しています。このマニュアルを読むことで、アルゴリズムの 詳細を知ることが出来ます。 Q. メニューバーに「NAG( メニューバーに「NAG(N NAG(N)」の項目がありません。 A. アドインが正しく登録されていない可能性があります。 「アドインの登録」の部分を確 認してください。 Q. NAG のツールバーが消えてしまいました。 A. NAG のツールバーは、ツールバーの「NAG」と書かれているボタンを押すと消えてし まいます。消えたツールバーを再び表示させるには、他のツールバーの部分にマウスを移 動させ右クリックします。するとポップアップメニューが現れます。このポップアップメ ニューには、「NAG 統計解析」という項目が含まれているはずですから、これを選択すれ ば、ツールバーが現れます。 NAG ツールバー - 78 - Q. 「アドイン 0 ベースコンポーネント」とは何ですか ベースコンポーネント」とは何ですか? とは何ですか? A. 通常、このアドインをロードする必要はありません。オフにしてください。ただし、 稀に、アドインがうまく動かないことがあります。その際に、このベースコンポーネント をロードするとうまくいく場合があります。アドインがうまく動かないときにロードして みてください。 Q. 関数の中に関数を入れるには(MM_GLM, 関数の中に関数を入れるには(MM_GLM, MM_MLR 等)? A. 本ア ドインの 中には、入 れ子関数 (関数の引数 として用 いる関数: MM_GLM, MM_MLR 等)というものがあります。しかし、これらの関数もまた多くの引数を取り、そ の引数をいちいち覚えるのは面倒です。このような時に、入れ子関数の関数貼り付け表を 出すことが出来ます。これには「関数貼り付け表」と「数式バー」が必要になります。 具体例として、POISSON_GLM に MM_GLM を組み合わせる方法を紹介します。 まず、通常と同じように POISSON_GLM の関数貼り付け表を表示します。ここでは X の部分に MM_GLM 関数を使用したいので、X の部分に MM_GLM() と記述します(カッ コも必要です) 。この時、X の右の方には #VALUE という文字が赤く表示されますが、問 題ありません。この状態で、数式バーの MM_GLM の文字の部分をクリックすると、関数 貼り付け表が MM_GLM の関数貼り付け表に変わります。このようにして入れ子関数の関 数貼り付け表を出すことが出来ます。 この状態から、元の POISSON_GLM の関数貼り付け表に戻るには、同様に、数式バーの POSSION_GLM の関数の部分をマウスでクリックすると元に戻ることが出来ます(OK ボ タンを押すと関数貼り付け表が終了してしまいますので注意してください)。 - 79 - Q. 関数を作成した後(リスト展開後)に、関数の中で用いられている値を変更するには 関数を作成した後(リスト展開後)に、関数の中で用いられている値を変更するには どのようにしたら良いですか? どのようにしたら良いですか? A. その関数が選択されているセルを選択して「関数の貼り付け」ボタンを押してくださ い。すると関数貼り付け表が出てきますので、そちらで変更してください(直接数式バー などで変更することは出来ません)。 Q. NAG Fortran ライブラリマニュアルの参照の仕方 A. ほぼ全ての関数が「NAG Fortran ライブラリ」の関数を元に作成されています。本ア ドインの関数のアルゴリズムの詳細を知りたい場合には、 「NAG Fortran ライブラリマニ ュアル」を参照することが出来ます。 参照するには、2 つの方法があります。 1 つは、日本 NAG 社のホームページを参照することです。ホームページでは関数のマニ ュアルを PDF ファイルで参照することができます。 もう一つは、ヘルプファイルに含まれている NAG ライブラリとの対応の部分から参照す る方法です。ヘルプファイルを開いて、 「NAG 統計解析アドイン関数一覧」→「NAG ライ ブラリとの対応」→「Excel Add-In 関数から NAG ライブラリへの対応表」から、ライブ ラリの関数を選択することで、ファイルを参照することができます(ただし、別途 AcrobatReader のような関連付けされた PDF ビューアが必要となります)。 - 80 - Q. NAG Extract のオプションについて NAG Extract には出力オプションがついています。オプション設定画面は NAG Extract を起動指定から、「オプション」を選択することで可能になります。 NAG Extract が出力するデータアイテムは 4 種類に分類することが出来、値(R-二乗値 等)、1 次元配列(残差(114)、てこ比(114) 等) 、2 次元配列(ANOVA(4,6)、パラメータ推 定(4,5) 等)、三角行列(共分散行列^upper triangulate(6,3) 等)になります。 これらのデータの種類に対応したオプションが用意されています。NAG Extract のオプ ションは上の図の様になります(これはデフォルトの状態です)。 最初の 3 つは 2 次元配列のオプションになりま す。 「2 次元配列を行優先で出力する」「2 次元配 列を列優先で出力する」 「2 次元配列をリスト出力 行優先(default 行優先(default) default) する」の 3 つのうち 1 つを選択することになりま リスト出力 す。デフォルトは「行優先」です。「列優先」を選 択した場合は、出力表の行と列が反転します。 「リ 列優先 スト出力」の場合は行と列が 1 次元配置されます。 「ベクトルを転置する」のオプションは、1 次元 配列にのみ有効で、デフォルトは 1 列にデータを まとめ、「ベクトルを転置する」を ON にすると行方向にデータが配置されます。 「三角行列を出力する」のオプションは、三角行列を出力するためのオプションです。デ フォルトは ON です。OFF の場合はリスト出力されます。 「ヘッダーを出力する」のオプションは全てのデータに共通です。データアイテムの名前 を配置する際に出力することです。デフォルトは ON です。OFF にした場合、ヘッダーは 出力されません。 殆どの場合、デフォルトの設定で問題ないと思いますが、以上の様に変更することも出来 - 81 - ます。 Q. エラーメッセージにはどのようなものがありますか? A. 本アドインの関数を使用していると、エラーメッセージに出会うことがあります。エラ ーには三種類あり、「Error」「VALUE」「failure」があります(この他に warning も あります)。 Error 入力した数値などに関するエラーです。 この場合、数値結果の代わりにエラーメッセージが返されます。エラーがタイプに関する ものでなく、値又は形に関するものである場合(例えば=CHI_PPT(2.0,1)などと入力した場 合)以下のようなメッセージが表示されます。 'Error: Probability >= 1' 同様に、MULT_LIN_REG関数によりフィッティングされる回帰分析モデルでY配列とX 配列の長さが異なる場合、以下のようなメッセージが出力されます。 'Error: y and x of different lengths' VALUE このメッセージは「誤ったタイプを入力した場合」或いは「必須引数が入力されていない 場合」に出るメッセージです。 しかし誤ったタイプを入力した場合(例えば=CHI_PPT(.5,A)などと入力した場合)はExcel のエラーメッセージ '#VALUE!' が返されます。 failure アドインが予期しないエラーに遭遇した場合、「failure」を出力します。 これらのエラーはライセンスが正しく動作していない場合や、アドインが正しく組み込ま れていない場合や、インストールが不完全な場合等に出力されることがあります。 エラーメッセージは説明を読めば通常意味が分かるようになっていますが、以下の二つに ついてはここで補足説明をします。 'Catastrophic failure' このメッセージが出た場合は以下の二つのケースが考えられます。 検出されレポートされるはずのエラーが何らかの理由により検出されなかった場合。もし - 82 - このようなエラーが出た場合はまず関数への入力をチェックして下さい。多くの場合パラ メータの一つに誤りがあります。もし誤りが見つからないようであればNAGのWebページ で該当する関数に関する「Known Problems」があるかどうかをチェックして下さい。もし 記録されていない場合は電子メールなどでNAGにご連絡下さい。 トライアルバージョンである場合でトライアル期間が終了した場合。この場合は本ライセ ンスをご検討下さい。 'Error: Computational failure' このエラーメッセージは、何か問題が下層アルゴリズム部分で起こった事を表します。こ のメッセージが出る事はほとんど考えられませんが、もし起こった場合はまずエラー許容 値のパラメータが存在するかチェックし、存在すれば許容値を大きくしてみて下さい。も しくはより簡単なモデルを使用してみて下さい。もしそれでも改善されない場合は、NAG のWebページ該当する関数に関する「Known Problems」があるかどうかをチェックして下 さい。もし記録されていない場合は電子メールなどでNAGにご連絡下さい。 Q. PDF 文書はどのようにして見ることが出来ますか? 文書はどのようにして見ることが出来ますか? A. PDF 文書は PDF ビューアを用いて参照することができます。最も一般的な PDF ビュ ーアは Adobe 社の Adobe Acrobat Reader(無償配布)です。バージョンは 4.0 以上を推奨 します。Acrobat Reader のインストール・組み込みに関しては Acrobat Reader のマニュ アルをご参照ください。 - 83 - 6. ヘルプ機能やその他の情報 本アドインには、ヘルプファイル、サンプルファイルが付属しています。また、この「ユ ーザーズガイド」や「インストールガイド」もオンライン(PDF)で付属しています。ま た、この他に弊社(日本 NAG 株式会社)のホームページからも情報を入手することが出来 ます。 6.1. ヘルプファイルの見方 ヘルプファイルを読むには幾つかの方法があります。 「メニューバー」→「NAG(N)」→「Help(H)」から開く 「NAG ツールバー」→「?」から開く 「スタートメニュー」→「プログラム」→「NAG 統計解析アドイン」→「NAG 統計解析ヘルプ」 から開く 「関数貼り付け」→「?」から開く(この場合 は関数の解説ページを直接開くことになる) 関数貼り付けのダイアログボックスから、直接その 関数のマニュアルを開くには、具体的に以下のような 方法を取ります。 - 84 - まず、目的の関数ダイアログを開きます。すると Office アシスタントが何回か質問をし てきます。ここで、 「この機能についてのヘルプ」→「選択した関数のヘルプ」を選択しま す。するとその関数に関するヘルプが表示されます。 6.2. サンプルファイルの見方 サンプルファイルは、「スタートメニュー」→ 「NAG 統計解析アドイン」→「サンプルファイ ル」でサンプルファイルの一覧を開くことが出 来ます。サンプルファイルは各章ごとに1つづ つあり、エクセルのアイコンがついたものがサ ンプルファイルになります。 6.3. 最新の情報を知りたい場合には 以下のウェブページより、最新の情報を得ることができます。本書の最新版も以下のペー ジより得ることが出来ます。 日本 NAG 社 http://www.nag-j.co.jp/ - 85 - Excel NAG統計解析アドイン ユーザーズガイド 日本ニューメリカルアルゴリズムズグループ株式会社 〒104-0032 東京都中央区八丁堀4-9-9八丁堀フロンティアビル2F TEL 03-5542-6311(代表) E-mail: [email protected] FAX: Web: 03-5542-6312 http://www.nag-j.co.jp/
© Copyright 2024 Paperzz