ほぼ正規分布のスケールを推定するためのロバストなベイジアンモデルはどうなりますか?


32

scaleの多数の堅牢な推定量が存在します。顕著な例は、標準偏差に関する中央値絶対偏差であるσ=MAD1.4826。ベイジアンフレームワークでは、位置をロバストに推定する方法がいくつか存在しますは、おおよそ正規分布(たとえば、外れ値に汚染された正規)のたとえば、データが分布またはラプラス分布で分布していると仮定できます。今私の質問:

ほぼ正規分布のスケールをロバストな方法で測定するためのベイジアンモデルは、MADまたは同様のロバストな推定量と同じ意味でロバストでしょうか?

MADの場合と同様に、データの分布が実際に正規分布している場合に、ベイジアンモデルが正規分布のSDに近づくことができれば適切です。

編集1:

データyほぼ正規であると仮定した場合の汚染/外れ値に対してロバストなモデルの典型的な例は、次のような分布で使用しています。

ytmsν

ここで、mは平均、sはスケール、νは自由度です。msおよびνに適切な事前分布がある場合mは外れ値に対してロバストなの平均の推定y値になります。ただし、sνに依存するため、sのSDの一貫した推定値ではありません。たとえば、νが4.0に固定され、上記のモデルがN o r mμ =ysνν分布の場合、 sは約0.82になります。私が探しているのは、tモデルのようなロバストなモデルですが、平均の代わりに(または平均に加えて)SDです。Normμ=0σ=1s

編集2:

ここで、上記のtモデルがどのように平均に関してより堅牢であるかを示すRとJAGSのコード例を示します。

# generating some contaminated data
y <- c( rnorm(100, mean=10, sd=10), 
        rnorm(10, mean=100, sd= 100))

#### A "standard" normal model ####
model_string <- "model{
  for(i in 1:length(y)) {
    y[i] ~ dnorm(mu, inv_sigma2)
  }

  mu ~ dnorm(0, 0.00001)
  inv_sigma2 ~ dgamma(0.0001, 0.0001)
  sigma <- 1 / sqrt(inv_sigma2)
}"

model <- jags.model(textConnection(model_string), list(y = y))
mcmc_samples <- coda.samples(model, "mu", n.iter=10000)
summary(mcmc_samples)

### The quantiles of the posterior of mu
##  2.5%   25%   50%   75% 97.5% 
##   9.8  14.3  16.8  19.2  24.1 

#### A (more) robust t-model ####
library(rjags)
model_string <- "model{
  for(i in 1:length(y)) {
    y[i] ~ dt(mu, inv_s2, nu)
  }

  mu ~ dnorm(0, 0.00001)
  inv_s2 ~ dgamma(0.0001,0.0001)
  s <- 1 / sqrt(inv_s2)
  nu ~ dexp(1/30) 
}"

model <- jags.model(textConnection(model_string), list(y = y))
mcmc_samples <- coda.samples(model, "mu", n.iter=1000)
summary(mcmc_samples)

### The quantiles of the posterior of mu
## 2.5%   25%   50%   75% 97.5% 
##8.03  9.35  9.99 10.71 12.14 

十分なロバスト性はないかもしれませんが、カイ2乗分布は、分散の逆数の前に通常選択される共役です。
マイクダンラベイ14年

この質問への最初の答えstats.stackexchange.com/questions/6493/…があなたにとって十分かどうかを見たいかもしれません。そうではないかもしれませんが、そうかもしれません。
jbowman 14年

汚染レベルについて何を優先しましたか?汚染は体系的ですか?ランダム?単一のディストリビューションまたは複数のディストリビューションによって生成されますか?ノイズの分布について何か知っていますか?上記のことの少なくともいくつかがわかっていれば、何らかの混合モデルに適合させることができます。そうでなければ、この問題についてのあなたの信念が実際に何であるかはわかりません。もしあなたがこれを持っていなければ、非常に曖昧な設定のように思えます。何かを修正する必要があります。そうしないと、ランダムにポイントを選択して、それが唯一のガウス生成ポイントであると宣言できます。
意味する意味14年

