DQNネームとベイズ推定

いわゆるDQNネームは就職に不利なのか、採用担当者はDQNネームの入社希望者を弾くべきか。
ベイズ推定的に考えてみた。

ベイズ推定による確率計算(Wikipediaより

P(A) = 事象 A が発生する確率
P(A|X) = 事象 X が発生した下で事象 A が発生する条件付き確率

bayes

仮定

  1. DQNは全体の1%。P(DQN)=1%、P(普通)=99%。
  2. DQNの90%はDQNネーム。P(DQN名|DQN)=90%、P(普通名|DQN)=10%。
  3. 普通の人の1%の人はDQNネーム。P(DQN名|普通)=1%、P(普通名|普通)=99%。

名前を知らない時のDQN確率

仮定1より、P(DQN)=1%

普通名の人がDQNである確率

P(DQN|普通名)
= [P(普通名|DQN)*P(DQN)] / [P(普通名|DQN)*P(DQN) + P(普通名|普通)*P(普通)]
= [10%*1%] / [10%*1% + 99%*99%]
= 0.1%

DQN名の人がDQNである確率

P(DQN|DQN名)
= [P(DQN名|DQN)*P(DQN)] / [P(DQN名|DQN)*P(DQN) + P(DQN名|普通)*P(普通)]
= [90%*1%] / [90%*1% + 1%*99%]
= 47.6%

考察

  1. DQN名だからといって、その人がDQNである確率は47.6%。約半分に過ぎない。
  2. DQN名の人がDQNである確率(47.6%)は、普通名の人がDQNである確率(0.1%)の476倍。約500倍!
  3. 名前を知らない人がDQNである確率は1%であるのに対し、普通名の人がDQNである確率は0.1%であり、リスクを1/10に減らすことができる。
  4. つまり、普通名の人を採用することはDQNリスクを1/10に減らすことができる。

結論

採用担当者は普通名の人を採用し、DQN名の人を落とすべきである。DQNの採用を避けたいのであれば。


おまけ

ベイズの定理を使わずに、「もしも世の中に1万人いたら」として表を作ったら次の通り。式でやるより表の方がわかりやすいなあ。

普通名 DQN名
普通の人 9801人 99人 9900人
DQNの人 10人 90人 100人
9811人 189人 10000人

apt-getで特定のバージョン・古いバージョンをインストール

ぐぐればすぐ見つかる。

apt-cache showpkg パッケージ名
apt-get install パッケージ名=バージョン

例えば、

apt-get install firefox=29.0.1-1vl6

これをやったら、次には特定のパッケージについては自動更新が邪魔になる。
そういう時は

/etc/apt/preferences

を編集する。

Package: firefox
Pin: version 29.0.1-1vl6
Pin-Priority: 1001

というような感じかな。
synapticも期待通りに動いてくれる。

Linuxとanacronとsuspend

前提:
Linuxをデスクトップとして使用。
24時間稼働ではない。
Rebootは滅多に行わず、通常はSuspend。

何が起こるか:
anacronのcron.dailyが毎日動いてくれることを期待するが、そうならない。

原因:
毎回Rebootするのであれば起動時に/etc/init.d/anacronが動き、anacron -sが実行されるのだが、滅多にRebootしないのでこれはだめ。
24時間稼働であれば/etc/crontabの指定により毎日定時(例えば朝の4時)に/etc/cron.daily配下が実行されるが、24時間稼働ではないため、指定された時刻(例えば朝の4時)に電源が入っていない場合、/etc/cron.daily配下が実行されない。
すなわち、本来毎日動いて欲しいはずの/etc/cron.dailyが毎日動いてくれない。

対策:
うーん、いろいろ方法はあると思うけど。
とりあえず、rootで、

crontab -e

して、

5 * * * * /etc/init.d/anacron start > /dev/null

というエントリーを追加。
つまり、毎時5分に/etc/init.d/anacronを実行するように設定。
1時間おきというのは頻繁すぎる気もするが、anacronは賢いので、まあ実害はあるまい。

Linuxで起動時に時刻合わせ

時々だけ起動するような機械の場合、時刻が大きくずれてしまっていることがある。
そうするとntpdではなかなか時刻が合わない。
Slew調整だと100ミリ秒の調整に200秒かかるようで。

そういう場合には、/etc/ntp/step-tickers。
このファイルにntpサーバーの名前(例えばntp.nict.jp)を書いておけば、起動時に/etc/init.d/ntpdがntpdateを実行してくれる。

あるいは、Vine Linuxの場合だけかもしれないが、

#

と1行だけ書いておくと、/etc/ntp.confを読んで適当に処理してくれる。

ロト6(Loto 6)の確率

何個? 6Cn * 43-6C6-n / 43C6
6個当たる確率 1/6096454=0.000000164
5個当たる確率 222/6096454=0.0000364
4個当たる確率 9990/6096454=0.00164
3個当たる確率 155400/6096454=0.0255
2個当たる確率 990675/6096454=0.1625
1個当たる確率 2615382/6096454=0.4290
0個当たる確率 2324784/6096454=0.3813

6個のうち1個当たる確率が一番高いらしい。