コンテンツにスキップ

線形代数学 I - 第7回講義ノート

はじめに

今回のテーマは「1次元データとベクトルの和と積」です。具体的には、身近な1次元の数値データを数学的な道具である「ベクトル」として捉え、そのベクトル表現を用いてデータの基本的な性質を示す指標である平均、偏差、分散、標準偏差を計算し、理解することを目標とします。

線形代数学で学ぶベクトルや行列の概念は、抽象的な数学の道具としてだけでなく、現代社会で必須となっているデータサイエンスや機械学習の分野で、データを効率的に扱い、分析するための強力な言語としても機能します。今回の内容は、その第一歩となるものです。

本講義の学習目標

この講義を終える頃には、皆さんは以下のことができるようになります。

  1. 1次元データをベクトルとして表現する意義を理解し、実際に表現できる。
  2. ベクトルの演算(特に内積やスカラー倍)を用いて、データの平均値を計算できる。
  3. ベクトルの演算を用いて、データの偏差(各データ点が平均からどれだけ離れているか)を計算できる。
  4. ベクトルの演算を用いて、データの分散(データのばらつき具合)を計算できる。

スライド スライドはこちらから。

問題こちらから

1. 1次元データとベクトル表現

1.1 なぜデータをベクトルで表現するのか?

私たちの周りには、様々な数値データがあふれています。例えば、クラスの学生のテストの点数、ある都市の毎日の最高気温、患者さんの血圧の測定値など、これらはすべて「1次元データ」の例です。これらのデータが少数であれば個別に扱うことも可能ですが、データ数が増える(例えば、数百人、数千人のデータ)と、それらを効率的に、かつ統一的な方法で処理する必要が出てきます。

ここで線形代数学の「ベクトル」という概念が役立ちます。データをベクトルとして表現することには、以下のような大きなメリットがあります。

  • 記述の簡潔さ: 例えば100個の数値データを、\(\mathbf{x}\) という一つの記号で代表させることができます。これにより、数式やアルゴリズムの記述が非常にスッキリとし、見通しが良くなります。

  • 計算の効率化: 現代のコンピュータでは、ベクトルや行列の演算を非常に高速に行うための専用の計算ライブラリ(例えば、Python言語のNumPyライブラリなど)が整備されています。データをベクトルとして扱うことで、これらのライブラリの恩恵を受け、大量のデータ処理を効率的に行うことができます。

  • 幾何学的解釈の導入: データをベクトルとして捉えると、\(n\)個のデータセットを\(n\)次元空間内の「点」または「ベクトル」として視覚的・幾何学的に解釈する道が開けます。これにより、データの分布や関係性について直感的な洞察を得やすくなります(この恩恵は特に多次元データの場合に顕著になります)。

  • 多次元データへの自然な拡張性: 本講義では1次元データから始めますが、実世界のデータは複数の特徴量を持つ「多次元データ」であることが一般的です。多次元データをベクトルで扱う考え方は、このような多次元データをベクトルや行列で表現し、分析するための基礎となります。

1.2 データベクトルの定義

それでは、1次元データをベクトルとしてどのように表現するかを定義しましょう。

定義:データベクトル \(n\)個の観測値 \(x_1, x_2, \ldots, x_n\) からなる1次元データセットは、\(n\)次元の列ベクトル \(\mathbf{x}\) として以下のように表現できます。

\[\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}\]

このベクトル \(\mathbf{x}\) を「データベクトル」と呼びます。

この定義では列ベクトルを用いていますが、文脈によっては行ベクトルとして扱うこともあります。本講義では、特に断りのない限り、データベクトルは列ベクトルとします。

1.3 例:体温データ

具体的な例を見てみましょう。5人の学生A, B, C, D, Eの体温を測定したところ、それぞれ 36.5℃, 36.8℃, 37.2℃, 36.4℃, 36.9℃ であったとします。この1次元データセットは、5次元のデータベクトル \(\mathbf{x}\) として次のように表現できます。

\[\mathbf{x} = \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix}\]

このように、複数の数値データを一つのベクトルにまとめることで、以降の計算や議論が扱いやすくなります。

1.4 全ての要素が1のベクトル (\(\mathbf{1}\) ベクトル) の定義と役割

