IQ1の大変さ

みなさんおはようございます、食塩結晶です。IQが1。
この記事はIQ1 Advent Calendar 2018の7日目の記事です

こういう記事を書くのは初めてなので緊張してます。
なんならブログも書いたことないし。そもそも持ってないし。
どきどきどきどきわくわく〜〜

さて、私が書くのは"IQ1の大変さ"についてです

IQとは何か

IQが知能指数(Intelligence Quotient)のことであることはご存知のはずです。
知能検査から算出される結果の一つですね。
細かいことはいっぱいありますがそこは本筋と関係ないのですっとばします。細かい事が知りたい人はwikipediaさんでも見といてください

IQは平均100、標準偏差15程度の標準得点で表されます。偏差値と似たようなものです。
人間の数が十分にいる時、分布は正規分布となります。
IQが100だと普通の人間程度の知能を持っているとされ、それを超えると人より優れ、下回ると人より劣っているという評価が与えられます。

ちなみに平均100標準偏差15で正規分布を書くと以下のようになります

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

IQ1とは

人間が十分にいて分布が正規分布となっている時、IQ1というのはかなり希少価値が高いです。IQ199と同じ希少さを持ちます。こわ。ヤクザじゃん。ちなみに過去に記録された最高のIQは228らしいので望みがある

式変形

ここで終わっては何も面白くないので実際に求めていきましょうか。
中央値=平均値:

μ=100、標準偏差:
σ=15
とします。
正規分布の確率密度関数は
f(x)=12πσ2exp((xμ)22σ2)

なので、IQ1の人をIQ1~2の間にいる人とすると(真にIQ1の人はいないので少数以下切り捨てだと考える)
F(2)F(1)=P(x2)P(x1)=2f(t)dt1f(t)dt=12f(t)dt

ここで気づいた。
f(t)
をそのまま積分するのはめんどい

というわけで

z=tμ2σ2 とおくと,
dz=12σ2dt
より

12f(t)dt=1212πσ2exp((tμ)22σ2)dt=1μ2σ22μ2σ212πσ2exp(z2)2σ2dz=1μ2σ22μ2σ21πexp(z2)dz
なんかテイラー展開でいけそうな気持ちになったけど、よく考えろ。積分区間は
1μ2σ2=11002152=994504.666904755832μ2σ2=984504.61976430375

なので、これだと第何項までやればテイラー展開の誤差が無視できるのかわからん(テイラー展開の近似についてはこのスライド が分かりやすかったです。ちなみにこれによると70項ぐらいまでやれば誤差はそれなりに小さくなるぽい)

手計算は無理だな…………

PCに計算させる

手計算は無理だったのでPCにぶん投げる。

面倒だったし重い計算でもないのでpythonでえいっと

from scipy import integrate
import math

mu = 100
sigma = 15

def calcDistribution(z):
	return 1/math.sqrt(math.pi) * math.exp(-1 * (z**2))

lower = (1-mu)/math.sqrt(2*(sigma**2))
upper = (2-mu)/math.sqrt(2*(sigma**2))

print(integrate.quad(calcDistribution, lower, upper))

で結果が

(1.1602993826693558e-11, 1.2881910900978742e-25)

これは値が1.1602993826693558e-11で推定誤差が1.2881910900978742e-25ということ。まあ誤差は10^14違うので無視していいデショ

ぐぐったら2015年ぐらいで世界人口が73億人ぐらいになってるらしい。え、いつの間にそんなに増えてたの。僕が小学生の時63億人とかじゃなかった?人間の数多くない?

つまりは

7.31091.160299382669355810110.08470185493

一人もおらんやんけ!!!!!!!

まじかよ。一人ぐらいいると思ってた。一人どころが0.1人もいないじゃん嘘でしょ。IQ1は偽物なのか?

IQを1にする方法

このままだと"伝説のIQ1 ちゃっく"(ゾンビランドサガ風)になってしまうし、他の人はIQ1を名乗れない。なので無理やりIQを1にする方法を考える

多分IQは複数の軸で点数を出して、それを1次元化することで算出してるんだと思う。のだけれど考えるのは面倒なので偏差値と同じようにある点数から割り出されるものだと考える。

100点満点のテストをn人が受けて、n-1人が100点で僕一人だけ0点の時に、僕の偏差値はいくつ?というお話だ。今回はIQなので、平均100、標準偏差15にしなければいけない。なので、IQ

Ti

Ti=15(xiμx)σx+100
また、平均と偏差は
μx=1nxiσx=1n(xiμx)2=1nxi2μx2

なので、
μx=1nxi=1n(100(n1)+01)=100n1nσx=1nxi2μx2=1n(1002(n1)+021)μx2=1002n1n1002(n1n)2=100nn(n1)(n1)2=100n1n

よって、僕のIQは

Ti=15(xiμx)σx+100=15(0100n1n)100n1n+100=15n1+100
これを1にすればいいので
15n1+100=115n1=99n1=335n1=108925n=111425=44.56

45人クラスで44人が100点を取り僕が0点だとIQが1!!

とまで書いたはいいけど、世の中にはIQ1の人間はいっぱいいる。少なくともAdCに参加している人ぐらいはいる。ので、ちょっと一般化

100点満点のテストをn人が受けて、n-m人が100点でm人が0点の時に、0点の偏差値はいくつ?

なので、

μx=1nxi=1n(100(nm)+0m)=100nmnσx=1nxi2μx2=1n(1002(nm)+02m)μx2=1002nmn1002(nmn)2=100nn(nm)(nm)2=100mnmn
よって、0点の人のIQは
Ti=15(xiμx)σx+100=15(0100nmn)100mnmn+100=15nmm+100

これを1にすればいいので
15nmm+100=115nmm=99nmm=335nmm=108925n=108925m+m

IQ1AdCに参加している人間の数は40人ぐらいなので、m=40にすると、

n=108925m+m=10892540+40=1782.4

1782人のうち1742人が100点を取ればIQが1!!!

え、これ結構無理じゃない?



結論

IQ1はかなり大変

おまけ

みんなARIA読んで。火星行きたい。ヴェネツィアでもいい。温泉も行きたい

これ最初gistに上げようと思ってたんだけど、gistだとmarkdownの数式を画像に置き換えなければいけなくて、それはさすがに面倒になってHackMdになった