度数分布表・ヒストグラムと各種代表値の導出について色々
背景
最近統計学検定2級取得に向けて勉強してるのだが、 過去問とかを見る限り頻出(というかほぼ100%出る)問題っぽいので 理解を深めるためにまとめてみよう的なモチベーションでこの記事を書いている次第である。
目次
0. 使用データ
1. 度数分布表、ヒストグラム
2. 階級数の決め方
3. 期待値、分散、標準偏差、中央値
使用データ
今回、度数分布表とヒストグラムを作成する上で使用したデータは以下の通り。
Udemyの特定分野(Business Finance、Graphic Design、Musical Instrument、Web Design)の講座に関する
受講料金、受講者数、レビュー数などがCSV形式ファイルで提供されている。
今回使用するのは各講座の受講料金データのみで、その他の列の値にはノータッチ。
度数分布表、ヒストグラム
概要
度数分布表とは、データの取りうる範囲をいくつかの区画(階級)に分けたときの 各階級に含まれるデータ数(度数)をまとめた表のことである。 また、度数分布表をグラフ化したものをヒストグラムという。
(左側)Udemy講座の受講料金の度数分布表 (右側)Udemy講座の受講料金のヒストグラム
階級値・・・階級を代表する値(通常は階級内の中央の値が階級値となる)
度数・・・階級に含まれるデータの個数
相対度数・・・データの総数を1としたときの階級に含まれるデータの個数
累積度数・・・1番上の階級から各階級までの相対度数の累積和
階級数の決め方
階級数を決める時の指標として、以下のスタージェスの公式が知られているらしい。
スタージェスの公式
データの総数をとしたとき、階級数の目安は
となる
上記のUdemy講座受講料金を例にすると、データの総数は3678なので、階級数は
となる。
スタージェスの公式の有用性については今後(時間があったら)調べていく方針。
期待値、分散、標準偏差値、中央値
上記のような度数分布表のみが与えられている時、期待値、分散、標準偏差値、中央値は以下の計算式で近似的に導出される。
- 期待値
階級における階級値を、相対度数をとしたとき、期待値は
* 中央値
中央値が含まれる階級を、その階級における最大値・最小値を、累積相対度数をとすると、
中央値は
平均、分散、標準偏差、中央値の計算すべてに階級値を使っているため、当然これらの値は真値からずれた値となる。 ちなみに、上記計算式で導出した近似値と真の値を表にすると以下のようになる。
平均 | 分散 | 標準偏差 | 中央値 | |
---|---|---|---|---|
真の値 | 66.049483 | 3721.70214312 | 61.005755 | 45 |
近似値 | 65.925 | 3423.171875 | 58.5078 | 32.3636 |
上の表を見る限り、中央値のずれが思っていた以上に大きくて、 それ以外の値は素人目には大体いい線いってるんじゃないといった感想。
上記中央値の近似計算では、階級内でデータが均等に分布していると仮定した上での計算であるため、
階級内でデータの分布に偏りがある場合には、近似値と真の値が大幅にずれてしまう。
実際に、中央値が含まれる階級内(31〜46)のデータの分布をヒストグラムで表してみると、
以下の図のようになる。
はい、全然均等に分布していないですね。 また、階級(31〜46)には全データを昇順に並べた時の前半41%〜51%のデータが含まれるため、 階級内の後半の値である45が真の中央値となることが直感的に理解できます。
Fitbitデバイスのクロックフェイスを自作する
準備するもの
- Fitbitユーザアカウント
- Fitbit OSが搭載されたデバイス or Windows・Mac上で動くFitbit OSシミュレータ
- Android用Fitbitアプリ or iOS用Fitbitアプリ or Windows Phone用アプリ
- Fitbit Studio
- Wi-Fi環境
手順
step.1 ログイン
- Fitbit Studioの画面右側のSTARTを選択
- ログイン画面でFitbitユーザアカウント情報を入力し、ログイン
step.2 新規プロジェクトを作成
- 新規プロジェクト名を入力し、テンプレートプロジェクト「Digital Clock」を選択し、「create」ボタンを押す
step.3 Developer Bridgeの有効化
Fitbitデバイス上で[設定 ] -> [Developer Bridge]を選択し、ステータスが「connected to server」になるまで待機
Fitbit Studioの画面上部のToolbarから[Select a phone]を選択し、メニューから自身のFitbitデバイスを選択する(インジケータが緑色になれば成功)
step.4 画像アップロード
デバイス名 | サイズ(px) |
---|---|
Fitbit Ionic | 348x250 |
Fitbit Versa, Fitbit Versa Lite, Fitbit Versa 2 | 300x300 |
- クロックフェイスに使用する画像をresourceフォルダにアップロード
step.5 index.gui、style.css編集
step6. Fitbitデバイスへ反映
画面上部Toolbarで「Run」を選択し、console欄にエラーログなどが出力されなければ反映成功
【勉強ログ】ベイズの識別規則について
はじめに
はじめましての方しかいないと思うのではじめまして(強制)。
ユタカタと申します。
本ページは、最近学習を進めている書籍「はじめてのパターン認識」(通称はじパタ本。機械学習コミュニティ内で初学者向けとして認知されている本)の第二章のベイズの識別規則について、学習内容の整理と定着をはかるための自分用勉強ログとなっています。
この分野は素人なので内容に誤りなどがありましたら指摘していただけるとありがたいです(^^)
(注: 自称素人教授とかではないです)
ベイズの識別規則とは?
ベイズの識別規則とは一言で言うと、「ベイズの定理内に現れる事後確率を指標とした識別方法」です。
説明をしやすくするために、以下の図のような状況を考えます。
クラスは実数を要素として持つ集合で、をどちらかのクラスから抽出された観測データとします。また、観測者は観測データがどのクラスから抽出されたデータなのかは分からないものとします。
ここで、クラスの事前確率を、観測データに関する周辺確率を 、観測データが与えられた上でのクラスに関する尤度関数をとしたとき、ベイズの定理は以下の等式で表現される。
※ちなみに、上記等式は同時分布の定義よりすぐに求まる。
上記ベイズの定理を用いて再度説明すると、『ベイズの識別規則とは、ベイズの定理式の左辺が最大となる時のクラス を観測データの所属クラスとして判別する規則』となります。
すなわち、ベイズの識別規則により推定されるクラスは以下の等式を満たすものです。
さらに、上記ベイズの定理中では、は固定値であるため
と式変形できます。
ベイズの識別境界
まず、事後分布に関して以下の等式が成立するを考えます。
また、式は以下の式へと変形することができます。
上記等式を満たすのことをベイズの識別境界と呼び、所属クラスを判別する際の一種の基準となります。
以下、具体例となります。
具体例1)
クラスを『平均、分散の正規分布 から発生する実数の集合』、クラスを『平均、分散の正規分布 から発生する実数の集合』としたとき、
と表現することができます。
さらに、事前確率をそれぞれ
と仮定した時、識別境界は以下の等式を満たすとなります。
実際に、識別境界を図示したグラフは以下のようになります。
上図から、ちょうどのラインで二つの曲線が交わっていることがわかります。このがベイズの識別境界です。(実際に等式(4)にを代入してみても成立することがわかるかと思います。) 識別境界よりも左側()の領域では、観測データはクラスに所属しているものと判別し、 識別境界よりも右側()の領域では、観測データはクラスに所属しているものとして判別されます。