データベクトルと並んで、データの統計量を計算する際に非常に重要な役割を果たす特別なベクトルがあります。それは、全ての要素が1であるベクトルで、\(\mathbf{1}\)(イチベクトル)と表記されることが多いです。

定義:全ての要素が1のベクトル (\(\mathbf{1}\) ベクトル) \(n\)次元の「1ベクトル」\(\mathbf{1}_n\) は、全ての要素が1である \(n\)次元の列ベクトルとして、以下のように定義されます。

\[\mathbf{1}_n = \begin{pmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{pmatrix}\]

ベクトルの次元 \(n\) が文脈から明らかな場合は、添え字の \(n\) を省略して単に \(\mathbf{1}\) と書くこともあります。

例えば、3次元の1ベクトルは \(\mathbf{1}_3 = \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix}\) です。

この \(\mathbf{1}\) ベクトルは、特にデータの総和を計算したり、平均値をベクトル表記で簡潔に表現したりする際に非常に便利です。後ほど具体的な使い方を見ていきましょう。

2. ベクトルを用いた記述統計量の計算

ここからは、1次元データを表現したデータベクトルを用いて、そのデータの基本的な特性を示す記述統計量である「平均値」「偏差」「分散」「標準偏差」を計算する方法を学びます。ベクトル演算、特に内積がどのように活用されるかに注目してください。

2.1 データの平均値

データの平均値(または算術平均)は、データセット全体の代表的な値を示す最も基本的な統計量の一つです。

2.1.1 スカラ表記による定義

まず、皆さんがよく知っているであろう、総和を用いた平均値の定義を確認しましょう。 \(n\)個のデータ \(x_1, x_2, \ldots, x_n\) があるとき、その平均値 \(\bar{x}\) は以下のように計算されます。

\[\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i = \frac{x_1 + x_2 + \ldots + x_n}{n}\]

これは、「全てのデータの値を合計し、データの個数で割る」という操作ですね。

2.1.2 ベクトル表記による定義

この平均値の計算を、データベクトル \(\mathbf{x}\)\(\mathbf{1}\) ベクトルを用いて表現してみましょう。

データベクトル \(\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}\)\(n\)次元の1ベクトル \(\mathbf{1}_n\) を考えます。

ここで、\(\mathbf{1}_n\) の転置ベクトル \(\mathbf{1}_n^T = \begin{pmatrix} 1 & 1 & \ldots & 1 \end{pmatrix}\) とデータベクトル \(\mathbf{x}\) の内積を計算すると、

\[\mathbf{1}_n^T \mathbf{x} = (1 \times x_1) + (1 \times x_2) + \ldots + (1 \times x_n) = \sum_{i=1}^{n} x_i\]

となり、これはデータの総和に他なりません。

したがって、平均値 \(\bar{x}\) は、この内積をデータの個数 \(n\) で割ることにより、以下のようにベクトル表記で表すことができます。

定義:データの平均値 (ベクトル表記) データベクトル \(\mathbf{x}\) の平均値 \(\bar{x}\) は、次のように定義されます。

\[\bar{x} = \frac{1}{n} (\mathbf{1}_n^T \mathbf{x})\]

または、内積の記号 · を用いて \(\bar{x} = \frac{1}{n} (\mathbf{1}_n \cdot \mathbf{x})\) と書くこともあります。

このように、ベクトルを用いると総和の記号 \(\sum\) を使わずに平均値を表現でき、数式が非常にスッキリします。

2.1.3 例題:体温データの平均値

先ほどの5人の学生の体温データ \(\mathbf{x} = \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix}\) を用いて、平均体温 \(\bar{x}\) を計算してみましょう。 ここでは \(n=5\) ですから、\(\mathbf{1}_5^T = \begin{pmatrix} 1 & 1 & 1 & 1 & 1 \end{pmatrix}\) を用います。

\[\bar{x} = \frac{1}{5} (\mathbf{1}_5^T \mathbf{x}) = \frac{1}{5} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 \end{pmatrix} \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix}\]
\[= \frac{1}{5} (1 \times 36.5 + 1 \times 36.8 + 1 \times 37.2 + 1 \times 36.4 + 1 \times 36.9)\]
\[= \frac{1}{5} (36.5 + 36.8 + 37.2 + 36.4 + 36.9)\]
\[= \frac{1}{5} (183.8) = 36.76\]

