人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

標準偏差を算出する際に、サンプルに一つ外れ値が含まれています。この外れ値を無視せず、標準偏差の計算に含める(何らかの形で補正をかけて、標準偏差の算定結果に与える影響を抑える)ような手法はありますか?

●質問者: masa00
●カテゴリ:学習・教育 科学・統計資料
✍キーワード:標準偏差 補正 計算
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● adgt
●20ポイント

エクセルに計算式を入力して計算すれば良いのではないですか?または、手計算で算出すれば大丈夫です。

何かしらの、統計解析ソフトで他の検定に使うということであれば、データの設定の意味づけを変えれば良いと思います。やり方は、ソフトによっても違うでしょうから一概にはいえないとおもいます。

◎質問者からの返答

ありがとうございます。しかしながら状況として、(当方が勝手に考えた補正計算ではなく)客観的に納得できる方法を採る必要があります(例えば「●●補正、といった一般的な補正計算方法があり、これを使用した」など)。何か一般的な補正方法があれば、ご教唆いただければ助かります。


2 ● Hyperion64
●50ポイント

外れ値を取り込む正統的な方法は確立されていないのが現状のようです。

それを前提として、日銀ワーキングペーパー「 ビジネスサーベイにおける外れ値対応」の9ページの(5)式をアレンジした方法がひとつ考えられます。

http://www.boj.or.jp/type/ronbun/ron/wps/data/wp10j12.pdf

すなわち、n個の正常観測値X1,X2,....Xnと1個の外れ値X0があったとします。

正常観測値の平均mは定義より、

m=(X1+X2+....+Xn)/n

さて、標準偏差というか分散を計算するのに、外れ値X0はそのまま使えないので、外れ値をいれた平均値Mで代用するのがポイントです。

M=(X1+X2+....+Xn+X0)/(n+1)

結果からいうと

(修正標準偏差)^2=(標準偏差)^2+(M-m)^2

ここで(標準偏差)^2=Σ(Xk-m)^2 は正常観測値の標準偏差です。

ご検討ください。

◎質問者からの返答

ご回答いただき、ありがとうございます。

またしばらくご回答を拝見できず、御礼が遅くなり失礼致しました。

頂いた情報は非常に参考になります。早速当方の事案で試してみたいと思います。

どうもありがとうございました。


3 ● cappin
●50ポイント

リサンプリング(バギング)を用いるのはいかがでしょう。

全サンプルが100個とします。

ここから、ランダムに1個選んでは戻す、を100回反復して、100個のサブサンプルを作ります。

このサブサンプルの、平均や標準偏差を用いることにするわけです。

これなら適当な確率で外れ値も入りますし、これをさらに何度か実施することで、外れ値の多さや外れ具合も、ある程度見積もることができると思います。

◎質問者からの返答

ご回答いただき、ありがとうございます。

またしばらくご回答を拝見できず、御礼が遅くなり失礼致しました。

頂いた情報は非常に参考になります。早速当方の事例で試してみたいと思います。


4 ● hathi
●100ポイント ベストアンサー

サンプルに一つ外れ値が含まれています。この外れ値を無視せず、標準偏差の計算に含める(何らかの形で補正をかけて、標準偏差の算定結果に与える影響を抑える)ような手法について

次のPDFのP6(9/72)の下から(ロ)外れ値の処理の記述があるので参考にしてはどうでしょうか。

http://www.boj.or.jp/type/ronbun/ron/wps/data/wp10j12.pdf

物性や化学反応のデータで、標準値があり出現するのは何かの値を中心とした正規分布に近い形をとっていることが前提にされるのであれば、外れ値は除外して対象を絞ってから統計処理する方が良いと思います。値を補正するのは妥当性があるとは思えません。

測定値の絶対値は重要でなくて、母集団の中での相対位置が問題で、母集団は正規分布をしていると言う前提ならば、T得点、正規化という方法があります。よく試験成績などで偏差値を出すようなのに近い方法です。

この方法はサンプルから得られたすべての測定値を順次T得点に変換して扱うので、もしかすると質問者さんの期待に近いかもしれませんが、元の母集団は正規分布をしていると無理矢理に前提にしていること、出てくる値は、入手したサンプルの測定値とはとりあえず似ていないことが問題かもしれません。

http://www.oak.dti.ne.jp/~xkana/psycho/stat/stat_22/index.html

一般的にもしばしば外れ値を除外してから統計処理する方法がとられます。

http://www.geisya.or.jp/~mwm48961/math2/source_code_2sd1.htm

質問者さんは何らかの方法である特定の測定値に補正をかけたいようですが、どのように・どの程度補正をかけたのかで、そのサンプルデータの標準偏差の算定結果には影響が出ます。影響が出ないようにするには補正をできるだけ小さくするしかありません。(仮にサンプル数が1万でも、1つの特定データの値が1億?1兆で、9999のデータの値が20?100の間でにあるなら、特定データに乗じる補正を0に近づけない限り、どのような補正をかけてるかによって、サンプル1万の全データの標準偏差算定結果は大きく揺らいでしまいます)

何が外れ値であるのかを決定するのは容易ではありません。測定値の転記ミスや測定/回答時の誤りなどであることがはっきりしていれば削除したりすれば良いですが、そうでない場合にはやっかいです。

