非線形回帰の異常値の特定


11

ダニの機能的反応の研究をしています。ロジャースタイプII関数のパラメーター(攻撃率と処理時間)を推定するために回帰を行いたいと思います。測定のデータセットがあります。 どうすれば外れ値を最も正確に特定できますか?

私の回帰のために私はR(非線形回帰)で次のスクリプトを使用します(datesetと呼ばれるシンプルな2カラムのテキストファイルであるdata.txtと、ファイルN0の値(初期獲物の数)とFR値(24時間の間に食べた獲物の数):

library("nlstools")
dat <- read.delim("C:/data.txt")    
#Rogers type II model
a <- c(0,50)
b <- c(0,40)
plot(FR~N0,main="Rogers II normaal",xlim=a,ylim=b,xlab="N0",ylab="FR")
rogers.predII <- function(N0,a,h,T) {N0 - lambertW(a*h*N0*exp(-a*(T-h*N0)))/(a*h)}
params1 <- list(attackR3_N=0.04,Th3_N=1.46)
RogersII_N <-  nls(FR~rogers.predII(N0,attackR3_N,Th3_N,T=24),start=params1,data=dat,control=list(maxiter=    10000))
hatRIIN <- predict(RogersII_N)
lines(spline(N0,hatRIIN))
summary(RogersII_N)$parameters

カルセック残差グラフをプロットするには、次のスクリプトを使用します。

res <- nlsResiduals (RogersII_N)
plot (res, type = 0)
hist (res$resi1,main="histogram residuals")
    qqnorm (res$resi1,main="QQ residuals")
hist (res$resi2,main="histogram normalised residuals")
    qqnorm (res$resi2,main="QQ normalised residuals")
par(mfrow=c(1,1))
boxplot (res$resi1,main="boxplot residuals")
    boxplot (res$resi2,main="boxplot normalised residuals")

ご質問

  • どのデータポイントが外れ値であるかを最もよく判断するにはどうすればよいですか?
  • Rで使用できる客観的なテストはありますか?また、どのデータポイントが異常値であるかを示していますか?

回答:


9

DixonやGrubbを含む、外れ値のいくつかのテストoutliersがR のパッケージで利用可能です。テストのリストについては、パッケージのドキュメントを参照してください。テストを説明するリファレンスは、対応する関数のヘルプページに記載されています。

データから外れ値を削除することを計画している場合は、これが常に推奨されるとは限らないことに注意してください。これに関する議論については、たとえばこの質問を参照してください(外れ値を検出する方法に関するいくつかのより多くの提案も同様です)。


8

私も統計学者ではありません。したがって、私はデータに関する専門知識を使用して異常値を見つけます。つまり、測定値が他の測定値と異なる物理的/生物学的/何らかの理由を探します。

私の場合、それは例えば

  • 測定信号の一部を乱す宇宙線
  • 実験室に入り、照明をつけた人
  • スペクトル全体がどういうわけか違って見える
  • 最初の測定シリーズは、通常の勤務時間中に行われたもので、午後10時のシリーズよりもノイズの多いオーダーです。

確かにあなたは私たちに同様の効果を伝えることができます。

3番目の点は他の点とは異なります。何が起こったのかわかりません。これはあなたが尋ねている種類の異常値かもしれません。ただし、何が原因であるか(そしてこれによりデータポイントが無効になる)がわからない場合、データセットに表示されるべきではないと言うことは困難です。また、あなたの外れ値は私の最も興味深いサンプルかもしれません...

したがって、私は外れ値について話すのではなく、疑わしいデータポイントについて話すことがよくあります。これは、その意味を再確認する必要があることを皆に思い出させます。

データを除外するのが良いかどうか(誰がデータを得るために外れ値を見つけたいのか)は、現在のタスクが何であるか、およびそのタスクの「境界条件」が何であるかに大きく依存します。いくつかの例:

  • 新しい外れ値のJoachimii亜種を発見しました;-)それらを除外する理由はありません。他のすべてを除外します。

  • ダニの捕食時期を予測したい。予測を特定の条件に制限することが許容できる場合は、これらを定式化して他のすべてのサンプルを除外し、予測モデルがこれまたはそのような状況に対処すると言いますが、他の状況(ここでは外れ値について説明します)が発生します。

  • モデル診断の助けを借りてデータを除外すると、一種の自己実現的な予言または過剰楽観的なバイアスが発生する可能性があることに注意してください(つまり、メソッドが一般的に適用可能であると主張する場合)。仮定は、残りのサンプルが満たす仮定の方が優れています。しかし、それは除外のためだけです。

  • 私は現在、多くの悪い測定値(私が測定値を悪いと考える物理的な理由を知っています)と、どういうわけか「奇妙に見える」いくつかのタスクを抱えています。私がすることは、これらのサンプルを(予測)モデルのトレーニングから除外しますが、これらを使用してモデルを個別にテストし、モデル内で一度に発生することがわかっているタイプの外れ値に対するモデルの堅牢性について説明できるながら。したがって、アプリケーションは何らかの形でこれらの外れ値に対処する必要があります。

  • 外れ値を調べるもう1つの方法は、「モデルにどの程度影響を与えるか」ということです。(レバレッジ)。この観点から、奇妙なトレーニングサンプルに関する堅牢性または安定性を測定できます。

  • どの統計手順を使用しても、異常値が特定されないか、誤検出が発生します。他の診断テストと同様に外れ値のテスト手順を特徴付けることができます。これには感度と特異性があり、さらに重要なのは、データの外れ値の比率によって、正と負の予測値に対応することです。言い換えると、特にデータの外れ値が非常に少ない場合、外れ値テストによって識別されたケースが実際に外れ値である(つまり、データに含まれてはならない)確率は非常に低くなる可能性があります。
    手元にあるデータに関する専門知識は、通常、統計的検定よりも異常値の検出に優れていると思います。検定はその背後にある仮定と同じくらい優れています。また、1つのサイズですべてに対応することは、多くの場合、データ分析にはあまり適していません。少なくとも私は頻繁に一種の異常値を扱いますが、エキスパート(そのタイプの測定について)は、侵害された信号の正確な部分を特定するのに問題はありませんが、自動化された手順は失敗することがよくあります(問題ですが、問題がどこで始まりどこで終わるかを見つけるのは非常に困難です)。


