経験的累積分布関数か​ら95%タイル値を出​力する方法はあります​か?

4 views (last 30 days)
Kazumasa Shimada
Kazumasa Shimada on 5 Feb 2019
Commented: michio on 6 Feb 2019
得られた複数のデータに対して、ノンパラメトリック(確率分布を仮定しない)でそのデータ群における95%値を求めたいです。
経験的累積分布関数ecdfを用いることで、推定された累積分布を得ることができました。
しかし、累積分布のパーセンタイル値が自動で設定されるため、95%値や99%値などの必要な統計値を得ることができません。
パーセンタイル値(ここではf)の値を指定して、xを求める方法をご存知でしょうか?
簡単にできない場合は、下記の例の場合、f=0.9333,とf=1.00の各xの値から、f=0.95のxの値を、線形と改定して推定することになります。
以下、MATLABヘルプのecdfのドキュメンテーション
[f,x] = ecdf(failuretime);
[f,x]
ans =
0 0.0895
0.0667 0.0895
0.1333 0.1072
0.2000 0.1303
0.2667 0.1313
0.3333 0.2718
0.4000 0.2968
0.4667 0.6147
0.5333 0.6684
0.6000 1.3749
0.6667 1.8106
0.7333 2.1685
0.8000 3.8350
0.8667 5.5428
0.9333 6.1910
1.0000 6.9825
お忙しいところ恐縮ですが、サポート頂けると幸いです。
  1 Comment
michio
michio on 6 Feb 2019
質問の投稿、ありがとうございました。
回答の内容で課題や疑問が解決されましたら、
ぜひ「この回答を採用」ボタンのクリックをお願いいたします。

Sign in to comment.

Accepted Answer

Satoshi Kobayashi
Satoshi Kobayashi on 6 Feb 2019
そのデータ群における95%値を求めたい場合、prctileの使用を推奨します。
prctile(x,95)
ecdfの出力にinterp1を使用した場合とは結果がわずかに変わることがありますので、定義にご注意ください。
  1 Comment
Kazumasa Shimada
Kazumasa Shimada on 6 Feb 2019
Satoshi Kobayashi 様
早速のご回答、ありがとうございました。
prctileにより95%値を求めることができました。
仰る通り、ecdfの結果を内挿して求めた95%値と若干異なる結果でした。
結果を使用する際は定義を抑えて説明したいと思います。
この度は、誠にありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!