したがって、この5人の学生の平均体温は 36.76℃ であることが分かります。

2.2 データの偏差

平均値はデータセットの中心的な傾向を示しますが、個々のデータがその平均値からどれだけ離れているか、つまり「偏差」を見ることも重要です。

2.2.1 スカラ表記・ベクトル表記による定義

各データ点 \(x_i\) の平均値 \(\bar{x}\) からの偏差 \(d_i\) は以下のように定義されます。

定義:データの偏差 (スカラ表記)

\[d_i = x_i - \bar{x}\]

この偏差を全てのデータ点について計算し、それらを要素とするベクトルを「偏差ベクトル」と呼びます。

定義:データの偏差 (ベクトル表記) データベクトル \(\mathbf{x}\) の平均値を \(\bar{x}\) とするとき、偏差ベクトル \(\mathbf{d}\) は次のように定義されます。

\[\mathbf{d} = \mathbf{x} - \bar{x}\mathbf{1}_n = \begin{pmatrix} x_1 - \bar{x} \\ x_2 - \bar{x} \\ \vdots \\ x_n - \bar{x} \end{pmatrix} = \begin{pmatrix} d_1 \\ d_2 \\ \vdots \\ d_n \end{pmatrix}\]

ここで、\(\bar{x}\mathbf{1}_n\) は、全ての要素が平均値 \(\bar{x}\) であるベクトル \(\begin{pmatrix} \bar{x} \\ \bar{x} \\ \vdots \\ \bar{x} \end{pmatrix}\) を表します。つまり、元のデータベクトルの各要素から一律に平均値を引く操作です。

2.2.2 偏差の総和が0になる性質とその証明

偏差には非常に重要な性質があります。それは、「偏差の総和は常に0になる」というものです。つまり、\(\sum_{i=1}^{n} d_i = 0\) です。

証明 (スカラ表記):

\[\sum_{i=1}^{n} d_i = \sum_{i=1}^{n} (x_i - \bar{x})\]

分配法則により、

\[= \sum_{i=1}^{n} x_i - \sum_{i=1}^{n} \bar{x}\]

ここで、\(\sum_{i=1}^{n} x_i = n\bar{x}\) (平均の定義より)であり、また \(\bar{x}\)\(i\) によらない定数なので \(\sum_{i=1}^{n} \bar{x} = n\bar{x}\) となります。

したがって、

\[= n\bar{x} - n\bar{x} = 0\]

(証明終)

この性質をベクトル表記で表現すると、偏差ベクトル \(\mathbf{d}\)\(\mathbf{1}_n\) ベクトルの内積が0になることを意味します。

\[\mathbf{1}_n^T \mathbf{d} = \sum_{i=1}^{n} (1 \times d_i) = \sum_{i=1}^{n} d_i = 0\]

幾何学的には、これは \(\mathbf{1}_n\) ベクトルと偏差ベクトル \(\mathbf{d}\) が直交していることを示しています。

2.2.3 例題:体温データの偏差ベクトル

再び体温データの例 \(\mathbf{x} = \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix}\) に戻り、平均値 \(\bar{x} = 36.76\)℃ を用いて偏差ベクトル \(\mathbf{d}\) を計算してみましょう。

\[\mathbf{d} = \mathbf{x} - \bar{x}\mathbf{1}_5 = \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix} - 36.76 \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 36.5 - 36.76 \\ 36.8 - 36.76 \\ 37.2 - 36.76 \\ 36.4 - 36.76 \\ 36.9 - 36.76 \end{pmatrix} = \begin{pmatrix} -0.26 \\ 0.04 \\ 0.44 \\ -0.36 \\ 0.14 \end{pmatrix}\]

この偏差ベクトルの要素の和を計算してみると、\((-0.26) + 0.04 + 0.44 + (-0.36) + 0.14 = 0\) となり、確かに偏差の総和が0になることが確認できます。

2.3 データの分散

