Excel:概要
Microsoft Excelには、標本標準偏差と母集団標準偏差の両方を計算する組み込み関数が用意されています。これらの関数は、最新版のExcelすべてで利用可能です。
Excelの関数
| 関数 | 種類 | 説明 |
|---|---|---|
| `STDEV.S()` | 標本 | 標本標準偏差(n-1で割る) |
| `STDEV.P()` | 母集団 | 母集団標準偏差(Nで割る) |
| `STDEV()` | 標本 | 旧関数、STDEV.Sと同じ |
| `STDEVP()` | 母集団 | 旧関数、STDEV.Pと同じ |
Excelの例
Excel Formulas
// Data in cells A1:A10
=STDEV.S(A1:A10) // Sample SD
=STDEV.P(A1:A10) // Population SD
// For specific values
=STDEV.S(4, 8, 6, 5, 3) // Returns 1.924
// Ignoring text and logical values
=STDEV.S(A1:A10) // Ignores text
=STDEVA(A1:A10) // Includes text as 0便利なヒント
ほとんどの実データ分析にはSTDEV.Sを使用してください。STDEV.Pは、完全な母集団のデータであると確信できる場合にのみ使用します。
Python:概要
Pythonには標準偏差を計算する方法が複数あります。最もよく使われるライブラリは、NumPy、Pandas、そして組み込みのstatisticsモジュールです。
NumPyの使い方
Python (NumPy)
import numpy as np
data = [4, 8, 6, 5, 3]
# Population standard deviation (default)
pop_sd = np.std(data)
print(f"Population SD: {pop_sd}") # 1.720
# Sample standard deviation
sample_sd = np.std(data, ddof=1)
print(f"Sample SD: {sample_sd}") # 1.924ddofとは?
ddofは「自由度の差分(Delta Degrees of Freedom)」の略です。ddof=1を設定すると、NumPyは標本標準偏差を計算するために(n-1)で割ります。デフォルトのddof=0は母集団標準偏差を返します。
Pandasの使い方
Python (Pandas)
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'scores': [85, 90, 78, 92, 88]})
# Sample SD (default in pandas)
sample_sd = df['scores'].std()
print(f"Sample SD: {sample_sd}")
# Population SD
pop_sd = df['scores'].std(ddof=0)
print(f"Population SD: {pop_sd}")
# Multiple columns at once
df.std() # Returns SD for all numeric columnsツール比較
| ツール | 標本標準偏差 | 母集団標準偏差 |
|---|---|---|
| Excel | `STDEV.S()` | `STDEV.P()` |
| NumPy | `np.std(data, ddof=1)` | `np.std(data)` |
| Pandas | `df.std()` | `df.std(ddof=0)` |
| Python statistics | `stdev()` | `pstdev()` |