分光測定における較正の例を取り上げます。バルト海の水質汚染について調査するため、海水標本のスペクトルを測定しました。
次の3成分の量を調べています。
• 製紙工場の廃棄物に含まれるリグニン・スルホネート(「ls」)
• 自然林から出るフミン酸(「ha」)
• 洗剤に含まれる蛍光増白剤(「dt」)
各標本に含まれるこれらの成分量を応答変数とし、各波長(v1~v27)におけるスペクトルの強度を説明変数とします。
ここでは測定の較正が目的なので、成分量がわかっている標本を使用します。データには16標本があり、「ls」、「ha」、「dt」の濃度と、27の波長におけるスペクトルの強度が記録されています。「PLS回帰」プラットフォームによって、分光計で測定されたスペクトルの強度から、成分量を予測するモデルを作成します。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Baltic.jmp」を開きます。
メモ: 「Baltic.jmp」データテーブルのデータは、Umetrics (1995)で報告されています。原典は、Lindberg, Persson, and Wold(1983)です。
2. [分析]>[多変量]>[PLS回帰]を選択します。
3. 「ls」、「ha」、「dt」を[Y, 目的変数]に指定します。
4. 「Intensities」グループにある「v1」~「v27」を[X, 説明変数]に指定します。
5. [OK]をクリックします。
PLS回帰の「モデルの設定」パネルが表示されます。
6. 「検証法」として[一つ取って置き法]を選択します。
7. [実行]をクリックします。
van der Voet検定は無作為化検定(ランダム化検定)であり、また、その計算に乱数を用いています。そのため、「p値(Prob > van der Voet T2)」に実際に表示される値は若干異なります。
図6.2 「PLS回帰」レポート
PRESS(Predicted REsidual Sum of Squares)平均平方根プロットを見ると、因子数が7のときにPRESS平均平方根が最小になっていることがわかります。このことは、PRESS平均平方根プロットの下に注として記載されています。レポートの下部には、「NIPALS: 7因子, 特異値分解=高速」という名前のレポートが作成されます。そのレポートの一部を図6.3に示します。
van der Voet T2統計量は、それぞれの因子数のモデルが、PRESS平均平方根が最小値になるモデルと、有意に異なるかどうかを検定します。van der Voet検定の有意水準が0.10を超える前の最小因子数を抽出するのが良いと提案する人もいます(SAS Institute Inc 2020f; Tobias 1995)。この例でこの提案に従うとすると、6因子を採用することになるので、「モデルの設定」パネルで「因子数」に「6」と入力します。
図6.3 抽出された7つの因子
8. 「NIPALS: 7因子, 特異値分解=高速」の赤い三角ボタンをクリックし、[診断プロット]を選択します。
これにより、予測値と実測値のプロット、および、3種の残差プロットが表示されます。予測値と実測値のプロットを見ると、予測値と実測値がどれぐらい近いかがわかります。
図6.4 診断プロット
9. 「NIPALS: 7因子, 特異値分解=高速」の赤い三角ボタンをクリックし、[変数重要度 vs 係数プロット]を選択します。
図6.5 変数重要度 vs 係数プロット
「変数重要度 vs 係数」プロットは、応答に影響のある変数を特定するのに役立ちます。たとえば、v23、v2、v26は、変数重要度(VIP)が0.8を超えており、かつ、係数も比較的大きくなっています。