偏差は個々のデータ点が平均からどれだけ離れているかを示しますが、データセット全体としてどの程度ばらついているか、その「散らばり具合」を一つの数値で表したい場合があります。その代表的な指標が「分散」です。 分散は、各データ点の偏差を二乗し、それらを平均したものです。偏差を二乗する理由は、偏差には正の値も負の値もあり、そのまま合計すると0になってしまうため、散らばり具合の指標としては不適切だからです。二乗することで、平均からの距離の大きさを正の値として評価できます。

2.3.1 スカラ表記・ベクトル表記による定義

定義:データの分散 (スカラ表記) データセットの分散 \(\sigma^2\) (シグマ二乗と読みます) は、次のように定義されます。

\[\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} d_i^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2\]

これをベクトル表記で表すと、偏差ベクトル \(\mathbf{d}\) の自分自身との内積(これは偏差ベクトルのノルムの二乗 \(\|\mathbf{d}\|^2\) に等しい)を用いることになります。 \(\mathbf{d}^T \mathbf{d} = d_1^2 + d_2^2 + \ldots + d_n^2 = \sum_{i=1}^n d_i^2\) ですから、

定義:データの分散 (ベクトル表記) データベクトル \(\mathbf{x}\) から計算される偏差ベクトルを \(\mathbf{d}\) とするとき、分散 \(\sigma^2\) は次のように定義されます。 \(\(\sigma^2 = \frac{1}{n} (\mathbf{d}^T \mathbf{d}) = \frac{1}{n} \|\mathbf{d}\|^2\)\) また、\(\mathbf{d} = \mathbf{x} - \bar{x}\mathbf{1}_n\) を代入して、

\[\sigma^2 = \frac{1}{n} (\mathbf{x} - \bar{x}\mathbf{1}_n)^T (\mathbf{x} - \bar{x}\mathbf{1}_n)\]

分散の値が大きいほど、データは平均値の周りに広く散らばっている(ばらつきが大きい)と解釈できます。逆に、分散が小さいほど、データは平均値の近くに集中している(ばらつきが小さい)と解釈できます。 ただし、分散の単位は元のデータの単位の二乗(例:体温が℃なら分散は℃²)になることに注意が必要です。

2.3.2 例題:体温データの分散

体温データの例で、偏差ベクトルが \(\mathbf{d} = \begin{pmatrix} -0.26 \\ 0.04 \\ 0.44 \\ -0.36 \\ 0.14 \end{pmatrix}\) であったことを思い出しましょう。 このデータセットの分散 \(\sigma^2\) を計算します。

\[\mathbf{d}^T \mathbf{d} = \begin{pmatrix} -0.26 & 0.04 & 0.44 & -0.36 & 0.14 \end{pmatrix} \begin{pmatrix} -0.26 \\ 0.04 \\ 0.44 \\ -0.36 \\ 0.14 \end{pmatrix}\]
\[= (-0.26)^2 + (0.04)^2 + (0.44)^2 + (-0.36)^2 + (0.14)^2\]
\[= 0.0676 + 0.0016 + 0.1936 + 0.1296 + 0.0196\]
\[= 0.412\]

したがって、分散 \(\sigma^2\) は、

\[\sigma^2 = \frac{1}{5} (0.412) = 0.0824\]

この体温データの分散は 0.0824 (℃²) です。

2.4 データの標準偏差

分散はデータのばらつき具合を示す重要な指標ですが、その単位が元のデータの単位の二乗になってしまうため、直感的に解釈しづらいことがあります。そこで、分散の正の平方根をとったものを「標準偏差」と呼び、ばらつきの指標としてよく用いられます。標準偏差の単位は、元のデータと同じになります。

2.4.1 定義とベクトル表記

定義:データの標準偏差 データセットの標準偏差 \(\sigma\) (シグマと読みます) は、分散 \(\sigma^2\) の正の平方根として定義されます。

\[\sigma = \sqrt{\sigma^2} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2}\]

ベクトル表記では、

\[\sigma = \sqrt{\frac{1}{n} (\mathbf{d}^T \mathbf{d})} = \frac{1}{\sqrt{n}} \|\mathbf{d}\|\]

標準偏差が大きいほどデータのばらつきが大きく、小さいほどばらつきが小さいことを意味します。平均値と標準偏差をセットで見ることで、データセットの中心的な位置とその周りの広がり具合を把握することができます。

2.4.2 例題:体温データの標準偏差

