[解決済み] Python Scipyによる2標本Kolmogorov-Smirnov検定
2022-11-26 12:55:53
質問
Scipyで2標本のKS検定を行う方法がわかりません。
ドキュメントを読んだ後 scipy kstest
分布が標準正規分布と同じかどうかをテストする方法がわかる
from scipy.stats import kstest
import numpy as np
x = np.random.normal(0,1,1000)
test_stat = kstest(x, 'norm')
#>>> test_stat
#(0.021080234718821145, 0.76584491300591395)
これは、p値が0.76のとき、2つの分布が同一であるという帰無仮説を棄却できないことを意味します。
しかし、私は2つの分布を比較し、それらが同一であるという帰無仮説を棄却できるかどうかを確認したいのですが、そのようなことは可能でしょうか?
from scipy.stats import kstest
import numpy as np
x = np.random.normal(0,1,1000)
z = np.random.normal(1.1,0.9, 1000)
で、xとzが同じかどうかを調べる
ナイーブを試してみました。
test_stat = kstest(x, z)
と入力すると、以下のようなエラーが発生しました。
TypeError: 'numpy.ndarray' object is not callable
Pythonで2標本のKS検定を行う方法はありますか?もしあれば、どのようにすればよいですか?
よろしくお願いします。
どのように解決するのですか?
1標本のKS検定を使っていますね。 おそらく2標本検定を使いたいのでしょう
ks_2samp
:
>>> from scipy.stats import ks_2samp
>>> import numpy as np
>>>
>>> np.random.seed(12345678)
>>> x = np.random.normal(0, 1, 1000)
>>> y = np.random.normal(0, 1, 1000)
>>> z = np.random.normal(1.1, 0.9, 1000)
>>>
>>> ks_2samp(x, y)
Ks_2sampResult(statistic=0.022999999999999909, pvalue=0.95189016804849647)
>>> ks_2samp(x, z)
Ks_2sampResult(statistic=0.41800000000000004, pvalue=3.7081494119242173e-77)
結果は以下のように解釈できる。
-
を比較することができます。
statistic
の値と KS-test臨界値表 をサンプルサイズにしたがって計算します。このときstatistic
の値が臨界値より大きければ、2つの分布は異なっていることになります。 -
を比較することもできます。
p-value
を有意水準で比較することもできます。 a 通常 a=0.05 または 0.01 (あなたが決める、a が低ければ低いほど、より有意である)。もしp-valueが a よりも小さい場合,2つの分布が異なる可能性が非常に高くなります。
関連
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] バブルソートの宿題
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Pythonでファイルの読み込みと上書きをする