teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

数値の修正

2021/10/03 16:24

投稿

emiime
emiime

スコア27

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 -= (2 * i - 1)*(math.exp(F0) + math.exp(1-FF))
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

コードの修正

2021/10/03 16:24

投稿

emiime
emiime

スコア27

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
- MAD = (- n - S/n) *(1 + 0.75 / n + 2.25 / n**2)
55
+ MAD = (- n - S/n) *(1 + 0.75 / n + 2.25 / n**2)
56
- print(MAD)#統計量
56
+ print(MAD)#統計量
57
- if MAD >= 0.752:
57
+ if MAD >= 0.752:
58
- count += 1
58
+ count += 1
59
- else:
59
+ else:
60
- pass
60
+ pass
61
61
  power = count / sim
62
62
  print(count)
63
63
  print(power)

2

説明の追加

2021/10/03 10:13

投稿

emiime
emiime

スコア27

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,7 @@
1
1
  Rのコードをpythonに書き換えたいと思っています。
2
+ 実装したい内容は、以下で、ziは標準正規分布の累積分布関数をあらわします。
3
+ アンダーソンダーリング検定を1から実行して、最終的にA*>0.752 がシミュレーション回数のうち何個あるかで、検出力を出力したいと考えています。
4
+ ![イメージ説明](fda4103a6281df312c628c8531c93392.png)
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

数値の修正

2021/10/03 07:34

投稿

emiime
emiime

スコア27

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ```R
6
6
  n = 50
7
- sim<-10000
7
+ sim<-100
8
8
  count<-0
9
9
 
10
10
  MAD<-function(){