tsknd的な備忘録

再利用しそうな資材置き場

重回帰ー有意水準の考え方(メモ)

帰無仮説H0:偏回帰係数=0
対立仮説H0:偏回帰係数≠0

P値が有意水準を下回っていた場合、H0を棄却し、H1を採択する。
逆に、P値が有意水準以上だった場合は、H0を棄却できない。
このとき、「帰無仮説H0を採択する」といえないことに注意が必要である

 

評価基準(SE)

SE分野でよく見られるであろう評価基準は下記の通り。

使われ方などは今後、勉強する予定。

Y:実測値、Y^:予測値とする。添字はそれぞれi(i=1,...,N)とする。

 

・MRE (Magnitude of Relative Error) 相対誤差

MRE = |Y - Y^| / Y

 

・MER (Magnitude of Error Relative)

MER = |Y - Y^| / Y

 

・MMRE (Mean Magnitude of Relative Error)

MMRE = 1/N * Sigma(i=1 to N) MRE_i

 

・MdMRE (Median Magnitude of Relative Error)

MdMRE = median(MRE)

 

・PRED25.MRE (Percentage of Prediction...)

相対誤差MREが25%以下の個体が母数に占める割合

-> PRED25が大きいほど、MREにおいて良い予測精度を表している

rcode1

下記のインプット(data, list)から、アウトプット(mat)を作成する。

> data
ID キb tesy
1 aa 190 a
2 bb 38 a
3 cc 9999 b
4 dd 10 e
> list
original esti index
1 ID ID 1
2 aa v1 2
3 工期 v2 3
4 しょう v3 4
5 規模 キb 5

> mat
ID aa 工期 しょう 規模
[1,] 1 NA NA NA 190
[2,] 2 NA NA NA 38
[3,] 3 NA NA NA 9999
[4,] 4 NA NA NA 10

 ■コード

df <- data[,is.element(colnames(data),list$esti)]

a <- matrix(0,0,nrow(list))
colnames(a) <- list[,2]
temp <- merge(a,df,all=T)

foo <- function(x){
return(list[is.element(list$esti,x),1])
}
foo2 <- function(x){
return(list[is.element(list$original,x),3])
}

colnames(temp) <- sapply(colnames(temp),foo)
sl <- sapply(colnames(temp),foo2)

mat <- matrix(0,nrow(temp),ncol(temp))
for(i in 1:ncol(temp)){
rltvec <- temp[,is.element(colnames(temp),names(sl[i]))]
print(rltvec)
mat[,sl[i]] <- rltvec
}
colnames(mat) <- list$original