★ 実数の引き算には注意が必要 ★

2786. 実数の引き算には注意が必要 青木繁伸 2004/03/17 (水) 19:45
└2789. re実数の引き算には注意が必要 ひの 2004/03/17 (水) 20:22
 └2791. Re: re実数の引き算には注意が必要 青木繁伸 2004/03/17 (水) 21:17
  └2816. Re^2: re実数の引き算には注意が必要 舟尾 2004/03/22 (月) 23:20


2786. 実数の引き算には注意が必要 青木繁伸  2004/03/17 (水) 19:45
二数の差が 0.1 になって,別の二数の差も 0.1 になっても,その二つの 0.1 はコンピュータの中では同じ値ではないということ。

R も,だめだな〜〜(^_^)
x <- c(0.8, 0.7, 0.8, 1.1, 0.8, 1.0, 0.4, 0.6, 1.0, 0.9, 0.7, 0.7, 0.7, 0.6, 0.9, 1.0, 0.9, 0.4, 1.1, 1.0)
y <- c(0.8, 0.6, 0.9, 1.0, 1.0, 1.1, 0.5, 0.5, 0.9, 1.0, 0.5, 0.6, 0.8, 0.6, 0.8, 0.9, 0.8, 0.7, 1.1, 1.1)
このデータで,ウィルコクソンの符号付順位和検定を行うと
wilcox.test(x, y, paired=TRUE)
結果は
V = 66.5, p-value = 0.6446
のようになるが,これは間違いである。

正しくは,以下のようにする
x <- x*10 本当は元のデータを10倍して入力し直した方が確実だが
y <- y*10
として,要するに x, y を10^n 倍して,整数にしてから
wilcox.test(x, y, paired=TRUE)
とすれば
V = 75.5, p-value = 0.9798
という,正しい答えを得ることができる。
> x <- c(8, 7, 8, 11, 8, 10, 4, 6, 10, 9, 7, 7, 7, 6, 9, 10, 9, 4, 11, 10)
> y <- c(8, 6, 9, 10, 10, 11, 5, 5, 9, 10, 5, 6, 8, 6, 8, 9, 8, 7, 11, 11)
> wilcox.test(x, y, paired=TRUE)

    Wilcoxon signed rank test with continuity correction

data:  x and y 
V = 75.5, p-value = 0.9798
教訓:計算途中で実数の差を取ってその大小を云々する場合には注意。

いろいろな統計パッケージでも,結果が違う(間違えた答えを出すものがある)そうです。
私の,
http://aoki2.si.gunma-u.ac.jp/JavaScript/mpsr.html
では,正しい答えを出します。

     [このページのトップへ]


2789. re実数の引き算には注意が必要 ひの  2004/03/17 (水) 20:22
> 教訓:計算途中で実数の差を取ってその大小を云々する場合には注意。

 「引き算」とか「差」とかは余計です。
「実数が等しいかどうかを調べてはいけない」というのが数値計算の定石。等しいかどうか確かめる必要があるときには整数演算または有理数演算にする必要があります。

     [このページのトップへ]


2791. Re: re実数の引き算には注意が必要 青木繁伸  2004/03/17 (水) 21:17
0.123=0.123は常に成り立ちます
ただし,x-y=0.123 a-b=0.123 のとき 二つの 0.123 は等しいとは限らない(x<>a & y<>b でも,等しいときもある)
また,プログラム中に定数として書いた 0.123 と何らかの形で入力した 0.123 が等しいかどうかは保証の限りにはあらず。

定数として記述したもの,定数の定義範囲にもよる。
差でなくても,和,差,積,商,その他あらゆる演算による実数同士の比較と言うことです。

引用した私の JavaScript プログラムをエラーに導くデータを作るのは,ソースを読めば簡単です。そのようなデータは普通はないだろうという安易な仮定に頼っているだけです(^_^;)

     [このページのトップへ]


2816. Re^2: re実数の引き算には注意が必要 舟尾  2004/03/22 (月) 23:20
残念です….
Rならば,情報落ちや丸め誤差を自動で補正してくれていると思っていたのですが,そこまではやってくれないんですね.

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 028 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る