統計

だめな外れ値の対処法も紹介するよ

投稿日:2019年2月27日 更新日:

てん@統計屋さんです

この記事は、以前の記事の続きです。外れ値の取扱として、だめな例を紹介しています。正当になりうる取扱いについては下の記事を確認ください。

だめ絶対︰外れ値の検定

魅力的な手法名ですね。その名前の通り、データに外れ値があるか?ということに対する検定となっています。オススメしないわけですから、手法の詳細な説明はWikipedia先生におまかせしますが、代表的な利用手順を紹介しておきます。

1.取得データに対し、有意水準○%の外れ値の検定を行う

2.有意であればデータを削る

3.外れ値検定を行う

4.以下2.3.を繰り返し

5.有意にならなくなるまで外れ値を外したら、残ったデータで解析を行う

事前に(計画段階で)手順を示すことができますし、客観的な再現も容易です。恣意性はそこには存在しないとも思えてきます。なるほど、いい手順な気がしてきました。

ところで、外れ値の検定は何を根拠に外れ値と判定しているのでしょうか?

外れ値の検定は、正規分布から出たデータとしてあまりにも極端な値があるということを判定しています。つまり、正規分布ではないデータに適用するとひどい目に合うことになります。

そして三人だけになった

次のようなデータを用意しました。

「1、 8、 64、 512、 4,096、 32,768、 262,144、 2,097,152、 16,777,216、 134,217,728、 1,073,741,824」 この中で外れ値の候補はどれですか?

[word_balloon id=”6″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]1,073,741,824かな?[/word_balloon]

そうですね、その一つ小さい値である134,217,728と9億近い差があります。

さて、このデータに外れ値の検定を適用してみましょう。有意水準は馴染みのある0.05にしておきましょう。※今回はスミルノフ・グラブス検定を適用しています

外れ値の検定にデータを突っ込んで、出てきた検定結果のP値がこちらになります

1,073,741,824に対する p値<0.00001

有意ですね

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]おめでとう1,073,741,824は外れ値だったので除外対象だ![/word_balloon]

[word_balloon id=”9″ position=”R” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]お前だれだ?[/word_balloon]

除外するべきデータがいたので1,073,741,824を除いて、再度の外れ値の検定を行います。

[word_balloon id=”6″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]次の外れ値の候補は134,217,728やな[/word_balloon]

検定結果のp値がこちらになります

134,217,728に対する p値<0.00001

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]おめでとう134,217,728も外れ値だったので除外対象だ![/word_balloon]

まだ外れ値がいたようですので、外れ値の検定は続きます。

16,777,216に対する p値<0.00001

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]おめでとう16,777,216も除外対象だ![/word_balloon]

2,097,152に対する p値<0.00001

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]2,097,152も除外対象だ![/word_balloon]

262,144に対する p値=0.00007

262,144[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]262,144も除外対象なの?[/word_balloon]

32,768に対する p値=0.00049

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]32,768も除外しないとだめ?[/word_balloon]

4,096に対する p値=0.00363

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]4,096は除外しないほうがいいよ・・・[/word_balloon]

512に対する p値=0.02649

[word_balloon id=”11″ position=”L” size=”M” balloon=”talk” name_position=”hide” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]512はもう勘弁して!![/word_balloon]

64に対する p値=0.19409

[word_balloon id=”1″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]安心して64は残るから[/word_balloon]

そしてデータは1、 8、 64の3個になりました。

外れ値が無くなったと、喜んでる方はいらっしゃいますでしょうか?いませんよね?

[word_balloon id=”9″ position=”R” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]そして誰もいなくなった

って言えなくて残念そうな方はここにいますよ[/word_balloon]

[word_balloon id=”1″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]う、うん、ちょっと残念[/word_balloon]

※この記事のオチは済みました

もとのデータってそもそも外れ値があったと思いますか?

実はあれを種明かしすると1から順繰りに8倍していっただけのデータです、なので

1、 8、 64、 512、 4,096、 32,768、 262,144、 2,097,152、 16,777,216、 134,217,728、 1,073,741,824