体温データの分散は \(\sigma^2 = 0.0824\) (℃²) でした。この標準偏差 \(\sigma\) を計算しましょう。

\[\sigma = \sqrt{0.0824} \approx 0.287054\]

有効数字を考慮して、標準偏差は約 0.287℃ となります。平均体温が 36.76℃ で、標準偏差が約 0.287℃ であることから、この5人の学生の体温は、平均的に見ると平均値から ±0.287℃ 程度の範囲に散らばっている、というような大まかな目安を得ることができます。

2.5 分散の別公式

分散を計算する際には、定義式 \(\sigma^2 = \frac{1}{n} \sum (x_i - \bar{x})^2\) だけでなく、もう一つ便利な計算公式があります。

2.5.1 公式の紹介とその意義

定理:分散の計算公式 (別バージョン) データの分散 \(\sigma^2\) は、以下の式でも計算できます。

\[\sigma^2 = \left(\frac{1}{n} \sum_{i=1}^{n} x_i^2\right) - \bar{x}^2\]

ベクトル表記では、

\[\sigma^2 = \left(\frac{1}{n} \mathbf{x}^T \mathbf{x}\right) - \bar{x}^2\]

この式は、「(データの二乗の平均)引く(平均の二乗)」と覚えることができます。

2.5.2 証明

この別公式を証明してみましょう。分散の定義式から出発します。

\[\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2\]

まず、\((x_i - \bar{x})^2\) を展開します。

\[(x_i - \bar{x})^2 = x_i^2 - 2x_i\bar{x} + \bar{x}^2\]

これを総和の式に代入します。

\[\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i^2 - 2x_i\bar{x} + \bar{x}^2)\]

総和の性質(和の総和は総和の和、定数倍は総和の外に出せる)を使って分解します。

\[\sigma^2 = \frac{1}{n} \left( \sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} 2x_i\bar{x} + \sum_{i=1}^{n} \bar{x}^2 \right)\]

ここで、\(\bar{x}\)\(i\) に依存しない定数なので、第2項と第3項の \(\bar{x}\)\(2\bar{x}\) を総和の外に出せます。

\[\sigma^2 = \frac{1}{n} \left( \sum_{i=1}^{n} x_i^2 - 2\bar{x} \sum_{i=1}^{n} x_i + \bar{x}^2 \sum_{i=1}^{n} 1 \right)\]

\(\sum_{i=1}^{n} x_i = n\bar{x}\) (平均の定義より)であり、\(\sum_{i=1}^{n} 1 = n\) ですから、これらを代入します。

\[\sigma^2 = \frac{1}{n} \left( \sum_{i=1}^{n} x_i^2 - 2\bar{x} (n\bar{x}) + \bar{x}^2 (n) \right)\]
\[\sigma^2 = \frac{1}{n} \left( \sum_{i=1}^{n} x_i^2 - 2n\bar{x}^2 + n\bar{x}^2 \right)\]
\[\sigma^2 = \frac{1}{n} \left( \sum_{i=1}^{n} x_i^2 - n\bar{x}^2 \right)\]

最後に \(\frac{1}{n}\) を分配すると、

\[\sigma^2 = \left(\frac{1}{n} \sum_{i=1}^{n} x_i^2\right) - \bar{x}^2\]

となり、公式が証明されました。(証明終)

ベクトル表記 \(\mathbf{x}^T \mathbf{x} = \sum x_i^2\) を用いれば、\(\sigma^2 = \left(\frac{1}{n} \mathbf{x}^T \mathbf{x}\right) - \bar{x}^2\) も同様に示せます。

2.5.3 例題:体温データの分散(別公式による計算)

再び体温データ \(\mathbf{x} = \begin{pmatrix} 36.5 \\ 36.8 \\ 37.2 \\ 36.4 \\ 36.9 \end{pmatrix}\) と平均値 \(\bar{x} = 36.76\) を用いて、この別公式で分散を計算してみましょう。

まず、\(\mathbf{x}^T \mathbf{x} = \sum_{i=1}^{5} x_i^2\) を計算します。

\[x_1^2 = 36.5^2 = 1332.25\]
\[x_2^2 = 36.8^2 = 1354.24\]
\[x_3^2 = 37.2^2 = 1383.84\]
\[x_4^2 = 36.4^2 = 1324.96\]
\[x_5^2 = 36.9^2 = 1361.61\]

