このモジュール (および Scipy のドキュメント) に関する既存の投稿を読みましたが、データ セットと呼び出し可能な関数がある場合に、Scipy の kstest モジュールを使用して適合度テストを行う方法がまだ明確ではありません。
データをテストしたい PDF は、標準の scipy.stats ディストリビューションの 1 つではないため、次のようなものを使用して呼び出すことはできません。
kstest(mydata,'norm')
ここで、mydata は Numpy 配列です。代わりに、次のようなことをしたい:
kstest(mydata,myfunc)
ここで、'myfunc' は呼び出し可能な関数です。'myfunc' を使用して対応する理論上の頻度を生成するために 'mydata' 配列の横座標が何であるかを kstest が知る方法がないため、これは当然のことです。「mydata」の度数が配列「abscissa」の確率変数の値に対応するとします。次に、stats.ks_2samp を使用できるのではないかと考えました。
ks_2samp(mydata,myfunc(abscissa))
しかし、それが統計的に有効かどうかはわかりません。(補足: kstest と ks_2samp は、周波数配列が 1 に正規化されることを期待していますか、それとも絶対周波数が必要ですか?)
いずれにせよ、1 サンプル KS テストは適合度テストに使用されることになっているため、kstest を直接使用してそれを行う方法があると想定する必要があります。これどうやってやるの?