ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

いい加減ちゃんと覚えたい統計学 四分位数編

スポンサードリンク

bellcurve.jp

これを読んだあとのちゃんと理解しているか説明を並べる.

  • 四分位数
    • 代表値の一種
    • データを小さい順から並べて、4つに分割する
      • 1/4の位置のデータ → 第一四分位数 → 最小値から25%の位置
      • 2/4の位置のデータ → 第二四分位数 → 最小値から50%の位置 → 中央値
      • 3/4の位置のデータ → 第三四分位数 → 最小値から75%の位置
  • 奇数・偶数で求め方が違う
    • 求め方1つ!
      • 4k + 1のとき
        • 4の倍数+1のとき、各分点に対応する点があるので計算が簡単
        • データ数が5, 9, 13...
      • データ数が4k + 3のとき
        • 分点が、例えばa地点のデータからa + 1地点のデータの中点をとるので、近い2点のデータの重み付け平均を取るのが一般的な考え方
        • データ数が7, 11, 15...
        • 中央値以外は対応する点がないので、中央値で区切る → 中央値を含む左、右のグループで中央値を求める
      • データ数が偶数のとき
        • 区間幅が3/4などが登場する(ややこしい)
        • データ数が4,6,8,10...
        • 例えばデータが4つ(3,4,9,10)あった場合、幅の数は3なので区間幅は0.75となる
          • 第一四分位数は3 * 0.25 + 4 * 0.75
          • 第二四分位数は9 * 0.75 + 10 * 0.25
          • 分点から遠い側は0.25、近いのは0.75を重み付け平均としてかける
    • 2つめ(ヒンジ)
      • 中央で上半分と下半分に分けて,下半分の中央値を第1四分位数,上半分の中央値を第3四分位数とするといった考え方
      • pandas.quantileで試すと結果があわない・・・なぜ・・・・?(実装を見る元気がないので一旦終了)

追記

pandas.quantileで試すと結果があわない・・・なぜ・・・・?(実装を見る元気がないので一旦終了)

ドキュメントみたら把握した

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.quantile.html

f:id:aipacommander:20200630101538p:plain

linear: i + (j - i) * fraction, where fraction is the fractional part of the index surrounded by i and j.

データの位置が該当しない位置にあった場合どうやって保管する?オプションがあった。で、デフォルトが linear だったので調べたところ、データが10あれば、前半部分が1,2,3,4,5だったとき、i=3,j=4,faction=0.25として計算する。後半部分は6,7,8,9.10だったとき、i=7,j=8,faction=0.75として計算する。こうしたら結果があった。

もやもやが晴れた