これらの和は、

\[\mathbf{x}^T \mathbf{x} = 1332.25 + 1354.24 + 1383.84 + 1324.96 + 1361.61 = 6756.9\]

次に、「データの二乗の平均」を計算します。

\[\frac{1}{n} \mathbf{x}^T \mathbf{x} = \frac{1}{5} (6756.9) = 1351.38\]

最後に、「平均の二乗」\(\bar{x}^2\) を計算します。

\[\bar{x}^2 = (36.76)^2 = 1351.298\]

よって、分散 \(\sigma^2\) は、

\[\sigma^2 = \left(\frac{1}{n} \mathbf{x}^T \mathbf{x}\right) - \bar{x}^2 = 1351.38 - 1351.298 = 0.0824\]

2.6 偏差値

「偏差値」という言葉は、特に学力テストの結果などでよく使われます。これは、ある集団の中で、個人の成績がどの程度の位置にあるのかを相対的に示すための指標です。

偏差値の導入:異なる集団間での相対的な位置を知るために

例えば、あなたが数学のテストで80点、英語のテストで70点を取ったとします。単純に点数だけを見ると数学の方が良いように思えますが、もし数学のテストの平均点が85点で、英語のテストの平均点が60点だったらどうでしょうか? このように、テストの難易度(平均点)や点数のばらつき具合(標準偏差)が異なると、単純な点数比較だけでは自分の相対的な位置を把握しにくい場合があります。

偏差値は、このような異なるテストや集団における成績を、平均が50、標準偏差が10となるような共通の尺度に変換することで、比較しやすくするためのものです。

偏差値の定義と計算式

あるデータ \(x_i\) の偏差値 \(T_i\) は、そのデータが含まれるデータセットの平均値を \(\bar{x}\)、標準偏差を \(\sigma\) とするとき、以下の式で計算されます。

\[T_i = 10 \times \frac{x_i - \bar{x}}{\sigma} + 50\]

この式を詳しく見てみましょう。

  • \(x_i\): 個人の得点などの具体的なデータ値。
  • \(\bar{x}\): データセット全体の平均値。
  • \(\sigma\): データセット全体の標準偏差。
  • \(\frac{x_i - \bar{x}}{\sigma}\): この部分は「基準化」または「標準化」と呼ばれる操作で計算される値で、\(z\)スコア(標準得点)とも呼ばれます。これは、個々のデータが平均から標準偏差の何倍分離れているかを示します。

    • もし \(x_i\) が平均 \(\bar{x}\) と同じなら、\(z = 0\) です。
    • もし \(x_i\) が平均 \(\bar{x}\) より標準偏差 \(\sigma\) 1つ分だけ高ければ、\(z = 1\) です。
    • もし \(x_i\) が平均 \(\bar{x}\) より標準偏差 \(\sigma\) 1つ分だけ低ければ、\(z = -1\) です。
  • \(10 \times z + 50\): \(z\)スコアを10倍して50を加えることで、平均が50、標準偏差が10の尺度に変換しています。

    • \(z=0\) (平均点) のとき、偏差値は \(10 \times 0 + 50 = 50\) となります。
    • \(z=1\) (平均点 + 1標準偏差) のとき、偏差値は \(10 \times 1 + 50 = 60\) となります。
    • \(z=-1\) (平均点 - 1標準偏差) のとき、偏差値は \(10 \times (-1) + 50 = 40\) となります。

例:あるテストの得点から偏差値を計算する

シナリオ: 5人の学生A, B, C, D, E が受けた数学のテスト(100点満点)の結果が以下のようであったとします。 * 学生A: 55点 * 学生B: 80点 * 学生C: 65点 * 学生D: 40点 * 学生E: 70点

これらの学生の偏差値を計算すると、 実行結果の例:

--- 数学テスト結果 ---
点数: [55 80 65 40 70]
平均点: 62.00 点
標準偏差: 14.00 点

--- 各学生の偏差値 ---
学生A: 55点 -> zスコア: -0.50, 偏差値: 45.00
学生B: 80点 -> zスコア: 1.29, 偏差値: 62.86
学生C: 65点 -> zスコア: 0.21, 偏差値: 52.14
学生D: 40点 -> zスコア: -1.57, 偏差値: 34.29
学生E: 70点 -> zスコア: 0.57, 偏差値: 55.71