ここにはたくさんの良い情報があります。私は特に弾丸ポイント4と5が好きです
ガン-モニカを復活させる

4

一変量の外れ値には、正規性を仮定したディクソンの比率検定とグラブスの検定があります。外れ値をテストするには、観測された値が想定された分布に由来するものとして極端または異常であることを示すために、人口分布を想定する必要があります。私が以前にここで参照した可能性のある1982年のアメリカ統計学者の論文で、Dixonの比率検定は、一部の非正規分布でも小さなサンプルで使用できることを示しています。Chernick、MR(1982)「少量サンプルにおけるディクソン比のロバスト性に関する注記」American Statistician p140。多変量外れ値と時系列の外れ値の場合、パラメーター推定の影響関数は、外れ値を非公式に検出するための有用な尺度です(知りません)。そのようなテストは可能ですが、それらのために構築された正式なテストの例)。外れ値検出方法の詳細な処理については、「統計データの外れ値」


3

http://www.waset.org/journals/waset/v36/v36-45.pdf、「非線形回帰における異常値の検出について」[ sic ]を参照してください

概要

外れ値の検出は、線形および非線形回帰分析で大きな解釈上の問題を生成する責任があるため、非常に重要です。線形回帰では外れ値を特定するために多くの作業が行われましたが、非線形回帰では行われていません。この記事では、非線形回帰のためのいくつかの異常値検出手法を提案します。主なアイデアは、非線形モデルの線形近似を使用し、勾配を設計行列と見なすことです。その後、検出技術が定式化されます。最小二乗法、MおよびMM推定器などの3つの推定手法と組み合わせた6つの検出方法が開発されています。この調査では、6つの測定値のうち、MM推定量と組み合わせたスチューデント化された残差とクック距離のみが、


+1英語(および数学的組版)には明らかな問題がありますが、この論文は問題への有用な貢献のようです。
whuber

2

外れ値は、「ある程度のベースライン」から「遠すぎる」点です。トリックは、これらのフレーズを両方定義することです!非線形回帰では、外れ値が曲線自体に多大な影響を与える可能性があるため、一変量の方法を使用して、外れ値が最適な曲線から「遠すぎる」かどうかを確認することはできません。

ロンブラウンと私は、外れ値が曲線にあまり影響を与えないようにして、非線形回帰で外れ値を検出する独自の方法(ROUT-ロバスト回帰と外れ値の削除と呼びます)を開発しました。最初に、外れ値がほとんど影響しないロバスト回帰法でデータを近似します。それがベースラインを形成します。次に、False Discovery Rate(FDR)のアイデアを使用して、ポイントがベースラインから「遠すぎる」場合、および外れ値である場合を定義します。最後に、特定された外れ値を削除し、残りの点を従来通り適合させます。

この方法はオープンアクセスジャーナルで公開されています:Motulsky HJとBrown RE、非線形回帰でデータをフィッティングする際の外れ値の検出–ロバストな非線形回帰と誤った発見率基づく新しい方法、BMC Bioinformatics 2006、7:123。ここに要約があります:

バックグラウンド。 線形回帰と同様に、非線形回帰は、理想的な曲線の周りのデータの散布がガウスまたは正規分布に従うことを前提としています。この仮定は、おなじみの回帰の目標につながります。つまり、点と曲線の間の垂直距離またはY値の距離の2乗の合計を最小化します。外れ値は、二乗和の計算を支配し、誤解を招く結果につながる可能性があります。ただし、非線形回帰で曲線を近似するときに異常値を日常的に特定する実用的な方法はありません。

結果。 非線形回帰でデータを近似するときに外れ値を識別する新しい方法について説明します。最初に、散布がローレンツ分布に従うという仮定に基づいて、ロバスト形式の非線形回帰を使用してデータを近似します。方法が進むにつれて徐々に堅牢になる新しい適応方法を考案しました。外れ値を定義するために、複数の比較を処理するために偽の発見率アプローチを採用しました。次に、外れ値を削除し、通常の最小二乗回帰を使用してデータを分析します。この方法はロバスト回帰と外れ値の除去を組み合わせているため、ROUTメソッドと呼んでいます。

すべての散布がガウスであるシミュレーションデータを分析する場合、この方法では、約1〜3%の実験で1つ以上の外れ値が(誤って)検出されます。1つまたは複数の外れ値で汚染されたデータを分析する場合、ROUTメソッドは外れ値の識別に優れており、平均誤検出率は1%未満です。

結論。 堅牢な非線形回帰の新しい方法と外れ値の識別の新しい方法を組み合わせた私たちの方法は、合理的な検出力といくつかの偽陽性を伴う非線形曲線近似から外れ値を識別します。

それは(私の知る限り)Rには実装されていませんが、GraphPad Prismには実装されています。Prismヘルプで簡単な説明を提供します


0

あなたの質問は一般的すぎます。「外れ値」を除外するための最良の方法はありません。

「外れ値」のいくつかの特性を知る必要がありました。または、どの方法が最適かわからない。使用するメソッドを決定したら、メソッドのパラメーターを慎重に調整する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.