## 난수 생성하기 runif(n,min,max)

rddata1 <- runif(20,1,10)

rddata2 <- runif(20,1,10)

rddata3 <- runif(20,1,10)

truedata <- 5.5


## 평균(최확값) 구하기

mean(rddata1)

mean(rddata2)

mean(rddata3)


## 수치해석시 발생하는 오차

bias <- truedata - mean(rddata1)

residual1 <- rddata1[1]-mean(rddata1)

rerror1 <- abs(residual1)/rddata1[1] ## 상대오차(Relative Error)

residuals <- rddata1-mean(rddata1)

merror1 <- sum(abs(residuals))/length(rddata1) ## 평균오차(Mean Error)

RMSE <- sd(residuals) ## 표준편차

MSE <- RMSE^2 + bias^2 ## 평균오차제곱

serror1 <- sqrt(sum(residuals^2)/(length(rddata1)*(length(rddata1)-1))) ## 표준오차(Standard Error)

perror1 <- 0.6745*sqrt(sum(residuals^2)/(length(rddata1)*(length(rddata1)-1))) ## 확률오차(Probable Error)


## 구한 값 확인하기

rerror1

merror1 

RMSE ; sd(residuals)

MSE

serror1

perror1


## 정규분포곡선 그리기

nordf1 <- function(x)

{

  h <- 1/(sqrt(2)*RMSE)

  v <- x-mean(rddata1)

  h*(1/sqrt(pi))*(exp(1)^(-(h^2)*(v^2)))

}


plot(

  nordf1,

  xlim=c(mean(rddata1)-4*RMSE,mean(rddata1)+4*RMSE), ## 4σ까지

  ylim=c(0,0.3)

)


## 참고 : length(a) → 데이터 a의 개수를 확인하기 위해 사용한 함수임


AND