外れ値を(元々は母集団は正規分布である)として、おおざっぱに母集団の平均値、分散などを推定したり、検定に使うための統計処理をしたいのであれば、スミルノフ・グラブス検定で端っこにある値を順番にチェックして外れ値と見なしていく方法があります。

http://aoki2.si.gunma-u.ac.jp/lecture/Grubbs/Grubbs.html

http://aoki2.si.gunma-u.ac.jp/lecture/Grubbs/Grubbs-table.html

なお、何を目的に統計処理しようとしているのか、目的の認識が重要です。それによってサンプル数の決定方法も問題になります。ただ単純に標準偏差や分散を計算すればいいというものではないはずです。統計処理した計算値が揺らぎにくいようにするすることが目的のケースは少ないはず。最終的に何を見解としたいのかをはっきりとさせておく必要があると思います。

ところで状況によっては、上下各5%や10%のサンプルは除外してしまって、残り80%、90%のサンプルを統計処理して、分散や偏差、平均を出しても問題ないかもしれません。(どのような検定をする必要があるのかも大事です。最も、検定の必要もほとんど入らないような場合さえあるようです。ひどい例で、また非常にポピュラーな例では、推定平均値として算出した値だけが、サンプル数やサンプル方法も無関係に一人歩きします。そういう状態を考えると、推定者が勝手に思い込んだ外れ値を勝手な方法で除外しているのでも、あまり問題にはならないように思います)

特殊なケースとして、異質な状態が母集団に存在するのかどうかを母集団からサンプルして測定した値から見てみたいということもあります。(例、40都市を比較して、そこの住民に非行傾向が強い人が多くいる都市かどうかを、各都市の住民個人の個人行動アンケートから探る。このような場合、アンケート結果結果で特異値を示しているものを補正)(建設時期や処理方式がことなる40箇所の焼却工場の定期測定値をサンプルに集めて、各工場の操業の安定度を統計処理で求める場合に、1,2の工場の日別のばらつきが大きく外れている。このような場合、その工場の値を補正)(新薬の薬理効果を60サンプルで見たら、1,2特殊な例があった。それを補正)したら意味がなくなってしまう可能性があります。

統計は私には難しく、過去何回か初歩的な勉強を試みましたが、全部失敗しました。

その私の思いなので、この回答も、次の想いも正しくないと思いますが、『自分が勝手に考えた補正計算ではなく、客観的に納得できる方法を採る』というよりは、『自分が勝手に考えた処理方法を説明し、その合理性を他人に説得し、多くの人から納得してもらうように方法を探る』のが良いように私は思います。

???????????????????????????????????????????

ところで、こんなことを私はやったことがあります。EXCELを使って、サンプル調査のばらつきを直感する方法です。

? A6に次の式を入れて、A7:A10005にオートフィルさせて、A6:A10005をコピーして、値を貼り付けます。

=INT(NORMINV(RAND(),500,80)) (要するに、平均値400、標準偏差80の元データを1万件作ります)

? A1に =AVERAGE(A6:A10005) を入れます。 母集団の平均が出ます。 500に近い数字

A2に =STDEVPA(A5:A10005) を入れます。 母集団の標準偏差が出ます。 80±2位の数字

? B1に =AVERAGE(B6:B55) を入れます。 50件の平均値が出るように

B2に =STDEV(B6:B55) を入れます。 50件のデータから母集団標準偏差の推計値が出るように

B3に =MAX(B6:B55)-MIN(B6:B55) 50件のデータの最高?最低が出るように

B4に =LARGE(B6:B55,1)-LARGE(B6:B55,2) 50件のデータの最高?2番目が出るように

? B6に =INDEX($A$6:$A$10005,INT(1+10000*RAND())) を入れます。A列の1万件から重複を許したランダムサンプルをとります。

B6を B6:B55にオートフィルします。

? B1:B55を、P列くらいまで(どこまででも良いですが)ドッラッグコピーします。

50サンプルをとると、

平均値がどの程度ばらつくものかがわかります。

標準偏差もかなりばらつきます。

最高と最低の格差、1番と2番の差も、結構大きくばらついているのがわかります。

(どこか 例B5に何かの値を変更すると、

再度全部のサンプリングをやり直すので、本当にサンプリングのイメージができます)

統計処理をするようなもの(=サンプルで何かを調べるような場合)

元(本当の実態)は同じでも、結構、サンプルを調べた計算結果が違うのです。

確率的にしか(確かさ加減)は言えないことが、何となくわかる気がします。

サンプルが少なくなるほど、推計できる幅が広がっていきます。(確実に言えることがなくなっていきます)

◎質問者からの返答

懇切丁寧にご回答いただき、誠にありがとうございました。

またしばらくご回答を拝見できず、御礼が遅くなり失礼致しました。

様々な案を教えていただき、非常に参考になりました。

また『自分が勝手に考えた処理方法を説明し、その合理性を他人に説

得し、多くの人から納得してもらうように方法を探る』べきなのはご

指摘の通りと思います。

かなり専門的な内容もあり、当方で全て理解・活用できないかもしれ

ませんが、でき得る限り当方の事例で試してみます。

非常に詳細にご教示頂いたこと、重ねて御礼申し上げます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