質問編集履歴
4
数値の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
F0 = stats.norm.cdf(x=X, loc=mu, scale=seg)
|
52
52
|
XX = data[n- i]
|
53
53
|
FF = stats.norm.cdf(x=XX, loc=mu, scale=seg)
|
54
|
-
S
|
54
|
+
S += (2 * i - 1)*(math.exp(F0) + math.exp(1-FF))
|
55
55
|
MAD = (- n - S/n) *(1 + 0.75 / n + 2.25 / n**2)
|
56
56
|
print(MAD)#統計量
|
57
57
|
if MAD >= 0.752:
|
3
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,12 +52,12 @@
|
|
52
52
|
XX = data[n- i]
|
53
53
|
FF = stats.norm.cdf(x=XX, loc=mu, scale=seg)
|
54
54
|
S -= (2 * i - 1)*(math.exp(F0) + math.exp(1-FF))
|
55
|
-
|
55
|
+
MAD = (- n - S/n) *(1 + 0.75 / n + 2.25 / n**2)
|
56
|
-
|
56
|
+
print(MAD)#統計量
|
57
|
-
|
57
|
+
if MAD >= 0.752:
|
58
|
-
|
58
|
+
count += 1
|
59
|
-
|
59
|
+
else:
|
60
|
-
|
60
|
+
pass
|
61
61
|
power = count / sim
|
62
62
|
print(count)
|
63
63
|
print(power)
|
2
説明の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
Rのコードをpythonに書き換えたいと思っています。
|
2
|
+
実装したい内容は、以下で、ziは標準正規分布の累積分布関数をあらわします。
|
3
|
+
アンダーソンダーリング検定を1から実行して、最終的にA*>0.752 がシミュレーション回数のうち何個あるかで、検出力を出力したいと考えています。
|
4
|
+

|
2
5
|
|
3
6
|
Rのコードは以下です。
|
4
7
|
|
@@ -10,9 +13,9 @@
|
|
10
13
|
MAD<-function(){
|
11
14
|
for(i in 1:sim){
|
12
15
|
#rdata<-rlogis(n,0,1)
|
13
|
-
rdata<-rt(n,1)
|
16
|
+
rdata<-rt(n,1)#累積分布関数に使用する分布から乱数をとる。
|
14
|
-
data<-sort(rdata)
|
17
|
+
data<-sort(rdata)#順序統計量(小さい順に並べかえる)
|
15
|
-
cdf<-pnorm(data, mean(data), sd(data))
|
18
|
+
cdf<-pnorm(data, mean(data), sd(data))(b11f778f7ed7ac3a11db5dfa9fb94c49.png)
|
16
19
|
S <- 0
|
17
20
|
for(i in 1:n){
|
18
21
|
S <- S + (2*i-1) * (log(cdf[i])+log(1 - cdf[n + 1 - i]))
|
1
数値の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
```R
|
6
6
|
n = 50
|
7
|
-
sim<-
|
7
|
+
sim<-100
|
8
8
|
count<-0
|
9
9
|
|
10
10
|
MAD<-function(){
|