しかし、一般的には、外れ値に対してより抵抗力のあるt分布、またはt分布の混合のいずれかを適合させることができます。私は確かにここにビショップずつあり、多くの論文があるんだresearch.microsoft.com/en-us/um/people/cmbishop/downloads/...:ここにフィット混合物にR-パッケージですmaths.uq.edu。 au /〜gjm / mix_soft / EMMIX_R / EMMIX-manual.pdf
平均の意味

1
あなたの正規分布母集団のためではなく、他のほとんどのディストリビューションのために真であるσ=MAD1.4826
ヘンリー・

回答:


10

適切な事前分布を使用したTノイズモデルのベイズ推定により、位置とスケールの堅牢な推定値が得られます。尤度と事前に満たす必要のある正確な条件は、位置とスケールのパラメーターのベイジアンロバストネスモデリングの論文に記載されています。Andrade and O'Hagan(2011)による。推定値は、論文の図2に示すように、1回の観測では推定値を任意に大きくすることができないという意味で堅牢です。

データが正規分布している場合、フィットしたT分布のSD(固定)は、生成分布のSDと一致しません。しかし、これは簡単に修正できます。ましょうσが発生分布の標準偏差であるとlet sがフィットTの分布の標準偏差です。データは2によってスケーリングされる場合、可能性の形態から我々は知っているsは 2でスケーリングしなければならないこれは、意味S = σ F ν 、いくつかの固定機能のためにFを。この関数は、標準法線からのシミュレーションにより数値的に計算できます。これを行うコードは次のとおりです。νσsss=σf(ν)f

library(stats)
library(stats4)
y = rnorm(100000, mean=0,sd=1)
nu = 4
nLL = function(s) -sum(stats::dt(y/s,nu,log=TRUE)-log(s))
fit = mle(nLL, start=list(s=1), method="Brent", lower=0.5, upper=2)
# the variance of a standard T is nu/(nu-2)
print(coef(fit)*sqrt(nu/(nu-2)))

例えば、で Iが得るF ν = 1.18。所望の推定は、その後でσ = S / F ν ν=4f(ν)=1.18σ^=s/f(ν)


1
いい答え(+1)。「単一の観測では推定値をarbitrarily意的に大きくすることができないという意味で」ということで、ブレークダウンポイントは2 / nです(これについて疑問に思っていました).... n / 2。
user603

わあ、ありがとう!あいまいなフォローアップの質問。スケールを「修正」して、通常の場合のSDと一致するように実際に意味があるでしょうか?私が考えているユースケースは、スプレッドの尺度を報告するときです。報告規模に問題はありませんが、(少なくとも心理学では)拡散の最も一般的な尺度であるSDと一貫性のあるものを報告することは素晴らしいことです。この修正が奇妙で一貫性のない見積もりにつながる状況がありますか?
ラスマスバース14年

6

非常に正確な問題(ロバスト推定)について質問しているときに、同様に正確な答えを提供します。ただし、まず、不当な仮定を払拭しようとし始めます。位置のロバストなベイズ推定があることは事実ではありません(位置のベイズ推定器がありますが、以下に説明するように、それらはロバストではなく、明らかに、位置の最も単純なロバスト推定でもベイズではありません)。私の意見では、ロケーションの場合に「ベイジアン」パラダイムと「ロバスト」パラダイムの間に重複がない理由は、ロバストでベイジアンの両方の分散の推定量も存在しない理由を説明するのに大いに役立ちます。

およびνに適切な事前分布がある場合mは外れ値に対してロバストなy iの平均の推定値になります。m,sνmyi

