問題タブ [kernel-density]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
761 参照

r - sm.density.compare を使用して最も可能性の高い分布の関数を見つける

データセットの分布を調べるために「sm」パッケージを使用しています。興味のある人のために、私は年齢の関数としての採用慣行を見て、グループの年齢分布の変化が性別や教育などの属性によって変化するかどうかを特定しようとしています.

SM パッケージは私にとって新しい経験であり、帰無仮説が真である場合 (両方の密度プロットが同じ分布から取得されたランダム サンプルによって生成される場合)、データセットを生成する可能性が最も高い密度関数を記述する関数を見つけようとしています。画像を投稿するのに必要な評判はありませんが、Imgur でこれも sm.density.compare で生成されたものを見つけました。

ここに画像の説明を入力

画像に表示されているのは、2 つのカーネル密度プロットとティール領域です。2 つの線が同じ分布からのデータによって生成された場合、真の密度プロットを含む 95% の可能性を含む参照バンドであると私は理解しています。

私が知りたいのは、x 軸の各値のリファレンス バンド内の最も可能性の高いポイントを通過するベクトルを計算する方法です。ルールに従って、私はもちろん、私が狂っている、または別のパッケージを使用する必要があるという提案を受け入れます。

0 投票する
1 に答える
6682 参照

r - r を使用してバイモーダル分布の極小値を見つける

私のデータは前処理された画像データで、2 つのクラスを分離したいと考えています。理論的には (そしてうまくいけば実際には)、最良のしきい値は、バイモーダル分散データの 2 つのピーク間の局所的な最小値です。

私のテストデータは次のとおりです。http://www.file-upload.net/download-9365389/data.txt.html

このスレッドをフォローしようとしました: ヒストグラムをプロットし、カーネル密度関数を計算しました:

しかし、どのように続けるのですか?

密度関数の 1 次導関数と 2 次導関数を計算して、極値、具体的には極小値を見つけます。ただし、Rでこれを行う方法がわかりませdensity(test)ん。通常の機能ではないようです。したがって、私を助けてください:どうすれば導関数を計算し、密度関数の2つのピーク間のピットの極小値を見つけることができますdensity(test)か?

0 投票する
1 に答える
40097 参照

python - matplotlib を使用して Python で 3D 密度マップをプロットする方法

(x,y,z) タンパク質位置の大規模なデータセットがあり、占有率の高い領域をヒートマップとしてプロットしたいと考えています。理想的には、出力は以下のボリューム視覚化に似ているはずですが、matplotlib でこれを実現する方法がわかりません。

http://i.stack.imgur.com/nsNEL.jpg

私の最初のアイデアは、自分の位置を 3D 散布図として表示し、KDE ​​を介してその密度に色を付けることでした。テストデータを使用して、次のようにコーディングしました。

これはうまくいきます!ただし、実際のデータには何千ものデータポイントが含まれており、kde と散布図の計算が非常に遅くなります。

私の実際のデータの小さなサンプル:

http://i.stack.imgur.com/BFT5V.png

私の調査では、グリッド上でガウス kde を評価することをお勧めします。3Dでこれを行う方法がわかりません:

0 投票する
1 に答える
1350 参照

scikit-learn - なぜscikitは対数密度を返すのですか?

sklearn.neighbors.kde.KernelDensityの関数score_samples、密度のログを返します。それ自体の密度を返すことの利点は何ですか?

対数は、0 から 1 の間の確率に対して意味があることを知っています (この質問を参照してください: GaussianNB [scikit-learn] で対数確率推定を使用する理由は? ) しかし、0 から 1 の間の密度に対して同じことを行うのはなぜですか?無限?

対数密度を直接推定する方法はありますか、それとも推定密度から得られた対数ですか?

0 投票する
1 に答える
3731 参照

python - gaussian_filter と gaussian_kde におけるシグマと帯域幅の関係

関数scipy.ndimage.filters.gaussian_filterおよびscipy.stats.gaussian_kdesigmaを特定のデータ セットに適用すると、各関数のおよびbw_methodパラメータがそれぞれ適切に選択されている場合、非常によく似た結果が得られます。

