MS-Excel は,計算精度をないがしろにしている。
まさかとは思ったが,数値計算の本に出てくるような基本的な引っかけに,いとも簡単に引っかかる。
A 列に,1~2000までの数値,B 列には A 列の数値に定数を加えたものを用意する。
加える定数のオーダーをいろいろ変えて,各変数の平均値,分散,および両者の相関係数を計算すると,おもしろいことになる。
下の例は,1.00E+13 を加えたとき。
A 列 B 列 平均値 1000.5000 10000000001000.2000 分散 333500.0000 5421103853606.9300 相関係数 0.999999889 (注) 1 10000000000001 2 10000000000002 3 10000000000003 : : 2000 10000000002000Excel を書いたプログラマに教えてあげましょう。
Excel 2004 になって,correl と pearson は同じ値を返すようになった。しかし,極端なデータの場合に変な値になる。