実は違う。結果として得られる推定値は、堅牢という言葉の非常に弱い意味でのみ堅牢になります。ただし、中央値が外れ値に対してロバストであると言う場合、単語が中央値に対して通常どのように理解されるかという意味でロバスト、より強い意味で意味します。つまり、ロバスト統計では、中央値のロバスト性とは、ユニモーダルの連続モデルから得られた観測値のデータセットの中央値を計算し、これらの観測値の半分未満を任意の値で置き換えるプロパティを指します、汚染されたデータで計算された中央値の値は、元の(汚染されていない)データセットで計算されていたはずの値に近くなります。そうすれば、上で引用した段落で提案する推定戦略が間違いなくそうでないことを示すのは簡単ですなロバストという意味です。

私はベイジアン分析に完全に不慣れです。しかし、私は次の戦略の何が間違っているのか疑問に思っていました。それは単純で効果的であり、他の回答では考慮されていないためです。事前条件は、データの大部分が対称分布から取得され、汚染率が半分未満であることです。次に、単純な戦略は次のとおりです。F

  1. データセットのメジアン/マッドを計算します。次に、計算します:
    zi=|ximed(x)|mad(x)
  2. そのための観測除外(これはα分位数の分布のZをするとき、X F)。この数量は、Fの多くの選択で利用可能であり、他のFでブートストラップできます。zi>qα(z|xF)αzxFF
  3. 拒否されていない観測値に対して(通常の、ロバストでない)ベイジアン分析を実行します。

編集:

問題の真のベイズ分析を行うための自己完結型Rコードを提供してくれたOPに感謝します。

以下のコードは、OPによって提案されたベイジアンアプローチとロバスト統計文献からの代替案を比較します(たとえば、データに 外れ値とデータの大部分はガウスです)。n/22

データの中央部分は、N(1000,1)

n<-100
set.seed(123)
y<-rnorm(n,1000,1)

いくらかの汚染物質を追加します。

y[1:30]<-y[1:30]/100-1000 
w<-rep(0,n)
w[1:30]<-1

インデックスwは、外れ値に対して値1を取ります。OPが提案するアプローチから始めます。

library("rjags")
model_string<-"model{
  for(i in 1:length(y)){
    y[i]~dt(mu,inv_s2,nu)
  }
  mu~dnorm(0,0.00001)
  inv_s2~dgamma(0.0001,0.0001)
  s<-1/sqrt(inv_s2)
  nu~dexp(1/30) 
}"

model<-jags.model(textConnection(model_string),list(y=y))
mcmc_samples<-coda.samples(model,"mu",n.iter=1000)
print(summary(mcmc_samples)$statistics[1:2])
summary(mcmc_samples)

私は得る:

     Mean        SD 
384.2283  97.0445 

そして:

2. Quantiles for each variable:

 2.5%   25%   50%   75% 97.5% 
184.6 324.3 384.7 448.4 577.7 

(目標値から遠く離れた静かな)

堅牢な方法の場合、

z<-abs(y-median(y))/mad(y)
th<-max(abs(rnorm(length(y))))
print(c(mean(y[which(z<=th)]),sd(y[which(z<=th)])))

取得するもの:

 1000.149 0.8827613

(目標値に非常に近い)