解釈: * 平均点は62点です。 * 学生Aは55点で平均より低く、偏差値は45.00です(平均より標準偏差の0.5倍低い位置)。 * 学生Bは80点で最も高く、偏差値は62.86です(平均より標準偏差の約1.29倍高い位置)。 * 学生Cは65点で平均より少し高く、偏差値は52.14です。 * 学生Dは40点で最も低く、偏差値は34.29です(平均より標準偏差の約1.57倍低い位置)。 * 学生Eは70点で平均より高く、偏差値は55.71です。

もし誰かがちょうど平均点の62点を取ったなら、その人の偏差値は50になります。 もし誰かが平均点より1標準偏差高い点数(62点 + 14点 = 76点)を取ったなら、その人の偏差値は60になります。

偏差値の性質と利点・注意点

性質と利点: * 平均が50、標準偏差が10の尺度: 偏差値は、どのような元のデータの分布であっても、変換後の値の平均が必ず50、標準偏差が必ず10(元のデータが正規分布に従うと仮定した場合、または十分な個数のデータがある場合)になるように作られています。 * 相対的な位置の把握: 集団の中での自分の位置を、平均を基準としてどの程度離れているかで客観的に評価できます。 * 異なるテスト間の比較: 平均点や点数のばらつきが異なる複数のテストの結果を、同じ土俵(偏差値という共通の尺度)で比較することができます。例えば、数学の偏差値60と英語の偏差値55なら、数学の方が集団の中で相対的に良い成績だった、と判断できます。

注意点: * 元のデータの分布形状: 偏差値は、元のデータが正規分布(左右対称の釣鐘型の分布)に近い形をしている場合に最も解釈しやすくなります。データが極端に偏っている場合や、外れ値が多い場合には、偏差値の解釈に注意が必要です。 * 集団のレベル: 偏差値はあくまでその集団内での相対的な位置を示すものです。非常にレベルの高い集団での偏差値50と、平均的なレベルの集団での偏差値50では、同じ偏差値50でも、その人の絶対的な学力は異なる可能性があります。 * 1点の重み: 元のテストの点数のばらつき(標準偏差)によって、偏差値を1上げるために必要な素点の点数が変わります。標準偏差が小さいテストでは、わずかな点数の差が偏差値の大きな差につながることがあります。


4. 演習問題

ここまでの内容の理解を深めるために、いくつかの演習問題に取り組みましょう。これらの問題は、手計算でも比較的容易に扱えるように数値を調整してあります。

4.1 基本問題

問題1 (基本的な統計量の計算)

データベクトル \(\mathbf{x} = \begin{pmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \end{pmatrix}\) について、以下を計算せよ。

a) 平均 \(\bar{x}\)

b) 偏差ベクトル \(\mathbf{d}\)

c) 分散 \(\sigma^2\)

d) 標準偏差 \(\sigma\)

問題2 (ベクトル表記を用いた計算)

データベクトル \(\mathbf{y} = \begin{pmatrix} 10 \\ 20 \\ 30 \\ 40 \end{pmatrix}\) と、全ての要素が1である4次元ベクトル \(\mathbf{1}_4\) を用いて、以下を計算せよ。

a) 平均 \(\bar{y} = \frac{1}{4} \mathbf{1}_4^T \mathbf{y}\)

b) 偏差ベクトル \(\mathbf{d_y} = \mathbf{y} - \bar{y}\mathbf{1}_4\)

c) 分散 \(\sigma_y^2 = \frac{1}{4} \mathbf{d_y}^T \mathbf{d_y}\)

問題3 (分散の別公式の利用)

データセット \(\{2, 4, 9\}\) について、分散の別公式

\(\(\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} x_i^2 - \bar{x}^2\)\) を用いて分散を計算せよ。

問題4 (標準化を含む総合問題)

ある少人数のグループの小テストの得点(単位:点)が以下のように与えられている。 \(\mathbf{s} = \begin{pmatrix} 6 \\ 8 \\ 10 \end{pmatrix}\)

a) 平均得点 \(\bar{s}\) を計算せよ。

