1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. バラツキー

バラツキー

分散と標準偏差

クラス全員が50点をとったテストとクラスの半分が0点もう半分が100点
のテストでは、平均値と中央値はともに50点ですが、バラツキ具合は違います。
バラツキを求める第一歩は偏差です。格データが平均からどれだけ離れているかを
表す指標です。
偏差(deviation):どれだけ平均から離れているかを示す指標
mean = np.meaan(scores)
deviation = scores - mean
偏差 (diviation)の平均は常に0になります。
DataFrameでまとめると
summary_df = scores_df.copy()
summary_df['偏差'] = deviation
分散:偏差の二乗の平均が分散になる。
偏差の絶対値は扱いずらいので、二乗して使う
np.mean(deviation ** 2)
np.var(acrores)
DataFrameやSeriesにも分散はあるNumPyとは扱いが異なる。
分散には標本分散と不偏分散の2酒類がある。不偏分散は推測統計で使う。
Pandasで標本分散を計算したい時は、varメソッドの引数にて ddof=0を指定
不偏分散はddof=1を指定する
summary_dfに偏差二乗の列を追加する。
summary_df['偏差二乗'] = np.square(deviation)
summary_df.mean()
標準偏差:偏差は二乗で表すので単位を揃える為にルートをとると標準偏差
np.std(acrores, ddof=0)

範囲 range

データ全体をみるのではなく、データの最大値と最小値だけでバラツキを表現する。
np.max(scores) - np.min(scores)
四分位範囲:データの下位25%、50%、75%に位置する値に注目
第1四分位点、第2四分位点、第3四分位点それぞれ、Q1,Q2,Q3
Q3-Q1を四分位範囲という
scores_Q1 = np.percentile(scores, 25)
scores_Q3 = np.percentile(scores, 75)
scores_IQR = scores_Q3 - scores_Q1
IQRは中央値に対して定義されるバラツキ

データの指標のまとめ:DataframeやSeriesにはdescribeというメソッドがある
pd.Series(scores).describe()

データの正規化

平均や分散に依存せずにデータの相対的な位置関係が分かる指標があると便利。
偏差値は平均や分散がなんであろうと、50なら平均、60なら上位の出来といった。
統一的な評価をすることが出来ます。
データを統一的な指標に変換することを正規化 (normalization)という
標準化:データから平均を引き、標準偏差で割る操作をいう
また、標準化されたデータを基準化変量(standardlized data)やZスコアという
偏差値:平均が50、標準偏差が10になるように正規化した値
z = 50 + 10 * (scores - np.mean(scores)) / np.std(scores)