2番目の結果は、実際の値に非常に近くなります。しかし、最悪の事態になります。推定スコアがより大きい観測値を外れ値として分類する場合(事前値はFがガウスであることを思い出してください)、ベイジアンアプローチはすべての観測値が外れ値であることを検出します(対照的に、ロバストな手順はすべてにフラグを立て、外れ値のみ)。これは、ロバスト手順によって異常値として分類されていないデータに対して通常の(ロバストではない)ベイジアン分析を実行する場合は、問題なく実行する必要があることを意味します(たとえば、質問に記載されている目的を達成する)。zthF
これは単なる例ですが、汚染されたデータに適合したスチューデントの分布のパラメーターは、明らかにするために依存できないことを示すことは、実際にはかなり簡単です(そして、正式に行うことができます。外れ値。 t

  • [1]リカルドA.マロンナ、ダグラスR.マーティン、ビクターJ.ヨハイ(2006)。堅牢な統計:理論と方法(確率と統計のWileyシリーズ)。
  • フーバー、PJ(1981)。堅牢な統計。ニューヨーク:ジョン・ワイリーと息子。

1
さて、tは正規分布の堅牢な代替としてしばしば提案されます。これが弱い意味かどうかはわかりません。例:ランゲ、KL、リトル、RJ、テイラー、JM(1989)。t分布を使用した堅牢な統計モデリング。Journal of the American Statistics Association、84(408)、881-896。pdf
ラスマスバース14

1
これは弱い感覚です。提案する手順を実装するRコードがある場合は、例を挙げて私の答えを説明させていただきます。それ以外の場合は、この教科書の第2章でさらに説明を得ることができます。
user603 14

私が提案する手順は、基本的にここで説明されています:Rコードを含むindiana.edu/~kruschke/BEST。私はあなたの解決策について考えなければなりません!しかし、それはすべてのデータ、サブセットのみをモデル化していないという意味でベイズは思えない「生き残る」ステップ2
ラスマス・バース

興味深い議論をありがとう!あなたの答えは私が求めることではありませんが、(1)ベイジアン手順を説明していないため、外れ値を削除する方法のデータ準備手順をより多く説明しているためです、つまり、正規分布とデータポイントの数からサンプリングする場合「真の」SDに近づくことはなく、推定値は少し低くなります。また、ロバストの定義を完全には購入していません(あなたの定義は、私が出会ったほとんどのベイジアン文学で見たものではありません)
ラスマスバース2014

1
今やった!
ラスマスバース14

1

逆ガンマ分布を精度の事前分布(分散の逆数)として使用するベイズ分析では、一般的な選択肢です。または、多変量モデルの逆ウィシャート分布。分散に事前分布を追加すると、外れ値に対する堅牢性が向上します。

Andrew Gelmanによる素晴らしい論文があります。「階層モデルの分散パラメーターの事前分布」で、分散の事前分布の適切な選択について説明しています。


4
申し訳ありませんが、これがどのように質問に答えているのかわかりません。堅牢な事前モデルではなく、堅牢なモデルを求めました。
ラスマスバース14年

0

位置パラメータの堅牢な推定器 μ サイズのあるデータセットの N 分散の前にジェフリーズを割り当てると取得されます σ2 正規分布の μt 配布 N 自由度。

Similarly, if you want a robust estimator for the standard deviation σ of some data D, we can do the following:

First, we suppose that the data is normally distributed when its mean and standard deviation are known. Therefore,

D|μ,σN(μ,σ2)
and if D(d1,,dN) then
p(D|μ,σ2)=1(2πσ)Nexp(N2σ2((mμ2)+s2))
where the sufficient statistics m and s2 are
m=1Ni=1Ndis2=1Ni=1Ndi2m2
In addition, using Bayes' theorem, we have
p(μ,σ2|D)p(D|μ,σ2)p(μ,σ2)
A convenient prior for (μ,σ2) is the Normal-invese-gamma family, which covers a wide range of shapes and is conjugate to this likelihood. This means that the posterior distribution p(μ,σ2|D) still belongs to the normal-inverse-gamma family, and its marginal p(σ2|D) is an inverse gamma distribution parameterized as
σ2|DIG(α+N/2,2β+Ns2)α,β>0
From this distribution, we can take the mode, which will give us an estimator for σ2. This estimator will be more or less tolerant to small excursions from misspecifications on the model by varying α and/or β. The variance of this distribution will then provide some indication on the fault-tolerance of the estimate. Since the tails of the inverse gamma are semi-heavy, you get the kind of behaviour you would expect from the t distribution estimate for μ that you mention.

1
"A robust estimator for the location parameter μ of some dataset of size N is obtained when one assigns a Jeffreys prior to the variance σ2 of the normal distribution." Isn't this Normal model you describe a typical example of a non-robust model? That is, a single value that is off can have great influence on the parameters of the model. There is a big difference between the posterior over the mean being a t-distribution (as in your case) and the distribution for the data being a t-distribution (as is a common example of a robust Bayesian model for estimating the mean).
Rasmus Bååth

1
It all depends on what you mean by robust. What you are saying right now is that you would like robustness wrt data. What I was proposing was robustness wrt model mis-specification. They are both different types of robustness.
yannick

2
I would say that the examples I gave, MAD and using a t distribution as the distribution for the data are examples of robustness with respect to data.
Rasmus Bååth

I would say Rasmus is right and so would Gelman er al in BDA3, as would a basic understanding that th t distribution has fatter tails than the normal for the same location parameter
Brash Equilibrium

0

I have followed the discussion from the original question. Rasmus when you say robustness I am sure you mean in the data (outliers, not miss-specification of distributions). I will take the distribution of the data to be Laplace distribution instead of a t-distribution, then as in normal regression where we model the mean, here we will model the median (very robust) aka median regression (we all know). Let the model be:

Y=βX+ϵ, ϵ has laplace(0,σ2).

Of course our goal is to estimate model parameters. We expect our priors to be vague to have an objective model. The model at hand has a posterior of the form f(β,σ,Y,X). Giving β a normal prior with large variance makes such a prior vague and a chis-squared prior with small degrees of freedom to mimic a jeffrey's prior(vague prior) is given to to σ2. With a Gibbs sampler what happens? normal prior+laplace likehood=???? we do know. Also chi-square prior +laplace likelihood=??? we do not know the distribution. Fortunately for us there is a theorem in (Aslan,2010) that transforms a laplace likelihood to a scale mixture of normal distributions which then enable us to enjoy the conjugate properties of our priors. I think the whole process described is fully robust in terms of outliers. In a multivariate setting chi-square becomes a a wishart distribution, and we use multivariate laplace and normal distributions.


2
Your solution seems to be focused on robust estimation of the location(mean/median). My question was rather about estimation of scale with the property of consistency with respect to retrieving the SD when the data generating distribution actually is normal.
Rasmus Bååth

With a robust estimate of the location, the scale as function of the location immediately benefits from the robustness of the location. There is no other way of making the scale robust.
Chamberlain Foncha

Anyway I must say I am eagerly waiting to see how this problem will be tackled most especially with a normal distribution as you emphasized.
Chamberlain Foncha

0

Suppose that you have K groups and you want to model the distribution of their sample variances, perhaps in relation to some covariates x. That is, suppose that your data point for group k1K is Var(yk)[0,). The question here is, "What is a robust model for the likelihood of the sample variance?" One way to approach this is to model the transformed data ln[Var(yk)] as coming from a t distribution, which as you have already mentioned is a robust version of the normal distribution. If you don't feel like assuming that the transformed variance is approximately normal as n, then you could choose a probability distribution with positive real support that is known to have heavy tails compared to another distribution with the same location. For example, there is a recent answer to a question on Cross Validated about whether the lognormal or gamma distribution has heavier tails, and it turns out that the lognormal distribution does (thanks to @Glen_b for that contribution). In addition, you could explore the half-Cauchy family.

Similar reasoning applies if instead you are assigning a prior distribution over a scale parameter for a normal distribution. Tangentially, the lognormal and inverse-gamma distributions are not advisable if you want to form a boundary avoiding prior for the purposes of posterior mode approximation because they peak sharply if you parameterize them so that the mode is near zero. See BDA3 chapter 13 for discussion. So in addition to identifying a robust model in terms of tail thickness, keep in mind that kurtosis may matter to your inference, too.

I hope this helps you as much as your answer to one of my recent questions helped me.


1
My question was about the situation when you have one group and how to robustly estimate the scale of that group. In the case of outliers I don't believe the sample variance is considered robust.
Rasmus Bååth

If you have one group, and you are estimating its normal distribution, then your question applies to the form of the prior over its scale parameter. As my answer implies, you can use a t distribution over its log transformation or choose a fat tailed distribution with positive real support, being careful about other aspects of that distribution such as its kurtosis. Bottom line, if you wan a robust model for a scale parameter, use a t distribution over its log transform or some other fat tailed distribution.
Brash Equilibrium
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.