#author("2019-11-04T12:55:30+00:00","","")
#author("2019-11-06T12:40:37+00:00","","")
#mynavi()
#setlinebreak(on)

#html(<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>)

* 目次 [#gbdcb128]
#contents()
- 関連
-- [[機械学習の為の数学の基礎]]
-- [[numpy入門]]
-- [[pandas入門]]
- 参考
-- [[統計Web>https://bellcurve.jp/statistics/]]

* 平均値 [#h483edc5]
#html(<div style="padding-left: 10px;">)

#html(){{
数式では μ(ミュー) や 
<math>
  <mover>
    <mo>x</mo>
    <mo>-</mo>
  </mover>
</math>
として表される。
}}

#html(){{
<div style="padding-left: 10px;">
<math>
    <mrow>
    <mfrac>
      <mi>1</mi>
      <mo>n</mo>
    </mfrac>
    </mrow>
    <munderover>
        <mi>&sum;</mi>
        <mrow>
            <mi>i</mi>
            <mo>=</mo>
            <mn>1</mn>
        </mrow>
        <mi>n</mi>
    </munderover>
    <msub>
      <mo>x</mo>
      <mi>1</mi>
    </msub>
</math>
</div>
}}
#html(</div>)

//** トリム平均 [#d316d1d2]
//外れ値を除いた平均

* 中央値 [#d619971c]
#html(<div style="padding-left: 10px;">)
データを小さい順に並べたとき中央に位置する値。
#html(</div>)

* 最頻値 [#yf66f31a]
#html(<div style="padding-left: 10px;">)
最も頻繁に出現する値。
#html(</div>)

* 四分位範囲(IQR) [#bc1ef84e]
#html(<div style="padding-left: 10px;">)
散らばりの程度を表す尺度の一つ。

四分位範囲(IQR) = 75パーセンタイル(第三四分位数) - 25パーセンタイル(第一四分位数)

#mycode2(){{
data = np.array([2,69,67,75,84,92,80,77,65,78,84,95,71])

# 四分位点を求める
q25, q75 = np.percentile(data, [25 ,75])

# 四分位範囲
iqr = q75 - q25

print(q25, q75 )
print(iqr)
}}

** 外れ値について [#d31cf194]
#html(<div style="padding-left: 10px;">)

外れ値の定義は扱われるデータによって変わるが、一般的には、値 < (Q1 - 1.5 * IQR) または 値 > (Q3 + 1.5 * IQR) を外れ値として扱う。

例1) 上記のデータから外れ値を除外する例
#mycode2(){{
print(data[(data >= q25 - 1.5 * iqr) & (data <= q75 + 1.5 * iqr)])
}}

結果
#myterm2(){{
[69 67 75 84 92 80 77 65 78 84 95 71]   # 2 が除外されている
}}

例2) 平均 ±Nσ の範囲外を外れ値として扱う場合
※ 平均 ± 標準偏差 * N
#mycode2(){{
# 平均 ±2σ を外れ値として扱う場合
N = 2
s_plus = data.mean() + (N * data.std())
s_minus = data.mean() - (N * data.std())

print(data[(data >= s_minus) & (data <= s_plus)])
}}

結果
#myterm2(){{
[69 67 75 84 92 80 77 65 78 84 95 71]   # 2 が除外されている
}}


#html(</div>)


#html(</div>)

* 分散 ( variance ) [#td2ef10c]
#html(<div style="padding-left: 10px;">)
データのばらつきを表す値。

#html(<div style="display: inline-block; vertical-align: top;">)
1. 各データと平均値の差を求める
2. 1で求めた値を2乗する
3. 2で求めた値をすべて足す
4. 3で求めた値をデータ数で割る
#html(</div>)
#html(<div style="display: inline-block; vertical-align: top; padding: 30px;"> → </div>)
#html(<div style="display: inline-block; vertical-align: top; padding: 20px;">)
#html(){{
<math>
    <mrow>
    <mfrac>
      <mi>1</mi>
      <mo>n</mo>
    </mfrac>
    </mrow>
    <munderover>
        <mi>&sum;</mi>
        <mrow>
            <mi>i</mi>
            <mo>=</mo>
            <mn>1</mn>
        </mrow>
        <mi>n</mi>
    </munderover>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <msub>
            <mi>x</mi>
            <mi>i</mi>
          </msub>
          <mo>-</mo>
          <mover>
            <mi>x</mi>
            <mo>-</mo>
          </mover>
          <mo>)</mo>
        </mrow>
        <mi>2</mi>
      </msup>
    </mrow>
</math>
}}
#html(</div>)

例)
#mycode2(){{
import numpy as np

x = [1,2,3,4,5]
np.sum((x - np.mean(x)) ** 2) / len(x)   # 2.0
}}
#html(</div>)

