最小二乗法とロバスト推定

Similar documents
関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

やよいの顧客管理

弥生給与/やよいの給与計算

弥生 シリーズ

弥生会計 プロフェッショナル/スタンダード/やよいの青色申告

弥生会計/やよいの青色申告

弥生会計 ネットワーク/プロフェッショナル2ユーザー

最適化問題

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

PPTテンプレート集 ver.1.0

untitled

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P P.11 P.14 P.15 P.16 P.16 P.17 P.19 P.20 P.22 P P P P P P P P P

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P.10 P.12 P.13 P.14 P.14 P.15 P.17 P.18 P.20 P P P P P.25 P.27 P.28 Copyright 2016 JAPAN POST BA

Copyright All Rights Reserved. -2 -!

Fuji Xerox Co., Ltd. All rights reserved.

Microsoft PowerPoint - 資料04 重回帰分析.ppt

統計的データ解析

IPA:セキュアなインターネットサーバー構築に関する調査

Microsoft Word - 最終版 バックせどりismマニュアル .docx

eq2:=m[g]*diff(x[g](t),t$2)=-s*sin(th eq3:=m[g]*diff(z[g](t),t$2)=m[g]*g-s* 負荷の座標は 以下の通りです eq4:=x[g](t)=x[k](t)+r*sin(theta(t)) eq5:=z[g](t)=r*cos(the

多変量解析 ~ 重回帰分析 ~ 2006 年 4 月 21 日 ( 金 ) 南慶典

スライド 1

PowerPoint プレゼンテーション

スライド 1

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P P.11 P.13 P.15 P.16 P.17 P.17 P.18 P.20 P.21 P.23 P P P P P P P P.31

untitled

二次関数 1 二次関数とは ともなって変化する 2 つの数 ( 変数 ) x, y があります x y つの変数 x, y が, 表のように変化するとき y は x の二次関数 といいます また,2 つの変数を式に表すと, 2 y x となりま

Kumamoto University Center for Multimedia and Information Technologies Lab. 熊本大学アプリケーション実験 ~ 実環境における無線 LAN 受信電波強度を用いた位置推定手法の検討 ~ InKIAI 宮崎県美郷

(c) PIXTA Co. Ltd. All Rights Reserved.

Solibri Model Checker 9.5 スタードガイド

健康保険組合のあゆみ_top

リバースマップ原稿2

Microsoft PowerPoint - e-stat(OLS).pptx

AI技術の紹介とセンサーデータ解析への応用

経済数学演習問題 2018 年 5 月 29 日 I a, b, c R n に対して a + b + c 2 = a 2 + b 2 + c 2 + 2( a, b) + 2( b, c) + 2( a, c) が成立することを示しましょう.( 線型代数学 教科書 13 ページ 演習 1.17)

回帰分析 重回帰(1)

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

P. 2 P. 4 P. 5 P. 6 P. 7 P. 8 P. 9 P P.11 P.13 P.15 P.16 P.17 P.17 P.18 P.20 P.21 P.23 P P P P P P P.30 16

0 部分的最小二乗回帰 Partial Least Squares Regression PLS 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

講義「○○○○」

日心TWS


Microsoft PowerPoint - 三次元座標測定 ppt

If(A) Vx(V) 1 最小 2 乗法で実験式のパラメータが導出できる測定で得られたデータをよく近似する式を実験式という. その利点は (M1) 多量のデータの特徴を一つの式で簡潔に表現できること. また (M2) y = f ( x ) の関係から, 任意の x のときの y が求まるので,


スライド 1

Copyright 2008 NIFTY Corporation All rights reserved. 2

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

経営統計学

カイ二乗フィット検定、パラメータの誤差

PowerPoint プレゼンテーション

gnuplot の使い方 gnuplot は汎用的で しかも手軽に使えるプロッティング プログラムです 計算結果をグラフにするとき に非常に便利なので ぜひ覚えてください 1 gnuplot の始め方 終わり方 gnuplot の始め方は ターミナル上のプロンプトの後ろで gnuplot と打つだけ

14 化学実験法 II( 吉村 ( 洋 mmol/l の半分だったから さんの測定値は くんの測定値の 4 倍の重みがあり 推定値 としては 0.68 mmol/l その標準偏差は mmol/l 程度ということになる 測定値を 特徴づけるパラメータ t を推定するこの手

演習2

Microsoft PowerPoint - 講義資料-mlib

モデリングとは

<4D F736F F D20824F F6490CF95AA82C696CA90CF95AA2E646F63>

Copyright 2006 KDDI Corporation. All Rights Reserved page1

いま本文ー校了データ0822.indd


Microsoft PowerPoint - 統計科学研究所_R_重回帰分析_変数選択_2.ppt

1000 Copyright(C)2009 All Rights Reserved - 2 -

「統 計 数 学 3」

PowerPoint プレゼンテーション

Introduction to System Identification

! Copyright 2015 sapoyubi service All Rights Reserved. 2

report03_amanai.pages

ディジタル信号処理

report05_sugano.pages

2

0 スペクトル 時系列データの前処理 法 平滑化 ( スムージング ) と微分 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

複素数平面への誘い

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ

スライド タイトルなし

頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X <0 のとき ) であるから, 絶対値の 中身 の符号の変わり目で変数の範囲を場合分けし, 絶対値記号をはずす 例 y= x 2 2 x = x ( x

Microsoft PowerPoint - 測量学.ppt [互換モード]

横浜市環境科学研究所

Copyright 2009, SofTek Systems, Inc. All rights reserved.

0.0 Excelファイルの読み取り専用での立ち上げ手順 1) 開示 Excelファイルの知的所有権について開示する数値解析の説明用の Excel ファイルには 改変ができないようにパスワードが設定してあります しかし 読者の方には読み取り用のパスワードを開示しますので Excel ファイルを読み取

3Dアニメーションが表示されません

2014年度 九州大・理系数学

- 2 Copyright (C) All Rights Reserved.

dekiru_asa

第4回

画像類似度測定の初歩的な手法の検証

Microsoft PowerPoint - Econometrics

2018年度 2次数学セレクション(微分と積分)

スライド 1

Microsoft PowerPoint ppt

Presentation Title

Microsoft Word Mannual of Fish Population Dynamics-Ver1.doc

タイトルを修正 軸ラベルを挿入グラフツール デザイン グラフ要素を追加 軸ラベル 第 1 横 ( 縦 ) 軸 凡例は削除 横軸は, 軸の目盛範囲の最小値 最 大値を手動で設定して調整 図 2 散布図の仕上げ見本 相関係数の計算 散布図を見ると, 因果関係はともかく, 人口と輸送量の間には相関関係があ

how-to-decide-a-title

Transcription:

はじめに 最小二乗法とロバスト推定 (M 推定 ) Maplesoft / サイバネットシステム ( 株 ) 最小二乗法は データフィッティングをはじめとしてデータ解析ではもっともよく用いられる手法のひとつです Maple では CurveFitting パッケージの LeastSquares コマンドや Statistics パッケージの Fit コマンド NonlinearFit コマンドなどを用いてデータに適合する数式モデルを求めることが可能です 一方で 最小二乗法は データ中にノイズをはじめとした例外値が含まれている場合に 数式モデルが大きくズレてしまうことも多々あります この資料では データ中に含まれる誤差の影響を可能な限り少なくするための手法としてよく知られている ロバスト推定 (M 推定 ) 法とその Maple 上での簡易的な利用法について解説します まず最初に 例外値が入ったデータでは最小二乗法によるフィッティングがどの程度ズレてくるのかを実際に確認してみましょう 例外値の影響 ここでは簡便に 線形式 model = a$x Cb を考えます また 係数 a, b は次の通りとします : model d x/a$x Cb a d 0.975 : b d 0.78 : model := x/a x Cb (.1) データのリストを変数 data に用意します まず 元となる X 座標 ( Xdata 変数で定義 ) Y 座標 ( Ydata 変数で定義 ) のリストを用意します Xdata d seq x, x = 1.0..10.0, 0.5 Xdata := 1.0, 1.5,.0,.5,.0,.5,.0,.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0 Ydata d seq model x, x = Xdata Ydata := 1.50, 1.805,.80,.8155,.00,.7905,.780,.7655, 5.50, 5.705, 6.80, 6.7155, 7.00, 7.6905, 8.1780, 8.6655, 9.150, 9.605, 10.180 (.) (.) さらに Y 座標値には平均 0.01, 分散 0. の正規分布によるノイズを乗せます これらのホワイトノイズは Statistics パッケージのコマンドを用いて生成します with Statistics : noise d convert Sample RandomVariable Normal 0.01, 0., nops Ydata, list noise := 0.05788065100189, 0.11988886779, 0.7008669, 0.15798971679, K0.1797770811056, 0.00506180669719, 0.1160706896778, 0.11980907, K0.07681915658, (.)

0.119855755160, 0.0101058896660, K0.070810681, 0.1006180981018, K0.091707190716, 0.1899097796, K0.067171656098, 0.0896808611787, K0.0686685661, K0.195578661 Ydata d Ydata Cnoise Ydata := 1.057880651001, 1.981898888678,.69808669,.07079897168,.1918898,.79556180670,.90706896775, 5.077698091, 5.17616850877, 5.9585575516, 6.9010588967, 6.69055916789, 7.06180981018, 7.619580969, 8.189909779, 8.598857679, 9.680861178, 9.575671677, 10.00605167 (.5) 作ったデータをグラフ描画して確認してみましょう with plots : gdata d pointplot Xdata, Ydata : display gdata 10 9 8 7 6 5 1 5 6 7 8 9 10 このデータを元にした線形モデルへのフィッティングは Statistics パッケージの LinearFit コマンドで求まります fit1 d LinearFit 1, x, Xdata, Ydata, x fit1 := 0.55990850000 C0.959160856 x (.6) データ点のグラフと共に描画してみましょう gfit1 d plot fit1, x = 1..11, color = red :

display gdata, gfit1 11 10 9 8 7 6 5 1 5 7 9 11 x ここで もしもデータ点の Y 座標値にいくつかの大きな例外値が含まれた場合を考えてみましょう 以下では Y 座標値の 5 番目と 18 番目にズレた値を設定してみます Ydata 5 d 7.8 Ydata 5 := 7.8 (.7) Ydata 18 d.08 Ydata 18 :=.08 (.8) もう一度グラフで確認してみます gnewdata := pointplot Xdata, Ydata : display gfit1, gnewdata

11 10 9 8 7 6 5 1 5 7 9 11 x ズレたデータに線形フィッティングを適用して数式モデルを確認してみます fit1 の結果と確認してみると傾きと切片の値も大きく変わったことがわかります fit d LinearFit 1, x, Xdata, Ydata, x fit := 1.758760776151 C0.7198997885 x fit1 0.55990850000 C0.959160856 x (.9) (.10) グラフでも確認してみましょう ( 元のフィッティングしたモデル式が赤色 新しいデータに対するモデル式が緑色で描画されています ) gfit d plot fit, x = 1..11, color = green : display gnewdata, gfit1, gfit

11 10 9 8 7 6 5 1 5 7 9 11 x 次の章では このような例外値に対応するためのロバスト推定法を紹介します Tukey の Biweight 推定法 前章で見たように 最小二乗法はデータ点と数式モデルとの距離を最小化する手法です 従って 例外値のように大きくズレた値が含まれていた場合には その影響を直接的に受けてしまうことを意味しています ここで紹介する Tukey による Biweight 推定法は 誤差の大きさに応じてデータ点に重みを付ける方法です 具体的には 誤差が大きい場合には重みを小さくすることで 例外値の影響を小さくする手法です そこで 以下のような関数 biweight を定義します biweight d w, d /piecewise Kw % d and d % w, 1 K d w biweight := w, d /piecewise Kw % d and d % w,, 0 1 K d w, 0 (.1) ここで d : 誤差 w : 重み ( 誤差の許容範囲値 ) です 例えば重み w =.0 とすると この関数は次のようなグラフとなります : plot biweight.0, d, d = K5...5.

1 0.8 0.6 0. 0. 0 K K 0 d ここで定義した biweight 関数を元のデータとフィットしたモデルとの誤差値に適用して行きます まず fit 式による誤差値のデータを作りましょう errdata d Ydata K seq eval fit, x = xv, xv = Xdata errdata := K1.0760701198, K0.861715796589, K0.50719089180558, K0.597608565951,.5555789, K0.956560, K0.57618065868, 0.0687611610651, K0.19875176551, 0.15958669, 0.150868589701586, 0.568805010, 0.8919579, 0.588556967, 0.7777616598, 0.69095885950, 0.9781779971, K.59166811197, 1.015790696 (.) この誤差値に biweight 関数を適用して 重み値のベクトルを作ります なお ここでは重みの許容値を w =.0 とします weightvector d Vector seq biweight.0, di, di = errdata 1.. 19 Vector column weightvector := Data Type: anything Storage: rectangular Order: Fortran_order (.) 計算された重み値のベクトルデータを用いて 再び LinearFit コマンドに適用します 重み値のベクトルは weights オプションに指定します

fit d LinearFit 1, x, Xdata, Ydata, x, 'weights'= weightvector fit := 0.61960995879 C0.97571166 x (.) 新しいモデル式 fit が得られました グラフでその違いを確認してみましょう gfit d plot fit, x = 1..11, color = blue, legend = " 重みあり " : display gnewdata, gfit, gfit 11 10 9 8 7 6 5 1 5 7 9 11 x 重みあり 上記を見ると 例外値の影響を少なくしたフィッティング結果が得られていることがわかります また フィッティングした数式モデルの結果を改めて確認すると次のようになっています 'fit1'= fit1; 'fit'= fit; 'fit'= fit; a, b fit1 = 0.55990850000 C0.959160856 x fit = 1.758760776151 C0.7198997885 x fit = 0.61960995879 C0.97571166 x 0.975, 0.78 (.5) (.6) 次の章では Biweight 法を非線形のモデルフィッティングでも適用する方法を解説します

非線形モデルでの Biweight 法適用例 線形の場合と同様の手順で 非線形モデルフィッティングにも Biweight 法による M 推定を適用してみます まず データの元となるモデル式を次のように定義します : restart model d t 1 p0 e p1 t p sin p t Kp Cp5 cos p6 t Kp7 Cp8 model := t/p0 e p1 t p sin p t Kp Cp5 cos p6 t Kp7 Cp8 (.1) 各パラメータ値は以下とします また このパラメータ値を代入したモデル式を f で定義します params d evalf p0 = 1.09, p1 = K0.89, p = 1., p = 5.08 p, p = K.1, p5 = 1.0, p6 = 1.87 p, p7 = K.8, p8 =. params := p0 = 1.09, p1 = K0.89, p = 1., p = 15.9599068, p = K.1, p5 = 1.0, p6 (.) = 5.877786, p7 = K.8, p8 =. f d unapply eval model t, params, t f := t/1.09 e K0.89 t 1. sin 15.9599068 t C.1 C1.0 cos 5.877786 t C.8 C. データ点の個数 N, 及びデータ点のリスト tvals, fvals を次のように用意します (.) N d 100 :.0 tvals d seq t, t = 0...0, N K1 fvals d seq f tv, tv = tvals : : 最後に 正規分布のノイズ値を用意し fvals の値に加えます with Statistics : noise d convert Sample RandomVariable Normal 0.06, 0.09, N, list : fvals d fvalscnoise : グラフで確認してみます with plots : setoptions gridlines = true, axes = boxed : gmodel d plot f t, t = 0...0, color = red, legend = "Original Model" : gpoint d pointplot tvals, fvals : display gmodel, gpoint

1 0 1 t Original Model さて まずは Statistics パッケージの NonlinearFit コマンドでデータに対するモデルフィッティングを適用してみます fit1 d unapply NonlinearFit model t, tvals, fvals, t, t 1.085555511877 t fit1 := t/k0.0019679988057751 e K.58087886667 sin 1.88806888 t K6.1169809 C.1556165185 cos 1.669005959191618 t K7.178110771 C.960871768 (.) このフィッティングがどのような結果であるかをグラフで確認します gfit1 d plot fit1 t, t = 0...0, color = blue, legend = "NonlinearFit result" : display gmodel, gpoint, gfit1

1 0 1 t Original Model NonlinearFit result オリジナルのモデル式の振る舞いと比べると 振幅や周波数で大きく異なっているのがわかります そこで 再び biweight 関数を定義し 誤差値から重みデータを計算します 誤差値を計算 : err d fvalsk seq fit1 t, t = tvals : biweight 関数を定義 : biweight d w, d /piecewise Kw % d and d % w, 1 K d w biweight := w, d /piecewise Kw % d and d % w,, 0 1 K d w, 0 (.5) 重みベクトルを計算 : weightvector d Vector seq biweight 9., d, d = err weightvector := 1.. 100 Vector column Data Type: anything Storage: rectangular Order: Fortran_order (.6) 上で計算した重み値を与えて 再度 NonlinearFit コマンドを適用してモデル式を求めてみます : fit d unapply NonlinearFit model t, tvals, fvals, t, 'weights'= weightvector, t (.7)

fit := t/ K0.05795869581 e K0.8880951009865 t 1.161015959 sin 5.86976879 t C.187617096 C5.96019060657 cos 15.87898789586 t K1.06600799590559 C.89517678556 (.7) グラフで結果を確認してみます ( ここでフィッティングしたモデル式は緑色の曲線で示します ) gfit d plot fit t, t = 0...0, color = green, legend = "Biweight result" : display gmodel, gpoint, gfit1, gfit 1 0 1 t Original Model NonlinearFit result Biweight result オリジナルのモデル式に極めて近い結果が得られました 上記の例では ある特定の重み値を使いました この値が適切かどうか そしてより一般には重みの最適値はデータやモデル式によってまったく異なるため 複数回の試行が必要になることに注意が必要です 次の例では この w 値を探索するための簡易的なアプリケーションを用意しています ロバスト推定を手軽に行うための使用例として参考にしてください 重み値の対話的な変更によるフィッティング変化 このアプリケーションを実行するには まず下記のコード領域ボタンを押してコードを実行してください その後 スライダーを動かすことで重み値を動的に変化させたフィッティング結果を確認することができます

weightvecfunc := proc(w) weight: 0 00 00 600 800 1000 ( 0.1) 9. 1 0 1 t Original Model Biweight result NonlinearFit result K0.05795869581 e K0.8880951009865 t 1.161015959 sin 5.86976879 t C.187617096 C5.96019060657 cos15.87898789586 t K1.06600799590559 C.89517678556 Copyright 01 Maplesoft / Cybernet Systems Co., Ltd., All rights reserved.