★ 正規分布確率紙へのプロットの仕方を教えてください ★

 428 正規分布確率紙へのプロットの仕方を教えてください  ya  2001/12/11 (火) 14:33
  459 %とZ値について  ya  2001/12/14 (金) 17:27
   460 Re: %とZ値について  青木繁伸  2001/12/14 (金) 18:01
    461 Re^2: %とZ値について  ya  2001/12/14 (金) 18:20
  432 Re: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:58
   445 ありがとうございました  ya  2001/12/13 (木) 14:13
  429 Re: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:14
   430 Re^2: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:26
    431 Re^3: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:38
     433 Re^4: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 17:32
      434 Re^5: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 19:27
       451 Rプログラムとは??  ya  2001/12/14 (金) 10:17
        452 Re: Rプログラムとは??  青木繁伸  2001/12/14 (金) 10:47
         458 ありがとうございます  ya  2001/12/14 (金) 16:12
       435 Re^6: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 19:43
        436 Re^7: 正規分布確率紙へのプロットの仕方を教えてください  sb812109  2001/12/11 (火) 23:39


428. 正規分布確率紙へのプロットの仕方を教えてください  ya  2001/12/11 (火) 14:33
はじめまして

正規分布確率紙へのプロットの仕方がどうしても分かりません.

Excelを使えばできるとは思うのですが,
どのようにやればよいのでしょうか.

教えてください

     [このページのトップへ]


459. %とZ値について  ya  2001/12/14 (金) 17:27
青木様

Rで念願の正規対数分布を書くことができました!
本当にありがとうございます.

もう一つ教えてきたいことがあります.

ある都合上,N-グラフというソフトで
正規対数分布を書きたいと思っております.
そのソフトはデータをそのままプロットすることしかできないので,
事前にプロットする値を計算しておかなければなりません.

ですから,縦軸にくる%が,Z値では何に対応しているか
把握したいのですが,
そのようなことは分かりますでしょうか?

分からないなりにRで試行錯誤してみましたが,
やっぱり分かりませんでした,,,
質問ばかりして申し訳ありませんが,
教えていただけたら幸いです.

(一つ前,メッセージを記入する前に
 まちがって投稿してしまいました,ごめんなさい)

     [このページのトップへ]


460. Re: %とZ値について  青木繁伸  2001/12/14 (金) 18:01
> ですから,縦軸にくる%が,Z値では何に対応しているか把握したい

429番の記事に書いたように,normsinv を使えばいいのです。

たとえば,2.5% に対応するのは Z=-1.96 ですが,normsinv(0.025) で -1.96 が得られます。
そこで,縦軸の -1.96 のところに 2.5% という目盛り数字を書けばいいのです。

Excel で計算したもの
p       Z = normsinv(p)
0.0001  −3.719
0.001   −3.090
0.01    −2.326
0.05    −1.645
0.1     −1.282
0.2     −0.842
0.3     −0.524
0.4     −0.253
0.5      0
0.6      0.253
0.7      0.524
0.8      0.842
0.9      1.282
0.95     1.645
0.99     2.326
0.999    3.090
0.9999   3.719

R でやるなら,こんな風(3行目は出力の体裁を整えようと言うだけ)

probs <- c(0.01, 0.1, 1, 5, 10, 20,30, 40, 50, 60, 70, 80, 90, 95, 99, 99.9, 99.99)/100
z <- qnorm(probs)
data.frame(pf=probs,zf=z)

     [このページのトップへ]


461. Re^2: %とZ値について  ya  2001/12/14 (金) 18:20
ありがとうございました.

一度ご説明いただいていたことを
重ねて伺い,申し訳ありません.

NORMINVとNORMSINVを勘違いしておりました,,,

これで正規対数分布が書けそうです.

よい機会と思い,
Rプログラムも勉強しようと思います.

本当にありがとうございました.

     [このページのトップへ]


432. Re: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:58
http://www.jomon.ne.jp/~hayakari/Histogram.htm
に,良くできたアドインがあるようです。

