データマイニング・WEKA

データマイニング・WEKAについてのメモ

全体表示

[ リスト ]

テーマ:測定法比較のための回帰分析


<回帰分析ではどちらの変数をxにすべきなのか迷うことがあります>

例1: 自動車の走行速度と燃費?    答え 速度
    理由:どちらも測定精度が高いので、因果関係を考え、原因系である速度をxにする

例2: 1週間の摂取カロリー量と体重の変化量   答え どちらも正解
    理由:因果関係で考えれば摂取カロリー量をxにしたいです。 でも摂取カロリー量は
       測定精度が悪いですが、体重の測定精度は高いです。 だから、体重の変化量をxに
       して回帰分析をして、得られた回帰式を変形して、
       体重の変化量 = 切片 + 傾き*摂取カロリー
       という式が得られればokです。

例3: ヘルスメーターが以前から脱衣所にあり、毎日体重を測定して、折れ線グラフで体重の変化を
    記録していました。今日、本気でダイエットをするためにもう一台自分の部屋にも購入しまし
    た。従来のと購入したヘルスメータの目盛りをあわせるために、約十キログラムの新聞紙の
    束を1束づつ増やしながら重さを記録していきました。
    さてどちらのヘルスメータの記録をxにすべきでしょうか?
    答え どちらでも良い
    理由 大きな相関係数が得られるはずなので、通常の回帰分析で良いです。


例4: では、測定原理が異なる二台のペーハーメーターを合わせるにはどうしたらよいでしょうか?
    答え 通常の回帰分析を使うべきではありません


解説: 通常の回帰分析では最小自乗法を使っています。さらに詳しく説明すると、回帰直線と
    データ(プロット)とのy軸方向の距離(残差)の自乗を全て足し算した合計が、
    最小になるように、回帰直線の切片と傾きを計算するのです。 ですから、xのばらつきは
    考慮されません。つまりxはばらつきがゼロという前提なのです。xは測定値ではなく
    設定値であると考えるとわかりやすいでしょう。

    ですから、例4の場合は通常の回帰分析で計算してはいけないのです。
    こんな場合に適した特別な回帰分析があるのです。
    2種類の変数の相関が強い場合は、これらと通常の回帰分析は同じ結果を示しますが、
    相関が弱くなるにつれて、結果つまり計算される切片と傾きがみごとに違ってきます。



<線形関係式の種類>
まず最初に通常の単回帰分析について説明します。
変数yを変数xの一次式で表すことを単回帰分析といいます。
y = a + b * x

変数yの観測値yiを決める要因としてxi以外にも、複数の要因がある場合は
y = a + b * x + c * p + d * q + ・・・
と表せます。
特別な場合として、pi, qi ・・・ がyiに与える影響をランダムであると近似できる場合、
c * p + d * q + ・・・ をError_yと置き換えると
yi = a + b * xi + Error_y ・・・ 式1
と表せます。ではどんな場合にランダムと近似できるかというと次式が成り立つ場合である。
 (c * σp)^2 << (b * σx)^2, (d * σq)^2 << (b * σx)^2 ・・・
  ここでσpは要因pの標準偏差である

次に、変数yiの測定器は良く校正されていますが、ランダムな測定誤差を生じている場合はどうしたらよいでしょうか? 測定誤差を与える要因がp,q・・・の一部であるとしても何らおかしくは無いので、
Error_yに含まれているとします。よって 式1のままで良いのです。

式1で重要なのは値xiはランダムな誤差を含んで無いことです。
この単回帰分析は例えば検量線を引く場合に適しています。なぜなら、精密に調合された試料の濃度や、標準器の物理量は誤差がほとんど無いからです。


次に、変数xにもランダムで無視できない測定誤差が含まれている場合はどうしたらよいでしょうか? xとyの相関が強い場合は通常の単回帰分析を使ってもほぼ合っていますが、相関が弱い場合は通常の単回帰分析を使うべきではありません。つまり計算された回帰係数aとbは正しくありません。

