外れ値(異常値)
2008年に黒点数がゼロになったと報道されましたが、では21世紀になってからの黒点数の推移はどうなっているのでしょう。以下は2001年から2008年までの8年間の年間平均黒点数です。
2002 104
2003 63.7
2004 40.4
2005 29.8
2006 15.2
2007 7.5
2008 2.9
確かに2007年、2008年の黒点数は2001年、2002年の100以上の頃と比べてとても少ないような感じがします。仮に過去の黒点数の動向を知らないとすると、これら9個のデータの中でどんな黒点数を異常値と見なせばよいのでしょうか。
異常値とは他の数値と比べて極端に違う数値のことですが、もしかして、黒点数が少ないことが異常なのではなく、多いことが異常なのかも知れません。
さて、ここに棄却検定という重要な統計手法があります。事前に特定の分布を想定しておいて、その分布からどれだけ掛け離れているかによって、異常値かどうかを統計的に判定する手法です。
棄却検定では異常値のことを外れ値とも言います。他の値から外れた値という意味です。この棄却検定に関しては、ビジネス統計(検定編)に詳しく説明してありますが、有意水準%点を決めて外れ値の範囲を特定します。そして、範囲を外れた値を抽出することになります。どうしても、外れ値を求めるまでの手順や計算が面倒なことは否めません。
きちんと棄却検定するのであればビジネス統計(検定編)の手順に従ったほうが安全です。
簡単に外れ値を見つける
そこで、もっと簡単に外れ値を抽出する方法をrpnマイスターパッケージに用意しました。それがoutlierプログラムです。
outlierプログラムは、上記の棄却検定のような手順を省略して、有意水準の指定が必要なく、データだけあれば外れ値を判定して抽出してくれるのでとても便利です。詳しい原理は省きますが、上記のデータがdata.txtに格納されていると考えて、このoutlierに渡してみましょう。
63.7
104
111
黒点数だけのデータに加工してからoutlierプログラムに渡していますが、2001年から2003年の3年間の黒点数を外れ値だと判定しました。グラフにすると以下のような感じです。
^ 150
|
|
* <--- 外れ値
- * <--- 外れ値
|
|
|
| * <--- 外れ値
-
| *
|
| *
| *
| * *
+----|-----|-----|----|-----|-----|---->
2001 2008
なぜ、2003年の黒点数が外れ値なのかしらとは思いますが、他の2004年から2008年までの黒点数が安定して少ないので、外れ値として判定されたのでしょう。
300年超の黒点数データではどうなる
では、21世紀からの黒点数データではなく、過去300年を超える黒点数データの場合には、外れ値が出てくるのでしょうか。以下に再掲するのは、1700年から2008年までの309年の黒点数データです。
1701 11
1702 16
:
(中略)
:
2006 15.2
2007 7.5
2008 2.9
data.txtにデータが格納されていると考えて、外れ値を検出してみましょう。
かなり長い間計算してようやくDOSプロンプトが表示されましたが、値は出てきませんでした。つまり、外れ値はないと判断されています。
実際のところ、黒点数の多い少ないには周期性(有名な11年周期や55年周期)があります。従って、大抵の黒点数は過去に出現しているはずで、外れ値が出るのは逆におかしいということになるので妥当な結論でしょう。
outlierは500個の数値程度を目安に使用してください。
本講座で使用したプログラムは、rpnマイスターパッケージとして購入することができます。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。