b) 偏差ベクトル \(\mathbf{d_s}\) を求めよ。

c) 分散 \(\sigma_s^2\) と標準偏差 \(\sigma_s\) を計算せよ。

d) 各学生の得点を標準化(\(z\)スコア化)せよ。標準化された値 \(z_i\)\(z_i = \frac{s_i - \bar{s}}{\sigma_s}\) で定義される。

e) 標準化されたデータの平均と分散を計算し、それぞれ0と1になることを確認せよ(計算誤差も考慮すること)。

問題5 (データの変換と統計量の変化)

データベクトル \(\mathbf{u} = \begin{pmatrix} 0 \\ 0 \\ 10 \\ 10 \end{pmatrix}\) について、以下を考察し、計算せよ。

a) 平均 \(\bar{u}\) と 分散 \(\sigma_u^2\) を計算せよ。

b) 各データ点に定数 \(c=5\) を加えた新しいデータベクトル \(\mathbf{v} = \mathbf{u} + c\mathbf{1}_4\) を考える。\(\mathbf{v}\) の平均 \(\bar{v}\) と分散 \(\sigma_v^2\) を計算し、\(\bar{u}, \sigma_u^2\) と比較せよ。

c) 各データ点を定数 \(k=2\) 倍した新しいデータベクトル \(\mathbf{w} = k\mathbf{u}\) を考える。\(\mathbf{w}\) の平均 \(\bar{w}\) と分散 \(\sigma_w^2\) を計算し、\(\bar{u}, \sigma_u^2\) と比較せよ。

(ヒント:一般に、元のデータの平均を \(\mu\)、分散を \(\sigma^2\) とすると、データ全体に定数 \(c\) を加えたデータの平均は \(\mu+c\)、分散は \(\sigma^2\)。データ全体を定数 \(k\) 倍したデータの平均は \(k\mu\)、分散は \(k^2\sigma^2\) となる。)

5. まとめと次回予告

本日の講義では、1次元の数値データをベクトルとして表現し、そのベクトル演算を用いてデータの基本的な統計量である平均値、偏差、分散、標準偏差を計算する方法について学びました。

本講義の重要なポイント:

  1. データベクトルの導入: 複数の観測値を一つのベクトルとしてまとめることで、記述が簡潔になり、計算の効率化や多次元データへの拡張といったメリットがあることを理解しました。
  2. \(\mathbf{1}\)ベクトルの活用: 全ての要素が1である\(\mathbf{1}\)ベクトルは、特にデータの総和や平均値をベクトル表記で表す際に重要な役割を果たします。
  3. 平均値のベクトル表現: \(\bar{x} = \frac{1}{n} (\mathbf{1}_n^T \mathbf{x})\)
  4. 偏差ベクトルの導入: \(\mathbf{d} = \mathbf{x} - \bar{x}\mathbf{1}_n\)。また、偏差の総和 \(\mathbf{1}_n^T \mathbf{d}\) は常に0になるという重要な性質を確認しました。
  5. 分散のベクトル表現: \(\sigma^2 = \frac{1}{n} (\mathbf{d}^T \mathbf{d}) = \frac{1}{n} \|\mathbf{d}\|^2\)。また、別公式として \(\sigma^2 = \left(\frac{1}{n} \mathbf{x}^T \mathbf{x}\right) - \bar{x}^2\) も学びました。
  6. 標準偏差: \(\sigma = \sqrt{\sigma^2}\)。分散の平方根であり、元のデータと同じ単位でばらつきの大きさを評価できます。
  7. (発展) NumPyによる計算: これらの統計量の計算が、NumPyのような数値計算ライブラリを用いることで容易に実装できることを見ました。

これらのベクトルを用いたデータの扱いや統計量の概念は、皆さんが今後、より複雑なデータ分析手法、例えば多変量データ分析、線形回帰モデル、主成分分析といった機械学習のトピックなどを学ぶ上で、非常に重要な基礎となります。

次回の講義予告

次回の講義では、今回の内容をさらに発展させ、1次元データだけでなく、複数の特徴量を持つ「2次元データ」(あるいはより一般の多次元データ)を扱います。具体的には、そのようなデータを「行列」を用いて表現する方法や、複数の変数間の関係性を示す「共分散」などについて学んでいく予定です。