概要
情報技術の基礎として理解しておきたい 応用数学 のうち、統計分析、相関と因果、数値計算、グラフ理論、待ち行列理論を整理する。
相関係数だけで関係の有無を決められるか、利用率が上がると何分待つのかを数値例で確かめる。分布や待ち行列の公式は前提と単位を確かめてから使う。
この記事の構成
- 統計分析
相関係数が0でも関係が残る例から分布と指標の読み方を確認。 - 相関関係と因果関係
相関関係と因果関係を整理し、要素同士がどう結び付くかを確認。 - 数値計算
数値計算の意味と要点を具体例から整理。 - グラフ理論
グラフ理論:ノード(節点、頂点)とエッジ(枝、辺)の集合から構成されるデータ構造についての理論。 - 待ち行列理論
待ち行列理論:列に並ぶ平均時間を統計学的な計算で求めるための理論。 - 待ち時間の計算
平均サービス時間2分の例で利用率と待ち時間の非線形な関係を計算。
統計分析
-
正規分布
平均の付近に値が集まり、左右対称の釣鐘型になる確率分布。測定値などの分布を近似するモデルとして使うが、すべてのデータに当てはまるわけではない。
その分布表現は以下の確率密度関数として定義される。平均値:\(μ\) 、標準偏差:\(σ\) と置くと
\[ f(x) = \displaystyle \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left(-\frac{(x - \mu)^2} {2\sigma^2} \right) \]標準偏差が正の場合、平均μを中心とする各範囲に入る確率はおよそ次の通り。
- \(μ \pm 1σ\) の範囲で約68%
- \(μ \pm 2σ\) の範囲で約95%
- \(μ \pm 3σ\) の範囲で約99.7%
以下、統計分析の種類。
-
回帰分析
関数モデルを使用した分析で説明変数が \(1\) つなら単回帰分析、複数なら重回帰分析という。 -
主成分分析
変数が多い場合、より少ない指標や合成変数に要約する分析手法。 -
因子分析
観測結果に影響する潜在要因(因子)を分析する手法。 -
相関分析
二つの変数(データ分布)がどの程度直線的な関係にあるかを数値化して分析する手法。この数値を相関係数という。
→ データ分布が右上がりの直線に近い程 \(1\) に近づく。
→ データ分布が右下がりの直線に近い程 \(-1\) に近づく。
→ データ分布の直線的な関係が弱いほど \(0\) に近づく。
-
相関係数が0でも関係がないとは限らない
ピアソンの相関係数は直線的な関係を測る。例えば\(x=-2,-1,0,1,2\) に対して \(y=x^2\) とすると、\(y=4,1,0,1,4\) になる。平均はそれぞれ0と2で、偏差の積の和は \((-2)\times2+(-1)\times(-1)+0\times(-2)+1\times(-1)+2\times2=0\) となる。したがって相関係数は0だが、\(x\) が決まれば \(y\) は一意に決まる。散布図を描くとU字形が見え、係数だけでは見落とす関係を確かめられる。なお、一方の変数がすべて同じ値で標準偏差が0の場合は、通常の相関係数を定義できない。
相関関係と因果関係
-
相関関係
二つの事象が 互いに関連 している関係のこと。 -
因果関係
二つの事象の一方が原因となって別の事象が発生していること。
→ 相関係数の絶対値が \(1\) に近いほど二つの変数の直線的な関係は強い。
ただし、相関係数の絶対値が大きくても因果関係があるとは限らない。因果関係を判断するには ランダム化比較実験 などによる別途の検証が必要。 -
疑似相関
一見 相関関係 または 因果関係 が認められる事象でも、直接的な関連性がなく結果のみ相関していること。例として異なる年齢の子供を一緒に調べると、体重と算数の成績に相関が見られたと仮定する。年齢が両方に関係している可能性があり、この観測だけでは「体重を増やすと成績が上がる」とはいえない。年齢ごとの比較などで背景要因を検討する必要があるが、それだけで因果関係を証明できるわけでもない。
数値計算
-
スカラ
\(0\) 次元で表現できるデータ。
→ 大きさだけを持つ単一の値。値が固定されているという意味ではない。 -
ベクトル
\(1\) 次元で表現できるデータ。
→ \(1\) 次元配列等の一列で表現できるデータのこと。 -
行列
\(2\) 次元で表現できるデータ。
→ \(2\) 次元配列等の縦、横など二種類の軸(行列)があるデータのこと。 -
テンソル
スカラ、ベクトル、行列を一般化した多次元の量。
→ 文脈によって階数の数え方は異なるが、3次元配列だけに限定されない。
-
「配列の軸の数」と「ベクトルの次元」を区別する
座標 \((3,4)\) は成分が二つある 2次元ベクトル だが、プログラムでは[3, 4]という一次元配列に格納できる。「一次元配列だから1次元ベクトル」とは限らない。顧客2人の3か月分の購入額なら、行を顧客、列を月とした2行3列の行列にできる。顧客ごとの合計は各行の3要素を足し、月ごとの合計は各列の2要素を足す。値を並べる前に各軸の意味を決めると、集計する方向を取り違えにくい。
グラフ理論
-
グラフ理論
ノード(節点、頂点)とエッジ(枝、辺)の集合から構成されるデータ構造についての理論。 -
グラフの方向性
有向グラフはノード \(A\) → ノード \(B\) のように一方のみに方向性を持つ。
無向グラフはノード \(A\) とノード \(B\) を結ぶ辺に向きがない。 -
木構造
木構造(単に木とも呼ばれる)は閉路を持たない連結グラフである。根付き木では、ルート(根)、ノード(頂点)、親子を結ぶエッジ(辺)、子を持たないリーフ(葉)として整理する。
-
辺を一つ加えると木でなくなる例
3頂点を辺A―B、B―Cで結ぶと、すべての頂点がつながり、閉路がないので木になる。AからCへの単純な経路はA→B→Cの一つだけである。ここに辺A―Cを加えると、A→B→C→Aという閉路ができ、木ではなくなる。連結な無向グラフでは、木は「どの2頂点間にも単純な経路がちょうど一つ」という性質を持つ。組織の階層と迂回路を持つ通信網の違いをこの性質で捉えられる。
待ち行列理論
-
待ち行列理論
列に並ぶ平均時間を統計学的な計算で求めるための理論。
→ 以下、\(3\) 要素が列に並ぶ時の待ち時間に影響を与え、待ち行列のモデルとなる。- 到着率:来客頻度。
- サービス時間:対応時間。
- 窓口数:\(1\) 列あたりの窓口数。
- 到着率:来客頻度。
-
\(M/M/1\) モデル
Kendallの記法で最初の \(M\) は到着間隔が記憶性を持たない分布(到着はポアソン過程)、次の \(M\) はサービス時間が指数分布、最後の \(1\) は窓口が一つであることを表す。\(D\) は一定時間を表す記号であり、窓口数の記号ではない。
待ち時間の計算
-
\(M/M/1\) モデルの平均待ち時間
定常状態の \(M/M/1\) モデルで利用率 \(0 \le ρ \lt 1\) の場合、平均待ち時間は次の式で表現できる。\(ρ \ge 1\) では到着を処理しきれず、定常的な平均待ち時間は定まらない。平均待ち時間:\(s1\)
平均サービス時間:\(s2\)
利用率:\(ρ\) と置くと\[ s1 = \frac{ρ}{1 - ρ} \times s2\hspace{5mm}・・・(*) \]※ 利用率\(ρ\)は平均サービス時間/平均到着間隔で表現できる。
また、平均応答時間は平均待ち時間(\(s1\) モデル)と平均サービス時間(\(s2\) モデル)を合わせた時間となり、上記(*)より次の式で表現できる。
→ 平均応答時間 \(= s1+ s2\)
\(\displaystyle = \frac{ρ}{1 - ρ} \times s2 + s2\)
\(\displaystyle = ( \frac{ρ}{1 - ρ} + 1 ) s2\)
\(\displaystyle = \frac{1}{1 - ρ} \times s2\)
-
平均2分の処理でも利用率90%では18分待つ
到着がポアソン過程、サービス時間が指数分布に従う窓口一つのモデルを考える。平均サービス時間を2分、平均到着間隔を5分とすると、利用率は \(\rho=2/5=0.4\)。平均待ち時間は \(0.4/(1-0.4)\times2=4/3\) 分、窓口で処理される時間も含めた平均応答時間は \(10/3\) 分になる。同じサービス時間で到着頻度だけを変えると、次のようになる。
利用率 平均待ち時間 平均応答時間 50% 2分 4分 80% 8分 10分 90% 18分 20分 利用率が80%から90%へ上がるだけで、待ち時間は8分から18分へ増える。分母の \(1-\rho\) が小さくなるため、増加は比例関係ではない。平均的には処理能力に余裕があっても、到着や処理時間のばらつきで列ができる点が重要になる。到着間隔も処理時間も一定のシステムにそのままこの表を当てはめることはできない。
まとめ
- 統計分析では分布でデータのばらつきを捉え、相関分析で変数同士の関係、回帰分析で説明変数と目的変数の関係を扱う。
- 相関係数の絶対値が大きくても二つの変数に因果関係があるとは限らない。説明変数が一つなら単回帰、複数なら重回帰となる。
- スカラは単一の値、ベクトルは一次元、行列は二次元、テンソルはそれらを一般化した多次元のデータとして整理できる。
- 木は閉路を持たない連結な無向グラフで、グラフ理論はネットワークや木構造の理解に使われる。
- 待ち行列では利用率が1に近づくほど待ち時間が急増しやすく、システムの性能評価に関係する。
- 相関係数0でも曲線的な関係は残り得る。平均サービス時間が同じでもM/M/1の待ち時間は利用率に比例せず、1に近づくほど急増する。
参考文献
- 瀬戸 美月(\(2020\))『徹底攻略 応用情報技術者教科書』株式会社インプレス
- 総務省統計局 Data StaRt - 相関と回帰(日本語・相関係数の公的解説)
- NIST/SEMATECH e-Handbook of Statistical Methods - Scatter Plot(英語・散布図の公的解説)