JMPを使用して2つの異なる正規分布曲線に共通する面積を見つける方法はありますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />2 つの異なる正規分布曲線の共通部分の下の面積を見つけようとしています。 JMP を使用してそれを行うにはどうすればよいですか? 簡単な方法はありますか?
Re: JMP を使用して 2 つの異なる正規分布曲線に共通する面積を見つける方法はありますか?やあ、
グラフの範囲は平均値が 2 桁ではなく 1 桁にハードコードされていたため、プロットはいわば「ページ外」でした。 曲線が表示されるように、グラフの適切な軸を計算するコードを追加しました。
ここで使用されている Integrate() 関数にも問題があり、代わりに多角形の下のリーマン和を使用することにしました。 この方法ではかなり正確になります。
Names Default to Here( 1 );
// Define curves and calculate overlap area
mean1 = 46.17;
stdev1 = 16.27;
mean2 = 82.08;
stdev2 = 17.68;
<BR />N1 = Expr(Normal Density(x, mean1, stdev1));<BR />N2 = Expr(Normal Density(x, mean2, stdev2));
//––––––––––
// calculate graph ranges
rangemin = Minimum(mean1-6*stdev1,mean2-6*stdev2);
rangemax = Maximum(mean1+6*stdev1,mean2+6*stdev2);
// Illustration
ym = zm = 1 :: 2000; // 2000 has to do with how detailed the plot should be
multiplier = (rangemax-rangemin)/(Maximum(ym)-Minimum(ym));
xm = (ym-Minimum(ym))*multiplier+rangemin;
ovl = 0;
For(i = 1, i <= N Col(xm), i++,
ym[i] = Minimum(Normal Density(xm[i], mean1, stdev1), Normal Density(xm[i], mean2, stdev2));
zm[i] = Maximum(Normal Density(xm[i], mean1, stdev1), Normal Density(xm[i], mean2, stdev2));
If(i>1, ovl += 0.5*(ym[i-1]+ym[i])*(xm[i]-xm[i-1]));
);
New Window("Overlap Coefficient",
y = Graph Box(
Y Scale(0, 1.2*Maximum(zm)),
X Scale(rangemin, rangemax),
Y Function(N1, x);
Y Function(N2, x);
Text({Mean(xm), 0.6*Maximum(zm)}, "OVL% = ", ovl*100);
Fill Color(1);
Polygon(xm, ym);
)
);Re: JMP を使用して 2 つの異なる正規分布曲線に共通する面積を見つける方法はありますか?誰かこのスクリプトの問題解決を手伝ってくれませんか。 私の JSL は、実際のデータセットを使用すると何が問題になるのかを理解するのに十分ではなく、グラフのスケールが正しくなく、OVL が表示/計算されません。
データ例:
| 平均1 = 46.17 | 標準1 = 16.27 |
| 平均2 = 82.08 | 標準2 = 17.68 |
観察されたエラー
- 上記のデータを使用するとOVLが表示/計算されません(どちらが正しいかわかりません)
- 軸が間違ったスケールに設定されています (自動機能が役立つでしょう)
- コードまたは手動ツールを使用してスケールを調整すると、PDF 曲線は表示されますが、影付きの領域は表示されません
Re: JMP を使用して 2 つの異なる正規分布曲線に共通する面積を見つける方法はありますか?JMP のグラフ (ありがとう@MS )。 分析ソリューションもあると知ってうれしいです。
overlapoverlap重なり合う
Re: JMP を使用して 2 つの異なる正規分布曲線に共通する面積を見つける方法はありますか?@MSこれを共有してくれてありがとう!同僚のおかげで、このスクリプトを次の Web サイトにある例と照合してみました。 https://stats.stackexchange.com/questions/103800/calculate-probability-area-under-the-overlapping-area-of-two-normal-distributi
最初の分布と 2 番目の分布のそれぞれの平均パラメータとシグマパラメータを使用すると、次のようになります。
「あなたの例では、 μ 1 = 5.28 、 μ 2 = 8.45 、 σ 1 = 0.91 、 σ 2 = 1.36 μ1=5.28、μ2=8.45、σ1=0.91、σ2=1.36 、これにより次の結果が得られます。 c = 6.70458... c=6.70458... 、緑色のセクションの面積は 0.158413 です。
.JSL スクリプトは、重なったセクションの領域に対してまったく同じ結果を返します。
Names Default To Here(1);
// Define curves and calculate overlap area
mean1 = 5.28;
stdev1 = 0.91;
mean2 = 8.45;
stdev2 = 1.36;
N1 = Expr(Normal Density(x, mean1, stdev1));
N2 = Expr(Normal Density(x, mean2, stdev2));
ovl = Integrate(Min(N1, N2), x, ., .);
Show(ovl);
//––––––––––
// Illustration
ym = xm = (-1000 :: 1000) / 100;
For(i = 1, i <= N Col(xm), i++,
ym[i] = Min(Normal Density(xm[i], mean1, stdev1), Normal Density(xm[i], mean2, stdev2))
);
New Window("Overlap Coefficient",
y = Graph Box(
Y Scale(0, 1),
X Scale(-5, 12),
Y Function(N1, x);
Y Function(N2, x);
Text({0, 0.6}, "OVL% = ", ovl*100);
Fill Color(1);
Polygon(xm, ym);
)
);

Re: JMP を使用して 2 つの異なる正規分布曲線に共通する面積を見つける方法はありますか?JMP 12 には、2 つの曲線の最小値によって制限される領域を計算するために使用できる、非常に効率的な Integrate() 関数があります。
以下の例はあまり役に立ちません (おそらく配布プラットフォームからパラメータを取得する必要があるでしょう) が、いくつかのアイデアを提供するかもしれません...
Names Default To Here(1);
// Define curves and calculate overlap area
N1 = Expr(Normal Density(x, 1, 2));
N2 = Expr(Normal Density(x, 0, 1));
ovl = Integrate(Min(N1, N2), x, ., .);
Show(ovl);
//––––––––––
// Illustration
ym = xm = (-500 :: 500) / 100;
For(i = 1, i <= N Col(xm), i++,
ym[i] = Min(Normal Density(xm[i], 1, 2), Normal Density(xm[i], 0, 1))
);
New Window("Overlap Coefficient",
y = Graph Box(
Y Scale(0, 1),
X Scale(-5, 5),
Y Function(N1, x);
Y Function(N2, x);
Text({0, 0.6}, "OVL = ", ovl);
Fill Color(1);
Polygon(xm, ym);
)
);
