LoginSignup
1
0

More than 3 years have passed since last update.

平均と標準偏差の計算をほぼ整数の計算に?!

Last updated at Posted at 2020-07-23

はじめに

データの特徴を表す量として有名なのが平均でしょう.また,データのばらつきを表すのが標準偏差です.これらの量は,手元に関数電卓等がすぐに計算できますが,データ量が増えると大変になります.そこで,ここでは平均と標準偏差を容易に計算できる方法について考えてみました.

適当な定数を引いたり,掛けたりすると...

データ全体に,適当な定数を引いたり,掛けることを一次変換と呼びます.一次変換により平均や標準偏差の値がどのように変化するのでしょうか?

定数を引いてみる!

あるデータ$x_1,x_2,\cdots,x_n$に定数$a$を引いたものを$u_1, u_2, \cdots, u_n$としましょう.式で表すと次のようになります.

u_i=x_i-a~~(i=1,2,\cdots n)

この$u_i$の平均 $\overline{u}$は次のようになりますね.

\overline{u}=\frac{u_0+u_1+\cdots +u_n}{n}=\frac{1}{n}\sum^{n}_{i=1} u_i

この式を眺めると,次のように変形できるでしょう.

\begin{align}
\overline{u}
&=\frac{1}{n}\sum^{n}_{i=1} u_i 
=\frac{1}{n}\sum^{n}_{i=1} (x_i-a) \\
&=\frac{1}{n}\left( \sum^{n}_{i=1} x_i- \sum^{n}_{i=1} a \right)
=\frac{1}{n}\left( \sum^{n}_{i=1} x_i- an \right) 
=\overline{x}-a \tag{1}
\end{align}

一方,$u_i$の標準偏差$s_u$は次のよう計算できます.

s_u^2=\frac{1}{n-1} \left\{ (u_0-\overline{u})^2+(u_1-\overline{u})^2+ \cdots +(u_n-\overline{u})^2 \right\} =\frac{1}{n-1}\sum^{n}_{i=1} (u_i-\overline{u})^2

この式もまた,次のように変形できるでしょう.

\begin{align}
s_u^2
&=\frac{1}{n-1}\sum^{n}_{i=1} (u_i-\overline{u})^2 \\
&=\frac{1}{n-1}\sum^{n}_{i=1} \{(x_i-a)-(\overline{x}-a)\}^2~~(\because 式(1)より\overline{u}=\overline{x}-a) \\
&=\frac{1}{n-1}\sum^{n}_{i=1} (x_i-\overline{x})^2 =s_x^2 \tag{2}
\end{align}

ここまでの性質を整理すると,

\begin{align}
\overline{u}&=\overline{x}-a,~~s_u=s_x \\
&\rightarrow~\overline{x}=\overline{u}+a,~~s_x=s_u \tag{3}
\end{align}

ですね.

定数を掛けてみる!

あるデータ$x_1, x_2, \cdots ,x_n$に定数$b$を掛けたものを$v_1, v_2, \cdots, v_n$としましょう.式で表すと次のようになります.

v_i=bx_i~~(i=1,2,\cdots n)

この$v_i$の平均$\overline{v}$は

\overline{v}=\sum^n_{i=1} b x_i

です.これを変形していくと次の関係が得られます.

\begin{align}
\overline{v}
&=\frac{1}{n} \sum^n_{i=1} v_i
=\frac{1}{n} \sum^n_{i=1} bx_i \\
&=\frac{b}{n} \sum^n_{i=1} x_i
=b \overline{x} \tag{4}
\end{align}

また,標準偏差$s_v$は

s_v^2=\frac{1}{n-1}\sum^{n}_{i=1} (v_i-\overline{v})^2

により得られます.これを変形していくと次の関係が得られます.

\begin{align}
s_v^2
&=\frac{1}{n-1}\sum^{n}_{i=1}(v_i-\overline{v}) \\
&=\frac{1}{n-1}\sum^{n}_{i=1}(b x_i- b\overline{x})~~(\because 式(4)より\overline{v}=b\overline{x}) \\
&=\frac{b^2}{n-1}\sum^{n}_{i=1} (x_i-\overline{x})^2=b^2 s_x^2
\end{align}

ここまでの性質を整理すると,

\begin{align}
\overline{v}&=b\overline{x},~~s_v=bs_x \\
&\rightarrow~\overline{x}=\frac{\overline{v}}{b},~~s_x=\frac{s_v}{b} \tag{5}
\end{align}

ですね.

平均の計算を簡易に?!

ここまで得られた関係,式(3)と式(5)は次の通りです.

\begin{align}
\overline{x}&=\overline{u}+a,&~~s_x=s_u \tag{再掲3}\\
\overline{x}&=\frac{\overline{v}}{b},~~&s_x=\frac{s_v}{b} \tag{再掲5}
\end{align}

