このモジュール(およびScipyドキュメント)についての既存の記事を読んだことがありますが、Scipyのkstestモジュールを使って良さを確認する方法はまだ分かりませんデータセットと呼び出し可能な関数がある場合にフィットテストを実行します。適合性テストのためのScipyのstats.kstestモジュールの使用
標準scipy.statsディストリビューションの一つではないので、私は同じようなものを使用して、それを呼び出すことはできませんに対して、私は私のデータをテストしたいPDF:
MYDATAはnumpyの配列があるkstest(mydata,'norm')
。代わりに、私は次のようなことをしたい:
kstest(mydata,myfunc)
ここで 'myfunc'は呼び出し可能な関数です。これはうまくいきません。なぜなら、kstestが 'myfunc'を使って対応する理論周波数を生成するために 'mydata'配列の横座標を知る方法がないからです。 'mydata'の周波数がランダム変数の値に対応すると仮定すると、配列 '横座標'になります。それで統計情報が有効かどうかわかりませんが、私はstats.ks_2samp:
ks_2samp(mydata,myfunc(abscissa))
を使用することができます。 (Sidenote:kstestとks_2sampは周波数配列が1に正規化されることを期待していますか、絶対周波数を必要としていますか?)
いずれの場合でも、1サンプルKS検定は、私は、kstestを使って直接行う方法があると仮定しなければなりません。これどうやってやるの?
ありがとう、素晴らしい作品です!何かが私を混乱させる。あなたの例に従えば、私はD = 0.08、p = 1.6e-14になります。私の元の質問では、ks_2sampを使用するための私の 'ハック'解法を挙げました。ヒストグラムモジュールを使ってデータの観測頻度を計算し、同じビンサイズの理論周波数を計算し、これらの2つの配列でks_2sampを使用しました。それは私にD = 0.74、p = 0.017を与えた。このように劇的に異なる結果が出るのはちょっと奇妙なようです。あなたは2つの計算を近づけるべきだと思いますか? –
私は自分自身を混乱させるかもしれません:ks_2sampは2つのデータセットの経験的なcdfを取るのでしょうか? –
'ks_2samp'は2つのデータセット自体を取ります。あなたがうまくやっているのであれば、 'ks_2samp'メソッドが' kstest'よりも高い 'p-values'をもたらすことは合理的だと思います。あなたが見ている違いが大きすぎるかどうかは分かりません... – Jaime