正確に言うと、「変数xにもランダムで無視できない測定誤差が含まれており、かつ、x以外のランダムで無い要因が存在する場合」は通常の単回帰分析を使ってはいけません。

 xにもyにもランダムな誤差があるデータセットに適した専用の回帰分析手法が下表のようにいくつか知られています。n個の試料の物理量を2台の測定器で測定し、これらのデータの関係を調べるときにこのタイプの回帰分析を使います。つまり測定器の比較や測定法の比較に適した回帰分析です。臨床医学や生物学関係で良く使われているようです。
 これらの回帰分析ができるアプリとしては、統計解析ソフトJMPや、医学・生物用の統計ソフトがいくつか市販されています。
 

 表 線形関係式の分類
    変数yだけがランダム誤差を含んでいる場合
       通常の単回帰分析

    変数yもxもランダム誤差を含んでいる場合
       Passing-Bablok回帰 
       標準主軸回帰  =Standardised Major Axis regression SMA
               =Reduced Major Axis regression RMA
               =幾何平均回帰
               =Geometric Mean Regression
       Deming回帰
       主軸回帰    =主成分回帰  =Major axis regression


<変数yもxもランダム誤差を含んでいるデータセットに適した線形関係式>
Passing-Bablok法の説明はここが詳しいです。
  ttp://www.kms.ac.jp/~clinilab/person/ing/lib/method.html
  ttp://www1.lf1.cuni.cz/~ldohna/passing/passing.htm
観測データから2個のデータをリサンプリングして傾きを計算します。これを全ての場合の数について計算し中央値を採用します。残差が無いのでノンパラメトリックであるため汎用性があるし、計算精度が高いため今後ますます使われるでしょう。


Reduced Major Axis(幾何平均回帰)は、近似直線と観測データとのx方向の距離とy方向の距離で決まる長方形の面積(直角三角形の面積)の和が最小になるようにaとbを決めます。従来の統計学の範囲で理解できる手法です。この手法が一番使われているようです。
 ただし傾きの符号が与えられないという欠点があるため、この式のように工夫します。

  傾き = (xとyの相関係数の符号) x (yの標準偏差)/(xの標準偏差)

詳しい説明は、ここを見てください。
 ttp://www.palass.org/modules.php?name=palaeo_math&page=7


Major Axis は、近似直線と観測データとの距離つまり近似直線に降ろした垂線の長さの自乗の和が最小になるようにaとbを決めます。xとyの標準偏差が等しい場合はReduced Major Axisの結果と一致します。


<観測の誤差について>
以上の説明で、あえて「ランダム」をしつこく書きましたがこの理由を説明します。
観測値は、真の値true value + 系統誤差systematic error + ランダム誤差random error で構成されています。
ランダム誤差は、測定回数を増やして平均値を取ると、いくらでも減っていきますから実はあまり怖くは無いのです。ところが系統誤差は何回測定しても無くならないし、努力しても気が付けない場合があるので怖いです。
 前に述べた例3について説明しましょう。脱衣所に以前から置いてあったヘルスメーターは、衣服の重さを引くために原点を-1kgに設定していたことを見逃しており、後で家族がもとにもどしていたらどうでしょう?
 系統誤差を無くすために、標準試料や原器、基準器などを準備しておき、定期的に校正します。データマイニングでは、「新しい要因が出現した」のか、「原点や傾きがずれた」のかを区別できません。 奇妙な要因が現れたら、系統誤差を疑い測定器を校正してみましょう。


<ソフトウェアの入手方法>
WEBから入手したソフトをマイナーチェンジしたソフトをここからダウンロードできます。
 ファイル名: 特殊回帰分析V*.zip

static.xlsがオリジナルのソフトで、特殊回帰分析V*.xls は私が今回マイナーチェンジしたソフトです。このファイルに含まれているプログラムは、Passing-Bablok法と幾何平均回帰、通常の単回帰分析、Bland-Altmanプロットです。Passing-Bablok法と幾何平均回帰の信頼区間はBootstrap法で計算しています。
 起動方法:シート「VBA」の上の方にある大きな長方形のボタンを押す

Excel VBAでプログラミングされていますから、ほとんどのパソコンで動きます。Office2000と2003で確認済みです。

 改定履歴
 バージョンV16: xまたはyが負のときにグラフの一部が欠けるバグを修正
 バージョンV17: 幾何平均回帰でxの標準偏差がゼロの場合の処理を修正
         もうバグは無いと思う。

この記事に

閉じる コメント(1)

顔アイコン

原点を通る場合の回帰式を計算するソフトを、ぼちぼち作成してます。Passing-Bablokだとリサンプルした回帰直線が約n^2個からn個へと激減する。n>1000ほしいが現実的ではない。

2011/6/19(日) 午後 0:05 [ pir*n*ta*arab*ko ] 返信する

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


みんなの更新記事