この訳のわからない数列も、log2で変数変換したら
0、 3、 6、 9、 12、 15、 18、 21、 24、 27、30

となります。もちろんこの中に外れ値があると主張する方は皆無でしょう。もとのデータは、外れ値があるわけではなく、対数スケールで見るべきデータであるだけでした。

外れ値判定されたデータを外していい根拠は?

そして3人になった は極端な例ですが、そもそも外れ値の検定で有意だったというだけの理由で除外されたデータは、どうして除外してよいのでしょうか?

誤測定との根拠もなく、科学的に見ればありえなくもないその数値はなぜ除外されなくてはならないのでしょうか?

正規分布から外れているという事だけで貴重なデータを外して何故いいのか、それを説明する方法は多分ありません。

全くいらない手法なの?

ここまで、けちょんけちょんに言いましたが、外れ値の検定が、全くいらないと言ってるわけではないです。大量のデータを扱う人にとって、一つ一つのデータを目を皿にして眺め、誤測定や誤入力を見つけることは困難でしょう。しかし、外れ値の検定で引っ掛けたデータだけを精査するのであれば、かなり現実味が出て来ます。

場合によっては、適切な変数変換の考察もできるかもしれません。

エラーデータ(異常値)のスクリーニングに使うのであれば、十分価値のある手法だと思います。

まとめ

外れ値の検定は、恣意的な外れ値の除外よりは、その手続きを再現出来る点で確かにフェアです。しかし、これに頼りっきりで、データの特性を一切見なくなるって言うのでは上記のような大問題が起こりえます。取得したデータを修正したり除外するというのは、本当に慎重に、かつその扱いが適正である明確な(数学的ではない)根拠を持つことが重要です。

[word_balloon id=”1″ position=”L” size=”M” balloon=”talk” name_position=”under_avatar” radius=”true” avatar_border=”true” avatar_shadow=”false” balloon_shadow=”true”]とかいいながら、データ取得計画時には、「外れ値出るなー!」って祈ってたりするんですがね。[/word_balloon]

でわでわ

他のp値を小さくするためのだめな対処法を駆使する方々の紹介は以下。

スポンサーリンク

-統計
-, ,

執筆者:


  1. […]  データをてんから見てみようだめな外れ値の対処法も紹介するよhttps://www.ten-kara-data.com/bad-outlier-method/てん@統計屋さんですこの記事は、以前の記事の続きです。外れ値の取扱として […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

明日役に立たない平均値と中央値の関係を紹介するよ

てん@統計屋さんです ネットで統計の検索をしているとたくさん見つかりますね 平均値と中央値の使い分け とか 正規分布しないデータには平均値より中央値を使おう みたいな解説 似たような記事を書いてもいい …

【読んでみた】この世で一番おもしろい統計学

てん@統計家さんです 「この世で一番おもしろい統計学」という本を読んでみました。 大変楽しく読ませていただきましたので、感心した点を紹介したいと思います。 この記事の目次本書の特徴要約この本をおすすめ …

統計関連の学会が発表した声明を紹介するよ

日本計てん@統計屋さんです 日本統計学会が声明を発表したというニュースが(ごく狭い範囲で?)駆け巡りました。 毎月勤労統計調査に様々な不正(意図的かどうかに関わらず)があったことに対して、落胆の表明と …

ゆとりある老後生活費月額の平均は34.9万円というデータの大本をたどってみたよ

てん@統計屋さんです。 みなさん老後の資金計画はいかがですか? 我が家では、余裕のあるお金を贅沢に使いすぎないよう、強制的な貯蓄の仕組みをいくつか組み合わせて、準備しています。 先日は、個人年金の話を …

正規分布するデータ?そんなものないよ

てん@統計屋さんです 入門的な統計の教科書でちょいちょい見かけるフレーズがありますね。 「世の中には正規分布するものが多い」 あれ、正確じゃないです。タイトルにある「正規分布するものなんか無い!」を証 …

スポンサーリンク

スポンサーリンク