これらの関係から,次の性質を導き出せます.今,元のデータに定数$a,~b$を掛けたり,引いたりすることで

z_i=(x_i-a) \times b \tag{6}

と変換します.$z_i$の平均$\overline{z}$と標準偏差$s_z$は,元のデータの平均$\overline{x}$および標準偏差$s_x$を用いて次のように与えられます.

\overline{z}=(\overline{x}-a) \times b,~~s_z=bs_x

これを$\overline{x}$と$s_x$について変形すると次のようになります.

\overline{x}=a+\frac{1}{b}\overline{z},~~s_x=\frac{1}{b}s_z \tag{7}

計算例

5日分の気温[$^\circ \mathrm{C}$]の観測値

28.1,~~29.4,~~28.7,~~29.2,~~29.8

の平均値を計算してみます.

計算手順としては
 Step1. 観測値を式(6)で変換
 Step2. 変換値に対する平均(標準偏差)を計算
 Step3. 式(7)でもとに戻す

です.一見面倒に見えますが,この手順を踏むことでどうなるでしょうか・・?

観測値を眺めると,$29^\circ \mathrm{C}$くらいが観測値の真ん中の値くらいに見えますから,$a=29$とします.さらに,小数点以下1桁の数値ですから,10倍してあげれば整数になります.そのため,$b=10$とでもしてみます.

Step1. 観測値を式(6)で変換

$a,~~b$ を式(6)に代入すれば

$$z_i=(x_i-29.0) \times 10$$

となります.観測値と,式(6)で変換した値は下表のようになりますね.

$$x_i$$ 28.1 29.4 28.7 29.2 29.8
$$z_i$$ -9 4 -3 2 8

Step2. 変換値に対する平均(標準偏差)を計算

この $z_i$ の平均は,

\overline{z}=\frac{(-9)+4+(-3)+2+8}{5}=0.4

です.

Step3. 式(7)でもとに戻す

したがって,観測値$x$の平均$\overline{x}$は式(7)より以下のように求められます.

\overline{x}=a+\frac{1}{b}\overline{z}=29.0+\frac{0.4}{10}=29.04

標準偏差$s_z$の値を計算するには,一次変換で得られた$z$の値についての標準偏差$s_z^2$を計算します.$z$の平均値は$\overline{z}=0.4$ですから,

s_z^2=(-9-0.4)^2+(4-0.4)^2+(-3-0.4)^2+(2-0.4)^2+(8-0.4)^2 \tag{8}

を計算した後,式(7)を用いて観測値の標準偏差を求めます.これだけでも計算は楽になりました.しかし,もっともっと計算を楽にしたい...

標準偏差の計算をさらに簡易化しよう

$z$の標準偏差$s_z$を変形してみたいと思います.

\begin{align}
s_z^2
&=\sum_{i=1}^{n} (z_i-\overline{z})^2
=\sum_{i=1}^{n} (z_i^2-2\overline{z}z+\overline{z}^2) \\
&=\sum_{i=1}^{n} z_i^2 -2\overline{z}\sum_{i=1}^{n} z_i +\sum_{i=1}^{n} \overline{z}^2 \\
&=\sum_{i=1}^{n} z_i^2 -2\overline{z} (n\overline{z})+\sum_{i=1}^{n}\overline{z}^2~~ \left(\because \overline{z}=\frac{1}{n}\sum_{i=1}^{n}z_i \leftrightarrow \sum_{i=1}^{n}z_i=n\overline{z} \right) \\
&=\sum_{i=1}^{n} z_i^2 -n\overline{z}^2 \tag{9}
\end{align}

この関係を用いると,式(8)はさらに簡単になり,

s_z^2=\{(-9)^2 + 4^2 +(-3)^2+2^2+8^2 \}-5\times(0.4)^2=173.2

が得られます.これを用いて,一次変換$z$の標準偏差は

s_z=\sqrt{\frac{s_z^2}{n-1}}=\sqrt{\frac{173.2}{5-1}}=6.58

となります.したがって,観測値の標準偏差は式(7)より

s_x=\frac{1}{b}s_z=\frac{6.58}{10}=0.658

となり,ほぼ整数の計算のみとなっていることが分かります.

まとめ

適当な定数 $a,~b$を掛けたり,引いたりして変換した

z_i=(x_i-a) \times b \tag{再掲6}

に対して,その平均$\overline{z}$および標準偏差$s_z$を求める.この時,$s_z$は以下のようにして求めると簡単となる.

s_z^2=\sum_{i=1}^{n} z_i^2 -n\overline{z}^2 \tag{再掲9}

この値($\overline{z},~s_z$)を

\overline{x}=a+\frac{1}{b}\overline{z},~~s_x=\frac{1}{b}s_z \tag{再掲7}

に代入して,元のデータの平均 $\overline{x} $ および $s_x$を求める.

参考

篠崎,竹内,統計解析入門,サイエンス社,2013年.

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0