* 標準偏差 [#nb151669]
#html(<div style="padding-left: 10px;">)

標準偏差を求めるには、分散の平方根(ルート)をとる。

#html(){{
<div>
<math>
  <mo>標準偏差</mo>
  <mo>=</mo>
  <msqrt>
    <mrow>
    <mfrac>
      <mi>1</mi>
      <mo>n</mo>
    </mfrac>
    </mrow>
    <munderover>
        <mi>&sum;</mi>
        <mrow>
            <mi>i</mi>
            <mo>=</mo>
            <mn>1</mn>
        </mrow>
        <mi>n</mi>
    </munderover>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <msub>
            <mi>x</mi>
            <mi>i</mi>
          </msub>
          <mo>-</mo>
          <mover>
            <mi>x</mi>
            <mo>-</mo>
          </mover>
          <mo>)</mo>
        </mrow>
        <mi>2</mi>
      </msup>
    </mrow>
  </msqrt>
</math>
</div>
}}

#mycode2(){{
import numpy as np

x = [1,2,3,4,5]

np.std(x)
# 1.4142135623730951

np.sqrt(np.sum((x - np.mean(x)) ** 2) / len(x))
# 1.4142135623730951
}}

** 不偏分散と標本標準偏差 [#o9973d89]
#html(<div style="padding-left: 10px;">)

不偏分散の平方根をとる事で標本標準偏差を求める事ができる。
※不偏分散は、標本分散から母分散を推測するための分散で全標本数-1で割る。

#html(){{
<math>
  <mo>標本標準偏差</mo>
  <mo>=</mo>
  <msqrt>
  <mfrac>
    <mo>1</mo>
    <mo>(n - 1)</mo>
  </mfrac>
  <munderover>
        <mi>&sum;</mi>
        <mrow>
            <mi>i</mi>
            <mo>=</mo>
            <mn>1</mn>
        </mrow>
        <mi>n</mi>
  </munderover>
  <mrow>
    <msup>
      <mrow>
        <mo>(</mo>
        <mo>x</mo>
        <mo>-</mo>
        <mover>
          <mo>x</mo>
          <mo>-</mo>
        </mover>
        <mo>)</mo>
      </mrow>
      <mi>2</mi>
    </msup>
  </mrow>
  </msqrt>
</math>
}}

#mycode2(){{
data = np.array([...])
np.sqrt(np.sum((data - m) ** 2) / (len(data) - 1))
}}

#html(</div>)

** 偏差値の求め方 [#hbfb6d02]
#html(<div style="padding-left: 10px;">)

偏差値は、元のデータを平均が50、標準偏差が10となるように変換した値。

#html(){{
<math>
  <mo>偏差値</mo>
  <mo>=</mo>
  <mfrac>
    <mrow>
    <mo>x</mo>
    <mo>-</mo>
    <mover>
      <mo>x</mo>
      <mo>-</mo>
    </mover>
    </mrow>
    <mo>s</mo>
  </mfrac>
  <mo>*</mo>
  <mi>10</mi>
  <mo>+</mo>
  <mi>50</mi>
</math>
}}
※ s: 標準偏差

#mycode2(){{
score = np.array([82, 95, 74, 65, 77, 88])

# 標準偏差
s = np.sqrt(((score - score.mean()) ** 2).sum() / (len(score)))

# 偏差値
print((score - score.mean()) / s * 10 + 50)
}}

結果
#myterm2(){{
[51.89289775 65.31526361 43.6329803  34.34057317 46.73044934 58.08783584]
}}

#html(</div>)

#html(</div>)

* Z得点(z値、z-score、z-value) [#ha83d6c4]
#html(<div style="padding-left: 10px;">)

平均が0、標準偏差(SD)が1になるように変換した得点。
※平均から標準偏差何個ぶん離れているか。
※ z = (データ - 平均) / 標準偏差

#html(){{
<math>
  <mo>z</mo>
  <mo>=</mo>
  <mfrac>
    <mo>x - μ</mo>
    <mo>σ</mo>
  </mfrac>
</math>
}}

#html(</div>)

* 相関係数 [#xc2ec0e9]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)

* 標準化係数 [#rabe09ac]
#html(<div style="padding-left: 10px;">)
(データ - 平均) / 標準偏差
※標準偏差何個分離れているか (平均を1とする)
※±1 以内は全体の 68% に含まれる
#html(</div>)

* P値 [#n9dbf60c]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* 有意水準 [#i8cc1bb0]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* 効果量 [#he47c768]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* 検出力 [#x0752a31]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* t検定 [#vf10a21a]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* 加重平均 [#db3031bc]
#html(<div style="padding-left: 10px;">)
異なる母数を持つ複数の平均の平均を求める
#html(</div>)

* 平均 ±4σ [#e5547bf0]
#html(<div style="padding-left: 10px;">)
平均 ± 標準偏差 * 4   (範囲外は外れ値として扱う。等)
#html(</div>)

* その他 [#p6afe4da]
#html(<div style="padding-left: 10px;">)

** 正規分布の「68-95-99.7ルール」 [#kcffce6a]
#html(<div style="padding-left: 10px;">)
#TODO
#html()


#html(</div>)
// その他


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS