[解決済み] Python で正規累積分布関数の逆数を計算するには?
2023-06-27 20:15:22
質問
Pythonで正規分布の累積分布関数(CDF)の逆数を計算するにはどうしたらよいですか?
どのライブラリを使用する必要がありますか?おそらくscipy?
どのように解決するのですか?
NORMSINV
(コメントで言及) は、標準正規分布の CDF の逆数です。 を使って
scipy
を使えば、これを計算することができます。
ppf
のメソッドで計算できます。
scipy.stats.norm
オブジェクトを作成します。 頭文字をとって
ppf
は
パーセントポイント機能
の別名です。
分位数関数
.
In [20]: from scipy.stats import norm
In [21]: norm.ppf(0.95)
Out[21]: 1.6448536269514722
CDFの逆数であることを確認する。
In [34]: norm.cdf(norm.ppf(0.95))
Out[34]: 0.94999999999999996
デフォルトでは
norm.ppf
は mean=0 と stddev=1 を使用し、これは "標準" 正規分布となります。 を指定することにより、異なる平均と標準偏差を使用することができます。
loc
と
scale
の引数をそれぞれ指定します。
In [35]: norm.ppf(0.95, loc=10, scale=2)
Out[35]: 13.289707253902945
のソースコードを見てみると
scipy.stats.norm
のソースコードを見てみると
ppf
メソッドは最終的に
scipy.special.ndtri
. ですから、標準正規分布のCDFの逆数を計算するには、その関数を直接使えばいいのです。
In [43]: from scipy.special import ndtri
In [44]: ndtri(0.95)
Out[44]: 1.6448536269514722
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Pythonで標準エラー出力するには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
最新
-
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のマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Django filter queryset __in for *every* item in list