正規確率プロットを試してみる。ややこしめの関数が出てきたら使いたい。縦軸は与えられたリスト、横軸はそのrankit(順序統計量)に対応する正規乱数である。
def norm_probplot(L, m=1): rand = np.random.normal(size=(m*(len(L)+1)-1, 1000))[m-1::m] rand.sort(axis=0) pylab.xlabel('standard normal values') pylab.ylabel('survival days') pylab.scatter(np.mean(rand, axis=1), np.sort(L))
正規確率プロットで第2章の大腸癌のサンプルをプロットしてみた。
これを直線と言っていいかは場合によりそう。
自分も実験していまいち納得していないが、与えられたリストの長さが小さい場合はmの値を大きくすればいいそうな。
追記
norm_probplot(np.hstack((np.random.normal(1,size=100),np.random.normal(8,size=100))))
とすれば、
となるので、二つの正規分布に従う集団の合成されたものとして近似できるかも。