こなさんち

しがないフリーランスエンジニアの備忘録。

基礎理論~誤差~

誤差って何だ

皆さんが知っている誤差、というのは「実際のものと異なる」という認識でしょう。

例えば、私に注がれたジュースとあなたのジュースが違う!的な。

今回は、コンピュータの世界での「誤差」を紹介します。

なぜ誤差が生まれるのか?

コンピュータの世界では、数字や文字などは一定量の桁が確保されます。

なぜ?どこに確保されるの?という話はまた別記事で。

今回は、 数値は有限なんだ という前提のもとお話します。

さて、有限ということは、その桁数を超過してしまったらどうなるのでしょうか。無視されます。スルーされます。なかったコトにされます。

この超過分を「誤差」と言います。誤差には他にも種類があり、特にFEでは説明できる必要があります。

絶対誤差

これが一番シンプルな「誤差」です。

真値 (本当の値)と、有限桁数からはみ出したために真値とずれた観測値との誤差のことです。

例えば、小数点が0桁、すなわち整数のみの桁があります。(PG経験者は整数型の変数と於いてください。)

これに、1234.5という数値を入れます。小数を入れるため、最後の「0.5」が省かれてしまいますね。

この場合の真値は1234.5、測定値は1234.0、0.5が消えてしまったので誤差は「0.5」になります。

意外とシンプル。

相対誤差

相対誤差は、絶対誤差と相対誤差の比率のこと。

なので、

{ \displaystyle
絶対誤差/真値 = 0.5 / 1234.5 = 5/12345  =  1/2469
}

となります。

誤差の発生原因とその種類

丸め誤差

これは一番覚えやすいですね。

四捨五入です。

四捨五入すると末尾の数値が四捨五入する前と当然変化します。

四捨五入する(=丸める)事によって生じるので、丸め誤差と言われます。

桁落ち

ここでは、有効桁数の重要性も感じられます。

例えば、「0.0043」という数値。

この数値にとって重要なもの、有効なものは「43」であり、この桁数(今回でいうと2桁)を有効桁数といいます。

さて、桁落ちとは、この有効桁数が「落ちてしまう」ことを指します。

例えば

{ \displaystyle
356.3622 - 356.3579
}

有効桁数が7桁 - 7桁 です。この答えこそ先程の「0.0043」です。

有効桁数が7桁から2桁に落ちました。これが「桁落ち」です。

要因

値の近い数値同士の減算

情報落ち

次は「情報が落ちてしまう」誤差です。どういうことでしょうか。

例えば、「小数点以下の有効桁数が4桁」の数値から「小数点以下の有効桁数が8桁」の数値を引いた場合の答えが

小数点以下の有効桁数が4桁しか許容しない場合 に生じます。

{ \displaystyle
356.3622 - 0.00000015 = 356.36219985
}

ですが!

小数点以下の有効桁数が4桁しか許容しない ため、答えは { \displaystyle
356.3622 - 0.00000015 = 356.3621
}

となってしまい、正しい答えと異なってしまうんです。

要因

桁の大きい数と、極端に桁の小さい数の加減算。

打切り誤差

これは一言。

有効桁数がとんでもなく大きい数の計算の途中で打ち切ることによって生じる、正確な値との誤差。

出題されること

誤差の発生原因や、回避策が問われます。主に、丸め誤差や桁落ちは頻出です。なんでこの誤差が生まれるのか?知っておきましょう。

以上!今回は誤差についてでした。