私はMacintoshなので実際にどう動くのかは確かめていませんけど。

     [このページのトップへ]


445. ありがとうございました  ya  2001/12/13 (木) 14:13
さっそくのご回答ありがとうございました.

おっしゃるとおり,
0.1%〜99.9%までの縦軸を書きたいと思っているのです.

貴重なコメントをいただきましたが,
ちょっとまだ頭の中で整理し切れてないので,
これからじっくり考えて
作成してみようと思います.

ありがとうございました

     [このページのトップへ]


429. Re: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:14
「紙として存在する正規確率紙にプロットする方法」がわからないのではなくて,Excel で正規確率プロットをしたいというのでしょうね。

http://aoki2.si.gunma-u.ac.jp/lecture/Bunpu/normdist/atehame.html
のような図が描ければいいということ?

あの図の横軸の0.01〜99.99(%)という目盛りを書くのはちょっと難しいかもしれません。
そうでなければ,以下のように...
     
階級   度数 相対累積度数(%) normsinv(相対累積度数%/100)
40   4   0.94    −2.34
45  19   5.40    −1.60
50  86  25.59    −0.65
55 177  67.13     0.44
60 105  91.78     1.39
65  33  99.53      2.5
70   2  100
合計 426

のように,相対累積度数を引数としてnormsinv関数を使えばいいです。
そして,その数値と,級中心値を散布図に描けば,それが正規確率プロットになっています。
目盛りについては normsinv(x) の値のところに x という目盛り数字を書けばいいだけ。

     [このページのトップへ]


430. Re^2: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:26
描いた図は
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/plot.png
のようになります(縦軸横軸を入れ替えてあります)

この図の縦軸は%ではなくて Z 値になっているのです。

     [このページのトップへ]


431. Re^3: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 15:38
ちなみに,S-PLUS や R で,きれいな正規確率紙を作ることができますね。

http://www.msi.co.jp/splus/support/qa/g-5.html
にある,
# 正規確率紙を作成する
> probs <- c(1:9/100,1:9/10,1:19,seq(20,50,by=2))
> probs <- c(probs,rev(100-probs))/100
# 線を引きたいパーセント点を作成する
> plot(qnorm(probs),type="n",xaxt="n",yaxt="n")
# 座標系設定のためのみで、中身と軸を書かない
> abline(h=qnorm(probs))
# パーセント点に対応した線を引く
> abline(v=1:10*10)
# 縦線は必要に応じて適当に
は,S-PLUS ですが,これそのままで R でもちゃんと正規確率紙が作れます。
これにいろいろ付け加えるときれいなグラフができるのでしょう。

     [このページのトップへ]


433. Re^4: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 17:32
ちょっとやってみましたが,難しい。
やりたいことをやるにはどういう関数を使ったらよいかわからない(^_^)
x <- c(40, 45, 50, 55, 60, 65)
y <- c(0.94, 5.40, 25.59, 67.13, 91.78, 99.53)/100
probs <- c(seq(2, 10, by = 2)/100,seq(2, 10, by = 2)/10,seq(4, 16, by = 4),seq(20,50,by=10))
probs <- c(probs,rev(100-probs))/100
xax <- (x-min(x))/(max(x)-min(x))*length(probs)
plot(qnorm(probs),type="n",xaxt="n",yaxt="n", xlab="value", ylab="percent", main="Normal Probability Paper")
abline(h=qnorm(probs))
abline(v=xax)
points(xax,qnorm(y))

     [このページのトップへ]


434. Re^5: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 19:27
デスクトップの test2.data が
0 2
2 5
4 6
6 73
8 180
10 160
12 71
14 8
16 2

のように作られているとき,以下の R プログラムでいかがでしょう。
作図例:http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/plot2.png
data <- scan("Macintosh HD:Desktop Folder:test2.data", list(x=0, y=0))
(x <- data$x)
(y <- cumsum(data$y)/sum(data$y))*100
probs <- c(0.01, 0.1, 1, 5, 10, 20,30, 40, 50,
    60, 70, 80, 90, 95, 99, 99.9, 99.99)/100
