Mean、SD、Skew、およびKurtosisが分かっているRで分布を生成することは可能ですか?これまでのところ、乱数を作成し、それに応じて変換するのが最善のルートと思われます。 特定のディストリビューションを生成するのに適したパッケージがあれば、まだ見つかりませんでした。 おかげ与えられた分布、平均、SD、スキュー、尖度をRでどのように生成するか?
答えて
SuppDistsパッケージにジョンソン分布があります。 Johnsonはあなたに瞬間または分位数のいずれかと一致する分布を与えます。他のコメントは正しいですが、4つの瞬間は流通メーカではありません。しかしジョンソンは確かに試みるでしょう。ここで
は、いくつかのサンプルデータにジョンソンを当てはめるの例です:最後のプロットは次のようになります
require(SuppDists)
## make a weird dist with Kurtosis and Skew
a <- rnorm(5000, 0, 2)
b <- rnorm(1000, -2, 4)
c <- rnorm(3000, 4, 4)
babyGotKurtosis <- c(a, b, c)
hist(babyGotKurtosis , freq=FALSE)
## Fit a Johnson distribution to the data
## TODO: Insert Johnson joke here
parms<-JohnsonFit(babyGotKurtosis, moment="find")
## Print out the parameters
sJohnson(parms)
## add the Johnson function to the histogram
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red")
:
あなたは他の人が指し示す問題のビットを見ることができます4つの瞬間がどのように分布を完全に捕らえていないかについて、
幸運を祈る!
EDIT ハドリーがコメントで指摘したように、ジョンソンのフィット感が見えます。私は簡単なテストを行い、moment="quant"
を使ってジョンソン分布に適合しました。これは、4つのモーメントの代わりに5つの分位数を使ってジョンソン分布に適合します。結果は非常に良く見える:
誰でも瞬間を使用してフィットする際ジョンソンが偏っているようだ理由を任意のアイデアを持っている:
parms<-JohnsonFit(babyGotKurtosis, moment="quant")
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red")
次を生成しますか?
そのカーブに何か問題があります。単純な位置のずれがフィット感を大幅に向上させるでしょう。 – hadley
私はそれが見えることに同意します。私が少し時間を取ると、私はそれを少し掘り下げるかもしれません。 –
これらのパラメータは、実際には完全に分布を定義していません。そのためには、密度や等価的に分布関数が必要です。
@デビッドと@Carlは異なる分布を生成するために専用のいくつかのパッケージがあり、上記の書いたように、例えば参照the Probability distributions Task View on CRAN。
あなたは(指定したパラメータで特定の分布にフィット数のサンプルを描画する方法を)理論に興味があるなら、単に、例えば、適切な式を探しgamma distribution on Wikiを参照し、提供されたパラメータを使用して単純な品質システムを構成して、スケールと形状を計算します。
私は平均値と標準偏差に基づいて、必要なベータ分布のαおよびβパラメータを計算具体例hereを参照してください。
私はダウンボートを得た理由を明記してください。 – daroczig
これは興味深い質問ですが、実際には良い解決策はありません。私はあなたが他の瞬間を知らないにもかかわらず、あなたは流通がどのように見えるべきかの考えを持っていると推測します。たとえば、それは単峰性です。
あり、この問題に取り組むいくつかの異なる方法:
は、基礎となる分布と一致する瞬間を想定します。これを行うための多くの標準Rパッケージがあります。 1つの欠点は、多変量汎化が不明である可能性があることです。
鞍点近似。本論文では:
ガレスピー、C。S.とレンショウ、E. An improved saddlepoint approximation.数学バイオサイエンス、2007年
私たちは、最初のいくつかの瞬間を与えられたとき、PDF/PMFの回復を見てください。このアプローチは、歪度があまり大きくない場合に機能することがわかりました。
ラゲール展開:
ムスタファ、H.およびDimitrakopoulosa、R. Generalized Laguerre expansions of multivariate probability densities with moments。 コンピュータ&数学とアプリケーション、2010.
このホワイトペーパーの結果はより有望ですが、私はそれらをコード化していません。
すべての配信を複製するには密度推定が必要であることに同意します。しかし、モンテカルロシミュレーションで典型的なように、何百もの変数がある場合は、妥協が必要です。
- は、与えられたスキューおよび尖度の係数を得るために変換フライシュマンを使用します。
一つは、次のようなアプローチを推奨します。フライシュマンは、スキューおよび尖度を取り、あなたの係数を与える
- 生成するN通常の変数(平均= 0、STD = 1)
- は(2)フライシュマン係数で与えられたスキューに、通常のデータを変換するためにデータを変換そして尖度このステップで
- 、ステップ(3)と所望の平均と標準偏差(STD)を用いNEW_DATAに変換=所望の平均+(ステップ3からのデータ)*所望STDからの使用データ
ステップ4の結果データは、希望の平均、標準偏差、歪度、尖度を持ちます。
警告:
- フライシュマンは歪度のすべての組み合わせのために働き、上記の手順を
- をkurtoisませんが、非相関変数を想定しています。相関データを生成する場合は、Fleishman変換の前にステップが必要です
これはR実装ですか? –
この質問は3年以上前に尋ねられたので、私の答えが遅すぎることはないと思います。
ここではです。いくつかの瞬間を知っているときに配信を一意に識別する方法です。その方法は最大エントロピーの方法です。この方法の結果として得られる分布は、分布の構造に関する無知を最大にする分布であり、を知っているです。あなたが指定した瞬間もMaxEntディストリビューションではない他のディストリビューションは、暗黙のうちにあなたが入力したものより多くの構造を想定しています。最大化する関数はShannonの情報エントロピー、$ S [p(x)] = - \ int p(x)log p(x)dx $です。平均、sd、歪度および尖度を知ることは、それぞれ分布の第1、第2、第3、および第4の瞬間の制約として解釈される。
問題が制約にS対象最大限にするために、その後です: 1)$ \ int型XP(X)DX = "最初の瞬間" $、 2)の$ \ int型のx^2のp(x)は、DXを= "二次モーメント" $、 3)...など...
私は「Harte、J.、最大エントロピーとエコロジー:豊かさ、流通、そしてエネルギーの理論」(Oxford University Press、Newヨーク、2011)。ここで
はRでこれを実装しようとするリンクです: https://stats.stackexchange.com/questions/21173/max-entropy-solver-in-r
- 1. Pythonで平均、分散、スキュー、尖度を使って分布を生成するにはどうすればよいですか?
- 2. 与えられたプロパティでmatlabの均一分布遅延を生成する
- 3. R:確率密度分布からデータを生成する
- 4. どのようにしてC++で与えられた平均と標準誤差で正規分布をランダムにサンプリングするのですか?
- 5. 与えられた分布を持つ無限イテレータの作成
- 6. matlabでスキュー正規分布に従う乱数を生成する方法
- 7. 平均、総和、長さ、およびsdを含む頻度数をRで簡単にする方法
- 8. R:平均とsd関数を使って標準化する
- 9. 平均と分散は同じだが歪度の異なる分布を得るにはどうすればよいですか?
- 10. Rの分布と密度R
- 11. 二項分布から相関した乱数を生成するR
- 12. パンダとスキピのスキューと尖度関数の違いは何ですか?
- 13. 与えられた分布に基づいてデータフレームをサンプリングする
- 14. Matlabで最大、最小、平均(平均)の乱数を生成
- 15. Rで与えられた分位数の確率をどのようにして計算するのですか? Rを使用して
- 16. cvs連続データセットから平均値/分を計算するにはどうすればよいですか?
- 17. 与えられたjavascriptのコールグラフを生成するには?
- 18. Rスクリプト - 平均化する
- 19. Rのデータのスライディンググループの平均をプロットするにはどうすればよいですか?
- 20. Prologで与えられたリストの平方根のテーブルを作成する
- 21. Rのパラメトリック平均をプロット
- 22. Rの正規分布のための手による最大尤度推定
- 23. Rのヒストグラムに平均値を加えます。
- 24. 与えられた誤差で元のセットの平均値と分散を取得するには、いくつのサンプルを取るべきですか?
- 25. 経度と緯度の位置の平均を見つけるにはどうすればいいですか?
- 26. R与えられた分布(サンプルの代わりに)におけるべき乗則の最大尤度見積もり
- 27. 平均ユーザーダウンロード速度
- 28. GPSから移動平均速度を計算するには?
- 29. 与えられたjsonオブジェクト、どのようにオブジェクトを反復するか?
- 30. 与えられた係数と下限で合計をどのように分けるか?
としては、それらが一意に分布については説明しません指摘しました。すべての瞬間を定義しても、一意に分布を定義することは保証されません。私はあなたが何をしようとしているのかを説明する必要があると思います。なぜあなたはこれをやろうとしていますか?あなたは配布を定義することを可能にするさらなる制限を置くことができますか? – Dason
ああ、私たちは単一の次元で単峰性の連続分布を求めています。最終的に得られた分布は、シミュレーションを通じてニッチ理論のバリエーションをテストする方法として数値的に変換されます。 –
Cross Validated(stats.SE)では、次の点が読者にとって興味深いかもしれません:[具体的な平均と標準偏差のような特定の制約を満たすデータをシミュレートする方法](http://stats.stackexchange .com/q/30303/7290) – gung