2017-09-12 8 views
3

こんにちは、すべて。だから私はこれがかなり基本的でなければならないことを知っていますが、あなたが知っているいくつかのサンプルデータのpdfをプロットするための適切で正確な方法は何ですか? rnorm()またはrexp()を使用して生成した場合のように、データサンプルのPDFをプロットする適切な方法は?

私が尋ねる理由は、私は多くの人がdensity()を使用する知っているのであり、そしてそのplot()に入力が、density()機能が正確であるには余りにも任意と思われます。例えば、指数関数分布から来たデータに対して負の値を近似するときには不正確であり、負の値を持たない。値。

誰かがサンプルPDFをプロットするのにもっと微調整された方法をお勧めしますか?

+1

にこの記事で同様の質問を見てみましょう(あるいは少なくとも関連)、[stats.se]に頼まれた

ggplot(df, aes(x=contVar, fill = "green")) + geom_density(alpha=.3) 

- 私の[答え](https://stats.stackexchange.com/a/71291/1390)は、変数の負の値がどれほど妥当でないかをカバーしています。 –

答えて

1

density関数は、カーネル密度推定(KDE)を実行します。データセットに最適なKDEを見つけるには、帯域幅(パラメータbw)を調整する必要があります。ここでKDEおよび帯域幅の選択について説明した紙だ:http://www.stat.washington.edu/courses/stat527/s13/readings/Sheather_StatSci_2004.pdf

それとも単純なアプローチのために、あなたはbwに渡すために、異なる帯域幅の方法を試してみることができます: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/bandwidth.html

現在のデフォルト、「nrd0」、のためにそこにあります歴史的な理由。私は "ucv"と "bcv"が自分のデータセットでうまく機能しているのを見つけました。

+1

実際には帯域幅が非常に小さい場合を除き、データ値が0に近い場合、これらの値は負の値にリークします。 –

0

ggplotは、適切でない場合に負の値を処理するのに役立ちます。それは以下のようにして使用することができます。私もcross validated

+0

私は上記の答えがより技術的で徹底的な方法で私の質問に対処したと思っていましたが、あなたのリンクは素晴らしいリソースであり、ありがとうと思います。 – Coolio2654