たとえばsigma=2.gaussian_filter(左のプロット) と(右bw_method=sigma/30.のプロット) を設定することで、ポイントのランダムな 2D 分布に対して次のプロットを取得できます。gaussian_kde

ここに画像の説明を入力

(MWEは質問の一番下にあります)

1 つはデータにガウス フィルターを適用し、もう 1 つはガウス カーネル密度推定器を適用するため、これらのパラメーター間には明らかに関係があります。

各パラメータの定義は次のとおりです。

sigma : スカラーまたはスカラーのシーケンス ガウス カーネルの標準偏差。ガウス フィルターの標準偏差は、各軸に対してシーケンスとして、または単一の数値として与えられます。この場合、すべての軸で等しくなります。

ガウス演算子の定義を考えると、これは理解できます。

ここに画像の説明を入力

bw_method : str、スカラーまたは呼び出し可能、オプション 推定帯域幅の計算に使用されるメソッド。これは、'scott'、'silverman'、スカラー定数、または呼び出し可能オブジェクトです。スカラーの場合、これは kde.factor として直接使用されます。callable の場合、唯一のパラメーターとして gaussian_kde インスタンスを取り、スカラーを返す必要があります。None (デフォルト) の場合、'scott' が使用されます。詳細については、注意事項を参照してください。

bw_methodこの場合、と比較できるように、 の入力がスカラー (float) であると仮定しますsigmakde.factorこのパラメーターに関する情報がどこにも見つからないため、ここで迷子になります。

私が知りたいのは、可能であれば、これらの両方のパラメーター (つまり、フロートが使用される場合) を接続する正確な数式です。sigmabw_method


MWE:

0 投票する
1 に答える
6446 参照

statistics - Stata で 2 つの累積分布をグラフ化する

私はこのコード(すぐ下)を試しています.Stataはそれを読んでいるようです-エラーは表示されません-しかし、変数は生成されません。ここにあります:

cumul price if dummy==1, gen(cprice1)

cumul price if dummy==0, gen (cprice2)

line cprice1 cprice2 price

皆さん、私を助けてくれませんか? ダミーの「if」条件で 2 つのカーネル密度分布をグラフ化することができました。同様のコードで、後でグラフ化するための結果を保存しました。Stata のヘルプ ファイルに従います。しかし、累積分布ではこれを行うことができませんでした。

0 投票する
1 に答える
246 参照

r - カーネル密度からランダム サンプルを生成したときの異なる結果

最後のヒストグラムは間違っています。以前に使用densityしたことがありますが、はるかに複雑な分布に対して正確であることがわかりました。この場合、なぜパフォーマンスが悪いのでしょうか。ありがとう

0 投票する
1 に答える
1583 参照

python - Python - 最密点の座標を取得する

numpy と scipy を使用して、3D 座標情報から密度プロットを生成しています。次のコードで KDE を生成することにより、データの密度プロットを正常に生成できます。

しかし、この情報を使用して、最大密度の 3D ポイントに関連付けられた座標を見つけるにはどうすればよいでしょうか?

私はもう試した

これは、インデックスを見つけることができる値を返します

しかし、そのインデックスを使用して xyz から関連する座標を取得することができないようで、これが正しいアプローチであるかどうかわからないため、空白にヒットしました。

0 投票する
1 に答える
2943 参照

r - ggplot2: 2 つの密度プロットで x 制限を並べる

ggplot2 で比較するためにプロットしたい一連の密度推定値があります。私はこれまでに選択した詳細のいずれにも執着していません (たとえば、これらすべてを 1 つのプロットに配置する必要があるか、ファセット、grid.arrange を使用する必要があるかなど)、提案を受け付けています。

最初の試み:

ここに画像の説明を入力

良いですが、比較できるように軸を同じにしたいと思います。

を使用して制限を設定しようとしましたが、次のcoord_cartesian(xlim=c(0,5))ようなエラーが発生します

私も制限を設定しようとしましたscale_x_log10(limits=c(0,5)が、

これらのグラフをより簡単に比較できるように並べるより良い方法はありますか? 私はどんな解決策にも対応します。

私のデータは次の形式です。