x <- (x-min(x))/(max(x)-min(x))*(length(probs)-1)+(x[2]-x[1])/2
plot(qnorm(probs),type="n",xaxt="n",yaxt="n",
    xlab="Observed Value", ylab="Cumulative Percent",
    main="Normal Probability Paper")
abline(h=qnorm(probs))
abline(v=x)
points(x,qnorm(y),type="b")
axis(1, x, data$x)
axis(2, qnorm(probs), probs)

     [このページのトップへ]


451. Rプログラムとは??  ya  2001/12/14 (金) 10:17
青木様

たびたびすいませんが,
Rプログラムとは何でしょうか?

プログラミングに関しては
全く知識がありません.

申し訳ありませんが,
教えてください.

     [このページのトップへ]


452. Re: Rプログラムとは??  青木繁伸  2001/12/14 (金) 10:47
http://datamining.timis.ac.jp/~yama/R/
などをご覧いただくと良いかと思います。
そのページに書いてある簡単な紹介は,
「 R は統計計算とグラフィックスのためのフリーソフト(GNU-style copyleft)です」
ということですね。

インストールは非常に簡単です。
Windows 版,Macintosh 版,UNIX 版といろいろあります。
なんといっても,無料というのがこたえられない。

     [このページのトップへ]


458. ありがとうございます  ya  2001/12/14 (金) 16:12
さっそくのご回答,本当にありがとうございます

ただいま,ダウンロード中です.

また何か分からない際は質問させていただくと思いますが,
よろしくお願いします

     [このページのトップへ]


435. Re^6: 正規分布確率紙へのプロットの仕方を教えてください  青木繁伸  2001/12/11 (火) 19:43
関数にしました。

使用法 npp("ファイル名")
npp <- function(file)
{
    data <- scan(file, list(x=0, y=0))
    (x <- data$x)
    (y <- cumsum(data$y)/sum(data$y))*100
    probs <- c(0.01, 0.1, 1, 5, 10, 20,30, 40, 50,
        60, 70, 80, 90, 95, 99, 99.9, 99.99)/100
    x <- (x-min(x))/(max(x)-min(x))*(length(probs)-1)+(x[2]-x[1])/2
    plot(qnorm(probs),type="n",xaxt="n",yaxt="n",
        xlab="Observed Value", ylab="Cumulative Percent",
        main="Normal Probability Paper")
    abline(h=qnorm(probs))
    abline(v=x)
    points(x,qnorm(y),type="b")
    axis(1, x, data$x)
    axis(2, qnorm(probs), probs)
}
R 事始め でした。(^_^)

     [このページのトップへ]


436. Re^7: 正規分布確率紙へのプロットの仕方を教えてください  sb812109  2001/12/11 (火) 23:39
> 関数にしました。
> 使用法 npp("ファイル名")
# cosmetic surgery

npp <- function(file, col.bg="cornsilk")
{
	 par(bg=col.bg)
	
	 data <- scan(file, list(x=0, y=0))
	 (x <- data$x)
	 (y <- cumsum(data$y)/sum(data$y))*100
	 probs <- c(0.01, 0.1, 1, 5, 10, 20,30, 40, 50,
	 	60, 70, 80, 90, 95, 99, 99.9, 99.99)/100
	 x <- (x-min(x))/(max(x)-min(x))*(length(probs)-1)+(x[2]-x[1])/2
	 plot(qnorm(probs),type="n",xaxt="n",yaxt="n",
	 xlab="Observed Value", ylab="Cumulative Percent",
	 main="Normal Probability Paper")
	 abline(h=qnorm(probs))
	 abline(v=x)
	 points(x,qnorm(y),type="b")
	 axis(1, x, data$x)
	 axis(2, qnorm(probs), probs)
	
	 text(x, qnorm(y), round(y, digit=3), adj=0)
}

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 016 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る